diff --git a/.github/labeler.yml b/.github/labeler.yml index 07a6c451cff8..95eaa49252dd 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -40,3 +40,7 @@ translation: - docs/ru-ru/**/* CI: - .github/**/* +dd: + - data/constants/**/* + - data/mappings/**/* + - data/schemas/**/* diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 38c1cfe50691..db78f1611224 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -25,7 +25,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 1 persist-credentials: false diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml index 0fc5e8850551..b4465277b0d7 100644 --- a/.github/workflows/auto_tag.yml +++ b/.github/workflows/auto_tag.yml @@ -27,7 +27,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/ci_builds.yml b/.github/workflows/ci_builds.yml index b3bb83fa8500..7fa07fe09d90 100644 --- a/.github/workflows/ci_builds.yml +++ b/.github/workflows/ci_builds.yml @@ -33,7 +33,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive ref: ${{ github.event.inputs.branch || github.ref }} @@ -53,7 +53,7 @@ jobs: [ ! -f .failed ] || exit 1 - name: 'Upload artifacts' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }} diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 27bdcc562b78..77b5bfe0734d 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -24,7 +24,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index 9c041c42ec8e..afcda1fe98bb 100644 --- a/.github/workflows/develop_update.yml +++ b/.github/workflows/develop_update.yml @@ -15,7 +15,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 52dfd718c41b..fc0ed11c43ff 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -23,7 +23,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 1 @@ -37,7 +37,7 @@ jobs: qmk --verbose generate-docs - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4.4.2 + uses: JamesIves/github-pages-deploy-action@v4.5.0 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BASE_BRANCH: master diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index 097605516093..283a255342d8 100644 --- a/.github/workflows/feature_branch_update.yml +++ b/.github/workflows/feature_branch_update.yml @@ -21,7 +21,7 @@ jobs: - riot steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 3652071ed6e9..e1f34b9048f6 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -25,7 +25,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -35,7 +35,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v37 + uses: tj-actions/changed-files@v40 - name: Run qmk formatters shell: 'bash {0}' diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index 45c8b3daf617..61b4caf422d2 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 95f58ff003f1..fa4b8981add9 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -12,7 +12,7 @@ jobs: triage: runs-on: ubuntu-latest steps: - - uses: actions/labeler@main + - uses: actions/labeler@v4 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration-path: '.github/labeler.yml' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1c0667abbacd..6936f24420c2 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,7 +18,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -27,7 +27,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v37 + uses: tj-actions/changed-files@v40 - name: Print info run: | @@ -74,31 +74,10 @@ jobs: fi exit $exit_code - - name: Verify at most one added keyboard + - name: Verify keyboard aliases 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 + qmk ci-validate-aliases diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml index a2b4ef2b934b..a31526084f9e 100644 --- a/.github/workflows/regen.yml +++ b/.github/workflows/regen.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Run qmk generators run: | diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index 7394925a0de9..f1b781293767 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Run qmk generators run: | diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index f011fb5460d2..ce9bd0f3161e 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -3,6 +3,7 @@ name: 'Close stale issues and PRs' permissions: issues: write pull-requests: write + actions: write on: schedule: @@ -13,7 +14,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v8 + - uses: actions/stale@main with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index fb538d4f841c..eec8c8b5fc23 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -26,7 +26,7 @@ jobs: container: ghcr.io/qmk/qmk_cli steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Install dependencies diff --git a/.gitignore b/.gitignore index 13ed2960352a..f6401d9f832e 100644 --- a/.gitignore +++ b/.gitignore @@ -95,6 +95,7 @@ secrets.tar # Python things __pycache__ .python-version +.venv # Prerequisites for updating ChibiOS /util/fmpp* @@ -107,5 +108,6 @@ compile_commands.json .clangd/ .cache/ -# VIA(L) json files that don't belong in QMK repo +# VIA(L) files that don't belong in QMK repo via*.json +/keyboards/**/keymaps/vial/* diff --git a/Makefile b/Makefile index c77eadf97d5d..ab30a17f58af 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,11 @@ $(info QMK Firmware $(QMK_VERSION)) endif endif +# Try to determine userspace from qmk config, if set. +ifeq ($(QMK_USERSPACE),) + QMK_USERSPACE = $(shell qmk config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g') +endif + # Determine which qmk cli to use QMK_BIN := qmk @@ -191,9 +196,20 @@ define PARSE_KEYBOARD KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) + ifneq ($(QMK_USERSPACE),) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) + endif + KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1) LAYOUT_KEYMAPS := $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.))))) + ifneq ($(QMK_USERSPACE),) + $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/layouts/$$(LAYOUT)/*/.))))) + endif KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS)) @@ -300,17 +316,18 @@ endef define BUILD_TEST TEST_PATH := $1 TEST_NAME := $$(notdir $$(TEST_PATH)) + TEST_FULL_NAME := $$(subst /,_,$$(patsubst $$(ROOT_DIR)tests/%,%,$$(TEST_PATH))) MAKE_TARGET := $2 COMMAND := $1 MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_test.mk $$(MAKE_TARGET) - MAKE_VARS := TEST=$$(TEST_NAME) TEST_PATH=$$(TEST_PATH) FULL_TESTS="$$(FULL_TESTS)" + MAKE_VARS := TEST=$$(TEST_NAME) TEST_OUTPUT=$$(TEST_FULL_NAME) TEST_PATH=$$(TEST_PATH) FULL_TESTS="$$(FULL_TESTS)" MAKE_MSG := $$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) ifneq ($$(MAKE_TARGET),clean) - TEST_EXECUTABLE := $$(TEST_OUTPUT_DIR)/$$(TEST_NAME).elf - TESTS += $$(TEST_NAME) + TEST_EXECUTABLE := $$(TEST_OUTPUT_DIR)/$$(TEST_FULL_NAME).elf + TESTS += $$(TEST_FULL_NAME) TEST_MSG := $$(MSG_TEST) - $$(TEST_NAME)_COMMAND := \ + $$(TEST_FULL_NAME)_COMMAND := \ printf "$$(TEST_MSG)\n"; \ $$(TEST_EXECUTABLE); \ if [ $$$$? -gt 0 ]; \ @@ -322,15 +339,22 @@ endef define PARSE_TEST TESTS := - TEST_NAME := $$(firstword $$(subst :, ,$$(RULE))) - TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE))) + # list of possible targets, colon-delimited, to reassign to MAKE_TARGET and remove + TARGETS := :clean: + ifneq (,$$(findstring :$$(lastword $$(subst :, ,$$(RULE))):, $$(TARGETS))) + MAKE_TARGET := $$(lastword $$(subst :, ,$$(RULE))) + TEST_SUBPATH := $$(subst $$(eval) ,/,$$(wordlist 2, $$(words $$(subst :, ,$$(RULE))), _ $$(subst :, ,$$(RULE)))) + else + MAKE_TARGET := + TEST_SUBPATH := $$(subst :,/,$$(RULE)) + endif include $(BUILDDEFS_PATH)/testlist.mk - ifeq ($$(TEST_NAME),all) + ifeq ($$(RULE),all) MATCHED_TESTS := $$(TEST_LIST) else - MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring $$(TEST_NAME), $$(notdir $$(TEST))), $$(TEST),)) + MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring /$$(TEST_SUBPATH)/, $$(patsubst %,%/,$$(TEST))), $$(TEST),)) endif - $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET)))) + $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(MAKE_TARGET)))) endef @@ -423,8 +447,18 @@ clean: rm -rf $(BUILD_DIR) echo 'done.' -.PHONY: distclean -distclean: clean +.PHONY: distclean distclean_qmk +distclean: distclean_qmk +distclean_qmk: clean echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' rm -f *.bin *.hex *.uf2 echo 'done.' + +ifneq ($(QMK_USERSPACE),) +.PHONY: distclean_userspace +distclean: distclean_userspace +distclean_userspace: clean + echo -n 'Deleting userspace *.bin, *.hex, and *.uf2 ... ' + rm -f $(QMK_USERSPACE)/*.bin $(QMK_USERSPACE)/*.hex $(QMK_USERSPACE)/*.uf2 + echo 'done.' +endif diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk index 964ba773d48c..63f9fea915db 100644 --- a/builddefs/build_full_test.mk +++ b/builddefs/build_full_test.mk @@ -13,11 +13,10 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -$(TEST)_INC := \ +$(TEST_OUTPUT)_INC := \ tests/test_common/common_config.h -$(TEST)_SRC := \ - $(TMK_COMMON_SRC) \ +$(TEST_OUTPUT)_SRC := \ $(QUANTUM_SRC) \ $(SRC) \ $(QUANTUM_PATH)/keymap_introspection.c \ @@ -31,8 +30,8 @@ $(TEST)_SRC := \ tests/test_common/test_logger.cpp \ $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp)) -$(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\"" +$(TEST_OUTPUT)_DEFS := $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\"" -$(TEST)_CONFIG := $(TEST_PATH)/config.h +$(TEST_OUTPUT)_CONFIG := $(TEST_PATH)/config.h VPATH += $(TOP_DIR)/tests/test_common diff --git a/builddefs/build_json.mk b/builddefs/build_json.mk index 0c034eb2aea0..e9d1420f3639 100644 --- a/builddefs/build_json.mk +++ b/builddefs/build_json.mk @@ -1,17 +1,36 @@ # Look for a json keymap file ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_5) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_4) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_3) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_2) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_1) +endif + +ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + endif endif diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 0425d3fc9d76..f17171fe209b 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 @@ -130,59 +129,90 @@ include $(BUILDDEFS_PATH)/build_json.mk # Pull in keymap level rules.mk ifeq ("$(wildcard $(KEYMAP_PATH))", "") # Look through the possible keymap folders until we find a matching keymap.c - ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_1)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_2)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_3)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_4)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_5)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) - else ifneq ($(LAYOUTS),) - # If we haven't found a keymap yet fall back to community layouts - include $(BUILDDEFS_PATH)/build_layout.mk - else - $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) - # this state should never be reached + ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + endif + endif + ifeq ($(KEYMAP_PATH),) + ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) + else ifneq ($(LAYOUTS),) + # If we haven't found a keymap yet fall back to community layouts + include $(BUILDDEFS_PATH)/build_layout.mk + else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") # Not finding keymap.c is fine if we found a keymap.json + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) + # this state should never be reached + endif endif 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 + ifneq ("$(wildcard $(KEYMAP_C))", "") + $(call WARNING_MESSAGE,Keymap is specified as both keymap.json and keymap.c -- keymap.json file wins.) + endif + + KEYMAP_PATH := $(KEYMAP_JSON_PATH) + + 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 +353,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 @@ -360,6 +390,16 @@ ifeq ("$(USER_NAME)","") endif USER_PATH := users/$(USER_NAME) +# If we have userspace, then add it to the lookup VPATH +ifneq ($(wildcard $(QMK_USERSPACE)),) + VPATH += $(QMK_USERSPACE) +endif + +# If the equivalent users directory exists in userspace, use that in preference to anything currently in the main repo +ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),) + USER_PATH := $(QMK_USERSPACE)/$(USER_PATH) +endif + # Pull in user level rules.mk -include $(USER_PATH)/rules.mk ifneq ("$(wildcard $(USER_PATH)/config.h)","") @@ -400,6 +440,10 @@ ifneq ("$(KEYMAP_H)","") CONFIG_H += $(KEYMAP_H) endif +ifeq ($(KEYMAP_C),) + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) +endif + OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\" # If a keymap or userspace places their keymap array in another file instead, allow for it to be included @@ -423,8 +467,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 @@ -433,19 +476,17 @@ include $(PLATFORM_PATH)/common.mk SRC += $(patsubst %.c,%.clib,$(LIB_SRC)) SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC)) -SRC += $(TMK_COMMON_SRC) -OPT_DEFS += $(TMK_COMMON_DEFS) -EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk 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)) @@ -454,6 +495,7 @@ $(eval $(call add_qmk_prefix_defs,MCU_PORT_NAME,MCU_PORT_NAME)) $(eval $(call add_qmk_prefix_defs,MCU_FAMILY,MCU_FAMILY)) $(eval $(call add_qmk_prefix_defs,MCU_SERIES,MCU_SERIES)) $(eval $(call add_qmk_prefix_defs,BOARD,BOARD)) +$(eval $(call add_qmk_prefix_defs,OPT,OPT)) # Control whether intermediate file listings are generated # e.g.: @@ -471,17 +513,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 @@ -502,10 +541,10 @@ check-size: top-symbols top-symbols: build echo "###########################################" echo "# Highest flash usage:" - $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [t] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g' + $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep ' [RrTt] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g' echo "###########################################" echo "# Highest RAM usage:" - $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [dbv] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g' + $(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep ' [BbCDdGgSs] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g' echo "###########################################" endif diff --git a/builddefs/build_layout.mk b/builddefs/build_layout.mk index 6166bd847c59..9ff99cc2218e 100644 --- a/builddefs/build_layout.mk +++ b/builddefs/build_layout.mk @@ -1,6 +1,10 @@ LAYOUTS_PATH := layouts LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/)))) +ifneq ($(QMK_USERSPACE),) + LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH)) +endif + define SEARCH_LAYOUTS_REPO LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP) LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 9eead77beabd..2cc1134da5b3 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -9,13 +9,13 @@ OPT = g include paths.mk include $(BUILDDEFS_PATH)/message.mk -TARGET=test/$(TEST) +TARGET=test/$(TEST_OUTPUT) GTEST_OUTPUT = $(BUILD_DIR)/gtest TEST_OBJ = $(BUILD_DIR)/test_obj -OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT) +OUTPUTS := $(TEST_OBJ)/$(TEST_OUTPUT) $(GTEST_OUTPUT) GTEST_INC := \ $(LIB_PATH)/googletest/googletest/include \ @@ -71,18 +71,18 @@ ifneq ($(filter $(FULL_TESTS),$(TEST)),) include $(BUILDDEFS_PATH)/build_full_test.mk endif -$(TEST)_SRC += \ +$(TEST_OUTPUT)_SRC += \ tests/test_common/main.cpp \ $(QUANTUM_PATH)/logging/print.c ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),) -$(TEST)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" +$(TEST_OUTPUT)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" endif -$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC) -$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC) -$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS) -$(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG) +$(TEST_OBJ)/$(TEST_OUTPUT)_SRC := $($(TEST_OUTPUT)_SRC) +$(TEST_OBJ)/$(TEST_OUTPUT)_INC := $($(TEST_OUTPUT)_INC) $(VPATH) $(GTEST_INC) +$(TEST_OBJ)/$(TEST_OUTPUT)_DEFS := $($(TEST_OUTPUT)_DEFS) +$(TEST_OBJ)/$(TEST_OUTPUT)_CONFIG := $($(TEST_OUTPUT)_CONFIG) include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk include $(BUILDDEFS_PATH)/common_rules.mk diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index e904d6beb975..60f1cbd837fa 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -75,10 +75,7 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes) endif ifeq ($(strip $(SEQUENCER_ENABLE)), yes) - OPT_DEFS += -DSEQUENCER_ENABLE MUSIC_ENABLE = yes - SRC += $(QUANTUM_DIR)/sequencer/sequencer.c - SRC += $(QUANTUM_DIR)/process_keycode/process_sequencer.c endif ifeq ($(strip $(MIDI_ENABLE)), yes) @@ -94,11 +91,6 @@ ifeq ($(strip $(MIDI_ENABLE)), yes) SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c endif -MUSIC_ENABLE ?= no -ifeq ($(MUSIC_ENABLE), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_music.c -endif - VALID_STENO_PROTOCOL_TYPES := geminipr txbolt all STENO_PROTOCOL ?= all ifeq ($(strip $(STENO_ENABLE)), yes) @@ -124,17 +116,11 @@ ifeq ($(strip $(STENO_ENABLE)), yes) endif endif -ifeq ($(strip $(VIRTSER_ENABLE)), yes) - OPT_DEFS += -DVIRTSER_ENABLE -endif - ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) - OPT_DEFS += -DMOUSEKEY_ENABLE MOUSE_ENABLE := yes - SRC += $(QUANTUM_DIR)/mousekey.c endif -VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom +VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick azoteq_iqs5xx cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) @@ -151,30 +137,26 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) endif OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER)) ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick) - OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE - LIB_SRC += analog.c + ANALOG_DRIVER_REQUIRED = yes + else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), azoteq_iqs5xx) + I2C_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c) - OPT_DEFS += -DSTM32_I2C -DHAL_USE_I2C=TRUE + I2C_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c SRC += drivers/sensors/cirque_pinnacle_gestures.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c - QUANTUM_LIB_SRC += i2c_master.c else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes SRC += drivers/sensors/cirque_pinnacle.c SRC += drivers/sensors/cirque_pinnacle_gestures.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c - QUANTUM_LIB_SRC += spi_master.c else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_I2C=TRUE - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),) - OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE + SPI_DRIVER_REQUIRED = yes SRC += drivers/sensors/pmw33xx_common.c - QUANTUM_LIB_SRC += spi_master.c endif endif endif @@ -204,12 +186,12 @@ else else ifeq ($(strip $(EEPROM_DRIVER)), i2c) # External I2C EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes SRC += eeprom_driver.c eeprom_i2c.c else ifeq ($(strip $(EEPROM_DRIVER)), spi) # External SPI EEPROM implementation OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes SRC += eeprom_driver.c eeprom_spi.c else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash) # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated) @@ -308,23 +290,19 @@ ifneq ($(strip $(FLASH_DRIVER)), none) else OPT_DEFS += -DFLASH_ENABLE ifeq ($(strip $(FLASH_DRIVER)),spi) + SPI_DRIVER_REQUIRED = yes OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI COMMON_VPATH += $(DRIVER_PATH)/flash SRC += flash_spi.c - QUANTUM_LIB_SRC += spi_master.c endif endif endif RGBLIGHT_ENABLE ?= no -VALID_RGBLIGHT_TYPES := WS2812 APA102 custom - -ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes) - RGBLIGHT_DRIVER ?= custom -endif +VALID_RGBLIGHT_TYPES := ws2812 apa102 custom ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) - RGBLIGHT_DRIVER ?= WS2812 + RGBLIGHT_DRIVER ?= ws2812 ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) @@ -332,197 +310,236 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) COMMON_VPATH += $(QUANTUM_DIR)/rgblight POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h OPT_DEFS += -DRGBLIGHT_ENABLE + OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgblight/rgblight.c CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes endif - ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812) + ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812) WS2812_DRIVER_REQUIRED := yes endif - ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102) + ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102) APA102_DRIVER_REQUIRED := yes endif - ifeq ($(strip $(RGBLIGHT_DRIVER)), custom) - OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER + ifeq ($(strip $(VELOCIKEY_ENABLE)), yes) + OPT_DEFS += -DVELOCIKEY_ENABLE endif endif +# Deprecated driver names - do not use +ifeq ($(strip $(LED_MATRIX_DRIVER)), aw20216) +LED_MATRIX_DRIVER := aw20216s +endif +ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001) +LED_MATRIX_DRIVER := snled27351 +endif + LED_MATRIX_ENABLE ?= no -VALID_LED_MATRIX_TYPES := IS31FL3731 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 custom -# TODO: IS31FL3733 IS31FL3737 IS31FL3741 +VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid LED_MATRIX_DRIVER,LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DLED_MATRIX_ENABLE -ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) - # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines - OPT_DEFS += -DLIB8_ATTINY -endif + OPT_DEFS += -DLED_MATRIX_$(strip $(shell echo $(LED_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) + COMMON_VPATH += $(QUANTUM_DIR)/led_matrix COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners + POST_CONFIG_H += $(QUANTUM_DIR)/led_matrix/post_config.h SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c - SRC += $(LIB_PATH)/lib8tion/lib8tion.c + LIB8TION_ENABLE := yes CIE1931_CURVE := yes - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731) - OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3218-simple.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731-simple.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3742A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3733-simple.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3736-simple.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3737-simple.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3741-simple.c + endif + + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3743A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3745) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3746A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(LED_MATRIX_DRIVER)), CKLED2001) - OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led - SRC += ckled2001-simple.c - QUANTUM_LIB_SRC += i2c_master.c + SRC += snled27351-simple.c endif endif +# Deprecated driver names - do not use +ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216) +RGB_MATRIX_DRIVER := aw20216s +endif +ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001) +RGB_MATRIX_DRIVER := snled27351 +endif + RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3736 IS31FL3737 IS31FL3741 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 WS2812 custom +VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) endif OPT_DEFS += -DRGB_MATRIX_ENABLE -ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) - # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines - OPT_DEFS += -DLIB8_ATTINY -endif + OPT_DEFS += -DRGB_MATRIX_$(strip $(shell echo $(RGB_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]')) + COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners + POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c - SRC += $(LIB_PATH)/lib8tion/lib8tion.c + LIB8TION_ENABLE := yes CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes - ifeq ($(strip $(RGB_MATRIX_DRIVER)), AW20216) - OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s) + SPI_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led - SRC += aw20216.c - QUANTUM_LIB_SRC += spi_master.c + SRC += aw20216s.c + endif + + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218) + I2C_DRIVER_REQUIRED = yes + COMMON_VPATH += $(DRIVER_PATH)/led/issi + SRC += is31fl3218.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731) - OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733) - OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3736) - OPT_DEFS += -DIS31FL3736 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3736.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737) - OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741) - OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3742A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3743A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3745) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3746A) - OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a) + OPT_DEFS += -DIS31FLCOMMON + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31flcommon.c - QUANTUM_LIB_SRC += i2c_master.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), CKLED2001) - OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE + ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351) + I2C_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/led - SRC += ckled2001.c - QUANTUM_LIB_SRC += i2c_master.c + SRC += snled27351.c endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), WS2812) - OPT_DEFS += -DWS2812 + ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812) WS2812_DRIVER_REQUIRED := yes endif - ifeq ($(strip $(RGB_MATRIX_DRIVER)), APA102) - OPT_DEFS += -DAPA102 + ifeq ($(strip $(RGB_MATRIX_DRIVER)), apa102) APA102_DRIVER_REQUIRED := yes endif @@ -565,51 +582,23 @@ 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 + OPT_DEFS += -DBACKLIGHT_$(strip $(shell echo $(BACKLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) - 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 -VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor - -WS2812_DRIVER ?= bitbang -ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) - ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) - $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) - endif - - OPT_DEFS += -DWS2812_DRIVER_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) - - SRC += ws2812_$(strip $(WS2812_DRIVER)).c - - ifeq ($(strip $(PLATFORM)), CHIBIOS) - ifeq ($(strip $(WS2812_DRIVER)), pwm) - OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE - endif - endif - - # add extra deps - ifeq ($(strip $(WS2812_DRIVER)), i2c) - QUANTUM_LIB_SRC += i2c_master.c - endif -endif - -ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) - COMMON_VPATH += $(DRIVER_PATH)/led - SRC += apa102.c -endif - ifeq ($(strip $(CIE1931_CURVE)), yes) OPT_DEFS += -DUSE_CIE1931_CURVE LED_TABLES := yes @@ -624,8 +613,6 @@ ifeq ($(strip $(VIA_ENABLE)), yes) RAW_ENABLE := yes BOOTMAGIC_ENABLE := yes TRI_LAYER_ENABLE := yes - SRC += $(QUANTUM_DIR)/via.c - OPT_DEFS += -DVIA_ENABLE endif VALID_MAGIC_TYPES := yes @@ -710,29 +697,36 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes) COMMON_VPATH += $(QUANTUM_PATH)/split_common endif -ifeq ($(strip $(CRC_ENABLE)), yes) - OPT_DEFS += -DCRC_ENABLE - SRC += crc.c -endif - ifeq ($(strip $(FNV_ENABLE)), yes) OPT_DEFS += -DFNV_ENABLE VPATH += $(LIB_PATH)/fnv SRC += qmk_fnv_type_validation.c hash_32a.c hash_64a.c endif +ifeq ($(strip $(LIB8TION_ENABLE)), yes) + ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) + # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines + OPT_DEFS += -DLIB8_ATTINY + endif + SRC += $(LIB_PATH)/lib8tion/lib8tion.c +endif + +VALID_HAPTIC_DRIVER_TYPES := drv2605l solenoid ifeq ($(strip $(HAPTIC_ENABLE)),yes) - COMMON_VPATH += $(DRIVER_PATH)/haptic + ifeq ($(filter $(HAPTIC_DRIVER),$(VALID_HAPTIC_DRIVER_TYPES)),) + $(call CATASTROPHIC_ERROR,Invalid HAPTIC_DRIVER,HAPTIC_DRIVER="$(HAPTIC_DRIVER)" is not a valid Haptic driver) + else + OPT_DEFS += -DHAPTIC_$(strip $(shell echo $(HAPTIC_DRIVER) | tr '[:lower:]' '[:upper:]')) + COMMON_VPATH += $(DRIVER_PATH)/haptic - ifneq ($(filter DRV2605L, $(HAPTIC_DRIVER)), ) - SRC += DRV2605L.c - QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DDRV2605L - endif + ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l) + I2C_DRIVER_REQUIRED = yes + SRC += drv2605l.c + endif - ifneq ($(filter SOLENOID, $(HAPTIC_DRIVER)), ) - SRC += solenoid.c - OPT_DEFS += -DSOLENOID_ENABLE + ifeq ($(strip $(HAPTIC_DRIVER)), solenoid) + SRC += solenoid.c + endif endif endif @@ -742,8 +736,8 @@ ifeq ($(strip $(HD44780_ENABLE)), yes) SRC += hd44780.c endif -VALID_OLED_DRIVER_TYPES := SSD1306 custom -OLED_DRIVER ?= SSD1306 +VALID_OLED_DRIVER_TYPES := custom ssd1306 +OLED_DRIVER ?= ssd1306 VALID_OLED_TRANSPORT_TYPES := i2c spi custom OLED_TRANSPORT ?= i2c ifeq ($(strip $(OLED_ENABLE)), yes) @@ -754,6 +748,7 @@ ifeq ($(strip $(OLED_ENABLE)), yes) $(call CATASTROPHIC_ERROR,Invalid OLED_TRANSPORT,OLED_TRANSPORT="$(OLED_TRANSPORT)" is not a valid OLED transport) else OPT_DEFS += -DOLED_ENABLE + OPT_DEFS += -DOLED_$(strip $(shell echo $(OLED_DRIVER) | tr '[:lower:]' '[:upper:]')) COMMON_VPATH += $(DRIVER_PATH)/oled ifneq ($(strip $(OLED_DRIVER)), custom) SRC += oled_driver.c @@ -761,10 +756,10 @@ ifeq ($(strip $(OLED_ENABLE)), yes) OPT_DEFS += -DOLED_TRANSPORT_$(strip $(shell echo $(OLED_TRANSPORT) | tr '[:lower:]' '[:upper:]')) ifeq ($(strip $(OLED_TRANSPORT)), i2c) - QUANTUM_LIB_SRC += i2c_master.c + I2C_DRIVER_REQUIRED = yes endif ifeq ($(strip $(OLED_TRANSPORT)), spi) - QUANTUM_LIB_SRC += spi_master.c + SPI_DRIVER_REQUIRED = yes endif endif endif @@ -772,22 +767,24 @@ endif ifeq ($(strip $(ST7565_ENABLE)), yes) OPT_DEFS += -DST7565_ENABLE + SPI_DRIVER_REQUIRED = yes COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h COMMON_VPATH += $(DRIVER_PATH)/lcd - QUANTUM_LIB_SRC += spi_master.c SRC += st7565.c endif ifeq ($(strip $(UCIS_ENABLE)), yes) OPT_DEFS += -DUCIS_ENABLE UNICODE_COMMON := yes - SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c + SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c \ + $(QUANTUM_DIR)/unicode/ucis.c endif ifeq ($(strip $(UNICODEMAP_ENABLE)), yes) OPT_DEFS += -DUNICODEMAP_ENABLE UNICODE_COMMON := yes - SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c + SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c \ + $(QUANTUM_DIR)/unicode/unicodemap.c endif ifeq ($(strip $(UNICODE_ENABLE)), yes) @@ -804,27 +801,6 @@ ifeq ($(strip $(UNICODE_COMMON)), yes) $(QUANTUM_DIR)/unicode/utf8.c endif -MAGIC_ENABLE ?= yes -ifeq ($(strip $(MAGIC_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_magic.c - OPT_DEFS += -DMAGIC_KEYCODE_ENABLE -endif - -SEND_STRING_ENABLE ?= yes -ifeq ($(strip $(SEND_STRING_ENABLE)), yes) - OPT_DEFS += -DSEND_STRING_ENABLE - COMMON_VPATH += $(QUANTUM_DIR)/send_string - SRC += $(QUANTUM_DIR)/send_string/send_string.c -endif - -ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/process_keycode/process_auto_shift.c - OPT_DEFS += -DAUTO_SHIFT_ENABLE - ifeq ($(strip $(AUTO_SHIFT_MODIFIERS)), yes) - OPT_DEFS += -DAUTO_SHIFT_MODIFIERS - endif -endif - ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes) PS2_ENABLE := yes MOUSE_ENABLE := yes @@ -865,8 +841,8 @@ ifeq ($(strip $(JOYSTICK_ENABLE)), yes) SRC += $(QUANTUM_DIR)/joystick.c ifeq ($(strip $(JOYSTICK_DRIVER)), analog) + ANALOG_DRIVER_REQUIRED = yes OPT_DEFS += -DANALOG_JOYSTICK_ENABLE - SRC += analog.c endif ifeq ($(strip $(JOYSTICK_DRIVER)), digital) OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE @@ -898,29 +874,28 @@ ifeq ($(strip $(USBPD_ENABLE)), yes) endif BLUETOOTH_ENABLE ?= no -VALID_BLUETOOTH_DRIVER_TYPES := BluefruitLE RN42 custom +VALID_BLUETOOTH_DRIVER_TYPES := bluefruit_le custom rn42 ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid BLUETOOTH_DRIVER,BLUETOOTH_DRIVER="$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type) endif OPT_DEFS += -DBLUETOOTH_ENABLE + OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]')) NO_USB_STARTUP_CHECK := yes COMMON_VPATH += $(DRIVER_PATH)/bluetooth SRC += outputselect.c - ifeq ($(strip $(BLUETOOTH_DRIVER)), BluefruitLE) - OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE -DHAL_USE_SPI=TRUE + ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) + SPI_DRIVER_REQUIRED = yes + ANALOG_DRIVER_REQUIRED = yes SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp - QUANTUM_LIB_SRC += analog.c - QUANTUM_LIB_SRC += spi_master.c endif - ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42) - OPT_DEFS += -DBLUETOOTH_RN42 -DHAL_USE_SERIAL=TRUE + ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) + UART_DRIVER_REQUIRED = yes SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/rn42.c - QUANTUM_LIB_SRC += uart.c endif endif @@ -932,10 +907,51 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes) endif endif -ifeq ($(strip $(OS_DETECTION_ENABLE)), yes) - SRC += $(QUANTUM_DIR)/os_detection.c - OPT_DEFS += -DOS_DETECTION_ENABLE - ifeq ($(strip $(OS_DETECTION_DEBUG_ENABLE)), yes) - OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE +VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor + +WS2812_DRIVER ?= bitbang +ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) + ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) + $(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) endif + + OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]')) + + SRC += ws2812_$(strip $(WS2812_DRIVER)).c + + ifeq ($(strip $(PLATFORM)), CHIBIOS) + ifeq ($(strip $(WS2812_DRIVER)), pwm) + OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE + endif + endif + + # add extra deps + ifeq ($(strip $(WS2812_DRIVER)), i2c) + I2C_DRIVER_REQUIRED = yes + endif +endif + +ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) + COMMON_VPATH += $(DRIVER_PATH)/led + SRC += apa102.c +endif + +ifeq ($(strip $(ANALOG_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_ADC=TRUE + QUANTUM_LIB_SRC += analog.c +endif + +ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_I2C=TRUE + QUANTUM_LIB_SRC += i2c_master.c +endif + +ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_SPI=TRUE + QUANTUM_LIB_SRC += spi_master.c +endif + +ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes) + OPT_DEFS += -DHAL_USE_SERIAL=TRUE + QUANTUM_LIB_SRC += uart.c endif diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 816eac49ae8f..cfd261737c06 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -12,6 +12,9 @@ vpath %.hpp $(VPATH_SRC) vpath %.S $(VPATH_SRC) VPATH := +# Helper to return the distinct elements of a list +uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) + # Convert all SRC to OBJ define OBJ_FROM_SRC $(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$(patsubst %.clib,$1/%.a,$($1_SRC)))))) @@ -176,7 +179,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)))) @@ -188,7 +191,7 @@ DFU_SUFFIX_ARGS ?= elf: $(BUILD_DIR)/$(TARGET).elf hex: $(BUILD_DIR)/$(TARGET).hex uf2: $(BUILD_DIR)/$(TARGET).uf2 -cpfirmware: $(FIRMWARE_FORMAT) +cpfirmware_qmk: $(FIRMWARE_FORMAT) $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to qmk_firmware folder" | $(AWK_CMD) $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) eep: $(BUILD_DIR)/$(TARGET).eep @@ -197,6 +200,15 @@ sym: $(BUILD_DIR)/$(TARGET).sym LIBNAME=lib$(TARGET).a lib: $(LIBNAME) +cpfirmware: cpfirmware_qmk + +ifneq ($(QMK_USERSPACE),) +cpfirmware: cpfirmware_userspace +cpfirmware_userspace: cpfirmware_qmk + $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to userspace folder" | $(AWK_CMD) + $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(QMK_USERSPACE)/$(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) +endif + # Display size of file, modifying the output so people don't mistakenly grab the hex output BINARY_SIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(SED) -e 's/\.build\/.*$$/$(TARGET).$(FIRMWARE_FORMAT)/g' @@ -264,7 +276,7 @@ BEGIN = gccversion sizebefore # Note the obj.txt depeendency is there to force linking if a source file is deleted %.elf: $(OBJ) $(MASTER_OUTPUT)/cflags.txt $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/obj.txt | $(BEGIN) @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) - $(eval CMD=MAKE=$(MAKE) $(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS)) + $(eval CMD=MAKE=$(MAKE) $(CC) $(ALL_CFLAGS) $(call uniq,$(OBJ)) --output $@ $(LDFLAGS)) @$(BUILD_CMD) @@ -380,31 +392,9 @@ dump_vars: objs-size: for i in $(OBJ); do echo $$i; done | sort | xargs $(SIZE) -ifeq ($(findstring avr-gcc,$(CC)),avr-gcc) -SIZE_MARGIN = 1024 +# size check optionally implemented in its platform.mk check-size: - $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | $(SED) -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) - $(eval CURRENT_SIZE=$(shell if [ -f $(BUILD_DIR)/$(TARGET).hex ]; then $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(AWK) 'NR==2 {print $$4}'; else printf 0; fi)) - $(eval FREE_SIZE=$(shell expr $(MAX_SIZE) - $(CURRENT_SIZE))) - $(eval OVER_SIZE=$(shell expr $(CURRENT_SIZE) - $(MAX_SIZE))) - $(eval PERCENT_SIZE=$(shell expr $(CURRENT_SIZE) \* 100 / $(MAX_SIZE))) - if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \ - $(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \ - if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \ - printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \ - else \ - if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \ - $(PRINT_WARNING_PLAIN); printf " * $(MSG_FILE_NEAR_LIMIT)"; \ - else \ - $(PRINT_OK); $(SILENT) || printf " * $(MSG_FILE_JUST_RIGHT)"; \ - fi ; \ - fi ; \ - fi -else -check-size: - $(SILENT) || echo "$(MSG_CHECK_FILESIZE_SKIPPED)" -endif check-md5: $(MD5SUM) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) diff --git a/builddefs/converters.mk b/builddefs/converters.mk index a3548afd609f..96c8656b253f 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -25,7 +25,9 @@ ifneq ($(CONVERT_TO),) -include $(CONVERTER)/pre_converter.mk PLATFORM_KEY = $(shell echo $(CONVERTER) | cut -d "/" -f2) - TARGET := $(TARGET)_$(CONVERT_TO) + + # force setting as value can be from environment + override TARGET := $(TARGET)_$(CONVERT_TO) # Configure any defaults OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]') diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index 4e058dcd2659..9c8695862554 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -13,39 +13,52 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -SPACE_CADET_ENABLE ?= yes GRAVE_ESC_ENABLE ?= yes +MAGIC_ENABLE ?= yes +SEND_STRING_ENABLE ?= yes +SPACE_CADET_ENABLE ?= yes GENERIC_FEATURES = \ + AUTO_SHIFT \ AUTOCORRECT \ CAPS_WORD \ COMBO \ COMMAND \ + CRC \ DEFERRED_EXEC \ DIGITIZER \ DIP_SWITCH \ DYNAMIC_KEYMAP \ DYNAMIC_MACRO \ + DYNAMIC_TAPPING_TERM \ GRAVE_ESC \ HAPTIC \ KEY_LOCK \ KEY_OVERRIDE \ LEADER \ + MAGIC \ + MOUSEKEY \ + MUSIC \ + OS_DETECTION \ PROGRAMMABLE_BUTTON \ REPEAT_KEY \ SECURE \ + SEND_STRING \ + SEQUENCER \ SPACE_CADET \ SWAP_HANDS \ TAP_DANCE \ - VELOCIKEY \ + TRI_LAYER \ + VIA \ + VIRTSER \ WPM \ - DYNAMIC_TAPPING_TERM \ - TRI_LAYER define HANDLE_GENERIC_FEATURE # $$(info "Processing: $1_ENABLE $2.c") SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c) + SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c) SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c) + VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/) OPT_DEFS += -D$1_ENABLE endef diff --git a/builddefs/message.mk b/builddefs/message.mk index bf39554dab77..7c8f87f99006 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -91,7 +91,6 @@ MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAI MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT) -MSG_CHECK_FILESIZE_SKIPPED = (Firmware size check does not yet support $(MCU_ORIG); skipping) MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n @@ -104,6 +103,10 @@ MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_ BOOTLOADER_RETRY_TIME ?= 0.5 MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel) +define WARNING_MESSAGE + $(shell printf "\n %-99s $(WARN_STRING)\n" "$1" >&2) +endef + define CATASTROPHIC_ERROR $(shell printf "\n * %-99s $(ERROR_STRING)\n" "$2" >&2) $(error $1) diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 8bcc02083bc5..81d8400a8064 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -17,7 +17,7 @@ HARDWARE_OPTION_NAMES = \ BACKLIGHT_ENABLE \ BACKLIGHT_DRIVER \ RGBLIGHT_ENABLE \ - RGBLIGHT_CUSTOM_DRIVER \ + RGBLIGHT_DRIVER \ RGB_MATRIX_ENABLE \ RGB_MATRIX_DRIVER \ CIE1931_CURVE \ @@ -37,7 +37,6 @@ OTHER_OPTION_NAMES = \ UNICODEMAP_ENABLE \ UNICODE_COMMON \ AUTO_SHIFT_ENABLE \ - AUTO_SHIFT_MODIFIERS \ DYNAMIC_TAPPING_TERM_ENABLE \ COMBO_ENABLE \ KEY_LOCK_ENABLE \ @@ -60,8 +59,6 @@ OTHER_OPTION_NAMES = \ ENCODER_ENABLE_CUSTOM \ GERMAN_ENABLE \ HAPTIC_ENABLE \ - HHKB_RN42_ENABLE \ - ISSI_ENABLE \ KEYLOGGER_ENABLE \ LCD_BACKLIGHT_ENABLE \ MACROS_ENABLED \ diff --git a/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson new file mode 100644 index 000000000000..6ad03c58e555 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson @@ -0,0 +1,291 @@ +{ + "aliases": { +/* + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ + * │ | │ № │ - │ / │ " │ : │ , │ . │ _ │ ? │ % │ ! │ ; │ │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī + * │ │ Й │ ÐĶ │ ÐĢ │ К │ Е │ Н │ Г │ ÐĻ │ ÐР│ З │ ÐĨ │ Њ │ ) │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī + * │ │ ÐĪ │ ÐŦ │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī + * │ │ ÐŊ │ Ч │ ÐĄ │ М │ И │ ÐĒ │ ÐŽ │ Б │ ÐŪ │ Ё │ │ + * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī + * │ │ │ │ │ │ │ │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ + */ + "KC_GRV": { + "key": "RU_PIPE", + "label": "|", + } + "KC_1": { + "key": "RU_NUM", + "label": "№", + } + "KC_2": { + "key": "RU_MINS", + "label": "-", + } + "KC_3": { + "key": "RU_SLSH", + "label": "/", + } + "KC_4": { + "key": "RU_DQUO", + "label": "\"", + } + "KC_5": { + "key": "RU_COLN", + "label": ":", + } + "KC_6": { + "key": "RU_COMM", + "label": ",", + } + "KC_7": { + "key": "RU_DOT", + "label": ".", + } + "KC_8": { + "key": "RU_UNDS", + "label": "_", + } + "KC_9": { + "key": "RU_QUES", + "label": "?", + } + "KC_0": { + "key": "RU_PERC", + "label": "%", + } + "KC_MINS": { + "key": "RU_EXLM", + "label": "!", + } + "KC_EQL": { + "key": "RU_SCLN", + "label": ";", + } + "KC_Q": { + "key": "RU_SHTI", + "label": "Й", + } + "KC_W": { + "key": "RU_TSE", + "label": "ÐĶ", + } + "KC_E": { + "key": "RU_U", + "label": "ÐĢ", + } + "KC_R": { + "key": "RU_KA", + "label": "К", + } + "KC_T": { + "key": "RU_IE", + "label": "Е", + } + "KC_Y": { + "key": "RU_EN", + "label": "Н", + } + "KC_U": { + "key": "RU_GHE", + "label": "Г", + } + "KC_I": { + "key": "RU_SHA", + "label": "ÐĻ", + } + "KC_O": { + "key": "RU_SHCH", + "label": "ÐĐ", + } + "KC_P": { + "key": "RU_ZE", + "label": "З", + } + "KC_LBRC": { + "key": "RU_HA", + "label": "ÐĨ", + } + "KC_RBRC": { + "key": "RU_HARD", + "label": "Њ", + } + "KC_BSLS": { + "key": "RU_RPRN", + "label": ")", + } + "KC_A": { + "key": "RU_EF", + "label": "ÐĪ", + } + "KC_S": { + "key": "RU_YERU", + "label": "ÐŦ", + } + "KC_D": { + "key": "RU_VE", + "label": "В", + } + "KC_F": { + "key": "RU_A", + "label": "А", + } + "KC_G": { + "key": "RU_PE", + "label": "П", + } + "KC_H": { + "key": "RU_ER", + "label": "Р", + } + "KC_J": { + "key": "RU_O", + "label": "О", + } + "KC_K": { + "key": "RU_EL", + "label": "Л", + } + "KC_L": { + "key": "RU_DE", + "label": "Д", + } + "KC_SCLN": { + "key": "RU_ZHE", + "label": "Ж", + } + "KC_QUOT": { + "key": "RU_E", + "label": "Э", + } + "KC_Z": { + "key": "RU_YA", + "label": "ÐŊ", + } + "KC_X": { + "key": "RU_CHE", + "label": "Ч", + } + "KC_C": { + "key": "RU_ES", + "label": "ÐĄ", + } + "KC_V": { + "key": "RU_EM", + "label": "М", + } + "KC_B": { + "key": "RU_I", + "label": "И", + } + "KC_N": { + "key": "RU_TE", + "label": "ÐĒ", + } + "KC_M": { + "key": "RU_SOFT", + "label": "ÐŽ", + } + "KC_COMM": { + "key": "RU_BE", + "label": "Б", + } + "KC_DOT": { + "key": "RU_YU", + "label": "ÐŪ", + } + "KC_SLSH": { + "key": "RU_YO", + "label": "Ё", + } +/* Shifted symbols + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ + * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ = │ \ │ │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ( │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī + * │ │ │ │ │ │ │ │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ + */ + "S(RU_PIPE)": { + "key": "RU_PLUS", + "label": "+", + } + "S(RU_NUM)": { + "key": "RU_1", + "label": "1", + } + "S(RU_MINS)": { + "key": "RU_2", + "label": "2", + } + "S(RU_SLSH)": { + "key": "RU_3", + "label": "3", + } + "S(RU_DQUO)": { + "key": "RU_4", + "label": "4", + } + "S(RU_COLN)": { + "key": "RU_5", + "label": "5", + } + "S(RU_COMM)": { + "key": "RU_6", + "label": "6", + } + "S(RU_DOT)": { + "key": "RU_7", + "label": "7", + } + "S(RU_UNDS)": { + "key": "RU_8", + "label": "8", + } + "S(RU_QUES)": { + "key": "RU_9", + "label": "9", + } + "S(RU_PERC)": { + "key": "RU_0", + "label": "0", + } + "S(RU_EXLM)": { + "key": "RU_EQL", + "label": "=", + } + "S(RU_SCLN)": { + "key": "RU_BSLS", + "label": "\\", + } + "S(RU_RPRN)": { + "key": "RU_LPRN", + "label": "(", + } +/* AltGr symbols + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ + * │ │ │ │ │ │ │ │ │ â‚― │ │ │ │ │ │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī + * │ │ │ │ │ │ │ │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ + */ + "ALGR(RU_UNDS)": { + "key": "RU_RUBL", + "label": "â‚―", + } + } +} diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson index 2bb00da22362..4a9f06c0da58 100644 --- a/data/mappings/defaults.hjson +++ b/data/mappings/defaults.hjson @@ -1,84 +1,84 @@ { "development_board": { - "promicro": { - "processor": "atmega32u4", - "bootloader": "caterina", - "pin_compatible": "promicro" + "bit_c_pro": { + "board": "QMK_PM2040", + "bootloader": "rp2040", + "processor": "RP2040" }, - "elite_c": { - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "pin_compatible": "promicro" + "blackpill_f401": { + "board": "BLACKPILL_STM32_F401", + "bootloader": "stm32-dfu", + "processor": "STM32F401" }, - "elite_pi": { - "processor": "RP2040", + "blackpill_f411": { + "board": "BLACKPILL_STM32_F411", + "bootloader": "stm32-dfu", + "processor": "STM32F411" + }, + "blok": { + "board": "QMK_BLOK", "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "RP2040" }, - "proton_c": { - "processor": "STM32F303", + "bluepill": { + "board": "STM32_F103_STM32DUINO", + "bootloader": "stm32duino", + "processor": "STM32F103" + }, + "bonsai_c4": { + "board": "BONSAI_C4", "bootloader": "stm32-dfu", - "board": "QMK_PROTON_C" + "processor": "STM32F411" }, - "kb2040": { - "processor": "RP2040", + "elite_c": { + "bootloader": "atmel-dfu", + "pin_compatible": "promicro", + "processor": "atmega32u4" + }, + "elite_pi": { + "board": "QMK_PM2040", "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "RP2040" }, - "promicro_rp2040": { - "processor": "RP2040", + "helios": { + "board": "QMK_PM2040", "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "RP2040" }, - "blok": { - "processor": "RP2040", + "kb2040": { + "board": "QMK_PM2040", "bootloader": "rp2040", - "board": "QMK_BLOK" + "processor": "RP2040" }, - "michi": { - "processor": "RP2040", + "liatris": { + "board": "QMK_PM2040", "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "RP2040" }, - "bit_c_pro": { - "processor": "RP2040", + "michi": { + "board": "QMK_PM2040", "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "RP2040" }, - "bluepill": { - "processor": "STM32F103", - "bootloader": "stm32duino", - "board": "STM32_F103_STM32DUINO" + "promicro": { + "bootloader": "caterina", + "pin_compatible": "promicro", + "processor": "atmega32u4" }, - "blackpill_f401": { - "processor": "STM32F401", - "bootloader": "stm32-dfu", - "board": "BLACKPILL_STM32_F401" + "promicro_rp2040": { + "board": "QMK_PM2040", + "bootloader": "rp2040", + "processor": "RP2040" }, - "blackpill_f411": { - "processor": "STM32F411", + "proton_c": { + "board": "QMK_PROTON_C", "bootloader": "stm32-dfu", - "board": "BLACKPILL_STM32_F411" + "processor": "STM32F303" }, "stemcell": { - "processor": "STM32F411", + "board": "STEMCELL", "bootloader": "tinyuf2", - "board": "STEMCELL" - }, - "bonsai_c4": { - "processor": "STM32F411", - "bootloader": "stm32-dfu", - "board": "BONSAI_C4" - }, - "helios": { - "processor": "RP2040", - "bootloader": "rp2040", - "board": "QMK_PM2040" - }, - "liatris": { - "processor": "RP2040", - "bootloader": "rp2040", - "board": "QMK_PM2040" + "processor": "STM32F411" } } } diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e53d90da39b3..26b437b51335 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -29,6 +29,9 @@ "BACKLIGHT_PIN": {"info_key": "backlight.pin"}, "BACKLIGHT_PINS": {"info_key": "backlight.pins", "value_type": "array"}, "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"}, + "BACKLIGHT_DEFAULT_ON": {"info_key": "backlight.default.on", "value_type": "bool"}, + "BACKLIGHT_DEFAULT_BREATHING": {"info_key": "backlight.default.breathing", "value_type": "bool"}, + "BACKLIGHT_DEFAULT_LEVEL": {"info_key": "backlight.default.brightness", "value_type": "int"}, // Bootmagic "BOOTMAGIC_LITE_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"}, @@ -45,10 +48,18 @@ // Combos "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, + "DIP_SWITCH_MATRIX_GRID": {"info_key": "dip_switch.matrix_grid", "value_type": "array.array.int", "to_json": false}, + "DIP_SWITCH_PINS": {"info_key": "dip_switch.pins", "value_type": "array"}, + "DIP_SWITCH_PINS_RIGHT": {"info_key": "split.dip_switch.right.pins", "value_type": "array"}, + // Dynamic Keymap "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"}, + // EEPROM + "WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false}, + "WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false}, + // Indicators "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"}, "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"}, @@ -63,14 +74,24 @@ "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"}, // LED Matrix + "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "led_matrix.sleep", "value_type": "bool"}, "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"}, - "LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"}, + "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "bool"}, + "LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"}, + "LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false}, "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"}, - "LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"}, "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"}, "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"}, "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"}, "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"}, + "LED_MATRIX_LED_COUNT": {"info_key": "led_matrix.led_count", "value_type": "int", "to_json": false}, + "LED_MATRIX_DEFAULT_ON": {"info_key": "led_matrix.default.on", "value_type": "bool"}, + "LED_MATRIX_DEFAULT_VAL": {"info_key": "led_matrix.default.val", "value_type": "int"}, + "LED_MATRIX_DEFAULT_SPD": {"info_key": "led_matrix.default.speed", "value_type": "int"}, + + // Locking Switch + "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "bool"}, + "LOCKING_RESYNC_ENABLE": {"info_key": "qmk.locking.resync", "value_type": "bool"}, // LUFA Bootloader "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"}, @@ -101,14 +122,24 @@ "PS2_DATA_PIN": {"info_key": "ps2.data_pin"}, // RGB Matrix + "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "rgb_matrix.sleep", "value_type": "bool"}, "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"}, "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"}, + "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "bool"}, + "RGB_MATRIX_LED_FLUSH_LIMIT": {"info_key": "rgb_matrix.led_flush_limit", "value_type": "int"}, + "RGB_MATRIX_LED_PROCESS_LIMIT": {"info_key": "rgb_matrix.led_process_limit", "value_type": "int", "to_json": false}, "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"}, "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"}, "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"}, "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"}, "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"}, "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"}, + "RGB_MATRIX_LED_COUNT": {"info_key": "rgb_matrix.led_count", "value_type": "int", "to_json": false}, + "RGB_MATRIX_DEFAULT_ON": {"info_key": "rgb_matrix.default.on", "value_type": "bool"}, + "RGB_MATRIX_DEFAULT_HUE": {"info_key": "rgb_matrix.default.hue", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_SAT": {"info_key": "rgb_matrix.default.sat", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_VAL": {"info_key": "rgb_matrix.default.val", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_SPD": {"info_key": "rgb_matrix.default.speed", "value_type": "int"}, // RGBLight "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"}, @@ -117,12 +148,18 @@ "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"}, "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"}, "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"}, "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"}, + "RGBLIGHT_DEFAULT_ON": {"info_key": "rgblight.default.on", "value_type": "bool"}, + "RGBLIGHT_DEFAULT_HUE": {"info_key": "rgblight.default.hue", "value_type": "int"}, + "RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"}, + "RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"}, + "RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"}, "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"}, // Secure @@ -133,13 +170,23 @@ // Split Keyboard "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, - "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"}, - "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"}, + "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false}, + "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"}, "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"}, "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"}, "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"}, "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"}, "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"}, + "SPLIT_ACTIVITY_ENABLE": {"info_key": "split.transport.sync.activity", "value_type": "bool"}, + "SPLIT_DETECTED_OS_ENABLE": {"info_key": "split.transport.sync.detected_os", "value_type": "bool"}, + "SPLIT_HAPTIC_ENABLE": {"info_key": "split.transport.sync.haptic", "value_type": "bool"}, + "SPLIT_LAYER_STATE_ENABLE": {"info_key": "split.transport.sync.layer_state", "value_type": "bool"}, + "SPLIT_LED_STATE_ENABLE": {"info_key": "split.transport.sync.indicators", "value_type": "bool"}, + "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync.matrix_state", "value_type": "bool"}, + "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync.modifiers", "value_type": "bool"}, + "SPLIT_OLED_ENABLE": {"info_key": "split.transport.sync.oled", "value_type": "bool"}, + "SPLIT_ST7565_ENABLE": {"info_key": "split.transport.sync.st7565", "value_type": "bool"}, + "SPLIT_WPM_ENABLE": {"info_key": "split.transport.sync.wpm", "value_type": "bool"}, // Tapping "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"}, @@ -189,4 +236,9 @@ "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"}, "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"}, "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"}, + + // Items we want flagged in lint + "VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true}, + "VIAL_UNLOCK_COMBO_COLS": {"info_key": "_invalid.vial_unlock_cols", "invalid": true}, + "VIAL_UNLOCK_COMBO_ROWS": {"info_key": "_invalid.vial_unlock_rows", "invalid": true} } diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index bf8ec05cb2ce..02fc2bee9de6 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -17,6 +17,7 @@ "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, "BOOTMAGIC_ENABLE": {"info_key": "bootmagic.enabled", "value_type": "bool"}, "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"}, + "DIP_SWITCH_ENABLE": {"info_key": "dip_switch.enabled", "value_type": "bool"}, "DEBOUNCE_TYPE": {"info_key": "build.debounce_type"}, "EEPROM_DRIVER": {"info_key": "eeprom.driver"}, "ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"}, @@ -35,12 +36,14 @@ "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"}, "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"}, "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"}, + "RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"}, "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, "STENO_PROTOCOL": {"info_key": "stenography.protocol"}, "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}, + "WEAR_LEVELING_DRIVER": {"info_key": "eeprom.wear_leveling.driver"}, "WS2812_DRIVER": {"info_key": "ws2812.driver"}, // Items we want flagged in lint diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index a656288a8fb6..90f32ee6acca 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1,13 +1,16 @@ { // Format for each entry: // "": { - // "target": "", - // "layouts": { - // "": "" - // } + // "target": "" // } // - // Both target and layouts are optional. + + /* This list of aliases is for testing purposes -- ensures "linked list" recursive traversal works correctly. */ + "_test_a": { "target": "_test_b" }, + "_test_b": { "target": "_test_c" }, + "_test_c": { "target": "planck/rev6" }, + + /* The main list of aliases for moved keyboards within QMK. */ "2_milk": { "target": "spaceman/2_milk" }, @@ -39,7 +42,7 @@ "target": "amjkeyboard/amjpad" }, "angel64": { - "target": "angel64/alpha" + "target": "kakunpc/angel64/alpha" }, "ashpil/modelm_usbc": { "target": "ibm/model_m/ashpil_usbc" @@ -51,10 +54,10 @@ "target": "viktus/at101_bh" }, "atom47/rev2": { - "target": "maartenwut/atom47/rev2" + "target": "evyd13/atom47/rev2" }, "atom47/rev3": { - "target": "maartenwut/atom47/rev3" + "target": "evyd13/atom47/rev3" }, "bakeneko60": { "target": "kkatano/bakeneko60" @@ -69,7 +72,7 @@ "target": "bear_face/v1" }, "bm16a": { - "target": "kprepublic/bm16a" + "target": "kprepublic/bm16a/v1" }, "bm16s": { "target": "kprepublic/bm16s" @@ -81,16 +84,16 @@ "target": "kprepublic/bm43a" }, "bm60poker": { - "target": "kprepublic/bm60poker" + "target": "kprepublic/bm60hsrgb_poker/rev1" }, "bm60rgb": { - "target": "kprepublic/bm60rgb" + "target": "kprepublic/bm60hsrgb/rev1" }, "bm60rgb_iso": { - "target": "kprepublic/bm60rgb_iso" + "target": "kprepublic/bm60hsrgb_iso/rev1" }, "bm68rgb": { - "target": "kprepublic/bm68rgb" + "target": "kprepublic/bm68hsrgb/rev1" }, "bpiphany/pegasushoof": { "target": "bpiphany/pegasushoof/2013" @@ -140,26 +143,17 @@ "daisy": { "target": "ktec/daisy" }, - "doro67/multi": { - "layouts": { - "LAYOUT_ansi": "LAYOUT_65_ansi_blocker" - } - }, - "doro67/regular": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } - }, - "doro67/rgb": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } + "dp3000": { + "target": "dp3000/rev1" }, "drakon": { "target": "jagdpietr/drakon" }, "durgod/k320": { - "target": "durgod/k3x0/k320" + "target": "durgod/k320/base" + }, + "durgod/k3x0/k320": { + "target": "durgod/k320/base" }, "durgod/hades": { "target": "durgod/dgk6x/hades_ansi" @@ -185,6 +179,9 @@ "dztech/volcano660": { "target": "ilumkb/volcano660" }, + "dztech/og60": { + "target": "dztech/tofu60" + }, "eek": { "target": "eek/silk_down" }, @@ -212,6 +209,15 @@ "gmmk/pro/iso": { "target": "gmmk/pro/rev1/iso" }, + "handwired/dactyl_manuform/3x5_3": { + "target": "handwired/dactyl_minidox" + }, + "handwired/dactyl_manuform/6x6_kinesis": { + "target": "handwired/dactyl_kinesis" + }, + "handwired/dactyl_manuform/dmote/62key": { + "target": "handwired/dmote" + }, "handwired/ferris": { "target": "ferris/0_1" }, @@ -221,6 +227,21 @@ "handwired/p1800fl": { "target": "team0110/p1800fl" }, + "handwired/jscotto/scotto9": { + "target": "handwired/scottokeebs/scotto9" + }, + "handwired/jscotto/scotto36": { + "target": "handwired/scottokeebs/scotto36" + }, + "handwired/jscotto/scotto40": { + "target": "handwired/scottokeebs/scotto40" + }, + "handwired/jscotto/scottocmd": { + "target": "handwired/scottokeebs/scottocmd" + }, + "handwired/jscotto/scottostarter": { + "target": "handwired/scottokeebs/scottostarter" + }, "helix/pico/sc/back": { "target": "helix/pico/sc" }, @@ -264,13 +285,10 @@ "target": "keyhive/honeycomb" }, "idb_60": { - "target": "idb/idb_60", - "layouts": { - "LAYOUT": "LAYOUT_all" - } + "target": "idb/idb_60" }, "idobo": { - "target": "idobao/id75" + "target": "idobao/id75/v1" }, "jacky_studio/piggy60": { "target": "jacky_studio/piggy60/rev1" @@ -288,23 +306,20 @@ "target": "jones/v03_1" }, "kamigakushi": { - "target": "jaykeeb/kamigakushi", - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan" - } + "target": "jaykeeb/kamigakushi" }, "katana60": { "target": "rominronin/katana60/rev1" }, "kbdfans/kbd67mkiirgb": { - "target": "kbdfans/kbd67/mkiirgb", - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } + "target": "kbdfans/kbd67/mkiirgb" }, "kbdfans/kbd67/mkiirgb": { "target": "kbdfans/kbd67/mkiirgb/v1" }, + "keebio/chocopad": { + "target": "keebio/chocopad/rev1" + }, "keebio/dsp40": { "target": "keebio/dsp40/rev1" }, @@ -395,6 +410,9 @@ "maartenwut/wonderland": { "target": "evyd13/wonderland" }, + "matchstickworks/southpad": { + "target": "matchstickworks/southpad/rev2/" + }, "matrix/m12og": { "target": "matrix/m12og/rev1" }, @@ -405,7 +423,7 @@ "target": "mechlovin/adelais/rgb_led/rev1" }, "mechlovin/adelais/standard_led": { - "target": "mechlovin/adelais/standard_led/rev2" + "target": "mechlovin/adelais/standard_led/arm/rev2" }, "mechlovin/delphine": { "target": "mechlovin/delphine/mono_led" @@ -443,11 +461,6 @@ "mschwingen/modelm": { "target": "ibm/model_m/mschwingen" }, - "noxary/268_2": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } - }, "oddball": { "target": "oddball/v1" }, @@ -464,24 +477,19 @@ "target": "pabile/p20/ver1" }, "pancake/feather": { - "target": "spaceman/pancake/feather" + "target": "spaceman/pancake/rev1/feather" }, "pancake/promicro": { - "target": "spaceman/pancake/promicro" + "target": "spaceman/pancake/rev1/promicro" }, "peiorisboards/ixora": { "target": "coarse/ixora" }, - "percent/canoe": { - "layouts": { - "LAYOUT_iso": "LAYOUT_65_iso_blocker" - } - }, "plaid": { "target": "dm9records/plaid" }, "plain60": { - "target": "maartenwut/plain60" + "target": "evyd13/plain60" }, "ploopyco/trackball": { "target": "ploopyco/trackball/rev1_005" @@ -489,21 +497,6 @@ "polilla": { "target": "polilla/rev1" }, - "preonic/rev1": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, - "preonic/rev2": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, - "preonic/rev3": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, "primekb/prime_l": { "target": "primekb/prime_l/v1" }, @@ -532,10 +525,10 @@ "target": "wilba_tech/rama_works_u80_a" }, "ramonimbao/herringbone": { - "target": "ramonimbao/herringbone/v1" + "target": "rmi_kb/herringbone/v1" }, "ramonimbao/mona": { - "target": "ramonimbao/mona/v1" + "target": "rmi_kb/mona/v1" }, "rgbkb/pan": { "target": "rgbkb/pan/rev1/32a" @@ -571,10 +564,10 @@ "target": "tkw/stoutgat/v1" }, "suihankey": { - "target": "suihankey/split/alpha" + "target": "kakunpc/suihankey/split/alpha" }, "ta65": { - "target": "maartenwut/ta65" + "target": "evyd13/ta65" }, "tartan": { "target": "dm9records/tartan" @@ -592,16 +585,13 @@ "target": "matthewdias/txuu" }, "underscore33": { - "target": "underscore33/rev1" + "target": "tominabox1/underscore33/rev1" }, "vinta": { - "target": "coarse/vinta", - "layouts": { - "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker" - } + "target": "coarse/vinta" }, "wasdat": { - "target": "maartenwut/wasdat" + "target": "evyd13/wasdat" }, "westfoxtrot/cypher": { "target": "westfoxtrot/cypher/rev1" @@ -613,10 +603,10 @@ "target": "xiudi/xd002" }, "xd004": { - "target": "xiudi/xd004" + "target": "xiudi/xd004/v1" }, "xd60": { - "target": "xiudi/xd60" + "target": "xiudi/xd60/rev2" }, "xd68": { "target": "xiudi/xd68" @@ -863,19 +853,22 @@ "target": "kagizaraya/halberd" }, "handwired/hillside/0_1": { - "target": "handwired/hillside/48" + "target": "hillside/48/0_1" }, "hecomi/alpha": { "target": "takashiski/hecomi/alpha" }, + "hfdkb/keyboard_sw/k83":{ + "target": "inland/kb83" + }, "hid_liber": { "target": "bpiphany/hid_liber" }, "id67/default_rgb": { - "target": "idobao/id67/default_rgb" + "target": "idobao/id67" }, "id67/rgb": { - "target": "idobao/id67/rgb" + "target": "idobao/id67" }, "id80": { "target": "idobao/id80/v2/ansi" @@ -913,6 +906,18 @@ "kelowna/rgb64": { "target": "weirdo/kelowna/rgb64" }, + "keychron/q0": { + "target": "keychron/q0/base" + }, + "keychron/q1": { + "target": "keychron/q1v1/ansi" + } + "keychron/q4": { + "target": "keychron/q4/ansi/v1" + } + "kprepublic/bm40hsrgb": { + "target": "kprepublic/bm40hsrgb/rev1" + }, "kprepublic/bm65hsrgb_iso": { "target": "kprepublic/bm65hsrgb_iso/rev1" }, @@ -1213,6 +1218,12 @@ "setta21": { "target": "salicylic_acid3/setta21" }, + "soda/mango": { + "target": "magic_force/mf17" + }, + "soda/pocket": { + "target": "magic_force/mf34" + }, "space_space/rev1": { "target": "qpockets/space_space/rev1" }, @@ -1237,6 +1248,9 @@ "stella": { "target": "hnahkb/stella" }, + "studiokestra/line_tkl": { + "target": "studiokestra/line_friends_tkl" + }, "suihankey/alpha": { "target": "kakunpc/suihankey/alpha" }, @@ -1265,7 +1279,7 @@ "target": "marksard/treadstone48/rev2" }, "tronguylabs/m122_3270": { - "target": "ibm/model_m_122/m122_3270" + "target": "ibm/model_m_122/m122_3270/teensy" }, "ua62": { "target": "nacly/ua62" @@ -1319,7 +1333,7 @@ "target": "ydkb/yd68" }, "ymd75": { - "target": "ymdk/ymd75" + "target": "ymdk/ymd75/rev1" }, "ymd96": { "target": "ymdk/ymd96" @@ -1341,5 +1355,9 @@ }, "zinc/reva": { "target": "25keys/zinc/reva" + }, + // Moved during 2023 Q4 cycle + "ymdk/melody96": { + "target": "ymdk/melody96/soldered" } } diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index b9c64a55ec44..a1fdd2dcc680 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -3,10 +3,25 @@ "$id": "qmk.definitions.v1", "title": "Common definitions used across QMK's jsonschemas.", "type": "object", + "bcd_version": { + "type": "string", + "pattern": "^[0-9]{1,2}\\.[0-9]\\.[0-9]$" + }, + "bit": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, "boolean_array": { "type": "object", "additionalProperties": {"type": "boolean"} }, + "build_target": { + "oneOf": [ + {"$ref": "#/keyboard_keymap_tuple"}, + {"$ref": "#/json_file_path"} + ] + }, "filename": { "type": "string", "minLength": 1, @@ -20,14 +35,56 @@ "type": "string", "pattern": "^0x[0-9A-F]{4}$" }, - "bcd_version": { + "json_file_path": { "type": "string", - "pattern": "^[0-9]{1,2}\\.[0-9]\\.[0-9]$" + "pattern": "^[0-9a-z_/\\-]+\\.json$" }, - "text_identifier": { + "key_unit": { + "type": "number" + }, + "keyboard": { "type": "string", - "minLength": 1, - "maxLength": 250 + "pattern": "^[0-9a-z][0-9a-z_/]*$" + }, + "keyboard_keymap_tuple": { + "type": "array", + "prefixItems": [ + {"$ref": "#/keyboard"}, + {"$ref": "#/filename"} + ], + "unevaluatedItems": false + }, + "keycode": { + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[A-Z][A-Zs_0-9]*$" + }, + "keycode_decl": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": {"$ref": "#/keycode"}, + "label": {"$ref": "#/text_identifier"}, + "aliases": { + "type": "array", + "minItems": 1, + "items": {"$ref": "#/keycode_short"} + } + } + }, + "keycode_decl_array": { + "type": "array", + "minItems": 1, + "items": {"$ref": "#/keycode_decl"} + }, + "keycode_short": { + "type": "string", + "minLength": 2, + "maxLength": 7, + "pattern": "^[A-Z][A-Zs_0-9]*$" }, "layout_macro": { "oneOf": [ @@ -64,49 +121,6 @@ } ] }, - "key_unit": { - "type": "number" - }, - "keyboard": { - "type": "string", - "pattern": "^[0-9a-z][0-9a-z_/]*$" - }, - "keycode": { - "type": "string", - "minLength": 2, - "maxLength": 50, - "pattern": "^[A-Z][A-Zs_0-9]*$" - }, - "keycode_short": { - "type": "string", - "minLength": 2, - "maxLength": 7, - "pattern": "^[A-Z][A-Zs_0-9]*$" - }, - "keycode_decl": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": {"$ref": "#/keycode"}, - "label": {"$ref": "#/text_identifier"}, - "aliases": { - "type": "array", - "minItems": 1, - "items": {"$ref": "#/keycode_short"} - } - } - }, - "keycode_decl_array": { - "type": "array", - "minItems": 1 - "items": {"$ref": "#/keycode_decl"} - }, - "mcu_pin_array": { - "type": "array", - "items": {"$ref": "#/mcu_pin"} - }, "mcu_pin": { "oneOf": [ { @@ -125,14 +139,14 @@ "type": "string", "pattern": "^GP\\d{1,2}$" }, - { - "type": "integer" - }, - { - "type": "null" - } + {"type": "integer"}, + {"type": "null"} ] }, + "mcu_pin_array": { + "type": "array", + "items": {"$ref": "#/mcu_pin"} + }, "signed_decimal": { "type": "number" }, @@ -144,17 +158,22 @@ "minimum": -127, "maximum": 127 }, + "snake_case": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*$" + }, "string_array": { "type": "array", - "items": { - "type": "string" - } + "items": {"type": "string"} }, "string_object": { "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": {"type": "string"} + }, + "text_identifier": { + "type": "string", + "minLength": 1, + "maxLength": 250 }, "unsigned_decimal": { "type": "number", @@ -168,10 +187,5 @@ "type": "integer", "minimum": 0, "maximum": 255 - }, - "bit": { - "type": "integer", - "minimum": 0, - "maximum": 1 } } diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index ba4a7eec5570..299695808486 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -20,7 +20,15 @@ } } } - } + }, + "dip_switch_config": { + "type": "object", + "properties": { + "pins": { + "$ref": "qmk.definitions.v1#/mcu_pin_array" + } + } + }, }, "type": "object", "not": { "required": [ "vendorId", "productId" ] }, // reject via keys... @@ -71,6 +79,8 @@ "STM32F446", "STM32G431", "STM32G474", + "STM32H723", + "STM32H733", "STM32L412", "STM32L422", "STM32L432", @@ -126,6 +136,15 @@ "type": "string", "enum": ["pwm", "software", "timer", "custom"] }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "breathing": {"type": "boolean"}, + "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "breathing": {"type": "boolean"}, "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "levels": { @@ -146,7 +165,7 @@ "properties": { "driver": { "type": "string", - "enum": ["BluefruitLE", "RN42", "custom"] + "enum": ["bluefruit_le", "custom", "rn42"] } } }, @@ -174,6 +193,7 @@ "bootloader": { "type": "string", "enum": [ + "apm32-dfu", "atmel-dfu", "bootloadhid", "caterina", @@ -242,9 +262,40 @@ "type": "array", "items": {"$ref": "qmk.definitions.v1#/filename"} }, + "dip_switch": { + "$ref": "#/definitions/dip_switch_config", + "properties": { + "enabled": {"type": "boolean"}, + "matrix_grid": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + } + }, "eeprom": { "properties": { - "driver": {"type": "string"} + "driver": {"type": "string"}, + "wear_leveling": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"] + }, + "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + } } }, "encoder": { @@ -253,7 +304,11 @@ "enabled": {"type": "boolean"} } }, - "features": {"$ref": "qmk.definitions.v1#/boolean_array"}, + "features": { + "$ref": "qmk.definitions.v1#/boolean_array", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } + + }, "indicators": { "type": "object", "properties": { @@ -293,6 +348,7 @@ "additionalProperties": false, "required": ["x", "y"], "properties": { + "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "label": { "type": "string", "pattern": "^[^\\n]*$" @@ -367,10 +423,21 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -380,10 +447,12 @@ }, "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, @@ -418,10 +487,23 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -435,6 +517,10 @@ "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, @@ -470,11 +556,28 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } }, "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, + "driver": { + "type": "string", + "enum": ["apa102", "custom", "ws2812"] + }, "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "layers": { "type": "object", @@ -491,6 +594,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", @@ -576,10 +684,6 @@ } } }, - "matrix_grid": { - "type": "array", - "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} - }, "matrix_pins": { "type": "object", "additionalProperties": false, @@ -599,6 +703,15 @@ } } }, + "dip_switch": { + "type": "object", + "additionalProperties": false, + "properties": { + "right": { + "$ref": "#/definitions/dip_switch_config" + } + } + }, "encoder": { "type": "object", "additionalProperties": false, @@ -608,9 +721,17 @@ } } }, - "main": { - "type": "string", - "enum": ["eeprom", "left", "matrix_grid", "pin", "right"] + "handedness": { + "type": "object", + "additionalProperties": false, + "properties": { + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "matrix_grid": { + "$ref": "qmk.definitions.v1#/mcu_pin_array", + "minItems": 2, + "maxItems": 2 + } + } }, "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "soft_serial_speed": { @@ -626,10 +747,32 @@ "type": "string", "enum": ["custom", "i2c", "serial", "serial_usart"] }, - "sync_matrix_state": {"type": "boolean"}, - "sync_modifiers": {"type": "boolean"}, + "sync": { + "type": "object", + "additionalProperties": false, + "properties": { + "activity": {"type": "boolean"}, + "detected_os": {"type": "boolean"}, + "haptic": {"type": "boolean"}, + "layer_state": {"type": "boolean"}, + "indicators": {"type": "boolean"}, + "matrix_state": {"type": "boolean"}, + "modifiers": {"type": "boolean"}, + "oled": {"type": "boolean"}, + "st7565": {"type": "boolean"}, + "wpm": {"type": "boolean"} + } + } "watchdog": {"type": "boolean"}, - "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sync_matrix_state": { + "type": "boolean", + "$comment": "Deprecated: use sync.matrix_state instead" + }, + "sync_modifiers": { + "type": "boolean", + "$comment": "Deprecated: use sync.modifiers instead" + } } }, "usb_detect": { @@ -640,6 +783,16 @@ "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } + }, + "main": { + "type": "string", + "enum": ["eeprom", "left", "matrix_grid", "pin", "right"], + "$comment": "Deprecated: use config.h options for now" + }, + "matrix_grid": { + "type": "array", + "items": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "$comment": "Deprecated: use split.handedness.matrix_grid instead" } } }, @@ -697,7 +850,15 @@ "properties": { "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "locking": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "resync": {"type": "boolean"} + } + } } }, "qmk_lufa_bootloader": { diff --git a/data/schemas/user_repo_v0.jsonschema b/data/schemas/user_repo_v0.jsonschema new file mode 100644 index 000000000000..b18ac504284b --- /dev/null +++ b/data/schemas/user_repo_v0.jsonschema @@ -0,0 +1,14 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v0", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version" + ], + "properties": { + "userspace_version": { + "type": "string", + }, + } +} diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema new file mode 100644 index 000000000000..6cdf758685c5 --- /dev/null +++ b/data/schemas/user_repo_v1.jsonschema @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v1", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version", + "build_targets" + ], + "properties": { + "userspace_version": { + "type": "string", + "enum": ["1.0"] + }, + "build_targets": { + "type": "array", + "items": { + "$ref": "qmk.definitions.v1#/build_target" + } + } + } +} diff --git a/docs/ChangeLog/20230827.md b/docs/ChangeLog/20230827.md new file mode 100644 index 000000000000..12093d889f3f --- /dev/null +++ b/docs/ChangeLog/20230827.md @@ -0,0 +1,305 @@ +# QMK Breaking Changes - 2023 Aug 27 Changelog + +## Notable Changes :id=notable-changes + +As per last few breaking changes cycles, there have been _a lot_ of behind-the-scenes changes, mainly around migration of configurables into `info.json` files, cleanup of `info.json` files, additional layout definitions for keyboards, adding support for general community layouts to keyboards, as well as addressing technical debt. + +One thing to note for this release -- `qmk/qmk_firmware` is no longer accepting PRs for keymaps other than for manufacturer-supported keymaps. User keymap workflow has been documented [here](https://docs.qmk.fm/#/newbs) for several years. This change is to progressively reduce the maintenance burden on the project, and to allow us to focus on the core features of QMK. + +Existing user keymaps and userspace areas will likely be relocated/removed in the future -- non-building keymaps and userspace will be first targets, likely during the new breaking changes cycle. We will provide more information on Discord regarding this initiative as it becomes available. + +### RGB Matrix optimizations ([#21134](https://github.com/qmk/qmk_firmware/pull/21134), [#21135](https://github.com/qmk/qmk_firmware/pull/21135)) :id=rgb-matrix-optimizations + +Most RGB Matrix implementations now check whether or not RGB LED data has changed and skip transmission if it hasn't. This was measured to improve scan frequency in cases of static or infrequently-changing colors. + +### Audio optimizations ([#21496](https://github.com/qmk/qmk_firmware/pull/21496), [#21498](https://github.com/qmk/qmk_firmware/pull/21498)) + +Some audio code relating to "notes" used `double` datatypes, which are implemented in software floating-point for most ARM microcontrollers. This has been changed to use `float` datatypes instead, which are implemented in hardware floating-point on most ARM microcontrollers. This change increases performance as well as reduces the firmware size by significant number of bytes. + +AVR sees minimal (if any) benefit -- `double` was interpreted as `float` on AVR anyway. + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +| Old Keyboard Name | New Keyboard Name | +|---------------------------------------|-------------------------------------| +| capsunlocked/cu80/v2_ansi/base | capsunlocked/cu80/v2/ansi | +| capsunlocked/cu80/v2_iso/base | capsunlocked/cu80/v2/iso | +| handwired/dactyl_manuform/3x5_3 | handwired/dactyl_minidox | +| handwired/dactyl_manuform/6x6_kinesis | handwired/dactyl_kinesis | +| handwired/jscotto/scotto36 | handwired/scottokeebs/scotto36 | +| handwired/jscotto/scotto40 | handwired/scottokeebs/scotto40 | +| handwired/jscotto/scotto9 | handwired/scottokeebs/scotto9 | +| handwired/jscotto/scottocmd | handwired/scottokeebs/scottocmd | +| handwired/jscotto/scottostarter | handwired/scottokeebs/scottostarter | +| hfdkb/keyboard_sw/k83 | inland/kb83 | +| idb_60 | idb/idb_60 | +| kamigakushi | jaykeeb/kamigakushi | +| kbdfans/kbd67mkiirgb | kbdfans/kbd67/mkiirgb | +| modelh | ibm/model_m/modelh | +| vinta | coarse/vinta | + +### Remove encoder in-matrix workaround code ([#20389](https://github.com/qmk/qmk_firmware/pull/20389)) :id=remove-encoder-in-matrix-workaround-code + +Some keyboards "hacked" encoder support into spare slots in the key matrix in order to interoperate with VIA. This workaround is no longer necessary, and the code has been removed. If you have a keyboard that uses this workaround, you will need to update your keymap to use the new [Encoder Map](feature_encoders.md#encoder-map) API instead. + +### Unicodemap keycodes rename ([#21092](https://github.com/qmk/qmk_firmware/pull/21092)) :id=unicodemap-keycodes-rename + +The Unicodemap keycodes have been renamed: + +| Old | New | +|-----------|-----------| +| `X(i)` | `UM(i)` | +| `XP(i,j)` | `UP(i,j)` | + +### Remove old OLED API code ([#21651](https://github.com/qmk/qmk_firmware/pull/21651)) :id=remove-old-oled-api-code + +Old OLED code using `ssd1306.c` `ssd1306.h`, and `SSD1306OLED` and other similar files have been consolidated to use the standard OLED driver. External user keymaps will need to be updated to use the standard OLED driver accordingly. + +### Driver naming consolidation ([#21551](https://github.com/qmk/qmk_firmware/pull/21551), [#21558](https://github.com/qmk/qmk_firmware/pull/21558), [#21580](https://github.com/qmk/qmk_firmware/pull/21580), [#21594](https://github.com/qmk/qmk_firmware/pull/21594), [#21624](https://github.com/qmk/qmk_firmware/pull/21624), [#21710](https://github.com/qmk/qmk_firmware/pull/21710)) :id=driver-naming-consolidation + +In most circumstances this won't affect users -- only keyboard designers with currently-unmerged boards. The only users affected are people who have modified existing keyboards in order to add/modify haptics, lighting, or bluetooth -- and only if the base keyboard did not configure them already. Driver naming has been modified to be lowercase. + +RGBLight (`RGBLIGHT_DRIVER` / `rgblight.driver`): + +| Old | New | +|--------|--------| +| `WS2812` | `ws2812` | +| `APA102` | `apa102` | + +LED Matrix (`LED_MATRIX_DRIVER` / `led_matrix.driver`): + +| Old | New | +|-------------|-------------| +| `IS31FL3731` | `is31fl3731` | +| `IS31FL3742A` | `is31fl3742a` | +| `IS31FL3743A` | `is31fl3743a` | +| `IS31FL3745` | `is31fl3745` | +| `IS31FL3746A` | `is31fl3746a` | +| `CKLED2001` | `ckled2001` | + +RGB Matrix (`RGB_MATRIX_DRIVER` / `rgb_matrix.driver`): + +| Old | New | +|-------------|-------------| +| `AW20216` | `aw20216` | +| `IS31FL3731` | `is31fl3731` | +| `IS31FL3733` | `is31fl3733` | +| `IS31FL3736` | `is31fl3736` | +| `IS31FL3737` | `is31fl3737` | +| `IS31FL3741` | `is31fl3741` | +| `IS31FL3742A` | `is31fl3742a` | +| `IS31FL3743A` | `is31fl3743a` | +| `IS31FL3745` | `is31fl3745` | +| `IS31FL3746A` | `is31fl3746a` | +| `CKLED2001` | `ckled2001` | +| `WS2812` | `ws2812` | + +OLED (`OLED_DRIVER`): + +| Old | New | +|---------|---------| +| `SSD1306` | `ssd1306` | + +Haptic (`HAPTIC_DRIVER`): + +| Old | New | +|----------|----------| +| `DRV2605L` | `drv2605l` | +| `SOLENOID` | `solenoid` | + +Bluetooth (`BLUETOOTH_DRIVER` / `bluetooth.driver`): + +| Old | New | +|-------------|--------------| +| `BluefruitLE` | `bluefruit_le` | +| `RN42` | `rn42` | + +## Full changelist :id=full-changelist + +Core: +* On-each-release tap dance function ([#20255](https://github.com/qmk/qmk_firmware/pull/20255)) +* Send a dummy keycode to neutralize flashing modifiers in retro tap and key overrides ([#20992](https://github.com/qmk/qmk_firmware/pull/20992)) +* Adds a way to separate tab from AUTO_SHIFT_SPECIAL. ([#20996](https://github.com/qmk/qmk_firmware/pull/20996)) +* [Enhancement] More info on `apply_autocorrect` ([#21056](https://github.com/qmk/qmk_firmware/pull/21056)) +* Remove quantum/keymap.h ([#21086](https://github.com/qmk/qmk_firmware/pull/21086)) +* Unicodemap keycodes rename ([#21092](https://github.com/qmk/qmk_firmware/pull/21092)) +* Merge upstream uf2conv.py changes ([#21107](https://github.com/qmk/qmk_firmware/pull/21107)) +* Add a dynamic_macro_stop_recording(void) function. ([#21108](https://github.com/qmk/qmk_firmware/pull/21108)) +* platforms: chibios: wait: only define the frequency ([#21115](https://github.com/qmk/qmk_firmware/pull/21115)) +* [Enhancement] Decouple autocorrect logic ([#21116](https://github.com/qmk/qmk_firmware/pull/21116)) +* Optimisation - Add RGB LED colour set check in drivers ([#21134](https://github.com/qmk/qmk_firmware/pull/21134)) +* RGB matrix ws2812 update ([#21135](https://github.com/qmk/qmk_firmware/pull/21135)) +* Pixel rain: Refactor the rain light decision operator ([#21139](https://github.com/qmk/qmk_firmware/pull/21139)) +* Use unsigned integer for kinetic speed ([#21151](https://github.com/qmk/qmk_firmware/pull/21151)) +* Reset `matrix_need_update` properly in eager debouncing algorithms ([#21154](https://github.com/qmk/qmk_firmware/pull/21154)) +* Refactor kinetic mouse key feature ([#21164](https://github.com/qmk/qmk_firmware/pull/21164)) +* RGB Matrix limit basic indicators to the last render ([#21169](https://github.com/qmk/qmk_firmware/pull/21169)) +* dynamic keymap: Rely on introspection to handle OOB access. ([#21247](https://github.com/qmk/qmk_firmware/pull/21247)) +* add VIA support for LED Matrix ([#21281](https://github.com/qmk/qmk_firmware/pull/21281)) +* Refactor times inverse of sqrt 2 calculation ([#21293](https://github.com/qmk/qmk_firmware/pull/21293)) +* Move protocol makefiles into their respective folders ([#21332](https://github.com/qmk/qmk_firmware/pull/21332)) +* Remove use of __flash within LED drivers ([#21343](https://github.com/qmk/qmk_firmware/pull/21343)) +* STM32H723 support ([#21352](https://github.com/qmk/qmk_firmware/pull/21352)) +* Remove CORTEX_ENABLE_WFI_IDLE from keyboards. ([#21353](https://github.com/qmk/qmk_firmware/pull/21353)) +* Get rid of `USB_LED_KANA` and `USB_LED_COMPOSE` ([#21366](https://github.com/qmk/qmk_firmware/pull/21366)) +* Minor board clean-up after #19780 ([#21391](https://github.com/qmk/qmk_firmware/pull/21391)) +* Get rid of `USB_LED_SCROLL_LOCK` ([#21405](https://github.com/qmk/qmk_firmware/pull/21405)) +* Get rid of `USB_LED_NUM_LOCK` ([#21424](https://github.com/qmk/qmk_firmware/pull/21424)) +* Simplify audio_duration_to_ms() and audio_ms_to_duration(), reduce firmware size by a few bytes. ([#21427](https://github.com/qmk/qmk_firmware/pull/21427)) +* Allow key override to respect weak mods caused by caps word ([#21434](https://github.com/qmk/qmk_firmware/pull/21434)) +* Get rid of `USB_LED_CAPS_LOCK` ([#21436](https://github.com/qmk/qmk_firmware/pull/21436)) +* tmk_core: remove direct `quantum.h` includes ([#21465](https://github.com/qmk/qmk_firmware/pull/21465)) +* bootmagic mods covering the case when swapped mods are pressed at the same time (#21320) ([#21472](https://github.com/qmk/qmk_firmware/pull/21472)) +* drivers: remove direct `quantum.h` includes ([#21473](https://github.com/qmk/qmk_firmware/pull/21473)) +* debounce: remove direct `quantum.h` includes ([#21480](https://github.com/qmk/qmk_firmware/pull/21480)) +* keymap_extras: remove direct `quantum.h` includes ([#21485](https://github.com/qmk/qmk_firmware/pull/21485)) +* process_keycode: remove direct `quantum.h` includes ([#21486](https://github.com/qmk/qmk_firmware/pull/21486)) +* Add MOUSEKEY_WHEEL_DELTA documentation ([#21493](https://github.com/qmk/qmk_firmware/pull/21493)) +* Reduce needless precision in audio note frequency calculation ([#21496](https://github.com/qmk/qmk_firmware/pull/21496)) +* Remove needless precision in additive DAC sample generation ([#21498](https://github.com/qmk/qmk_firmware/pull/21498)) +* quantum: remove direct `quantum.h` includes ([#21507](https://github.com/qmk/qmk_firmware/pull/21507)) +* process_combo: restore wait.h header ([#21514](https://github.com/qmk/qmk_firmware/pull/21514)) +* Eliminate `TMK_COMMON_*` in makefiles ([#21517](https://github.com/qmk/qmk_firmware/pull/21517)) +* backlight: split AVR PWM and timer drivers ([#21540](https://github.com/qmk/qmk_firmware/pull/21540)) +* haptic: naming cleanups ([#21551](https://github.com/qmk/qmk_firmware/pull/21551)) +* rgblight: driver selection cleanups ([#21558](https://github.com/qmk/qmk_firmware/pull/21558)) +* LED Matrix: driver naming cleanups ([#21580](https://github.com/qmk/qmk_firmware/pull/21580)) +* Unify MIDI note calculation with the audio feature (from #21496) ([#21588](https://github.com/qmk/qmk_firmware/pull/21588)) +* Allow the user to select a single tone for the additive DAC ([#21591](https://github.com/qmk/qmk_firmware/pull/21591)) +* RGB Matrix: driver naming cleanups ([#21594](https://github.com/qmk/qmk_firmware/pull/21594)) +* Raw HID: documentation improvements ([#21596](https://github.com/qmk/qmk_firmware/pull/21596)) +* Unicode: move keycode aliases to a separate header ([#21613](https://github.com/qmk/qmk_firmware/pull/21613)) +* Bluetooth: driver naming cleanups ([#21624](https://github.com/qmk/qmk_firmware/pull/21624)) +* Remove old OLED API code ([#21651](https://github.com/qmk/qmk_firmware/pull/21651)) +* haptic: further naming cleanups ([#21682](https://github.com/qmk/qmk_firmware/pull/21682)) +* Simplfy RGB/LED matrix effect logic ([#21703](https://github.com/qmk/qmk_firmware/pull/21703)) +* OLED: driver naming cleanups ([#21710](https://github.com/qmk/qmk_firmware/pull/21710)) + +CLI: +* Add *_MATRIX_LED_COUNT generation/validation ([#19515](https://github.com/qmk/qmk_firmware/pull/19515)) +* Revert "Add *_MATRIX_LED_COUNT generation/validation" ([#21109](https://github.com/qmk/qmk_firmware/pull/21109)) +* Add *_MATRIX_LED_COUNT generation ([#21110](https://github.com/qmk/qmk_firmware/pull/21110)) +* feat, docs: WB32 flashing ([#21217](https://github.com/qmk/qmk_firmware/pull/21217)) +* Improve error messages when layout key matrix row/col is OOB ([#21640](https://github.com/qmk/qmk_firmware/pull/21640)) + +Submodule updates: +* Update ChibiOS-Contrib ([#21553](https://github.com/qmk/qmk_firmware/pull/21553)) + +Keyboards: +* Add support for Rastersoft MiniTKL ([#20230](https://github.com/qmk/qmk_firmware/pull/20230)) +* Remove encoder in-matrix workaround code ([#20389](https://github.com/qmk/qmk_firmware/pull/20389)) +* Revamp `dactyl_manuform` readme.md ([#20395](https://github.com/qmk/qmk_firmware/pull/20395)) +* added hackpad keyboard ([#20402](https://github.com/qmk/qmk_firmware/pull/20402)) +* Add `handwired/dactyl_cc` keyboard ([#20517](https://github.com/qmk/qmk_firmware/pull/20517)) +* Add Mino Plus Hotswap ([#20534](https://github.com/qmk/qmk_firmware/pull/20534)) +* Move kb83 keyboard. ([#20761](https://github.com/qmk/qmk_firmware/pull/20761)) +* Rename `dactyl_manuform` variant `3x5_3` ([#21015](https://github.com/qmk/qmk_firmware/pull/21015)) +* Update `k34` layout to `split_3x5_2` ([#21046](https://github.com/qmk/qmk_firmware/pull/21046)) +* giabalanai keymaps: transpose added ([#21054](https://github.com/qmk/qmk_firmware/pull/21054)) +* Move `RGBLIGHT_SLEEP` to data driven ([#21072](https://github.com/qmk/qmk_firmware/pull/21072)) +* update layouts of `dactyl_manuform/4x5_5` ([#21094](https://github.com/qmk/qmk_firmware/pull/21094)) +* Move `RGBLIGHT_LED_MAP` to data driven ([#21095](https://github.com/qmk/qmk_firmware/pull/21095)) +* Move `RGBLED_SPLIT` to data driven ([#21113](https://github.com/qmk/qmk_firmware/pull/21113)) +* Update `dactyl_promicro` readme ([#21144](https://github.com/qmk/qmk_firmware/pull/21144)) +* Delete jscotto directory ([#21157](https://github.com/qmk/qmk_firmware/pull/21157)) +* correct and modernise `dactyl_manuform/6x7` variant ([#21176](https://github.com/qmk/qmk_firmware/pull/21176)) +* Move `RGBLIGHT_SPLIT` to data driven ([#21190](https://github.com/qmk/qmk_firmware/pull/21190)) +* Minor amendment to `bcat` userspace to prevent build failure ([#21205](https://github.com/qmk/qmk_firmware/pull/21205)) +* FJLabs Swordfish Layout Macro Refactor ([#21234](https://github.com/qmk/qmk_firmware/pull/21234)) +* Add skyloong/Dt40 keyboard ([#21237](https://github.com/qmk/qmk_firmware/pull/21237)) +* `dactyl_manuform/6x7` correction ([#21240](https://github.com/qmk/qmk_firmware/pull/21240)) +* Amend `ryanbaekr` boards by pin definitions ([#21248](https://github.com/qmk/qmk_firmware/pull/21248)) +* EC Pro X JIS Layout Touch-Up ([#21260](https://github.com/qmk/qmk_firmware/pull/21260)) +* Eason Aeroboard Refactor ([#21271](https://github.com/qmk/qmk_firmware/pull/21271)) +* Move `RGBLED_NUM` to data driven ([#21278](https://github.com/qmk/qmk_firmware/pull/21278)) +* Remove default `TAPPING_TERM` from keyboard config.h ([#21284](https://github.com/qmk/qmk_firmware/pull/21284)) +* Move `RGBLIGHT_HUE/SAT/VAL_STEP` to data driven ([#21292](https://github.com/qmk/qmk_firmware/pull/21292)) +* Move `TAPPING_TERM` to data driven ([#21296](https://github.com/qmk/qmk_firmware/pull/21296)) +* Modernize, correct, and uniform `dactyl_manuform` variant `5x6_68` ([#21299](https://github.com/qmk/qmk_firmware/pull/21299)) +* rename and modernise `dactyl_manuform/6x6_kinesis` ([#21302](https://github.com/qmk/qmk_firmware/pull/21302)) +* ProtoTypist PT-60 Refactor ([#21322](https://github.com/qmk/qmk_firmware/pull/21322)) +* ProtoTypist PT-80 Refactor ([#21325](https://github.com/qmk/qmk_firmware/pull/21325)) +* add jels60v2 support ([#21337](https://github.com/qmk/qmk_firmware/pull/21337)) +* Move `RGB_MATRIX_HUE/SAT/VAL/SPD_STEP` to data driven ([#21354](https://github.com/qmk/qmk_firmware/pull/21354)) +* Move `TAPPING_TOGGLE` to data driven ([#21360](https://github.com/qmk/qmk_firmware/pull/21360)) +* Move `TAP_CODE_DELAY` to data driven ([#21363](https://github.com/qmk/qmk_firmware/pull/21363)) +* gmmk/pro: Turn off RGB when suspended ([#21370](https://github.com/qmk/qmk_firmware/pull/21370)) +* Move miscellaneous defines to data driven ([#21382](https://github.com/qmk/qmk_firmware/pull/21382)) +* kyria: remove `LAYOUT_stack` ([#21384](https://github.com/qmk/qmk_firmware/pull/21384)) +* Reduce `keebio/bamfk1:via` firmware size ([#21432](https://github.com/qmk/qmk_firmware/pull/21432)) +* Refactor `capsunlocked/cu80/v2` ([#21454](https://github.com/qmk/qmk_firmware/pull/21454)) +* Mechlovin Zed65 rev1 Develop Touch-Up ([#21476](https://github.com/qmk/qmk_firmware/pull/21476)) +* Add PW88 keyboard ([#21482](https://github.com/qmk/qmk_firmware/pull/21482)) +* Prepare ymdk/ymd75 for rev4 ([#21484](https://github.com/qmk/qmk_firmware/pull/21484)) +* Move `DEBOUNCE_TYPE` to data driven ([#21489](https://github.com/qmk/qmk_firmware/pull/21489)) +* aleblazer/zodiark:via: Disable two RGB effects ([#21495](https://github.com/qmk/qmk_firmware/pull/21495)) +* Spruce up `dactyl_lightcycle` and `dactyl_maximus` layouts ([#21519](https://github.com/qmk/qmk_firmware/pull/21519)) +* Amend layout and matrix positions for `dactyl_cc` ([#21523](https://github.com/qmk/qmk_firmware/pull/21523)) +* moved model h controller under ibm/model_m ([#21526](https://github.com/qmk/qmk_firmware/pull/21526)) +* tominabox1/le_chiffre refactor pt 1 ([#21567](https://github.com/qmk/qmk_firmware/pull/21567)) +* Update ERA65 PCB ([#21592](https://github.com/qmk/qmk_firmware/pull/21592)) +* Update `usb.`* for dactyl_cc ([#21612](https://github.com/qmk/qmk_firmware/pull/21612)) +* Kintwin controller for kinesis keyboard, split layout ([#21614](https://github.com/qmk/qmk_firmware/pull/21614)) +* Add STM32f3 Discovery onekey ([#21625](https://github.com/qmk/qmk_firmware/pull/21625)) +* Automata02 Alisaie Develop Touch-Up ([#21630](https://github.com/qmk/qmk_firmware/pull/21630)) +* Move RGBLight animations to data driven ([#21635](https://github.com/qmk/qmk_firmware/pull/21635)) +* Refactoring entirely Caticorn PCB ([#21644](https://github.com/qmk/qmk_firmware/pull/21644)) +* AMJKeyboard AMJ84 Develop Touch-Up ([#21645](https://github.com/qmk/qmk_firmware/pull/21645)) +* Remove layout aliases from keyboard_aliases.hjson ([#21658](https://github.com/qmk/qmk_firmware/pull/21658)) +* kikoslab/kl90: Remove invalid config option ([#21708](https://github.com/qmk/qmk_firmware/pull/21708)) +* Remove more legacy config.h options ([#21709](https://github.com/qmk/qmk_firmware/pull/21709)) +* add willoucom/keypad ([#21714](https://github.com/qmk/qmk_firmware/pull/21714)) +* Tidy up encoder in matrix references ([#21718](https://github.com/qmk/qmk_firmware/pull/21718)) +* Add city42 ([#21727](https://github.com/qmk/qmk_firmware/pull/21727)) +* feat: add squigglybob splitkb kyria rev2 keymap ([#21751](https://github.com/qmk/qmk_firmware/pull/21751)) +* Align SENSE75 with recent Drop additions ([#21757](https://github.com/qmk/qmk_firmware/pull/21757)) + +Keyboard fixes: +* fix `scheikled` keymap for `dactyl_manuform/4x6` ([#21206](https://github.com/qmk/qmk_firmware/pull/21206)) +* Fixup `dekunukem/duckypad` ([#21298](https://github.com/qmk/qmk_firmware/pull/21298)) +* Fixup `nightly_boards/n40_o` ([#21307](https://github.com/qmk/qmk_firmware/pull/21307)) +* Fix `rate/pistachio_pro:via` ([#21339](https://github.com/qmk/qmk_firmware/pull/21339)) +* Fix encoder map declarations ([#21435](https://github.com/qmk/qmk_firmware/pull/21435)) +* jones/v1: fix layout offset and disable audio on via keymap ([#21468](https://github.com/qmk/qmk_firmware/pull/21468)) +* Fix backlight support for some boards ([#21554](https://github.com/qmk/qmk_firmware/pull/21554)) +* kinesis: remove stacked split layouts ([#21569](https://github.com/qmk/qmk_firmware/pull/21569)) +* Fix layout offsets for a handful of boards ([#21636](https://github.com/qmk/qmk_firmware/pull/21636)) +* doio/kb38: fix layout ([#21704](https://github.com/qmk/qmk_firmware/pull/21704)) +* Fix drop/shift/v2 compilation ([#21800](https://github.com/qmk/qmk_firmware/pull/21800)) +* Fix keyboards with old RGB driver names ([#21815](https://github.com/qmk/qmk_firmware/pull/21815)) +* Fix keyboards with old RGB driver names ([#21817](https://github.com/qmk/qmk_firmware/pull/21817)) + +Others: +* Rework info.json reference ([#21324](https://github.com/qmk/qmk_firmware/pull/21324)) +* Enable auto-merge of develop to riot ([#21389](https://github.com/qmk/qmk_firmware/pull/21389)) + +Bugs: +* Fix non-functional S3 wakeup / resume from suspense ([#19780](https://github.com/qmk/qmk_firmware/pull/19780)) +* [Bugfix] Check `NULL` pointers on QP ([#20481](https://github.com/qmk/qmk_firmware/pull/20481)) +* Fix PS2_MOUSE_INVERT_BUTTONS ([#20646](https://github.com/qmk/qmk_firmware/pull/20646)) +* Fix backlight sync on suspend_power_down for split keyboards ([#21079](https://github.com/qmk/qmk_firmware/pull/21079)) +* Consolidate `KEYBOARD_OUTPUT`+`KEYMAP_OUTPUT`=>`INTERMEDIATE_OUTPUT` ([#21272](https://github.com/qmk/qmk_firmware/pull/21272)) +* Chibios USB: Take into account if host wants remote wakeup or not ([#21287](https://github.com/qmk/qmk_firmware/pull/21287)) +* Fix anchor IDs for some API references ([#21345](https://github.com/qmk/qmk_firmware/pull/21345)) +* Pixel fractal: Set minimum middle column value ([#21365](https://github.com/qmk/qmk_firmware/pull/21365)) +* Fix ili9xxx inversion opcode entry ([#21422](https://github.com/qmk/qmk_firmware/pull/21422)) +* Relocate backlight drivers ([#21444](https://github.com/qmk/qmk_firmware/pull/21444)) +* Fixup STM32-DFU ([#21447](https://github.com/qmk/qmk_firmware/pull/21447)) +* keycode aliases: work around ChibiOS ch.h include guard ([#21497](https://github.com/qmk/qmk_firmware/pull/21497)) +* Fix compilation error when Split Watchdog enabled ([#21543](https://github.com/qmk/qmk_firmware/pull/21543)) +* Revert " Fix compilation error when Split Watchdog enabled" ([#21572](https://github.com/qmk/qmk_firmware/pull/21572)) +* quantum.h: clean up process_keycode includes ([#21579](https://github.com/qmk/qmk_firmware/pull/21579)) +* Fix stuck note with square wave in additive DAC ([#21589](https://github.com/qmk/qmk_firmware/pull/21589)) +* [Fix] USB HID tests compliance ([#21626](https://github.com/qmk/qmk_firmware/pull/21626)) +* Fix Dynamic Macro Compilation for avr-gcc 5.4.0 + Linux ([#21653](https://github.com/qmk/qmk_firmware/pull/21653)) +* Unicode, Unicodemap and UCIS refactor ([#21659](https://github.com/qmk/qmk_firmware/pull/21659)) +* Audio: Don't play the first note of zero-note melodies ([#21661](https://github.com/qmk/qmk_firmware/pull/21661)) +* Fix mouse-key spamming empty reports ([#21663](https://github.com/qmk/qmk_firmware/pull/21663)) +* Restore usb suspend wakeup delay ([#21676](https://github.com/qmk/qmk_firmware/pull/21676)) +* Fix compilation error for APA on ChibiOS ([#21773](https://github.com/qmk/qmk_firmware/pull/21773)) +* fix: restore rgb matrix indicators to jellybean_raindrops animation ([#21792](https://github.com/qmk/qmk_firmware/pull/21792)) +* Remove `led_matrix.hue_steps` and `led_matrix.sat_steps` from schema ([#21827](https://github.com/qmk/qmk_firmware/pull/21827)) +* Revert changes to ChibiOS Suspend Code ([#21830](https://github.com/qmk/qmk_firmware/pull/21830)) +* Add "apm32-dfu" in keyboard.jsonschema ([#21842](https://github.com/qmk/qmk_firmware/pull/21842)) diff --git a/docs/ChangeLog/20231126.md b/docs/ChangeLog/20231126.md new file mode 100644 index 000000000000..61cff520c805 --- /dev/null +++ b/docs/ChangeLog/20231126.md @@ -0,0 +1,336 @@ +# QMK Breaking Changes - 2023 November 26 Changelog + +## Notable Features :id=notable-features + +As per last few breaking changes cycles, there have been _a lot_ of behind-the-scenes changes, mainly around consolidation of config into `info.json` files, cleanup of `info.json` files, cleaning up driver naming, as well as addressing technical debt. + +As a followup to last cycle's [notable changes](20230827.md#notable-changes), as `qmk/qmk_firmware` is no longer accepting PRs for keymaps we're pleased to announce that storing and building keymaps externally from the normal QMK Firmware repository is now possible. This is done through the new [External Userspace](newbs_external_userspace.md) feature, more details below! + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +| Old Keyboard Name | New Keyboard Name | +|---------------------------------------|-------------------------------| +| adm42 | adm42/rev4 | +| dp3000 | dp3000/rev1 | +| handwired/dactyl_manuform/dmote/62key | handwired/dmote | +| keychron/q0/rev_0130 | keychron/q0/base | +| keychron/q0/rev_0131 | keychron/q0/plus | +| keychron/q1/ansi | keychron/q1v1/ansi | +| keychron/q1/ansi_encoder | keychron/q1v1/ansi_encoder | +| keychron/q1/iso | keychron/q1v1/iso | +| keychron/q1/iso_encoder | keychron/q1v1/iso_encoder | +| keychron/q4/ansi_v1 | keychron/q4/ansi | +| kprepublic/bm40hsrgb | kprepublic/bm40hsrgb/rev1 | +| matchstickworks/southpad | matchstickworks/southpad/rev2 | +| soda/mango | magic_force/mf17 | +| soda/pocket | magic_force/mf34 | +| studiokestra/line_tkl | studiokestra/line_friends_tkl | +| ymdk/melody96 | ymdk/melody96/soldered | + +## Notable core changes :id=notable-core + +### External Userspace ([#22222](https://github.com/qmk/qmk_firmware/pull/22222)) + +As mentioned above, the new External Userspace feature allows for keymaps to be stored and built externally from the main QMK Firmware repository. This allows for keymaps to be stored separately -- usually in their own repository -- and for users to be able to maintain and build their keymaps without needing to fork the main QMK Firmware repository. + +See the [External Userspace documentation](newbs_external_userspace.md) for more details. + +A significant portion of user keymaps have already been removed from `qmk/qmk_firmware` and more will follow in coming weeks. You can still recover your keymap from the tag [user-keymaps-still-present](https://github.com/qmk/qmk_firmware/tree/user-keymaps-still-present) if required -- a perfect time to migrate to the new External Userspace! + +!> This feature is still in beta, and we're looking for feedback on it. Please try it out and let us know what you think -- a new `#help-userspace` channel has been set up on Discord. + +### Improve and Cleanup Shutdown callbacks ([#21060](https://github.com/qmk/qmk_firmware/pull/20160)) :id=improve-and-cleanup-shutdown-callbacks + +Shutdown callbacks at the keyboard level were never present, preventing safe shutdown sequencing for peripherals such as OLEDs, RGB LEDs, and other devices. This PR adds a new `shutdown_kb` function, as well as amending `shutdown_user`, allowing for safe shutdown of peripherals at both keyboard and keymap level. + +See the [Keyboard Shutdown/Reboot Code](custom_quantum_functions.md#keyboard-shutdown-reboot-code) documentation for more details. + +### OLED Force Flush ([#20953](https://github.com/qmk/qmk_firmware/pull/20953)) :id=oled-force-flush + +Along with the new `shutdown_kb` function, a new API `oled_render_dirty(bool)` function has been added. This allows OLED contents to be written deterministically when supplied with `true` -- that is, the OLED will be updated immediately, rather than waiting for the next OLED update cycle. This allows for OLEDs to show things such as "BOOTLOADER MODE" and the like if resetting to bootloader from QMK. + +### Switch statement helpers for keycode ranges ([#20059](https://github.com/qmk/qmk_firmware/pull/20059)) :id=switch-statement-helpers-for-keycode-ranges + +Predefined ranges usable within switch statements have been added for groups of similar keycodes, where people who wish to handle entire blocks at once can do so. This allows keymaps to be immune to changes in keycode values, and also allows for more efficient code generation. + +The ranges are as follows: + +| Name | Mapping | +|-------------------------------------|------------------------------------------------------------------------| +| `INTERNAL_KEYCODE_RANGE` | `KC_NO ... KC_TRANSPARENT` | +| `BASIC_KEYCODE_RANGE` | `KC_A ... KC_EXSEL` | +| `SYSTEM_KEYCODE_RANGE` | `KC_SYSTEM_POWER ... KC_SYSTEM_WAKE` | +| `CONSUMER_KEYCODE_RANGE` | `KC_AUDIO_MUTE ... KC_LAUNCHPAD` | +| `MOUSE_KEYCODE_RANGE` | `KC_MS_UP ... KC_MS_ACCEL2` | +| `MODIFIER_KEYCODE_RANGE` | `KC_LEFT_CTRL ... KC_RIGHT_GUI` | +| `SWAP_HANDS_KEYCODE_RANGE` | `QK_SWAP_HANDS_TOGGLE ... QK_SWAP_HANDS_ONE_SHOT` | +| `MAGIC_KEYCODE_RANGE` | `QK_MAGIC_SWAP_CONTROL_CAPS_LOCK ... QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK` | +| `MIDI_KEYCODE_RANGE` | `QK_MIDI_ON ... QK_MIDI_PITCH_BEND_UP` | +| `SEQUENCER_KEYCODE_RANGE` | `QK_SEQUENCER_ON ... QK_SEQUENCER_STEPS_CLEAR` | +| `JOYSTICK_KEYCODE_RANGE` | `QK_JOYSTICK_BUTTON_0 ... QK_JOYSTICK_BUTTON_31` | +| `PROGRAMMABLE_BUTTON_KEYCODE_RANGE` | `QK_PROGRAMMABLE_BUTTON_1 ... QK_PROGRAMMABLE_BUTTON_32` | +| `AUDIO_KEYCODE_RANGE` | `QK_AUDIO_ON ... QK_AUDIO_VOICE_PREVIOUS` | +| `STENO_KEYCODE_RANGE` | `QK_STENO_BOLT ... QK_STENO_COMB_MAX` | +| `MACRO_KEYCODE_RANGE` | `QK_MACRO_0 ... QK_MACRO_31` | +| `BACKLIGHT_KEYCODE_RANGE` | `QK_BACKLIGHT_ON ... QK_BACKLIGHT_TOGGLE_BREATHING` | +| `RGB_KEYCODE_RANGE` | `RGB_TOG ... RGB_MODE_TWINKLE` | +| `QUANTUM_KEYCODE_RANGE` | `QK_BOOTLOADER ... QK_ALT_REPEAT_KEY` | +| `KB_KEYCODE_RANGE` | `QK_KB_0 ... QK_KB_31` | +| `USER_KEYCODE_RANGE` | `QK_USER_0 ... QK_USER_31` | + +Usage: + +```c + switch (keycode) { + case KC_A ... KC_EXSEL: + case KC_LEFT_CTRL ... KC_RIGHT_GUI: + /* do stuff with basic and modifier keycodes */ +``` + +Becomes: + +```c + switch (keycode) { + case BASIC_KEYCODE_RANGE: + case MODIFIER_KEYCODE_RANGE: + /* do stuff with basic and modifier keycodes */ +``` + +### Quantum Painter OLED support ([#19997](https://github.com/qmk/qmk_firmware/pull/19997)) :id=quantum-painter-oled-support + +Quantum Painter has picked up support for SH1106 displays -- commonly seen as 128x64 OLEDs. Support for both I2C and SPI displays is available. + +If you're already using OLED through `OLED_DRIVER_ENABLE = yes` or equivalent in `info.json` and wish to use Quantum Painter instead, you'll need to disable the old OLED system, instead enabling Quantum Painter as well as enabling the appropriate SH1106 driver. See the [Quantum Painter driver documentation](quantum_painter.md#quantum-painter-drivers) for more details. The old OLED driver is still available, and keymaps do not require migrating to Quantum Painter if you don't want to do so. + +### RGB/LED lighting driver naming and cleanup ([#21890](https://github.com/qmk/qmk_firmware/pull/21890), [#21891](https://github.com/qmk/qmk_firmware/pull/21891), [#21892](https://github.com/qmk/qmk_firmware/pull/21892), [#21903](https://github.com/qmk/qmk_firmware/pull/21903), [#21904](https://github.com/qmk/qmk_firmware/pull/21904), [#21905](https://github.com/qmk/qmk_firmware/pull/21905), [#21918](https://github.com/qmk/qmk_firmware/pull/21918), [#21929](https://github.com/qmk/qmk_firmware/pull/21929), [#21938](https://github.com/qmk/qmk_firmware/pull/21938), [#22004](https://github.com/qmk/qmk_firmware/pull/22004), [#22008](https://github.com/qmk/qmk_firmware/pull/22008), [#22009](https://github.com/qmk/qmk_firmware/pull/22009), [#22071](https://github.com/qmk/qmk_firmware/pull/22071), [#22090](https://github.com/qmk/qmk_firmware/pull/22090), [#22099](https://github.com/qmk/qmk_firmware/pull/22099), [#22126](https://github.com/qmk/qmk_firmware/pull/22126), [#22133](https://github.com/qmk/qmk_firmware/pull/22133), [#22163](https://github.com/qmk/qmk_firmware/pull/22163), [#22200](https://github.com/qmk/qmk_firmware/pull/22200), [#22308](https://github.com/qmk/qmk_firmware/pull/22308), [#22309](https://github.com/qmk/qmk_firmware/pull/22309), [#22311](https://github.com/qmk/qmk_firmware/pull/22311), [#22325](https://github.com/qmk/qmk_firmware/pull/22325), [#22365](https://github.com/qmk/qmk_firmware/pull/22365), [#22379](https://github.com/qmk/qmk_firmware/pull/22379), [#22380](https://github.com/qmk/qmk_firmware/pull/22380), [#22381](https://github.com/qmk/qmk_firmware/pull/22381), [#22383](https://github.com/qmk/qmk_firmware/pull/22383), [#22436](https://github.com/qmk/qmk_firmware/pull/22436)) + +As you can probably tell by the list of PRs just above, there has been a lot of cleanup and consolidation this cycle when it comes to RGB/LED lighting drivers. The number of changes is too large to list here, but the general theme has been focusing on consistency of naming, both of drivers themselves and their respective implementation and configuration. Most changes only affect keyboard designers -- if you find that your in-development keyboard is no longer building due to naming of defines changing, your best bet is to refer to another board already in the repository which has had the changes applied. + +### Peripheral subsystem enabling ([#22253](https://github.com/qmk/qmk_firmware/pull/22253), [#22448](https://github.com/qmk/qmk_firmware/pull/22448), [#22106](https://github.com/qmk/qmk_firmware/pull/22106)) :id=peripheral-subsystem-enabling + +When enabling peripherals such as I2C, SPI, or Analog/ADC, some required manual inclusion of source files in order to provide driver support, and in some cases, when multiple drivers were using the same underlying peripheral, files were being added to the build multiple times. + +Most systems requiring other peripherals now mark their respective dependencies as "required", allowing the build system to check whether peripherals are necessary before including them in the build rather than having each location enable them manually. + +For a concrete example, users or keyboard designers who previously added `SRC += analog.c` in order to allow for analog readings via an ADC now should specify `ANALOG_DRIVER_REQUIRED = yes` instead. The full list of added options is as follows: + +| New option | Old Equivalent | +|--------------------------------|------------------------------------------------------------| +| `ANALOG_DRIVER_REQUIRED = yes` | `SRC += analog.c` | +| `APA102_DRIVER_REQUIRED = yes` | `SRC += apa102.c` | +| `I2C_DRIVER_REQUIRED = yes` | `SRC += i2c_master.c` or `QUANTUM_LIB_SRC += i2c_master.c` | +| `SPI_DRIVER_REQUIRED = yes` | `SRC += spi_master.c` or `QUANTUM_LIB_SRC += spi_master.c` | +| `UART_DRIVER_REQUIRED = yes` | `SRC += uart.c` | +| `WS2812_DRIVER_REQUIRED = yes` | `SRC += ws2812.c` | + +### NKRO on V-USB boards ([#22398](https://github.com/qmk/qmk_firmware/pull/22398)) :id=vusb-nkro + +NKRO is now available for ATmega32A and 328P-based keyboards (including PS2AVRGB/Bootmapper boards), thanks to some internal refactoring and cleanup. To enable it, the process is the same as always - add `NKRO_ENABLE = yes` to your `rules.mk`, then assign and press the `NK_TOGG` keycode to switch modes. + +## Full changelist :id=full-changelist + +Core: +* Compilation warning if both `keymap.json` and `keymap.c` exist ([#19939](https://github.com/qmk/qmk_firmware/pull/19939)) +* [QP] Add support for OLED, variable framebuffer bpp ([#19997](https://github.com/qmk/qmk_firmware/pull/19997)) +* Generate switch statement helpers for keycode ranges ([#20059](https://github.com/qmk/qmk_firmware/pull/20059)) +* Chibios SPI driver: allow some SPI pins to be left unassigned ([#20315](https://github.com/qmk/qmk_firmware/pull/20315)) +* Take care of scroll divisor remainders for PS/2 drag scroll ([#20732](https://github.com/qmk/qmk_firmware/pull/20732)) +* Add `RGBLIGHT_DEFAULT_ON` macro configuration option ([#20857](https://github.com/qmk/qmk_firmware/pull/20857)) +* Allow force flush of oled display. ([#20953](https://github.com/qmk/qmk_firmware/pull/20953)) +* Improve and Cleanup Shutdown callbacks ([#21060](https://github.com/qmk/qmk_firmware/pull/21060)) +* [Enhancement] QP Getters ([#21171](https://github.com/qmk/qmk_firmware/pull/21171)) +* Russian typewriter keymap file for popular legacy layout. ([#21174](https://github.com/qmk/qmk_firmware/pull/21174)) +* Improve directional transition of overlapping mouse keys ([#21494](https://github.com/qmk/qmk_firmware/pull/21494)) +* Add full solenoid support on split keyboards ([#21583](https://github.com/qmk/qmk_firmware/pull/21583)) +* Reduce popping during audio initialization using the additive DAC ([#21642](https://github.com/qmk/qmk_firmware/pull/21642)) +* [Maintenance] USB HID control packet as struct ([#21688](https://github.com/qmk/qmk_firmware/pull/21688)) +* Bump mouse endpoint packet size to 16 bytes ([#21711](https://github.com/qmk/qmk_firmware/pull/21711)) +* Allow customizing PWM frequency ([#21717](https://github.com/qmk/qmk_firmware/pull/21717)) +* Add simpler method for relocating functions to RAM. ([#21804](https://github.com/qmk/qmk_firmware/pull/21804)) +* Clean up RGB LED type ([#21859](https://github.com/qmk/qmk_firmware/pull/21859)) +* is31fl3741: Allow changing config register ([#21861](https://github.com/qmk/qmk_firmware/pull/21861)) +* Add _DEFAULT_ON lighting configuration options ([#21865](https://github.com/qmk/qmk_firmware/pull/21865)) +* Modify split config is_keyboard_master/left checks. ([#21875](https://github.com/qmk/qmk_firmware/pull/21875)) +* Remove old `IS_LED_ON/OFF()` macros ([#21878](https://github.com/qmk/qmk_firmware/pull/21878)) +* ckled2001: driver naming cleanups ([#21890](https://github.com/qmk/qmk_firmware/pull/21890)) +* aw20216: driver naming cleanups ([#21891](https://github.com/qmk/qmk_firmware/pull/21891)) +* is31fl3218: driver naming cleanups ([#21892](https://github.com/qmk/qmk_firmware/pull/21892)) +* is31fl3736: driver naming cleanups ([#21903](https://github.com/qmk/qmk_firmware/pull/21903)) +* is31fl3737: driver naming cleanups ([#21904](https://github.com/qmk/qmk_firmware/pull/21904)) +* is31fl3733: driver naming cleanups ([#21905](https://github.com/qmk/qmk_firmware/pull/21905)) +* Enable RP2040 support for apa102 RGB LED driver ([#21908](https://github.com/qmk/qmk_firmware/pull/21908)) +* is31fl3731: driver naming cleanups ([#21918](https://github.com/qmk/qmk_firmware/pull/21918)) +* is31fl3741: driver naming cleanups ([#21929](https://github.com/qmk/qmk_firmware/pull/21929)) +* refactor: move default RGB/LED matrix #defines ([#21938](https://github.com/qmk/qmk_firmware/pull/21938)) +* Added flower blooming on RGB Matrix effect ([#21948](https://github.com/qmk/qmk_firmware/pull/21948)) +* Remove 'Firmware size check does not yet support' message ([#21977](https://github.com/qmk/qmk_firmware/pull/21977)) +* chibios: mark boot2 bootlader data readonly ([#21986](https://github.com/qmk/qmk_firmware/pull/21986)) +* Complete RGB Matrix support for IS31FL3218 ([#22004](https://github.com/qmk/qmk_firmware/pull/22004)) +* Default wear leveling logical size to half backing ([#22006](https://github.com/qmk/qmk_firmware/pull/22006)) +* chibios: disable RWX segment warning on newer GNU lds ([#22007](https://github.com/qmk/qmk_firmware/pull/22007)) +* Add and use I2C address defines for ISSI LED drivers ([#22008](https://github.com/qmk/qmk_firmware/pull/22008)) +* Add and use PWM frequency defines for ISSI LED drivers ([#22009](https://github.com/qmk/qmk_firmware/pull/22009)) +* directly use object files when linking ELF ([#22025](https://github.com/qmk/qmk_firmware/pull/22025)) +* Lvgl rate control ([#22049](https://github.com/qmk/qmk_firmware/pull/22049)) +* Rename CKLED2001 driver to SNLED27351 ([#22071](https://github.com/qmk/qmk_firmware/pull/22071)) +* Move `PACKED` define to util.h ([#22074](https://github.com/qmk/qmk_firmware/pull/22074)) +* Simplify more feature driver defines ([#22090](https://github.com/qmk/qmk_firmware/pull/22090)) +* Update ISSI LED types ([#22099](https://github.com/qmk/qmk_firmware/pull/22099)) +* Move velocikey to within rgblight ([#22123](https://github.com/qmk/qmk_firmware/pull/22123)) +* is31fl3218: Add LED Matrix support ([#22126](https://github.com/qmk/qmk_firmware/pull/22126)) +* Set default board files for uf2boot bootloader ([#22129](https://github.com/qmk/qmk_firmware/pull/22129)) +* is31fl3736: extract single-color API ([#22133](https://github.com/qmk/qmk_firmware/pull/22133)) +* is31fl3737/3741: add LED Matrix support ([#22163](https://github.com/qmk/qmk_firmware/pull/22163)) +* Rename `DRIVER_ADDR_n` defines ([#22200](https://github.com/qmk/qmk_firmware/pull/22200)) +* New RGB Animations - 4 "Starlight" Animation Variations ([#22212](https://github.com/qmk/qmk_firmware/pull/22212)) +* QMK Userspace ([#22222](https://github.com/qmk/qmk_firmware/pull/22222)) +* Dedupe I2C, SPI, UART driver inclusions ([#22253](https://github.com/qmk/qmk_firmware/pull/22253)) +* Add "AC Next Keyboard Layout Select" consumer usage entry (macOS Globe key) ([#22256](https://github.com/qmk/qmk_firmware/pull/22256)) +* Separate 6KRO and NKRO report structs ([#22267](https://github.com/qmk/qmk_firmware/pull/22267)) +* Azoteq IQS5xx support ([#22280](https://github.com/qmk/qmk_firmware/pull/22280)) +* Add `_flush()` functions to LED drivers ([#22308](https://github.com/qmk/qmk_firmware/pull/22308)) +* Add `_LED_COUNT` defines to LED drivers ([#22309](https://github.com/qmk/qmk_firmware/pull/22309)) +* Infer LED DRIVER_COUNT from configured addresses ([#22311](https://github.com/qmk/qmk_firmware/pull/22311)) +* Added gamma values for ST7735 displays ([#22313](https://github.com/qmk/qmk_firmware/pull/22313)) +* Consolidate some EEPROM Driver configuration ([#22321](https://github.com/qmk/qmk_firmware/pull/22321)) +* V-USB: Add generic `send_report()` function ([#22323](https://github.com/qmk/qmk_firmware/pull/22323)) +* V-USB: Implement `GET_PROTOCOL` and `SET_PROTOCOL` handling ([#22324](https://github.com/qmk/qmk_firmware/pull/22324)) +* RGB/LED matrix use limits size optimisation ([#22325](https://github.com/qmk/qmk_firmware/pull/22325)) +* Relocate LED driver init code ([#22365](https://github.com/qmk/qmk_firmware/pull/22365)) +* WT RGB cleanups ([#22379](https://github.com/qmk/qmk_firmware/pull/22379)) +* LED drivers: use `PACKED` define from util.h ([#22380](https://github.com/qmk/qmk_firmware/pull/22380)) +* LED drivers: clean up `SWx`/`CSy` pullup/down resistor config ([#22381](https://github.com/qmk/qmk_firmware/pull/22381)) +* LED drivers: add defines for PWM and LED control register counts ([#22383](https://github.com/qmk/qmk_firmware/pull/22383)) +* V-USB: implement NKRO ([#22398](https://github.com/qmk/qmk_firmware/pull/22398)) +* Allow generic_features to handle subdirectories ([#22400](https://github.com/qmk/qmk_firmware/pull/22400)) +* Migrate some common features to generic ([#22403](https://github.com/qmk/qmk_firmware/pull/22403)) +* Remove requirement for `keymap_steno.h` include in keymaps ([#22423](https://github.com/qmk/qmk_firmware/pull/22423)) +* LED drivers: register naming cleanups ([#22436](https://github.com/qmk/qmk_firmware/pull/22436)) +* Slight refactor of joystick axis type into typedef ([#22445](https://github.com/qmk/qmk_firmware/pull/22445)) +* Generalise analog SRC inclusion ([#22448](https://github.com/qmk/qmk_firmware/pull/22448)) +* Revert "chibios: disable RWX segment warning on newer GNU lds" ([#22469](https://github.com/qmk/qmk_firmware/pull/22469)) +* chibios: disable RWX segment warning on newer GNU lds ([#22471](https://github.com/qmk/qmk_firmware/pull/22471)) + +CLI: +* Implement data driven lighting defaults ([#21825](https://github.com/qmk/qmk_firmware/pull/21825)) +* Generate keymap.json config options more forcefully ([#21960](https://github.com/qmk/qmk_firmware/pull/21960)) +* Implement data driven dip switches ([#22017](https://github.com/qmk/qmk_firmware/pull/22017)) +* Improve argument handling of c2json ([#22170](https://github.com/qmk/qmk_firmware/pull/22170)) +* Support additional split sync items for info.json ([#22193](https://github.com/qmk/qmk_firmware/pull/22193)) +* CLI refactoring for common build target APIs ([#22221](https://github.com/qmk/qmk_firmware/pull/22221)) +* Add dd mapping for hardware based split handedness ([#22369](https://github.com/qmk/qmk_firmware/pull/22369)) +* CLI parallel search updates ([#22525](https://github.com/qmk/qmk_firmware/pull/22525)) +* Remove duplicates from search results ([#22528](https://github.com/qmk/qmk_firmware/pull/22528)) + +Keyboards: +* Add KPRepublic/BM40hsrgb rev2 ([#16689](https://github.com/qmk/qmk_firmware/pull/16689)) +* update to data driven - superseeds part of https://github.com/qmk/qmkâ€Ķ ([#20220](https://github.com/qmk/qmk_firmware/pull/20220)) +* Modernize `dactyl_manuform/dmote` keyboard ([#20427](https://github.com/qmk/qmk_firmware/pull/20427)) +* add Skyloong/GK61_V1 keyboard ([#21364](https://github.com/qmk/qmk_firmware/pull/21364)) +* [Refactor] Make changes to some pins ([#21380](https://github.com/qmk/qmk_firmware/pull/21380)) +* Add missing fullsize extended default layouts ([#21402](https://github.com/qmk/qmk_firmware/pull/21402)) +* Add Skyloong/Gk61 PRO keyboard ([#21450](https://github.com/qmk/qmk_firmware/pull/21450)) +* Added skyloong/Qk21 v1 Number Pad ([#21467](https://github.com/qmk/qmk_firmware/pull/21467)) +* matchstickworks/southpad - Move files to rev1, add rev2 ([#21574](https://github.com/qmk/qmk_firmware/pull/21574)) +* partially modernize `dactyl_minidox` ([#21576](https://github.com/qmk/qmk_firmware/pull/21576)) +* tominabox1/le_chiffre oled rework ([#21611](https://github.com/qmk/qmk_firmware/pull/21611)) +* Add Skyloong/Gk61_pro_48 keyboard ([#21654](https://github.com/qmk/qmk_firmware/pull/21654)) +* Adding support for new Waffling60 revision ([#21664](https://github.com/qmk/qmk_firmware/pull/21664)) +* Leeloo revision 2 updates. ([#21671](https://github.com/qmk/qmk_firmware/pull/21671)) +* rename og60 to tofu60 ([#21684](https://github.com/qmk/qmk_firmware/pull/21684)) +* add tofujr v2 keyboard ([#21740](https://github.com/qmk/qmk_firmware/pull/21740)) +* Rotary numpad ([#21744](https://github.com/qmk/qmk_firmware/pull/21744)) +* Update era/divine ([#21767](https://github.com/qmk/qmk_firmware/pull/21767)) +* 1UpKeyboards Pi60 Layout Additions ([#21874](https://github.com/qmk/qmk_firmware/pull/21874)) +* BIOI keyboards: use core UART driver ([#21879](https://github.com/qmk/qmk_firmware/pull/21879)) +* Resolve some "Layout should not contain name of keyboard" lint warnings ([#21898](https://github.com/qmk/qmk_firmware/pull/21898)) +* fc660c/fc980c: clean up actuation point adjustment code ([#21964](https://github.com/qmk/qmk_firmware/pull/21964)) +* Chromatonemini info json revised to support qmk 0.22.2 ([#21966](https://github.com/qmk/qmk_firmware/pull/21966)) +* Migrate spi_flash WEAR_LEVELING_DRIVER to info.json ([#21978](https://github.com/qmk/qmk_firmware/pull/21978)) +* Remove duplication of RP2040 EEPROM defaults ([#21979](https://github.com/qmk/qmk_firmware/pull/21979)) +* Remove duplication of STM32L432 EEPROM defaults ([#21981](https://github.com/qmk/qmk_firmware/pull/21981)) +* Migrate spi EEPROM_DRIVER to info.json ([#21991](https://github.com/qmk/qmk_firmware/pull/21991)) +* Update Keychron Q1v1 ([#21993](https://github.com/qmk/qmk_firmware/pull/21993)) +* Update Keychron Q2 ([#21994](https://github.com/qmk/qmk_firmware/pull/21994)) +* Update Keychron Q3 ([#21995](https://github.com/qmk/qmk_firmware/pull/21995)) +* Update Keychron Q4 ([#21996](https://github.com/qmk/qmk_firmware/pull/21996)) +* Migrate WEAR_LEVELING_*_SIZE to info.json ([#22010](https://github.com/qmk/qmk_firmware/pull/22010)) +* Remove duplication of EEPROM defaults ([#22011](https://github.com/qmk/qmk_firmware/pull/22011)) +* Migrate i2c EEPROM_DRIVER to info.json ([#22013](https://github.com/qmk/qmk_firmware/pull/22013)) +* Remove config.h which only set DYNAMIC_KEYMAP_LAYER_COUNT ([#22034](https://github.com/qmk/qmk_firmware/pull/22034)) +* Add community layout support to tofu60 ([#22041](https://github.com/qmk/qmk_firmware/pull/22041)) +* Update Keychron Q0 ([#22068](https://github.com/qmk/qmk_firmware/pull/22068)) +* Remove custom ISSI lighting code ([#22073](https://github.com/qmk/qmk_firmware/pull/22073)) +* add dp3000 rev2 featuring rgblight ([#22084](https://github.com/qmk/qmk_firmware/pull/22084)) +* Remove ALLOW_WARNINGS and PICO_INTRINSICS_ENABLED ([#22085](https://github.com/qmk/qmk_firmware/pull/22085)) +* Partially migrate `DYNAMIC_KEYMAP_LAYER_COUNT` ([#22087](https://github.com/qmk/qmk_firmware/pull/22087)) +* feat(eyeohdesigns/babyv): rgb matrix ([#22105](https://github.com/qmk/qmk_firmware/pull/22105)) +* input_club/infinity60: remove custom 3731 code, convert to LED Matrix ([#22117](https://github.com/qmk/qmk_firmware/pull/22117)) +* YMDK Melody96 Break-Up ([#22121](https://github.com/qmk/qmk_firmware/pull/22121)) +* Remove duplicated rgblight implementation from mxss ([#22122](https://github.com/qmk/qmk_firmware/pull/22122)) +* KC60 Layout Standardization and Cleanup ([#22125](https://github.com/qmk/qmk_firmware/pull/22125)) +* Convert adm42 to data driven ([#22144](https://github.com/qmk/qmk_firmware/pull/22144)) +* Update Drop keyboards for develop ([#22145](https://github.com/qmk/qmk_firmware/pull/22145)) +* move soda/mango and soda/pocket to magic_force/mf17 and magic_force/mf34 ([#22151](https://github.com/qmk/qmk_firmware/pull/22151)) +* GMMK2 65% ISO Community Layout Support ([#22152](https://github.com/qmk/qmk_firmware/pull/22152)) +* Leeloo v2.1 revision 3 updates. ([#22236](https://github.com/qmk/qmk_firmware/pull/22236)) +* jian/rev1: convert to DIP Switch ([#22248](https://github.com/qmk/qmk_firmware/pull/22248)) +* Enable linking of encoders to switch within layout macros ([#22264](https://github.com/qmk/qmk_firmware/pull/22264)) +* Migrate recently introduced sync items ([#22305](https://github.com/qmk/qmk_firmware/pull/22305)) +* Rename LINE FRIENDS TKL keyboard ([#22310](https://github.com/qmk/qmk_firmware/pull/22310)) +* feat(mechwild/clunker): new layouts ([#22342](https://github.com/qmk/qmk_firmware/pull/22342)) +* Remove use of broken split.main ([#22363](https://github.com/qmk/qmk_firmware/pull/22363)) +* whitefox: remove pointless file ([#22366](https://github.com/qmk/qmk_firmware/pull/22366)) +* Migrate some EEPROM config to info.json ([#22434](https://github.com/qmk/qmk_firmware/pull/22434)) +* Remove unnecessary driver counts ([#22435](https://github.com/qmk/qmk_firmware/pull/22435)) +* Migrate some dip switch config to info.json ([#22437](https://github.com/qmk/qmk_firmware/pull/22437)) +* Remove userspace keymaps ([#22544](https://github.com/qmk/qmk_firmware/pull/22544)) +* Stub out community layout directory structure ([#22545](https://github.com/qmk/qmk_firmware/pull/22545)) +* Remove symbolic linked userspace folder ([#22548](https://github.com/qmk/qmk_firmware/pull/22548)) + +Keyboard fixes: +* fix unxmaal for 60_iso ([#21975](https://github.com/qmk/qmk_firmware/pull/21975)) +* Fix input_club/k_type when RGB Matrix disabled ([#22021](https://github.com/qmk/qmk_firmware/pull/22021)) +* Fixup snes_macropad on develop ([#22444](https://github.com/qmk/qmk_firmware/pull/22444)) +* Fix missed shutdown callbacks ([#22549](https://github.com/qmk/qmk_firmware/pull/22549)) + +Others: +* Implement data driven wear leveling ([#21906](https://github.com/qmk/qmk_firmware/pull/21906)) +* More data driven RGB/LED Matrix config ([#21939](https://github.com/qmk/qmk_firmware/pull/21939)) +* Update WS2812 docs and add APA102 docs ([#22106](https://github.com/qmk/qmk_firmware/pull/22106)) +* Add DD mappings for locking switch ([#22242](https://github.com/qmk/qmk_firmware/pull/22242)) + +Bugs: +* Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases ([#15889](https://github.com/qmk/qmk_firmware/pull/15889)) +* [Bugfix] `qp_ellipse` overflow ([#19005](https://github.com/qmk/qmk_firmware/pull/19005)) +* Cater for ECC failures in EFL wear-leveling. ([#19749](https://github.com/qmk/qmk_firmware/pull/19749)) +* Fix OSM on a OSL activated layer ([#20410](https://github.com/qmk/qmk_firmware/pull/20410)) +* Fixed WB32 MCU remote wakeup issue ([#20863](https://github.com/qmk/qmk_firmware/pull/20863)) +* Optimize the additive DAC code, fixing performance-related hangs ([#21662](https://github.com/qmk/qmk_firmware/pull/21662)) +* [Enhancement] Improvements for debounce test coverage + bug fixes for sym_defer_g and sym_eager_pr ([#21667](https://github.com/qmk/qmk_firmware/pull/21667)) +* fix: make clicky delay silent ([#21866](https://github.com/qmk/qmk_firmware/pull/21866)) +* Add `mousekey.h` include to `quantum.h` ([#21897](https://github.com/qmk/qmk_firmware/pull/21897)) +* Fix default layer value in eeconfig_init ([#21909](https://github.com/qmk/qmk_firmware/pull/21909)) +* Add RTC IRQ Priority to RP2040 board files ([#21926](https://github.com/qmk/qmk_firmware/pull/21926)) +* Update AW20216S LED type ([#22072](https://github.com/qmk/qmk_firmware/pull/22072)) +* LED/RGB Matrix: prefix driver defines ([#22088](https://github.com/qmk/qmk_firmware/pull/22088)) +* RGBLight/Backlight: add prefixed driver defines ([#22089](https://github.com/qmk/qmk_firmware/pull/22089)) +* Fix lower cpi bound on PMW33XX ([#22108](https://github.com/qmk/qmk_firmware/pull/22108)) +* Fix parsing/validation for 21939 ([#22148](https://github.com/qmk/qmk_firmware/pull/22148)) +* is31fl3733: complete LED Matrix support ([#22149](https://github.com/qmk/qmk_firmware/pull/22149)) +* Fix memory leak in realloc failure handling ([#22188](https://github.com/qmk/qmk_firmware/pull/22188)) +* avrdude: Version 7.2 changes the text output ([#22235](https://github.com/qmk/qmk_firmware/pull/22235)) +* Resolve invalid keyboard alias targets ([#22239](https://github.com/qmk/qmk_firmware/pull/22239)) +* Prep work for NKRO report separation ([#22268](https://github.com/qmk/qmk_firmware/pull/22268)) +* ChibiOS pin defs: use only vendor if present ([#22297](https://github.com/qmk/qmk_firmware/pull/22297)) +* Fix invalid LED driver config ([#22312](https://github.com/qmk/qmk_firmware/pull/22312)) +* Fix compilation error when led/rgb process limit is zero. ([#22328](https://github.com/qmk/qmk_firmware/pull/22328)) +* V-USB: Fix `GET_IDLE/SET_IDLE` ([#22332](https://github.com/qmk/qmk_firmware/pull/22332)) +* QP getters correction ([#22357](https://github.com/qmk/qmk_firmware/pull/22357)) +* Fix 'to_c' for config.h mappings ([#22364](https://github.com/qmk/qmk_firmware/pull/22364)) +* snled27351: fix missing `i2c_init()` ([#22446](https://github.com/qmk/qmk_firmware/pull/22446)) +* Move BACKLIGHT_PWM_PERIOD to correct docs section ([#22480](https://github.com/qmk/qmk_firmware/pull/22480)) +* `qmk find`: Fix failure with multiple filters ([#22497](https://github.com/qmk/qmk_firmware/pull/22497)) +* Fix `qmk find` failure due to circular imports ([#22523](https://github.com/qmk/qmk_firmware/pull/22523)) diff --git a/docs/_summary.md b/docs/_summary.md index 8b7959c2b34f..bae93da5b6c2 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -4,7 +4,7 @@ * [Building Your First Firmware](newbs_building_firmware.md) * [Flashing Firmware](newbs_flashing.md) * [Getting Help/Support](support.md) - * [Building With GitHub Userspace](newbs_building_firmware_workflow.md) + * [External Userspace](newbs_external_userspace.md) * [Other Resources](newbs_learn_more_resources.md) * [Syllabus](syllabus.md) @@ -80,6 +80,7 @@ * [Caps Word](feature_caps_word.md) * [Combos](feature_combo.md) * [Debounce API](feature_debounce_type.md) + * [Digitizer](feature_digitizer.md) * [EEPROM](feature_eeprom.md) * [Key Lock](feature_key_lock.md) * [Key Overrides](feature_key_overrides.md) @@ -115,7 +116,6 @@ * [Bootmagic Lite](feature_bootmagic.md) * [Converters](feature_converters.md) * [Custom Matrix](custom_matrix.md) - * [Digitizer](feature_digitizer.md) * [DIP Switch](feature_dip_switch.md) * [Encoders](feature_encoders.md) * [Haptic Feedback](feature_haptic_feedback.md) @@ -126,7 +126,6 @@ * [PS/2 Mouse](feature_ps2_mouse.md) * [Split Keyboard](feature_split_keyboard.md) * [Stenography](feature_stenography.md) - * [Velocikey](feature_velocikey.md) * Keyboard Building * [Easy Maker for One Offs](easy_maker.md) @@ -139,7 +138,7 @@ * Breaking Changes * [Overview](breaking_changes.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md) - * [Most Recent ChangeLog](ChangeLog/20230528.md "QMK v0.21.0 - 2023 May 28") + * [Most Recent ChangeLog](ChangeLog/20231126.md "QMK v0.23.0 - 2023 Nov 26") * [Past Breaking Changes](breaking_changes_history.md) * C Development @@ -148,6 +147,7 @@ * [Compatible Microcontrollers](compatible_microcontrollers.md) * [Drivers](hardware_drivers.md) * [ADC Driver](adc_driver.md) + * [APA102 Driver](apa102_driver.md) * [Audio Driver](audio_driver.md) * [I2C Driver](i2c_driver.md) * [SPI Driver](spi_driver.md) diff --git a/docs/adc_driver.md b/docs/adc_driver.md index 494d90c94fa8..dd928e1e7f0a 100644 --- a/docs/adc_driver.md +++ b/docs/adc_driver.md @@ -9,7 +9,7 @@ This driver currently supports both AVR and a limited selection of ARM devices. To use this driver, add the following to your `rules.mk`: ```make -SRC += analog.c +ANALOG_DRIVER_REQUIRED = yes ``` Then place this include at the top of your code: diff --git a/docs/apa102_driver.md b/docs/apa102_driver.md new file mode 100644 index 000000000000..1da2de6ca357 --- /dev/null +++ b/docs/apa102_driver.md @@ -0,0 +1,49 @@ +# APA102 Driver :id=apa102-driver + +This driver provides support for APA102 addressable RGB LEDs. They are similar to the [WS2812](ws2812_driver.md) LEDs, but have increased data and refresh rates. + +## Usage :id=usage + +In most cases, the APA102 driver code is automatically included if you are using either the [RGBLight](feature_rgblight.md) or [RGB Matrix](feature_rgb_matrix.md) feature with the `apa102` driver set, and you would use those APIs instead. + +However, if you need to use the driver standalone, add the following to your `rules.mk`: + +```make +APA102_DRIVER_REQUIRED = yes +``` + +You can then call the APA102 API by including `apa102.h` in your code. + +## Basic Configuration :id=basic-configuration + +Add the following to your `config.h`: + +|Define |Default |Description | +|---------------------------|-------------|------------------------------------------------------------------| +|`APA102_DI_PIN` |*Not defined*|The GPIO pin connected to the DI pin of the first LED in the chain| +|`APA102_CI_PIN` |*Not defined*|The GPIO pin connected to the CI pin of the first LED in the chain| +|`APA102_DEFAULT_BRIGHTNESS`|`31` |The default global brightness level of the LEDs, from 0 to 31 | + +## API :id=api + +### `void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds)` + +Send RGB data to the APA102 LED chain. + +#### Arguments :id=api-apa102-setleds-arguments + + - `rgb_led_t *start_led` + A pointer to the LED array. + - `uint16_t num_leds` + The length of the LED array. + +--- + +### `void apa102_set_brightness(uint8_t brightness)` + +Set the global brightness. + +#### Arguments :id=api-apa102-set-brightness-arguments + + - `uint8_t brightness` + The brightness level to set, from 0 to 31. diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index e660182c3286..70a9044c8c0e 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch ## What has been included in past Breaking Changes? +* [2023 Nov 26](ChangeLog/20231126.md) +* [2023 Aug 27](ChangeLog/20230827.md) * [2023 May 28](ChangeLog/20230528.md) -* [2023 Feb 26](ChangeLog/20230226.md) -* [2022 Nov 26](ChangeLog/20221126.md) * [Older Breaking Changes](breaking_changes_history.md) ## When is the next Breaking Change? -The next Breaking Change is scheduled for August 27, 2023. +The next Breaking Change is scheduled for November 26, 2023. ### Important Dates -* 2023 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* 2023 Jul 30 - `develop` closed to new PRs. -* 2023 Jul 30 - Call for testers. -* 2023 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* 2023 Aug 20 - `develop` is locked, only critical bugfix PRs merged. -* 2023 Aug 25 - `master` is locked, no PRs merged. -* 2023 Aug 27 - Merge `develop` to `master`. -* 2023 Aug 27 - `master` is unlocked. PRs can be merged again. +* 2023 Nov 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* 2024 Jan 28 - `develop` closed to new PRs. +* 2024 Jan 28 - Call for testers. +* 2024 Feb 4 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* 2024 Feb 18 - `develop` is locked, only critical bugfix PRs merged. +* 2024 Feb 22 - `master` is locked, no PRs merged. +* 2024 Feb 25 - Merge `develop` to `master`. +* 2024 Feb 25 - `master` is unlocked. PRs can be merged again. ## What changes will be included? @@ -48,7 +48,7 @@ Criteria for acceptance: Strongly suggested: -* The PR has a ChangeLog file describing the changes under `/docs/Changelog/20230827`. +* The PR has a ChangeLog file describing the changes under `/docs/Changelog/20240225`. * This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PRs ID. * One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability. @@ -119,6 +119,7 @@ This happens immediately after the previous `develop` branch is merged to `maste * `git commit -m 'Branch point for Breaking Change'` * `git tag breakpoint___
` * `git push upstream breakpoint___
` + * `git push upstream develop` * All submodules under `lib` now need to be checked against their QMK-based forks: * `git submodule foreach git log -n1` diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index 79f2899d2cf6..4ab890294bba 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,6 +2,8 @@ This page links to all previous changelogs from the QMK Breaking Changes process. +* [2023 Nov 26](ChangeLog/20231126.md) - version 0.23.0 +* [2023 Aug 27](ChangeLog/20230827.md) - version 0.22.0 * [2023 May 28](ChangeLog/20230528.md) - version 0.21.0 * [2023 Feb 26](ChangeLog/20230226.md) - version 0.20.0 * [2022 Nov 26](ChangeLog/20221126.md) - version 0.19.0 diff --git a/docs/cli.md b/docs/cli.md index 8684479d0c1d..0fa068dc7b0c 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -2,11 +2,11 @@ ## Overview :id=overview -The QMK CLI makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more. +The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more. ### Requirements :id=requirements -QMK requires Python 3.6 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. +QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. ### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew @@ -20,7 +20,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build ### Install Using pip :id=install-using-easy_install-or-pip -If your system is not listed above you can install QMK manually. First ensure that you have Python 3.6 (or later) installed and have installed pip. Then install QMK with this command: +If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command: ``` python3 -m pip install qmk diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 79fd9de57576..cf174949afb1 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -362,6 +362,16 @@ This command is directory aware. It will automatically fill in KEYBOARD if you a qmk list-keymaps -kb planck/ez ``` +## `qmk migrate` + +This command searches for legacy code that can be converted to the new `info.json` format and adds it to the specified keyboard's `info.json`. + +**Usage**: + +``` +qmk migrate [-h] -kb KEYBOARD [-f FILTER] +``` + ## `qmk new-keyboard` This command creates a new keyboard based on available templates. @@ -482,6 +492,131 @@ $ qmk import-kbfirmware ~/Downloads/gh62.json --- +# External Userspace Commands + +## `qmk userspace-add` + +This command adds a keyboard/keymap to the External Userspace build targets. + +**Usage**: + +``` +qmk userspace-add [-h] [-km KEYMAP] [-kb KEYBOARD] [builds ...] + +positional arguments: + builds List of builds in form :, or path to a keymap JSON file. + +options: + -h, --help show this help message and exit + -km KEYMAP, --keymap KEYMAP + The keymap to build a firmware for. Ignored when a configurator export is supplied. + -kb KEYBOARD, --keyboard KEYBOARD + The keyboard to build a firmware for. Ignored when a configurator export is supplied. +``` + +**Example**: + +``` +$ qmk userspace-add -kb planck/rev6 -km default +ÎĻ Added planck/rev6:default to userspace build targets +ÎĻ Saved userspace file to /home/you/qmk_userspace/qmk.json +``` + +## `qmk userspace-remove` + +This command removes a keyboard/keymap from the External Userspace build targets. + +**Usage**: + +``` +qmk userspace-remove [-h] [-km KEYMAP] [-kb KEYBOARD] [builds ...] + +positional arguments: + builds List of builds in form :, or path to a keymap JSON file. + +options: + -h, --help show this help message and exit + -km KEYMAP, --keymap KEYMAP + The keymap to build a firmware for. Ignored when a configurator export is supplied. + -kb KEYBOARD, --keyboard KEYBOARD + The keyboard to build a firmware for. Ignored when a configurator export is supplied. +``` + +**Example**: + +``` +$ qmk userspace-remove -kb planck/rev6 -km default +ÎĻ Removed planck/rev6:default from userspace build targets +ÎĻ Saved userspace file to /home/you/qmk_userspace/qmk.json +``` + +## `qmk userspace-list` + +This command lists the External Userspace build targets. + +**Usage**: + +``` +qmk userspace-list [-h] [-e] + +options: + -h, --help show this help message and exit + -e, --expand Expands any use of `all` for either keyboard or keymap. +``` + +**Example**: + +``` +$ qmk userspace-list +ÎĻ Current userspace build targets: +ÎĻ Keyboard: planck/rev6, keymap: you +ÎĻ Keyboard: clueboard/66/rev3, keymap: you +``` + +## `qmk userspace-compile` + +This command compiles all the External Userspace build targets. + +**Usage**: + +``` +qmk userspace-compile [-h] [-e ENV] [-n] [-c] [-j PARALLEL] [-t] + +options: + -h, --help show this help message and exit + -e ENV, --env ENV Set a variable to be passed to make. May be passed multiple times. + -n, --dry-run Don't actually build, just show the commands to be run. + -c, --clean Remove object files before compiling. + -j PARALLEL, --parallel PARALLEL + Set the number of parallel make jobs; 0 means unlimited. + -t, --no-temp Remove temporary files during build. +``` + +**Example**: + +``` +$ qmk userspace-compile +ÎĻ Preparing target list... +Build planck/rev6:you [OK] +Build clueboard/66/rev3:you [OK] +``` + +## `qmk userspace-doctor` + +This command examines your environment and alerts you to potential problems related to External Userspace. + +**Example**: + +``` +% qmk userspace-doctor +ÎĻ QMK home: /home/you/qmk_userspace/qmk_firmware +ÎĻ Testing userspace candidate: /home/you/qmk_userspace -- Valid `qmk.json` +ÎĻ QMK userspace: /home/you/qmk_userspace +ÎĻ Userspace enabled: True +``` + +--- + # Developer Commands ## `qmk format-text` diff --git a/docs/cli_development.md b/docs/cli_development.md index d878deff17c4..8d4ee625352f 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -44,7 +44,7 @@ def hello(cli): First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function. -Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. +Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. # User Interaction @@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below. -Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.6/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. +Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.7/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. You should never use the format operator (`%`) directly, always pass values as arguments. ### Logging (`cli.log`) -The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. +The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. The default log level is `INFO`. If the user runs `qmk -v ` the default log level will be set to `DEBUG`. diff --git a/docs/coding_conventions_python.md b/docs/coding_conventions_python.md index 2b6870344873..1ed27ee46abb 100644 --- a/docs/coding_conventions_python.md +++ b/docs/coding_conventions_python.md @@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the ## Integration Tests -Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. +Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.7/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. ## Unit Tests diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index cc9c0b7f92a2..197033f78b57 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/config_options.md b/docs/config_options.md index 4698260118f3..8119b9e356fa 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -439,7 +439,7 @@ Use these to enable or disable building certain features. The more you have enab * `UNICODE_ENABLE` * Unicode * `BLUETOOTH_ENABLE` - * Current options are BluefruitLE, RN42 + * Current options are bluefruit_le, rn42 * `SPLIT_KEYBOARD` * Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common * `CUSTOM_MATRIX` diff --git a/docs/contributing.md b/docs/contributing.md index bb46add7892b..8d993e3389d5 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -36,7 +36,7 @@ If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/iss Never made an open source contribution before? Wondering how contributions work in QMK? Here's a quick rundown! 0. Sign up for a [GitHub](https://github.com) account. -1. Put together a keymap to contribute, [find an issue](https://github.com/qmk/qmk_firmware/issues) you are interested in addressing, or [a feature](https://github.com/qmk/qmk_firmware/issues?q=is%3Aopen+is%3Aissue+label%3Afeature) you would like to add. +1. [Find an issue](https://github.com/qmk/qmk_firmware/issues) you are interested in addressing, or [a feature](https://github.com/qmk/qmk_firmware/issues?q=is%3Aopen+is%3Aissue+label%3Afeature) you would like to add. 2. Fork the repository associated with the issue to your GitHub account. This means that you will have a copy of the repository under `your-GitHub-username/qmk_firmware`. 3. Clone the repository to your local machine using `git clone https://github.com/github-username/repository-name.git`. 4. If you're working on a new feature consider opening an issue to talk with us about the work you're about to undertake. @@ -63,12 +63,14 @@ Most of our style is pretty easy to pick up on. If you are familiar with either We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making. +* **Before you contribute:** Please make sure your fork is up to date with the upstream `qmk_firmware` repo. This will help minimize CI failures that may not occur for you when compiling locally. * Separate PRs into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature. * Check for unnecessary whitespace with `git diff --check` before committing. * Make sure your code change actually compiles. - * Keymaps: Make sure that `make keyboard:your_new_keymap` does not return any errors. + * Keymaps: Make sure that `make keyboard:keymap` does not return any errors. * Keyboards: Make sure that `make keyboard:all` does not return any errors. * Core: Make sure that `make all` does not return any errors. +* Note that user-keymap and userspace contributions are no longer accepted. * Make sure commit messages are understandable on their own. You should put a short description (no more than 70 characters) on the first line, the second line should be empty, and on the 3rd and later lines you should describe your commit in detail, if required. Example: ``` @@ -79,8 +81,6 @@ The kerpleplork was intermittently failing with error code 23. The root cause wa Limited experimentation on the devices I have available shows that 7 is high enough to avoid confusing the kerpleplork, but I'd like to get some feedback from people with ARM devices to be sure. ``` -!> **IMPORTANT:** If you would like to contribute a bugfix or improvement to user code, such as non-default keymaps, userspace and layouts, be sure to tag the original submitter of the code in your PR. Many users, regardless of skill level with Git and GitHub, may be confused or frustrated at their code being modified without their knowledge. - ## Documentation Documentation is one of the easiest ways to get started contributing to QMK. Finding places where the documentation is wrong or incomplete and fixing those is easy! We also very badly need someone to edit our documentation, so if you have editing skills but aren't sure where or how to jump in please [reach out for help](#where-can-i-go-for-help)! @@ -113,16 +113,6 @@ or if you only have Python 3 installed: and navigating to `http://localhost:8936/`. -## Keymaps - -Most first-time QMK contributors start with their personal keymaps. We try to keep keymap standards pretty casual (keymaps, after all, reflect the personality of their creators) but we do ask that you follow these guidelines to make it easier for others to discover and learn from your keymap. - -* Write a `readme.md` using [the template](documentation_templates.md). -* All Keymap PRs are squashed, so if you care about how your commits are squashed you should do it yourself -* Do not lump features in with keymap PRs. Submit the feature first and then a second PR for the keymap. -* Do not include `Makefile`s in your keymap folder (they're no longer used) -* Update copyrights in file headers (look for `%YOUR_NAME%`) - ## Keyboards Keyboards are the raison d'Être for QMK. Some keyboards are community maintained, while others are maintained by the people responsible for making a particular keyboard. The `readme.md` should tell you who maintains a particular keyboard. If you have questions relating to a particular keyboard you can [Open An Issue](https://github.com/qmk/qmk_firmware/issues) and tag the maintainer in your question. @@ -130,7 +120,7 @@ Keyboards are the raison d'Être for QMK. Some keyboards are community maintaine We also ask that you follow these guidelines: * Write a `readme.md` using [the template](documentation_templates.md). -* Keep the number of commits reasonable or we will squash your PR +* Include a `default` keymap that provides a clean slate for users to start with when creating their own keymaps. * Do not lump core features in with new keyboards. Submit the feature first and then submit a separate PR for the keyboard. * Name `.c`/`.h` file after the immediate parent folder, eg `/keyboards///.[ch]` * Do not include `Makefile`s in your keyboard folder (they're no longer used) diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index 5d63f3cfb7d0..957633837c42 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -283,6 +283,65 @@ void suspend_wakeup_init_user(void) { * Keyboard/Revision: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)` * Keymap: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)` + +# Keyboard Shutdown/Reboot Code :id=keyboard-shutdown-reboot-code + +This function gets called whenever the firmware is reset, whether it's a soft reset or reset to the bootloader. This is the spot to use for any sort of cleanup, as this happens right before the actual reset. And it can be useful for turning off different systems (such as RGB, onboard screens, etc). + +Additionally, it differentiates between the soft reset (eg, rebooting back into the firmware) or jumping to the bootloader. + +Certain tasks are performed during shutdown too. The keyboard is cleared, music and midi is stopped (if enabled), the shutdown chime is triggered (if audio is enabled), and haptic is stopped. + +If `jump_to_bootloader` is set to `true`, this indicates that the board will be entering the bootloader for a new firmware flash, whereas `false` indicates that this is happening for a soft reset and will load the firmware agaim immediately (such as when using `QK_REBOOT` or `QK_CLEAR_EEPROM`). + +As there is a keyboard and user level function, returning `false` for the user function will disable the keyboard level function, allowing for customization. + +?> Bootmagic does not trigger `shutdown_*()` as it happens before most of the initialization process. + +### Example `shutdown_kb()` Implementation + +```c +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } + + if (jump_to_bootloader) { + // red for bootloader + rgb_matrix_set_color_all(RGB_OFF); + } else { + // off for soft reset + rgb_matrix_set_color_all(RGB_GREEN); + } + // force flushing -- otherwise will never happen + rgb_matrix_update_pwm_buffers(); + return true; +} +``` + +### Example `shutdown_user()` Implementation + +```c +bool shutdown_user(bool jump_to_bootloader) { + if (jump_to_bootloader) { + // red for bootloader + rgb_matrix_set_color_all(RGB_RED); + } else { + // off for soft reset + rgb_matrix_set_color_all(RGB_OFF); + } + // force flushing -- otherwise will never happen + rgb_matrix_update_pwm_buffers(); + // false to not process kb level + return false; +} +``` + +### Keyboard shutdown/reboot Function Documentation + +* Keyboard/Revision: `bool shutdown_kb(bool jump_to_bootloader)` +* Keymap: `bool shutdown_user(bool jump_to_bootloader)` + # Deferred Execution :id=deferred-execution QMK has the ability to execute a callback after a specified period of time, rather than having to manually manage timers. To enable this functionality, set `DEFERRED_EXEC_ENABLE = yes` in rules.mk. diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md index ba287f5688e9..b288f9901a81 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/eeprom_driver.md b/docs/eeprom_driver.md index 50d8bcb7b328..c77d18c68df5 100644 --- a/docs/eeprom_driver.md +++ b/docs/eeprom_driver.md @@ -66,6 +66,14 @@ Currently QMK supports 25xx-series chips over SPI. As such, requires a working s `#define EXTERNAL_EEPROM_PAGE_SIZE` | `32` | Page size of the EEPROM in bytes, as specified in the datasheet `#define EXTERNAL_EEPROM_ADDRESS_SIZE` | `2` | The number of bytes to transmit for the memory location within the EEPROM +Default values and extended descriptions can be found in `drivers/eeprom/eeprom_spi.h`. + +Alternatively, there are pre-defined hardware configurations for available chips/modules: + +Module | Equivalent `#define` | Source +-----------------|---------------------------------|------------------------------------------ +MB85RS64V FRAM | `define EEPROM_SPI_MB85RS64V` | + !> There's no way to determine if there is an SPI EEPROM actually responding. Generally, this will result in reads of nothing but zero. ## Transient Driver configuration :id=transient-eeprom-driver-configuration @@ -105,11 +113,11 @@ Configurable options in your keyboard's `config.h`: `config.h` override | Default | Description -----------------------------------------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -`#define WEAR_LEVELING_EFL_FIRST_SECTOR` | _unset_ | The first sector on the MCU to use. By default this is not defined and calculated at runtime based on the MCU. However, different flash sizes on MCUs may require custom configuration. -`#define WEAR_LEVELING_EFL_FLASH_SIZE` | _unset_ | Allows overriding the flash size available for use for wear-leveling. Under normal circumstances this is automatically calculated and should not need to be overridden. Specifying a size larger than the amount actually available in flash will usually prevent the MCU from booting. -`#define WEAR_LEVELING_LOGICAL_SIZE` | `1024` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. -`#define WEAR_LEVELING_BACKING_SIZE` | `2048` | Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. -`#define BACKING_STORE_WRITE_SIZE` | _automatic_ | The byte width of the underlying write used on the MCU, and is usually automatically determined from the selected MCU family. If an error occurs in the auto-detection, you'll need to consult the MCU's datasheet and determine this value, specifying it directly. +`#define WEAR_LEVELING_EFL_FIRST_SECTOR` | _unset_ | The first sector on the MCU to use. By default this is not defined and calculated at runtime based on the MCU. However, different flash sizes on MCUs may require custom configuration. +`#define WEAR_LEVELING_EFL_FLASH_SIZE` | _unset_ | Allows overriding the flash size available for use for wear-leveling. Under normal circumstances this is automatically calculated and should not need to be overridden. Specifying a size larger than the amount actually available in flash will usually prevent the MCU from booting. +`#define WEAR_LEVELING_LOGICAL_SIZE` | `(backing_size/2)` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. +`#define WEAR_LEVELING_BACKING_SIZE` | `2048` | Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. +`#define BACKING_STORE_WRITE_SIZE` | _automatic_ | The byte width of the underlying write used on the MCU, and is usually automatically determined from the selected MCU family. If an error occurs in the auto-detection, you'll need to consult the MCU's datasheet and determine this value, specifying it directly. !> If your MCU does not boot after swapping to the EFL wear-leveling driver, it's likely that the flash size is incorrectly detected, usually as an MCU with larger flash and may require overriding. @@ -139,7 +147,7 @@ Configurable options in your keyboard's `config.h`: ------------------------------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------- `#define WEAR_LEVELING_RP2040_FLASH_SIZE` | `PICO_FLASH_SIZE_BYTES` | Number of bytes of flash on the board. `#define WEAR_LEVELING_RP2040_FLASH_BASE` | `(flash_size-sector_size)` | The byte-wise location that the backing storage should be located. -`#define WEAR_LEVELING_LOGICAL_SIZE` | `4096` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. +`#define WEAR_LEVELING_LOGICAL_SIZE` | `(backing_size/2)` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. `#define WEAR_LEVELING_BACKING_SIZE` | `8192` | Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size as well as the sector size. `#define BACKING_STORE_WRITE_SIZE` | `2` | The write width used whenever a write is performed on the external flash peripheral. diff --git a/docs/feature_auto_shift.md b/docs/feature_auto_shift.md index 1719807e2688..74be33cdd47b 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`: @@ -166,15 +180,21 @@ For more granular control, there is `get_auto_shifted_key`. The default function bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { switch (keycode) { # ifndef NO_AUTO_SHIFT_ALPHA - case KC_A ... KC_Z: + case AUTO_SHIFT_ALPHA: # endif # ifndef NO_AUTO_SHIFT_NUMERIC - case KC_1 ... KC_0: + case AUTO_SHIFT_NUMERIC: # 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 @@ -271,10 +310,16 @@ generating taps on release. For example: #define RETRO_SHIFT 500 ``` +Without a value set, holds of any length without an interrupting key will produce the shifted value. + This value (if set) must be greater than one's `TAPPING_TERM`, as the key press must be designated as a 'hold' by `process_tapping` before we send the modifier. +[Per-key tapping terms](tap_hold.md#tapping-term) can be used as a workaround. There is no such limitation in regards to `AUTO_SHIFT_TIMEOUT` for normal keys. +**Note:** Tap Holds must be added to Auto Shift, see [here.](feature_auto_shift.md#auto-shift-per-key) +`IS_RETRO` may be helpful if one wants all Tap Holds retro shifted. + ### Retro Shift and Tap Hold Configurations Tap Hold Configurations work a little differently when using Retro Shift. diff --git a/docs/feature_autocorrect.md b/docs/feature_autocorrect.md index 9f80c93f8274..3a0a49095c6b 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_backlight.md b/docs/feature_backlight.md index 24057c608f8c..69391fcefe99 100644 --- a/docs/feature_backlight.md +++ b/docs/feature_backlight.md @@ -1,12 +1,12 @@ # Backlighting :id=backlighting -Many keyboards support backlit keys by way of individual LEDs placed through or underneath the keyswitches. This feature is distinct from both the [RGB underglow](feature_rgblight.md) and [RGB matrix](feature_rgb_matrix.md) features as it usually allows for only a single colour per switch, though you can obviously install multiple different single coloured LEDs on a keyboard. +Many keyboards support backlit keys by way of individual LEDs placed through or underneath the keyswitches. This feature is distinct from both the [RGB Underglow](feature_rgblight.md) and [RGB Matrix](feature_rgb_matrix.md) features as it usually allows for only a single colour per switch, though you can obviously install multiple different single coloured LEDs on a keyboard. QMK is able to control the brightness of these LEDs by switching them on and off rapidly in a certain ratio, a technique known as *Pulse Width Modulation*, or PWM. By altering the duty cycle of the PWM signal, it creates the illusion of dimming. -The MCU can only supply so much current to its GPIO pins. Instead of powering the backlight directly from the MCU, the backlight pin is connected to a transistor or MOSFET that switches the power to the LEDs. +## Usage :id=usage -Most keyboards have backlighting enabled by default if they support it, but if it is not working for you, check that your `rules.mk` includes the following: +Most keyboards have backlighting enabled by default if they support it, but if it is not working for you (or you have added support), check that your `rules.mk` includes the following: ```make BACKLIGHT_ENABLE = yes @@ -14,86 +14,117 @@ BACKLIGHT_ENABLE = yes ## Keycodes :id=keycodes -Once enabled, the following keycodes below can be used to change the backlight level. +|Key |Aliases |Description | +|-------------------------------|---------|-----------------------------------| +|`QK_BACKLIGHT_TOGGLE` |`BL_TOGG`|Turn the backlight on or off | +|`QK_BACKLIGHT_STEP` |`BL_STEP`|Cycle through backlight levels | +|`QK_BACKLIGHT_ON` |`BL_ON` |Set the backlight to max brightness| +|`QK_BACKLIGHT_OFF` |`BL_OFF` |Turn the backlight off | +|`QK_BACKLIGHT_UP` |`BL_UP` |Increase the backlight level | +|`QK_BACKLIGHT_DOWN` |`BL_DOWN`|Decrease the backlight level | +|`QK_BACKLIGHT_TOGGLE_BREATHING`|`BL_BRTG`|Toggle backlight breathing | -| Key | Aliases | Description | -|---------------------------------|-----------|-------------------------------------| -| `QK_BACKLIGHT_TOGGLE` | `BL_TOGG` | Turn the backlight on or off | -| `QK_BACKLIGHT_STEP` | `BL_STEP` | Cycle through backlight levels | -| `QK_BACKLIGHT_ON` | `BL_ON` | Set the backlight to max brightness | -| `QK_BACKLIGHT_OFF` | `BL_OFF` | Turn the backlight off | -| `QK_BACKLIGHT_UP` | `BL_UP` | Increase the backlight level | -| `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the backlight level | -| `QK_BACKLIGHT_TOGGLE_BREATHING` | `BL_BRTG` | Toggle backlight breathing | +## Basic Configuration :id=basic-configuration -## Functions :id=functions - -These functions can be used to change the backlighting in custom code: - -|Function |Description | -|------------------------|--------------------------------------------| -|`backlight_toggle()` |Turn the backlight on or off | -|`backlight_enable()` |Turn the backlight on | -|`backlight_disable()` |Turn the backlight off | -|`backlight_step()` |Cycle through backlight levels | -|`backlight_increase()` |Increase the backlight level | -|`backlight_decrease()` |Decrease the backlight level | -|`backlight_level(x)` |Sets the backlight level to specified level | -|`get_backlight_level()` |Return the current backlight level | -|`is_backlight_enabled()`|Return whether the backlight is currently on| - -If backlight breathing is enabled (see below), the following functions are also available: - -|Function |Description | -|---------------------|--------------------------------------| -|`breathing_toggle()` |Turn the backlight breathing on or off| -|`breathing_enable()` |Turns on backlight breathing | -|`breathing_disable()`|Turns off backlight breathing | - -## Configuration :id=configuration - -To select which driver to use, configure your `rules.mk` with the following: - -```make -BACKLIGHT_DRIVER = software -``` - -Valid driver values are `pwm`, `software`, `custom` or `no`. See below for help on individual drivers. - -To configure the backlighting, `#define` these in your `config.h`: +Add the following to your `config.h`: |Define |Default |Description | |-----------------------------|------------------|-----------------------------------------------------------------------------------------------------------------| -|`BACKLIGHT_PIN` |*Not defined* |The pin that controls the LED(s) | +|`BACKLIGHT_PIN` |*Not defined* |The pin that controls the LEDs | |`BACKLIGHT_LEVELS` |`3` |The number of brightness levels (maximum 31 excluding off) | |`BACKLIGHT_CAPS_LOCK` |*Not defined* |Enable Caps Lock indicator using backlight (for keyboards without dedicated LED) | |`BACKLIGHT_BREATHING` |*Not defined* |Enable backlight breathing, if supported | |`BREATHING_PERIOD` |`6` |The length of one backlight "breath" in seconds | |`BACKLIGHT_ON_STATE` |`1` |The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low | |`BACKLIGHT_LIMIT_VAL` |`255` |The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum.| +|`BACKLIGHT_DEFAULT_ON` |`true` |Enable backlight upon clearing the EEPROM | +|`BACKLIGHT_DEFAULT_BREATHING`|`false` |Whether to enable backlight breathing upon clearing the EEPROM | |`BACKLIGHT_DEFAULT_LEVEL` |`BACKLIGHT_LEVELS`|The default backlight level to use upon clearing the EEPROM | -|`BACKLIGHT_DEFAULT_BREATHING`|*Not defined* |Whether to enable backlight breathing upon clearing the EEPROM | Unless you are designing your own keyboard, you generally should not need to change the `BACKLIGHT_PIN` or `BACKLIGHT_ON_STATE`. -### Backlight On State :id=backlight-on-state +### "On" State :id=on-state Most backlight circuits are driven by an N-channel MOSFET or NPN transistor. This means that to turn the transistor *on* and light the LEDs, you must drive the backlight pin, connected to the gate or base, *high*. Sometimes, however, a P-channel MOSFET, or a PNP transistor is used. In this case, when the transistor is on, the pin is driven *low* instead. -This functionality is configured at the keyboard level with the `BACKLIGHT_ON_STATE` define. +To configure the "on" state of the backlight circuit, add the following to your `config.h`: + +```c +#define BACKLIGHT_ON_STATE 0 +``` + +### Multiple Backlight Pins :id=multiple-backlight-pins + +Most keyboards have only one backlight pin which controls all backlight LEDs (especially if the backlight is connected to a hardware PWM pin). +The `timer` and `software` drivers allow you to define multiple backlight pins, which will be turned on and off at the same time during the PWM duty cycle. + +This feature allows to set, for instance, the Caps Lock LED's (or any other controllable LED) brightness at the same level as the other LEDs of the backlight. This is useful if you have mapped Control in place of Caps Lock and you need the Caps Lock LED to be part of the backlight instead of being activated when Caps Lock is on, as it is usually wired to a separate pin from the backlight. + +To configure multiple backlight pins, add something like this to your `config.h`, instead of `BACKLIGHT_PIN`: + +```c +#define BACKLIGHT_PINS { F5, B2 } +``` + +## Driver Configuration :id=driver-configuration + +Backlight driver selection is configured in `rules.mk`. Valid drivers are `pwm` (default), `timer`, `software`, or `custom`. See below for information on individual drivers. -### AVR Driver :id=avr-driver +### PWM Driver :id=pwm-driver -The `pwm` driver is configured by default, however the equivalent setting within `rules.mk` would be: +This is the default backlight driver, which leverages the hardware PWM output capability of the microcontroller. ```make BACKLIGHT_DRIVER = pwm ``` -#### Caveats :id=avr-caveats +### Timer Driver :id=timer-driver + +This driver is similar to the PWM driver, but instead of directly configuring the pin to output a PWM signal, an interrupt handler is attached to the timer to turn the pin on and off as appropriate. + +```make +BACKLIGHT_DRIVER = timer +``` + +### Software Driver :id=software-driver + +In this mode, PWM is "emulated" while running other keyboard tasks. It offers maximum hardware compatibility without extra platform configuration. However, breathing is not supported, and the backlight can flicker when the keyboard is busy. + +```make +BACKLIGHT_DRIVER = software +``` + +### Custom Driver :id=custom-driver + +If none of the above drivers apply to your board (for example, you are using a separate IC to control the backlight), you can implement a custom backlight driver using a simple API. + +```make +BACKLIGHT_DRIVER = custom +``` + +```c +void backlight_init_ports(void) { + // Optional - runs on startup + // Usually you want to configure pins here +} +void backlight_set(uint8_t level) { + // Optional - runs on level change + // Usually you want to respond to the new value +} + +void backlight_task(void) { + // Optional - runs periodically + // Note that this is called in the main keyboard loop, + // so long running actions here can cause performance issues +} +``` + +## AVR Configuration :id=avr-configuration + +### PWM Driver :id=avr-pwm-driver -On AVR boards, QMK automatically decides which driver to use according to the following table: +The following table describes the supported pins for the PWM driver. Only cells marked with a timer number are capable of hardware PWM output; any others must use the `timer` driver. |Backlight Pin|AT90USB64/128|AT90USB162|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328/P| |-------------|-------------|----------|-------------|-------------|---------|-----------| @@ -108,113 +139,171 @@ On AVR boards, QMK automatically decides which driver to use according to the fo |`D4` | | | | |Timer 1 | | |`D5` | | | | |Timer 1 | | -All other pins will use timer-assisted software PWM: +### Timer Driver :id=avr-timer-driver -|Audio Pin|Audio Timer|Software PWM Timer| -|---------|-----------|------------------| -|`C4` |Timer 3 |Timer 1 | -|`C5` |Timer 3 |Timer 1 | -|`C6` |Timer 3 |Timer 1 | -|`B5` |Timer 1 |Timer 3 | -|`B6` |Timer 1 |Timer 3 | -|`B7` |Timer 1 |Timer 3 | +Any GPIO pin can be used with this driver. The following table describes the supported timers: -When both timers are in use for Audio, the backlight PWM cannot use a hardware timer, and will instead be triggered during the matrix scan. In this case, breathing is not supported, and the backlight might flicker, because the PWM computation may not be called with enough timing precision. +|AT90USB64/128|AT90USB162|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328/P| +|-------------|----------|-------------|-------------|---------|-----------| +|Timers 1 & 3 |Timer 1 |Timers 1 & 3 |Timer 1 |Timer 1 |Timer 1 | -#### Hardware PWM Implementation :id=hardware-pwm-implementation +The following `#define`s apply only to the `timer` driver: -When using the supported pins for backlighting, QMK will use a hardware timer configured to output a PWM signal. This timer will count up to `ICRx` (by default `0xFFFF`) before resetting to 0. -The desired brightness is calculated and stored in the `OCRxx` register. When the counter reaches this value, the backlight pin will go low, and is pulled high again when the counter resets. -In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus the brightness, where `0x0000` is completely off and `0xFFFF` is completely on. +|Define |Default|Description | +|-----------------------|-------|----------------| +|`BACKLIGHT_PWM_TIMER` |`1` |The timer to use| -The breathing effect is achieved by registering an interrupt handler for `TIMER1_OVF_vect` that is called whenever the counter resets, roughly 244 times per second. -In this handler, the value of an incrementing counter is mapped onto a precomputed brightness curve. To turn off breathing, the interrupt handler is simply disabled, and the brightness reset to the level stored in EEPROM. +Note that the choice of timer may conflict with the [Audio](feature_audio.md) feature. -#### Timer Assisted PWM Implementation :id=timer-assisted-implementation +## ChibiOS/ARM Configuration :id=arm-configuration -When `BACKLIGHT_PIN` is not set to a hardware backlight pin, QMK will use a hardware timer configured to trigger software interrupts. This time will count up to `ICRx` (by default `0xFFFF`) before resetting to 0. -When resetting to 0, the CPU will fire an OVF (overflow) interrupt that will turn the LEDs on, starting the duty cycle. -The desired brightness is calculated and stored in the `OCRxx` register. When the counter reaches this value, the CPU will fire a Compare Output match interrupt, which will turn the LEDs off. -In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus the brightness, where `0x0000` is completely off and `0xFFFF` is completely on. +### PWM Driver :id=arm-pwm-driver -The breathing effect is the same as in the hardware PWM implementation. +Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like: -### ARM Driver :id=arm-configuration +`halconf.h`: +```c +#define HAL_USE_PWM TRUE +``` +`mcuconf.h`: +```c +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE +``` -While still in its early stages, ARM backlight support aims to eventually have feature parity with AVR. The `pwm` driver is configured by default, however the equivalent setting within `rules.mk` would be: +The following `#define`s apply only to the `pwm` driver: -```make -BACKLIGHT_DRIVER = pwm +|Define |Default |Description | +|-----------------------|-------------|---------------------------------------------------------------| +|`BACKLIGHT_PWM_DRIVER` |`PWMD4` |The PWM driver to use | +|`BACKLIGHT_PWM_CHANNEL`|`3` |The PWM channel to use | +|`BACKLIGHT_PAL_MODE` |`2` |The pin alternative function to use | +|`BACKLIGHT_PWM_PERIOD` |*Not defined*|The PWM period in counter ticks - Default is platform dependent| + + +Refer to the ST datasheet for your particular MCU to determine these values. For example, these defaults are set up for pin `B8` on a Proton-C (STM32F303) using `TIM4_CH3` on AF2. Unless you are designing your own keyboard, you generally should not need to change them. + +### Timer Driver :id=arm-timer-driver + +Depending on the ChibiOS board configuration, you may need to enable general-purpose timers at the keyboard level. For STM32, this would look like: + +`halconf.h`: +```c +#define HAL_USE_GPT TRUE +``` +`mcuconf.h`: +```c +#undef STM32_GPT_USE_TIM15 +#define STM32_GPT_USE_TIM15 TRUE ``` -#### ChibiOS Configuration :id=arm-configuration +The following `#define`s apply only to the `timer` driver: -The following `#define`s apply only to ARM-based keyboards: +|Define |Default |Description | +|----------------------|--------|----------------| +|`BACKLIGHT_GPT_DRIVER`|`GPTD15`|The timer to use| -|Define |Default|Description | -|-----------------------|-------|-----------------------------------| -|`BACKLIGHT_PWM_DRIVER` |`PWMD4`|The PWM driver to use | -|`BACKLIGHT_PWM_CHANNEL`|`3` |The PWM channel to use | -|`BACKLIGHT_PAL_MODE` |`2` |The pin alternative function to use| +## Example Schematic -See the ST datasheet for your particular MCU to determine these values. Unless you are designing your own keyboard, you generally should not need to change them. +Since the MCU can only supply so much current to its GPIO pins, instead of powering the backlight directly from the MCU, the backlight pin is connected to a transistor or MOSFET that switches the power to the LEDs. -#### Caveats :id=arm-caveats +In this typical example, the backlight LEDs are all connected in parallel towards an N-channel MOSFET. Its gate pin is wired to one of the microcontroller's GPIO pins through a 470â„Ķ resistor to avoid ringing. +A pulldown resistor is also placed between the gate pin and ground to keep it at a defined state when it is not otherwise being driven by the MCU. +The values of these resistors are not critical - see [this Electronics StackExchange question](https://electronics.stackexchange.com/q/68748) for more information. -Currently only hardware PWM is supported, not timer assisted, and does not provide automatic configuration. +![Backlight example circuit](https://i.imgur.com/BmAvoUC.png) -### Software PWM Driver :id=software-pwm-driver +## API :id=api -In this mode, PWM is "emulated" while running other keyboard tasks. It offers maximum hardware compatibility without extra platform configuration. The tradeoff is the backlight might jitter when the keyboard is busy. To enable, add this to your `rules.mk`: +### `void backlight_toggle(void)` :id=api-backlight-toggle -```make -BACKLIGHT_DRIVER = software -``` +Toggle the backlight on or off. -#### Multiple Backlight Pins :id=multiple-backlight-pins +--- -Most keyboards have only one backlight pin which controls all backlight LEDs (especially if the backlight is connected to a hardware PWM pin). -In software PWM, it is possible to define multiple backlight pins, which will be turned on and off at the same time during the PWM duty cycle. +### `void backlight_enable(void)` :id=api-backlight-enable -This feature allows to set, for instance, the Caps Lock LED's (or any other controllable LED) brightness at the same level as the other LEDs of the backlight. This is useful if you have mapped Control in place of Caps Lock and you need the Caps Lock LED to be part of the backlight instead of being activated when Caps Lock is on, as it is usually wired to a separate pin from the backlight. +Turn the backlight on. -To activate multiple backlight pins, add something like this to your `config.h`, instead of `BACKLIGHT_PIN`: +--- -```c -#define BACKLIGHT_PINS { F5, B2 } -``` +### `void backlight_disable(void)` :id=api-backlight-disable -### Custom Driver :id=custom-driver +Turn the backlight off. -If none of the above drivers apply to your board (for example, you are using a separate IC to control the backlight), you can implement a custom backlight driver using this simple API provided by QMK. To enable, add this to your `rules.mk`: +--- -```make -BACKLIGHT_DRIVER = custom -``` +### `void backlight_step(void)` :id=api-backlight-step -Then implement any of these hooks: +Cycle through backlight levels. -```c -void backlight_init_ports(void) { - // Optional - runs on startup - // Usually you want to configure pins here -} -void backlight_set(uint8_t level) { - // Optional - runs on level change - // Usually you want to respond to the new value -} +--- -void backlight_task(void) { - // Optional - runs periodically - // Note that this is called in the main keyboard loop, - // so long running actions here can cause performance issues -} -``` +### `void backlight_increase(void)` :id=api-backlight-increase -## Example Schematic +Increase the backlight level. -In this typical example, the backlight LEDs are all connected in parallel towards an N-channel MOSFET. Its gate pin is wired to one of the microcontroller's GPIO pins through a 470â„Ķ resistor to avoid ringing. -A pulldown resistor is also placed between the gate pin and ground to keep it at a defined state when it is not otherwise being driven by the MCU. -The values of these resistors are not critical - see [this Electronics StackExchange question](https://electronics.stackexchange.com/q/68748) for more information. +--- -![Backlight example circuit](https://i.imgur.com/BmAvoUC.png) +### `void backlight_decrease(void)` :id=api-backlight-decrease + +Decrease the backlight level. + +--- + +### `void backlight_level(uint8_t level)` :id=api-backlight-level + +Set the backlight level. + +#### Arguments :id=api-backlight-level-arguments + + - `uint8_t level` + The level to set, from 0 to `BACKLIGHT_LEVELS`. + +--- + +### `uint8_t get_backlight_level(void)` :id=api-get-backlight-level + +Get the current backlight level. + +#### Return Value :id=api-get-backlight-level-return + +The current backlight level, from 0 to `BACKLIGHT_LEVELS`. + +--- + +### `bool is_backlight_enabled(void)` :id=api-is-backlight-enabled + +Get the current backlight state. + +#### Return Value :id=api-is-backlight-enabled-return + +`true` if the backlight is enabled. + +--- + +### `void backlight_toggle_breathing(void)` :id=api-backlight-toggle-breathing + +Toggle backlight breathing on or off. + +--- + +### `void backlight_enable_breathing(void)` :id=api-backlight-enable-breathing + +Turn backlight breathing on. + +--- + +### `void backlight_disable_breathing(void)` :id=api-backlight-disable-breathing + +Turn backlight breathing off. + +--- + +### `bool is_backlight_breathing(void)` :id=api-is-backlight-breathing + +Get the current backlight breathing state. + +#### Return Value :id=api-is-backlight-breathing-return + +`true` if backlight breathing is enabled. diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md index f7ded84d8679..5fac06fba756 100644 --- a/docs/feature_bluetooth.md +++ b/docs/feature_bluetooth.md @@ -4,10 +4,10 @@ Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input. -|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip| -|----------------------------------------------------------------|--------------------|---------------|--------------------------------|--------------| -|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = RN42` |RN-42 | -|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = BluefruitLE`|nRF51822 | +|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip| +|----------------------------------------------------------------|--------------------|---------------|---------------------------------|--------------| +|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = rn42` |RN-42 | +|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = bluefruit_le`|nRF51822 | Not Supported Yet but possible: * [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514) @@ -32,7 +32,7 @@ Add the following to your `rules.mk`: ```make BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE # or RN42 +BLUETOOTH_DRIVER = bluefruit_le # or rn42 ``` ## Bluetooth Keycodes diff --git a/docs/feature_combo.md b/docs/feature_combo.md index fd241061fbf4..2e802446b6b4 100644 --- a/docs/feature_combo.md +++ b/docs/feature_combo.md @@ -345,10 +345,9 @@ is not set, all other layers will reference themselves. } return layer; // important if default is not in case. } - ``` - - The equivalent definition using the combo macros is this: + +The equivalent definition using the combo macros is this: ```c COMBO_REF_LAYER(_DVORAK, _QWERTY) diff --git a/docs/feature_converters.md b/docs/feature_converters.md index b1abfa373ad8..11bdbed576b5 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -1,12 +1,10 @@ # Converters -Since many drop-in replacement controllers now exist, we've done our best to make them easy to use in existing designs. +This page documents the automated process for converting keyboards to use drop-in replacement controllers. This process is designed to be easy to use and can be completed in a few simple steps. -This page documents the handy automated process for converting keyboards. +## Supported Converters -### Supported Converters - -Currently the following converters are available: +The following converters are available at this time: | From | To | |------------|-------------------| @@ -28,14 +26,10 @@ Currently the following converters are available: | `elite_c` | `helios` | | `elite_c` | `liatris` | -See below for more in depth information on each converter. ## Overview -Each converter category is broken down by its declared `pin compatibility`. -This ensures that only valid combinations are attempted. - -You can generate the firmware by appending `-e CONVERT_TO=` to your compile/flash command. For example: +Each converter category is broken down by its declared `pin compatibility`. This ensures that only valid combinations are attempted. You can generate the firmware by appending `-e CONVERT_TO=` to your compile/flash command. For example: ```sh qmk flash -c -kb keebio/bdn9/rev1 -km default -e CONVERT_TO=proton_c @@ -59,14 +53,12 @@ Once a converter is enabled, it exposes the `CONVERT_TO_` flag ### Pin Compatibility -To ensure compatibility, provide validation, and power future workflows, a keyboard should declare its `pin compatibility`. For legacy reasons, this is currently assumed to be `promicro`. - -Currently the following pin compatibility interfaces are defined: +To ensure compatibility, provide validation, and enable future workflows, a keyboard should declare its `pin compatibility`. For legacy reasons, this is currently assumed to be `promicro`. The following pin compatibility interfaces are currently defined: -| Pinout | Notes | -|------------|-----------------------------------| -| `promicro` | Includes RX/TX LEDs | -| `elite_c` | Includes bottom row pins, no LEDs | +| Pin Compatibility | Notes | +|-------------------|-----------------------------------| +| `promicro` | Includes RX/TX LEDs | +| `elite_c` | Includes bottom row pins, no LEDs | To declare the base for conversions, add this line to your keyboard's `rules.mk`: @@ -140,7 +132,7 @@ The following defaults are based on what has been implemented for [RP2040](platf ### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi :id=promicro_rp2040 -Currently identical to [Adafruit KB2040](#kb2040). +Feature set is identical to [Adafruit KB2040](#kb2040). ### STeMCell :id=stemcell @@ -150,9 +142,7 @@ There are two versions of STeMCell available, with different pinouts: - v2.0.0 (pre-release v1.0.1, v1.0.2) Default official firmware only supports v2.0.0 STeMCell. -STeMCell has support to swap UART and I2C pins, to enable single-wire uart communication in STM chips. - -The following additional flags has to be used while compiling, based on the pin used for split communication. +STeMCell has support to swap UART and I2C pins to enable single-wire uart communication in STM chips. The following additional flags has to be used while compiling, based on the pin used for split communication: | Split Pin | Compile flags | |-----------|---------------| @@ -173,11 +163,8 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro ### RP2040 Community Edition - Elite-Pi, Helios, and Liatris :id=rp2040_ce -Feature set currently identical to [Adafruit KB2040](#kb2040). - -Enables VBUS detection by default for superior split keyboard support. +Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the [Community Edition pinout](platformdev_rp2040.md#rp2040_ce) docs. -For more information, refer to the [RP2040 Community Edition](platformdev_rp2040.md#rp2040_ce) docs. ## Elite-C @@ -202,8 +189,8 @@ Converter summary: ### STeMCell :id=stemcell_elite -Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins. +Identical to [Pro Micro - STeMCell](#stemcell) with support for the additional bottom row of pins. ### RP2040 Community Edition :id=rp2040_ce_elite -Currently identical to [RP2040 Community Edition](#rp2040_ce), with support for the additional bottom row of pins. +Identical to [Pro Micro - RP2040 Community Edition](#rp2040_ce) with support for the additional bottom row of pins. diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index b456bad736f8..68145edd6cca 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -4,11 +4,12 @@ The following options are currently available for haptic feedback in `rules.mk`: -``` +```make HAPTIC_ENABLE = yes -HAPTIC_DRIVER += DRV2605L -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = drv2605l +# or +HAPTIC_DRIVER = solenoid ``` The following `config.h` settings are available for all types of haptic feedback: @@ -92,30 +93,30 @@ This driver supports 2 different feedback motors. Set the following in your `con Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight attached so when drive signal is attached, the off-set weight spins and causes a sinusoidal wave that translate into vibrations. -``` -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +```c +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 ``` ##### LRA Linear resonant actuators (LRA, also know as a linear vibrator) works different from a ERM. A LRA has a weight and magnet suspended by springs and a voice coil. When the drive signal is applied, the weight would be vibrate on a single axis (side to side or up and down). Since the weight is attached to a spring, there is a resonance effect at a specific frequency. This frequency is where the LRA will operate the most efficiently. Refer to the motor's datasheet for the recommanded range for this frequency. -``` -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +```c +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define V_PEAK 2.1 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.1 +#define DRV2605L_F_LRA 205 /* resonance freq */ ``` #### DRV2605L waveform library @@ -170,13 +171,13 @@ List of waveform sequences from the datasheet: | 42 | lg_dblclick_med_80 | 84 | transition_rampup_med_smooth1 | | | ### Optional DRV2605L defines -``` -#define DRV_GREETING *sequence name or number* +```c +#define DRV2605L_GREETING *sequence name or number* ``` If haptic feedback is enabled, the keyboard will vibrate to a specific sequence during startup. That can be selected using the following define: -``` -#define DRV_MODE_DEFAULT *sequence name or number* +```c +#define DRV2605L_DEFAULT_MODE *sequence name or number* ``` This will set what sequence `HF_RST` will set as the active mode. If not defined, mode will be set to 1 when `HF_RST` is pressed. diff --git a/docs/feature_hd44780.md b/docs/feature_hd44780.md index 4ade640baae7..dcbd656bbee4 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 608eb001e4b8..59eced95c364 100644 --- a/docs/feature_key_overrides.md +++ b/docs/feature_key_overrides.md @@ -21,7 +21,7 @@ Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, The `key_override_t` struct has many options that allow you to precisely tune your overrides. The full reference is shown below. Instead of manually creating a `key_override_t` value, it is recommended to use these dedicated initializers: #### `ko_make_basic(modifiers, key, replacement)` -Returns a `key_override_t`, which sends `replacement` (can be a key-modifer combination), when `key` and `modifiers` are all pressed down. This override still activates if any additional modifiers not specified in `modifiers` are also pressed down. See `ko_make_with_layers_and_negmods` to customize this behavior. +Returns a `key_override_t`, which sends `replacement` (can be a key-modifier combination), when `key` and `modifiers` are all pressed down. This override still activates if any additional modifiers not specified in `modifiers` are also pressed down. See `ko_make_with_layers_and_negmods` to customize this behavior. #### `ko_make_with_layers(modifiers, key, replacement, layers)` Additionally takes a bitmask `layers` that defines on which layers the override is used. @@ -224,4 +224,31 @@ 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. +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 interaction 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_led_matrix.md b/docs/feature_led_matrix.md index bc86099f1ffe..b1ce09d34946 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -12,21 +12,20 @@ There is basic support for addressable LED matrix lighting with the I2C IS31FL37 ```make LED_MATRIX_ENABLE = yes -LED_MATRIX_DRIVER = IS31FL3731 +LED_MATRIX_DRIVER = is31fl3731 ``` You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | -| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | | +| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | -| `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | | -| `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | | -| `LED_DRIVER_ADDR_3` | (Optional) Address for the third LED driver | | -| `LED_DRIVER_ADDR_4` | (Optional) Address for the fourth LED driver | | +| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first LED driver | | +| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second LED driver | | +| `IS31FL3731_I2C_ADDRESS_3` | (Optional) Address for the third LED driver | | +| `IS31FL3731_I2C_ADDRESS_4` | (Optional) Address for the fourth LED driver | | Here is an example using 2 drivers. @@ -34,14 +33,15 @@ Here is an example using 2 drivers. // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) // The address will vary depending on your wiring: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define LED_DRIVER_ADDR_1 0b1110100 -#define LED_DRIVER_ADDR_2 0b1110110 - -#define LED_DRIVER_COUNT 2 +// 00 AD <-> GND +// 01 AD <-> SCL +// 10 AD <-> SDA +// 11 AD <-> VCC +// ADDR represents A1:A0 of the 7-bit address. +// The result is: 0b11101(ADDR) +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA + #define LED_DRIVER_1_LED_TOTAL 25 #define LED_DRIVER_2_LED_TOTAL 24 #define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) @@ -49,12 +49,12 @@ Here is an example using 2 drivers. !> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`. -For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`. +For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `IS31FL3731_I2C_ADDRESS_1` for one and `IS31FL3731_I2C_ADDRESS_2` for the other one. Then, in `g_is31fl3731_leds`, fill out the correct driver index (0 or 1). If using one address, use `IS31FL3731_I2C_ADDRESS_1` for both, and use index 0 for `g_is31fl3731_leds`. Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -94,7 +94,6 @@ Configure the hardware via your `config.h`: |----------|-------------|---------| | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `DRIVER_COUNT` | (Required) How many LED driver IC's are present | | | `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | | `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | | | `DRIVER_ADDR_` | (Required) Address for the additional LED drivers | | @@ -127,7 +126,6 @@ Here is an example using 2 drivers. ```c #define DRIVER_ADDR_2 0b0100001 -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 42 #define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -139,7 +137,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,8 +156,8 @@ 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] = { - * LED Index +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { +/* LED Index * | Scaling * | | */ {5, 120}, @@ -247,19 +245,17 @@ enum led_matrix_effects { LED_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom LED_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in LED_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard -#if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) LED_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit then fades out - LED_MATRIX_SOLID_REACTIVE_WIDE // Value pulses near a single key hit then fades out - LED_MATRIX_SOLID_REACTIVE_MULTIWIDE // Value pulses near multiple key hits then fades out - LED_MATRIX_SOLID_REACTIVE_CROSS // Value pulses the same column and row of a single key hit then fades out - LED_MATRIX_SOLID_REACTIVE_MULTICROSS // Value pulses the same column and row of multiple key hits then fades out - LED_MATRIX_SOLID_REACTIVE_NEXUS // Value pulses away on the same column and row of a single key hit then fades out - LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out + LED_MATRIX_SOLID_REACTIVE_WIDE, // Value pulses near a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTIWIDE, // Value pulses near multiple key hits then fades out + LED_MATRIX_SOLID_REACTIVE_CROSS, // Value pulses the same column and row of a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTICROSS, // Value pulses the same column and row of multiple key hits then fades out + LED_MATRIX_SOLID_REACTIVE_NEXUS, // Value pulses away on the same column and row of a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTINEXUS, // Value pulses away on the same column and row of multiple key hits then fades out LED_MATRIX_SOLID_SPLASH, // Value pulses away from a single key hit then fades out LED_MATRIX_SOLID_MULTISPLASH, // Value pulses away from multiple key hits then fades out -#endif - LED_MATRIX_WAVE_LEFT_RIGHT // Sine wave scrolling from left to right - LED_MATRIX_WAVE_UP_DOWN // Sine wave scrolling from up to down + LED_MATRIX_WAVE_LEFT_RIGHT, // Sine wave scrolling from left to right + LED_MATRIX_WAVE_UP_DOWN, // Sine wave scrolling from up to down LED_MATRIX_EFFECT_MAX }; ``` @@ -281,8 +277,6 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT` |Enables `LED_MATRIX_WAVE_LEFT_RIGHT` | |`#define ENABLE_LED_MATRIX_WAVE_UP_DOWN` |Enables `LED_MATRIX_WAVE_UP_DOWN` | -?> These modes don't require any additional defines. - |Reactive Defines |Description | |-------------------------------------------------------|----------------------------------------------| |`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE` |Enables `LED_MATRIX_SOLID_REACTIVE_SIMPLE` | @@ -295,7 +289,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_LED_MATRIX_SOLID_SPLASH` |Enables `LED_MATRIX_SOLID_SPLASH` | |`#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH` |Enables `LED_MATRIX_SOLID_MULTISPLASH` | -?> These modes also require the `LED_MATRIX_KEYPRESSES` or `LED_MATRIX_KEYRELEASES` define to be available. +?> These modes introduce additional logic that can increase firmware size. ## Custom LED Matrix Effects :id=custom-led-matrix-effects @@ -361,19 +355,18 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ ## Additional `config.h` Options :id=additional-configh-options ```c -#define LED_MATRIX_KEYPRESSES // reacts to keypresses -#define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +#define LED_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define LED_MATRIX_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off #define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define LED_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 LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs +#define LED_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set #define LED_MATRIX_DEFAULT_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set #define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define LED_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set #define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. - // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR ``` ## EEPROM storage :id=eeprom-storage @@ -433,7 +426,7 @@ The EEPROM for it is currently shared with the RGB Matrix system (it's generally ### Indicators :id=indicators -If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `led_matrix_indicators_kb` or `led_matrix_indicators_user` function for that: +If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, then you can use the `led_matrix_indicators_kb` function on the keyboard level source file, or `led_matrix_indicators_user` function in the user `keymap.c`. ```c bool led_matrix_indicators_kb(void) { if (!led_matrix_indicators_user()) { diff --git a/docs/feature_macros.md b/docs/feature_macros.md index 08310555fb77..c7d6c1a918a5 100644 --- a/docs/feature_macros.md +++ b/docs/feature_macros.md @@ -27,7 +27,7 @@ You can define up to 32 macros in a `keymap.json` file, as used by [Configurator ], [ {"action":"tap", "keycodes": ["F1"]}, - {"action":"delay", "duration": "1000"}, + {"action":"delay", "duration": 1000}, {"action":"tap", "keycodes": ["PGDN"]} ] ], diff --git a/docs/feature_mouse_keys.md b/docs/feature_mouse_keys.md index eed4f4f4aaaf..42448325c9f6 100644 --- a/docs/feature_mouse_keys.md +++ b/docs/feature_mouse_keys.md @@ -67,6 +67,7 @@ This is the default mode. You can adjust the cursor and scrolling acceleration u |`MOUSEKEY_TIME_TO_MAX` |30 |Time until maximum cursor speed is reached | |`MOUSEKEY_WHEEL_DELAY` |10 |Delay between pressing a wheel key and wheel movement | |`MOUSEKEY_WHEEL_INTERVAL` |80 |Time between wheel movements | +|`MOUSEKEY_WHEEL_DELTA` |1 |Wheel movement step size | |`MOUSEKEY_WHEEL_MAX_SPEED` |8 |Maximum number of scroll steps per scroll action | |`MOUSEKEY_WHEEL_TIME_TO_MAX`|40 |Time until maximum scroll speed is reached | @@ -101,7 +102,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_oled_driver.md b/docs/feature_oled_driver.md index a62294b23a62..5a583fd40eee 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -10,6 +10,7 @@ Tested combinations: |SSD1306 |128x32 |AVR |Primary support | |SSD1306 |128x64 |AVR |Verified working | |SSD1306 |128x32 |Arm | | +|SSD1306 |128x64 |Arm |Verified working | |SH1106 |128x64 |AVR |No scrolling | |SH1107 |64x128 |AVR |No scrolling | |SH1107 |64x128 |Arm |No scrolling | @@ -29,17 +30,17 @@ OLED_ENABLE = yes |OLED Driver |Supported Device | |-------------------|------------------------------------| -|SSD1306 (default) |For both SSD1306, SH1106, and SH1107| +|`ssd1306` (default)|For both SSD1306, SH1106, and SH1107| e.g. ```make -OLED_DRIVER = SSD1306 +OLED_DRIVER = ssd1306 ``` |OLED Transport | | |---------------|------------------------------------------------| -|i2c (default) | Uses I2C for communication with the OLED panel | -|spi | Uses SPI for communication with the OLED panel | +|`i2c` (default)| Uses I2C for communication with the OLED panel | +|`spi` | Uses SPI for communication with the OLED panel | e.g. ```make @@ -166,6 +167,28 @@ bool oled_task_user(void) { #endif ``` +Render a message before booting into bootloader mode. +```c +void oled_render_boot(bool bootloader) { + oled_clear(); + for (int i = 0; i < 16; i++) { + oled_set_cursor(0, i); + if (bootloader) { + oled_write_P(PSTR("Awaiting New Firmware "), false); + } else { + oled_write_P(PSTR("Rebooting "), false); + } + } + + oled_render_dirty(true); +} + +bool shutdown_user(bool jump_to_bootloader) { + oled_render_boot(jump_to_bootloader); +} + +``` + ## Basic Configuration These configuration options should be placed in `config.h`. Example: @@ -190,7 +213,7 @@ These configuration options should be placed in `config.h`. Example: |`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. | |`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of screen update inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | |`OLED_UPDATE_INTERVAL` |`0` (`50` for split keyboards) |Set the time interval for updating the OLED display in ms. This will improve the matrix scan rate. | -|`OLED_UPDATE_PROCESS_LIMIT'|`1` |Set the number of dirty blocks to render per loop. Increasing may degrade performance. | +|`OLED_UPDATE_PROCESS_LIMIT`|`1` |Set the number of dirty blocks to render per loop. Increasing may degrade performance. | ### I2C Configuration |Define |Default |Description | @@ -275,7 +298,7 @@ Rotation on SH1106 and SH1107 is noticeably less efficient than on SSD1306, beca ## OLED API ```c -// OLED rotation enum values are flags +// OLED Rotation enum values are flags typedef enum { OLED_ROTATION_0 = 0, OLED_ROTATION_90 = 1, @@ -283,7 +306,7 @@ typedef enum { OLED_ROTATION_270 = 3, // OLED_ROTATION_90 | OLED_ROTATION_180 } oled_rotation_t; -// Initialize the OLED display, rotating the rendered output based on the define passed in. +// Initialize the oled display, rotating the rendered output based on the define passed in. // Returns true if the OLED was initialized successfully bool oled_init(oled_rotation_t rotation); @@ -301,8 +324,12 @@ bool oled_send_data(const uint8_t *data, uint16_t size); // Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering void oled_clear(void); -// Renders the dirty chunks of the buffer to OLED display -void oled_render(void); +// Alias to oled_render_dirty to avoid a change in api. +#define oled_render() oled_render_dirty(false) + +// Renders all dirty blocks to the display at one time or a subset depending on the value of +// all. +void oled_render_dirty(bool all); // Moves cursor to character position indicated by column and line, wraps if out of bounds // Max column denoted by 'oled_max_chars()' and max lines by 'oled_max_lines()' functions @@ -333,8 +360,6 @@ void oled_write_ln(const char *data, bool invert); // Pans the buffer to the right (or left by passing true) by moving contents of the buffer // Useful for moving the screen in preparation for new drawing -// oled_scroll_left or oled_scroll_right should be preferred for all cases of moving a static -// image such as a logo or to avoid burn-in as it's much, much less cpu intensive void oled_pan(bool left); // Returns a pointer to the requested start index in the buffer plus remaining @@ -351,6 +376,7 @@ void oled_write_raw_byte(const char data, uint16_t index); // Coordinates start at top-left and go right and down for positive x and y void oled_write_pixel(uint8_t x, uint8_t y, bool on); +#if defined(__AVR__) // Writes a PROGMEM string to the buffer at current cursor position // Advances the cursor while writing, inverts the pixels if true // Remapped to call 'void oled_write(const char *data, bool invert);' on ARM @@ -364,6 +390,11 @@ void oled_write_ln_P(const char *data, bool invert); // Writes a PROGMEM string to the buffer at current cursor position void oled_write_raw_P(const char *data, uint16_t size); +#else +# define oled_write_P(data, invert) oled_write(data, invert) +# define oled_write_ln_P(data, invert) oled_write_ln(data, invert) +# define oled_write_raw_P(data, size) oled_write_raw(data, size) +#endif // defined(__AVR__) // Can be used to manually turn on the screen if it is off // Returns true if the screen was on or turns on @@ -398,7 +429,7 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line); // Sets scroll speed, 0-7, fastest to slowest. Default is three. // Does not take effect until scrolling is either started or restarted // the ssd1306 supports 8 speeds with the delay -// listed below betwen each frame of the scrolling effect +// listed below between each frame of the scrolling effect // 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256 void oled_scroll_set_speed(uint8_t speed); diff --git a/docs/feature_os_detection.md b/docs/feature_os_detection.md index f32e419807f7..907638bcfae1 100644 --- a/docs/feature_os_detection.md +++ b/docs/feature_os_detection.md @@ -36,10 +36,15 @@ This time is quite short, probably hundreds of milliseconds, but this data may b If OS is guessed incorrectly, you may want to collect data about USB setup packets to refine the detection logic. -To do so in your `rules.mk` add: +To do so in your `config.h` add: + +```c +#define OS_DETECTION_DEBUG_ENABLE +``` + +And in your `rules.mk` add: ```make -OS_DETECTION_DEBUG_ENABLE = yes CONSOLE_ENABLE = yes ``` diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 909eff826de1..0ac0069ff8b6 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -74,6 +74,71 @@ The Analog Joystick is an analog (ADC) driven sensor. There are a variety of jo | `ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maximum value used for motion. | `2` | | `ANALOG_JOYSTICK_CLICK_PIN` | (Optional) The pin wired up to the press switch of the analog stick. | _not defined_ | +### Azoteq IQS5XX Trackpad + +To use a Azoteq IQS5XX trackpad, add this to your `rules.mk`: + +```make +POINTING_DEVICE_DRIVER = azoteq_iqs5xx +``` + +This supports the IQS525, IQS550 and IQS572 controllers, with the latter two being used in the TPS43 and TPS65 trackpads. + +#### Device settings + +Specific device profiles are provided which set the required values for dimensions and resolution. + +| Setting | Description | +| -------------------------------- | ---------------------------------------------------------- | +| `AZOTEQ_IQS5XX_TPS43` | (Pick One) Sets resolution/mm to TPS43 specifications. | +| `AZOTEQ_IQS5XX_TPS65` | (Pick One) Sets resolution/mm to TPS65 specifications. | + +?> If using one of the above defines you can skip to gesture settings. + +| Setting | Description | Default | +| -------------------------------- | ---------------------------------------------------------- | ------------- | +| `AZOTEQ_IQS5XX_WIDTH_MM` | (Required) Width of the trackpad sensor in millimeters. | _not defined_ | +| `AZOTEQ_IQS5XX_HEIGHT_MM` | (Required) Height of the trackpad sensor in millimeters. | _not defined_ | +| `AZOTEQ_IQS5XX_RESOLUTION_X` | (Optional) Specify X resolution for CPI calculation. | _not defined_ | +| `AZOTEQ_IQS5XX_RESOLUTION_Y` | (Optional) Specify Y resolution for CPI calculation. | _not defined_ | + +**`AZOTEQ_IQS5XX_RESOLUTION_X/Y`** fall back resolutions are provided within the driver based on controller model. + +| I2C Setting | Description | Default | +| ------------------------- | ------------------------------------------------------------------------------- | ------- | +| `AZOTEQ_IQS5XX_ADDRESS` | (Optional) Sets the I2C Address for the Azoteq trackpad | `0xE8` | +| `AZOTEQ_IQS5XX_TIMEOUT_MS`| (Optional) The timeout for i2c communication with in milliseconds. | `10` | + +#### Gesture settings + +| Setting | Description | Default | +| ----------------------------------------- | ------------------------------------------------------------------------------------ | ----------- | +| `AZOTEQ_IQS5XX_TAP_ENABLE` | (Optional) Enable single finger tap. (Left click) | `true` | +| `AZOTEQ_IQS5XX_TWO_FINGER_TAP_ENABLE` | (Optional) Enable two finger tap. (Right click) | `true` | +| `AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE` | (Optional) Emulates holding left click to select text. | `false` | +| `AZOTEQ_IQS5XX_SWIPE_X_ENABLE` | (Optional) Enable swipe gestures X+ (Mouse Button 5) / X- (Mouse Button 4) | `false` | +| `AZOTEQ_IQS5XX_SWIPE_Y_ENABLE` | (Optional) Enable swipe gestures Y+ (Mouse Button 3) / Y- (Mouse Button 6) | `false` | +| `AZOTEQ_IQS5XX_ZOOM_ENABLE` | (Optional) Enable zoom gestures Zoom Out (Mouse Button 7) / Zoom In (Mouse Button 8) | `false` | +| `AZOTEQ_IQS5XX_SCROLL_ENABLE` | (Optional) Enable scrolling using two fingers. | `true` | +| `AZOTEQ_IQS5XX_TAP_TIME` | (Optional) Maximum time in ms for tap to be registered. | `150` | +| `AZOTEQ_IQS5XX_TAP_DISTANCE` | (Optional) Maximum deviation in pixels before single tap is no longer valid. | `25` | +| `AZOTEQ_IQS5XX_HOLD_TIME` | (Optional) Minimum time in ms for press and hold. | `300` | +| `AZOTEQ_IQS5XX_SWIPE_INITIAL_TIME` | (Optional) Maximum time to travel initial distance before swipe is registered. | `150` | +| `AZOTEQ_IQS5XX_SWIPE_INITIAL_DISTANCE` | (Optional) Minimum travel in pixels before swipe is registered. | `300` | +| `AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_TIME` | (Optional) Maximum time to travel consecutive distance before swipe is registered. | `0` | +| `AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_DISTANCE`| (Optional) Minimum travel in pixels before a consecutive swipe is registered. | `2000` | +| `AZOTEQ_IQS5XX_SCROLL_INITIAL_DISTANCE` | (Optional) Minimum travel in pixels before scroll is registered. | `50` | +| `AZOTEQ_IQS5XX_ZOOM_INITIAL_DISTANCE` | (Optional) Minimum travel in pixels before zoom is registered. | `50` | +| `AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE` | (Optional) Maximum time to travel zoom distance before zoom is registered. | `25` | + +#### Rotation settings + +| Setting | Description | Default | +| ---------------------------- | ---------------------------------------------------------- | ------------- | +| `AZOTEQ_IQS5XX_ROTATION_90` | (Optional) Configures hardware for 90 degree rotation. | _not defined_ | +| `AZOTEQ_IQS5XX_ROTATION_180` | (Optional) Configures hardware for 180 degree rotation. | _not defined_ | +| `AZOTEQ_IQS5XX_ROTATION_270` | (Optional) Configures hardware for 270 degree rotation. | _not defined_ | + ### Cirque Trackpad To use the Cirque Trackpad sensor, add this to your `rules.mk`: @@ -735,9 +800,11 @@ layer_state_t layer_state_set_user(layer_state_t state) { #### Set different target layer when a particular layer is active: -The below code will change the auto mouse layer target to `_MOUSE_LAYER_2` when `_DEFAULT_LAYER_2` is highest default layer state. -*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack* if something similar was to be done in `layer_state_set_user `state = remove_auto_mouse_layer(state, false)` should be used instead -*ADDITIONAL NOTE: `AUTO_MOUSE_TARGET_LAYER` is checked if already set to avoid deactivating the target layer unless needed* +The below code will change the auto mouse layer target to `_MOUSE_LAYER_2` when `_DEFAULT_LAYER_2` is highest default layer state. + +*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack*, if something similar was to be done in `layer_state_set_user`, `state = remove_auto_mouse_layer(state, false)` should be used instead. + +*ADDITIONAL NOTE: `AUTO_MOUSE_TARGET_LAYER` is checked if already set to avoid deactivating the target layer unless needed*. ```c // in keymap.c diff --git a/docs/feature_programmable_button.md b/docs/feature_programmable_button.md index 43a9e7fc1602..091464e19c03 100644 --- a/docs/feature_programmable_button.md +++ b/docs/feature_programmable_button.md @@ -2,7 +2,7 @@ Programmable Buttons are keys that have no predefined meaning. This means they can be processed on the host side by custom software without the operating system trying to interpret them. -The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x07`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`). +The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x09`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`). ?> Currently there is no known support in Windows or macOS. It may be possible to write a custom HID driver to receive these usages, but this is out of the scope of the QMK documentation. diff --git a/docs/feature_ps2_mouse.md b/docs/feature_ps2_mouse.md index e714d9b86763..766fd6fe78f5 100644 --- a/docs/feature_ps2_mouse.md +++ b/docs/feature_ps2_mouse.md @@ -155,6 +155,29 @@ In your keyboard config.h: #endif ``` +### RP2040 PIO Version :id=rp2040-pio-version + +The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU. + +There are strict requirements for pin ordering but any pair of GPIO pins can be used. The GPIO used for clock must be directly after data, see the included info.json snippet for an example of correct order. + +You may optionally switch the PIO peripheral used with the following define in config.h: +```c +#define PS2_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the PS2 implementation uses the PIO0 peripheral +``` + +Example info.json content: + +```json + "ps2": { + "clock_pin": "GP1", + "data_pin": "GP0", + "driver": "vendor", + "enabled": true, + "mouse_enabled": true + } +``` + ## Additional Settings :id=additional-settings ### PS/2 Mouse Features :id=ps2-mouse-features diff --git a/docs/feature_rawhid.md b/docs/feature_rawhid.md index 558a23a80fb0..094dd21c7e9a 100644 --- a/docs/feature_rawhid.md +++ b/docs/feature_rawhid.md @@ -1,69 +1,156 @@ -# Raw HID +# Raw HID :id=raw-hid -Raw HID allows for bidirectional communication between QMK and the host computer over an HID interface. This has many potential use cases, such as switching keymaps on the fly or changing RGB LED colors and modes. +The Raw HID feature allows for bidirectional communication between QMK and the host computer over an HID interface. This has many potential use cases, such as switching keymaps on the fly or sending useful metrics like CPU/RAM usage. -There are two main components to getting raw HID working with your keyboard. +In order to communicate with the keyboard using this feature, you will need to write a program that runs on the host. As such, some basic programming skills are required - more if you intend to implement complex behaviour. -## Keyboard firmware +## Usage :id=usage -The implementation is fairly straightforward for the firmware. -In your `rules.mk` add: +Add the following to your `rules.mk`: ```make RAW_ENABLE = yes ``` -In your `keymap.c` include `"raw_hid.h"` and implement the following: +## Basic Configuration :id=basic-configuration + +By default, the HID Usage Page and Usage ID for the Raw HID interface are `0xFF60` and `0x61`. However, they can be changed if necessary by adding the following to your `config.h`: + +|Define |Default |Description | +|----------------|--------|---------------------------------------| +|`RAW_USAGE_PAGE`|`0xFF60`|The usage page of the Raw HID interface| +|`RAW_USAGE_ID` |`0x61` |The usage ID of the Raw HID interface | + +## Sending Data to the Keyboard :id=sending-data-to-the-keyboard + +To send data to the keyboard, you must first find a library for communicating with HID devices in the programming language of your choice. Here are some examples: + +* **Node.js:** [node-hid](https://github.com/node-hid/node-hid) +* **C/C++:** [hidapi](https://github.com/libusb/hidapi) +* **Java:** [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java) +* **Python:** [pyhidapi](https://pypi.org/project/hid/) + +Please refer to these libraries' own documentation for instructions on usage. Remember to close the device once you are finished with it! + +Next, you will need to know the USB Vendor and Product IDs of the device. These can easily be found by looking at your keyboard's `info.json`, under the `usb` object (alternatively, you can also use Device Manager on Windows, System Information on macOS, or `lsusb` on Linux). For example, the Vendor ID for the Planck Rev 6 is `0x03A8`, and the Product ID is `0xA4F9`. + +It's also a good idea to narrow down the list of potential HID devices the library may give you by filtering on the usage page and usage ID, to avoid accidentally opening the interface on the same device for the keyboard, or mouse, or media keys, etc. + +Once you are able to open the HID device and send reports to it, it's time to handle them on the keyboard side. Implement the following function in your `keymap.c` and start coding: ```c void raw_hid_receive(uint8_t *data, uint8_t length) { - // Your code goes here. data is the packet received from host. + // Your code goes here + // `data` is a pointer to the buffer containing the received HID report + // `length` is the length of the report - always `RAW_EPSIZE` } ``` -The `"raw_hid.h"` header also declares `void raw_hid_send(uint8_t *data, uint8_t length);` which allows sending packets from keyboard to host. As an example, it can also be used for debugging when building your host application by returning all data back to the host. +!> Because the HID specification does not support variable length reports, all reports in both directions must be exactly `RAW_EPSIZE` (currently 32) bytes long, regardless of actual payload length. However, variable length payloads can potentially be implemented on top of this by creating your own data structure that may span multiple reports. + +## Receiving Data from the Keyboard :id=receiving-data-from-the-keyboard + +If you need the keyboard to send data back to the host, simply call the `raw_hid_send()` function. It requires two arguments - a pointer to a 32-byte buffer containing the data you wish to send, and the length (which should always be `RAW_EPSIZE`). + +The received report can then be handled in whichever way your HID library provides. + +## Simple Example :id=simple-example + +The following example reads the first byte of the received report from the host, and if it is an ASCII "A", responds with "B". `memset()` is used to fill the response buffer (which could still contain the previous response) with null bytes. ```c void raw_hid_receive(uint8_t *data, uint8_t length) { - raw_hid_send(data, length); + uint8_t response[length]; + memset(response, 0, length); + response[0] = 'B'; + + if(data[0] == 'A') { + raw_hid_send(response, length); + } } ``` -These two functions send and receive packets of length `RAW_EPSIZE` bytes to and from the host (32 on LUFA/ChibiOS/V-USB, 64 on ATSAM). +On the host side (here we are using Python and the `pyhidapi` library), the HID device is opened by enumerating the interfaces on the USB device, then filtering on the usage page and usage ID. Then, a report containing a single ASCII "A" (hex `0x41`) is constructed and sent. + +For demonstration purposes, the manufacturer and product strings of the device, along with the request and response, are also printed. + +```python +import sys +import hid + +vendor_id = 0x4335 +product_id = 0x0002 + +usage_page = 0xFF60 +usage = 0x61 +report_length = 32 + +def get_raw_hid_interface(): + device_interfaces = hid.enumerate(vendor_id, product_id) + raw_hid_interfaces = [i for i in device_interfaces if i['usage_page'] == usage_page and i['usage'] == usage] + + if len(raw_hid_interfaces) == 0: + return None -Make sure to flash raw enabled firmware before proceeding with working on the host side. + interface = hid.Device(path=raw_hid_interfaces[0]['path']) -## Host (Windows/macOS/Linux) + print(f"Manufacturer: {interface.manufacturer}") + print(f"Product: {interface.product}") -This is the more complicated part as it will require some digging. + return interface -To connect your host computer to your keyboard with raw HID you need four pieces of information about your keyboard: +def send_raw_report(data): + interface = get_raw_hid_interface() -1. Vendor ID -2. Product ID -3. Usage Page -4. Usage + if interface is None: + print("No device found") + sys.exit(1) + + request_data = [0x00] * (report_length + 1) # First byte is Report ID + request_data[1:len(data) + 1] = data + request_report = bytes(request_data) + + print("Request:") + print(request_report) + + try: + interface.write(request_report) + + response_report = interface.read(report_length, timeout=1000) + + print("Response:") + print(response_report) + finally: + interface.close() + +if __name__ == '__main__': + send_raw_report([ + 0x41 + ]) +``` -The first two can easily be found in your keyboard's `config.h` in the keyboard's main directory under `VENDOR_ID` and `PRODUCT_ID`. +## API :id=api -The final two can be overridden in your keyboard's `config.h` in the keyboard's main directory by redefining the values: `#define RAW_USAGE_PAGE 0xFF60` and `#define RAW_USAGE_ID 0x61`. +### `void raw_hid_receive(uint8_t *data, uint8_t length)` :id=api-raw-hid-receive -By default, **Usage Page** is `0xFF60` and **Usage** is `0x61`. +Callback, invoked when a raw HID report has been received from the host. -### Building your host +#### Arguments :id=api-raw-hid-receive-arguments -You can build your host using any language that has an available HID implementation library if you don't wish to make your own. The ones we know of for popular languages are: + - `uint8_t *data` + A pointer to the received data. Always 32 bytes in length. + - `uint8_t length` + The length of the buffer. Always 32. -* Node: [node-hid](https://github.com/node-hid/node-hid). -* C: [hidapi](https://github.com/libusb/hidapi). -* Java: [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java). -* Python: [pyhidapi](https://pypi.org/project/hid/). +--- -This is not an exhaustive cross-platform list but should get you started. There are no special requirements for using raw HID so any HID library should work. +### `void raw_hid_send(uint8_t *data, uint8_t length)` :id=api-raw-hid-send -Now that you have all four pieces of information required to open HID interface to your keyboard. All you need to do is use your library's available functions to open the device with its ID parameters. +Send an HID report. -Note that Vendor ID and Product ID are not actually required to open the device. They are used only to filter to a specific device out of the many HID devices you have plugged in. Many libraries will give you the option to open the device using Product Name or Manufacturer Name instead, `node-hid` being a prime example. This will create issues for devices with builtin USB Hub or any extra HID interfaces where you will have multiple interfaces with the same name or from the same manufacturer. The Vendor ID together with Product ID create a unique designation to a single interface and will not exhibit this problem. Therefore, even if your library doesn't require you to, it is best to use them to avoid issues. -Unlike Vendor ID and Product ID though, Usage Page and Usage are necessary for successful communication. +#### Arguments :id=api-raw-hid-send-arguments -It should go without saying that regardless of the library you're using, you should always make sure to close the interface when finished. Depending on the operating system and your particular environment there may be issues connecting to it again afterwards with another client or another instance of the same client if it's not explicitly closed. + - `uint8_t *data` + A pointer to the data to send. Must always be 32 bytes in length. + - `uint8_t length` + The length of the buffer. Must always be 32. diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 75f07b5e64cf..824ff50648a2 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -12,22 +12,21 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3731 +RGB_MATRIX_DRIVER = is31fl3731 ``` You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | -| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `ISSI_3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `IS31FL3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | -| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | -| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | -| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | -| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | +| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | | +| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | | +| `IS31FL3731_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | | +| `IS31FL3731_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | | Here is an example using 2 drivers. @@ -35,14 +34,15 @@ Here is an example using 2 drivers. // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) // The address will vary depending on your wiring: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110110 - -#define DRIVER_COUNT 2 +// 00 AD <-> GND +// 01 AD <-> SCL +// 10 AD <-> SDA +// 11 AD <-> VCC +// ADDR represents A1:A0 of the 7-bit address. +// The result is: 0b11101(ADDR) +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA + #define DRIVER_1_LED_TOTAL 25 #define DRIVER_2_LED_TOTAL 24 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -50,12 +50,12 @@ Here is an example using 2 drivers. !> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. -For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`. +For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `IS31FL3731_I2C_ADDRESS_1` for one and `IS31FL3731_I2C_ADDRESS_2` for the other one. Then, in `g_is31fl3731_leds`, fill out the correct driver index (0 or 1). If using one address, use `IS31FL3731_I2C_ADDRESS_1` for both, and use index 0 for `g_is31fl3731_leds`. Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -76,41 +76,40 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3733 +RGB_MATRIX_DRIVER = is31fl3733 ``` You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | -| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3733B only | 0 | -| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | -| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `IS31FL3733_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `IS31FL3733_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `IS31FL3733_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3733B only | 0 | +| `IS31FL3733_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | +| `IS31FL3733_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | +| `IS31FL3733_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | -| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | -| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | -| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | -| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | -| `DRIVER_SYNC_1` | (Optional) Sync configuration for the first RGB driver | 0 | -| `DRIVER_SYNC_2` | (Optional) Sync configuration for the second RGB driver | 0 | -| `DRIVER_SYNC_3` | (Optional) Sync configuration for the third RGB driver | 0 | -| `DRIVER_SYNC_4` | (Optional) Sync configuration for the fourth RGB driver | 0 | - -The IS31FL3733 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`ISSI_SWPULLUP`/`ISSI_CSPULLUP` are given the value of`PUR_0R`), the values that can be set to enable de-ghosting are as follows: - -| `ISSI_SWPULLUP/ISSI_CSPULLUP` | Description | +| `IS31FL3733_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | | +| `IS31FL3733_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | | +| `IS31FL3733_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | | +| `IS31FL3733_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | | +| `IS31FL3733_SYNC_1` | (Optional) Sync configuration for the first RGB driver | 0 | +| `IS31FL3733_SYNC_2` | (Optional) Sync configuration for the second RGB driver | 0 | +| `IS31FL3733_SYNC_3` | (Optional) Sync configuration for the third RGB driver | 0 | +| `IS31FL3733_SYNC_4` | (Optional) Sync configuration for the fourth RGB driver | 0 | + +The IS31FL3733 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3733_SWPULLUP`/`IS31FL3733_CSPULLUP` are given the value of `IS31FL3733_PUR_0R`), the values that can be set to enable de-ghosting are as follows: + +| `IS31FL3733_SWPULLUP/IS31FL3733_CSPULLUP` | Description | |----------------------|-------------| -| `PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | -| `PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | -| `PUR_3KR` | The 3k Ohm resistor used at all times | -| `PUR_4KR` | The 4k Ohm resistor used at all times | -| `PUR_8KR` | The 8k Ohm resistor used at all times | -| `PUR_16KR` | The 16k Ohm resistor used at all times | -| `PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3733_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | +| `IS31FL3733_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3733_PUR_3KR` | The 3k Ohm resistor used at all times | +| `IS31FL3733_PUR_4KR` | The 4k Ohm resistor used at all times | +| `IS31FL3733_PUR_8KR` | The 8k Ohm resistor used at all times | +| `IS31FL3733_PUR_16KR` | The 16k Ohm resistor used at all times | +| `IS31FL3733_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | Here is an example using 2 drivers. @@ -118,17 +117,16 @@ Here is an example using 2 drivers. // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) // The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC +// 00 ADDRn <-> GND +// 01 ADDRn <-> SCL +// 10 ADDRn <-> SDA +// 11 ADDRn <-> VCC // ADDR1 represents A1:A0 of the 7-bit address. // ADDR2 represents A3:A2 of the 7-bit address. // The result is: 0b101(ADDR2)(ADDR1) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010011 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 58 #define DRIVER_2_LED_TOTAL 10 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -141,7 +139,7 @@ Currently only 4 drivers are supported, but it would be trivial to support all 8 Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -162,7 +160,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3736 +RGB_MATRIX_DRIVER = is31fl3736 ``` You can use between 1 and 4 IS31FL3736 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. @@ -170,31 +168,30 @@ Configure the hardware via your `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | -| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3736B only | 0 | -| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | -| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `IS31FL3736_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `IS31FL3736_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `IS31FL3736_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3736B only | 0 | +| `IS31FL3736_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | +| `IS31FL3736_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | +| `IS31FL3736_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | -| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | -| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | -| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | -| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | +| `IS31FL3736_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | | +| `IS31FL3736_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | | +| `IS31FL3736_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | | +| `IS31FL3736_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | | -The IS31FL3736 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`ISSI_SWPULLUP`/`ISSI_CSPULLUP` are given the value of`PUR_0R`), the values that can be set to enable de-ghosting are as follows: +The IS31FL3736 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3736_SWPULLUP`/`IS31FL3736_CSPULLUP` are given the value of `IS31FL3736_PUR_0R`), the values that can be set to enable de-ghosting are as follows: -| `ISSI_SWPULLUP/ISSI_CSPULLUP` | Description | +| `IS31FL3736_SWPULLUP/IS31FL3736_CSPULLUP` | Description | |----------------------|-------------| -| `PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | -| `PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | -| `PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) | -| `PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) | -| `PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) | -| `PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) | -| `PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) | -| `PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3736_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | +| `IS31FL3736_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3736_PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3736_PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3736_PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3736_PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) | +| `IS31FL3736_PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) | +| `IS31FL3736_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | Here is an example using 2 drivers. @@ -202,16 +199,16 @@ Here is an example using 2 drivers. // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) // The address will vary depending on your wiring: -// 0000 <-> GND -// 0101 <-> SCL -// 1010 <-> SDA -// 1111 <-> VCC -// ADDR represents A3:A0 of the 7-bit address. -// The result is: 0b101(ADDR) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010001 +// 00 ADDRn <-> GND +// 01 ADDRn <-> SCL +// 10 ADDRn <-> SDA +// 11 ADDRn <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) +#define IS31FL3736_I2C_ADDRESS_1 IS31FL3736_I2C_ADDRESS_GND_GND +#define IS31FL3736_I2C_ADDRESS_2 IS31FL3736_I2C_ADDRESS_GND_SCL -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 #define DRIVER_2_LED_TOTAL 32 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -221,7 +218,7 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3736_led_t PROGMEM g_is31fl3736_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -238,7 +235,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37 ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = IS31FL3737 +RGB_MATRIX_DRIVER = is31fl3737 ``` You can use between 1 and 4 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. @@ -246,31 +243,30 @@ Configure the hardware via your `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | -| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `ISSI_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3737B only | 0 | -| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | -| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `IS31FL3737_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `IS31FL3737_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `IS31FL3737_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3737B only | 0 | +| `IS31FL3737_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF | +| `IS31FL3737_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | +| `IS31FL3737_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | -| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | -| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | -| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | -| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | +| `IS31FL3737_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | | +| `IS31FL3737_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | | +| `IS31FL3737_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | | +| `IS31FL3737_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | | -The IS31FL3737 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`ISSI_SWPULLUP`/`ISSI_CSPULLUP` are given the value of`PUR_0R`), the values that can be set to enable de-ghosting are as follows: +The IS31FL3737 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3737_SWPULLUP`/`IS31FL3737_CSPULLUP` are given the value of `IS31FL3737_PUR_0R`), the values that can be set to enable de-ghosting are as follows: -| `ISSI_SWPULLUP/ISSI_CSPULLUP` | Description | +| `IS31FL3737_SWPULLUP/IS31FL3737_CSPULLUP` | Description | |----------------------|-------------| -| `PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | -| `PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | -| `PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) | -| `PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) | -| `PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) | -| `PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) | -| `PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) | -| `PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3737_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting | +| `IS31FL3737_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3737_PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3737_PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3737_PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) | +| `IS31FL3737_PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) | +| `IS31FL3737_PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) | +| `IS31FL3737_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) | Here is an example using 2 drivers. @@ -278,16 +274,15 @@ Here is an example using 2 drivers. // This is a 7-bit address, that gets left-shifted and bit 0 // set to 0 for write, 1 for read (as per I2C protocol) // The address will vary depending on your wiring: -// 0000 <-> GND -// 0101 <-> SCL -// 1010 <-> SDA -// 1111 <-> VCC +// 0000 ADDR <-> GND +// 0101 ADDR <-> SCL +// 1010 ADDR <-> SDA +// 1111 ADDR <-> VCC // ADDR represents A3:A0 of the 7-bit address. // The result is: 0b101(ADDR) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010001 +#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND +#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_SCL -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 #define DRIVER_2_LED_TOTAL 36 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -297,7 +292,7 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -338,7 +333,6 @@ Configure the hardware via your `config.h`: |----------|-------------|---------| | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | | | `DRIVER_ADDR_` | (Required) Address for the additional RGB drivers | | @@ -373,7 +367,6 @@ Here is an example using 2 drivers. ```c #define DRIVER_ADDR_2 0b0100001 -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 42 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -386,7 +379,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,8 +399,8 @@ 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] = { - * LED Index +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { +/* LED Index * | R scaling * | | G scaling * | | | B scaling @@ -428,7 +421,7 @@ There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{ ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 ``` Configure the hardware via your `config.h`: @@ -450,7 +443,7 @@ There is basic support for APA102 based addressable LED strands. To enable it, a ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = APA102 +RGB_MATRIX_DRIVER = apa102 ``` Configure the hardware via your `config.h`: @@ -465,41 +458,39 @@ Configure the hardware via your `config.h`: ``` --- -### AW20216 :id=aw20216 -There is basic support for addressable RGB matrix lighting with the SPI AW20216 RGB controller. To enable it, add this to your `rules.mk`: +### AW20216S :id=aw20216s +There is basic support for addressable RGB matrix lighting with the SPI AW20216S RGB controller. To enable it, add this to your `rules.mk`: ```make RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = AW20216 +RGB_MATRIX_DRIVER = aw20216s ``` -You can use up to 2 AW20216 IC's. Do not specify `DRIVER__xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: +You can use up to 2 AW20216S IC's. Do not specify `DRIVER__xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: | Variable | Description | Default | |----------|-------------|---------| -| `DRIVER_1_CS` | (Required) MCU pin connected to first RGB driver chip select line | B13 | -| `DRIVER_2_CS` | (Optional) MCU pin connected to second RGB driver chip select line | | -| `DRIVER_1_EN` | (Required) MCU pin connected to first RGB driver hardware enable line | C13 | -| `DRIVER_2_EN` | (Optional) MCU pin connected to second RGB driver hardware enable line | | +| `AW20216S_CS_PIN_1` | (Required) MCU pin connected to first RGB driver chip select line | B13 | +| `AW20216S_CS_PIN_2` | (Optional) MCU pin connected to second RGB driver chip select line | | +| `AW20216S_EN_PIN_1` | (Required) MCU pin connected to first RGB driver hardware enable line | C13 | +| `AW20216S_EN_PIN_2` | (Optional) MCU pin connected to second RGB driver hardware enable line | | | `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver | | | `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver | | -| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | | `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | -| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 | -| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 | -| `AW_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 | -| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 | +| `AW20216S_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 | +| `AW20216S_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 | +| `AW20216S_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 | +| `AW20216S_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 | Here is an example using 2 drivers. ```c -#define DRIVER_1_CS B13 -#define DRIVER_2_CS B14 +#define AW20216S_CS_PIN_1 B13 +#define AW20216S_CS_PIN_2 B14 // Hardware enable lines may be connected to the same pin -#define DRIVER_1_EN C13 -#define DRIVER_2_EN C13 +#define AW20216S_EN_PIN_1 C13 +#define AW20216S_EN_PIN_2 C13 -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 32 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -510,10 +501,10 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Each AW20216 channel is controlled by a register at some offset between 0x00 +const aw20216s_led_t PROGMEM g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Each AW20216S channel is controlled by a register at some offset between 0x00 * and 0xD7 inclusive. - * See drivers/awinic/aw20216.h for the mapping between register offsets and + * See drivers/led/aw20216s.h for the mapping between register offsets and * driver pin locations. * driver * | R location @@ -642,6 +633,7 @@ enum rgb_matrix_effects { RGB_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard RGB_MATRIX_RAINBOW_BEACON, // Full tighter gradient spinning around center of keyboard RGB_MATRIX_RAINBOW_PINWHEELS, // Full dual gradients spinning two halfs of keyboard + RGB_MATRIX_FLOWER_BLOOMING, // Full tighter gradient of first half scrolling left to right and second half scrolling right to left RGB_MATRIX_RAINDROPS, // Randomly changes a single key's hue RGB_MATRIX_JELLYBEAN_RAINDROPS, // Randomly changes a single key's hue and saturation RGB_MATRIX_HUE_BREATHING, // Hue shifts up a slight ammount at the same time, then shifts back @@ -650,24 +642,24 @@ enum rgb_matrix_effects { RGB_MATRIX_PIXEL_FRACTAL, // Single hue fractal filled keys pulsing horizontally out to edges RGB_MATRIX_PIXEL_FLOW, // Pulsing RGB flow along LED wiring with random hues RGB_MATRIX_PIXEL_RAIN, // Randomly light keys with random hues -#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM! RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation -#endif -#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue - RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out - RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out - RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_WIDE, // Hue & value pulse near a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE, // Hue & value pulse near multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_CROSS, // Hue & value pulse the same column and row of a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTICROSS, // Hue & value pulse the same column and row of multiple key hits then fades value out + RGB_MATRIX_SOLID_REACTIVE_NEXUS, // Hue & value pulse away on the same column and row of a single key hit then fades value out + RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, // Hue & value pulse away on the same column and row of multiple key hits then fades value out RGB_MATRIX_SPLASH, // Full gradient & value pulse away from a single key hit then fades value out RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out -#endif + RGB_MATRIX_STARLIGHT, // LEDs turn on and off at random at varying brightness, maintaining user set color + RGB_MATRIX_STARLIGHT_DUAL_HUE, // LEDs turn on and off at random at varying brightness, modifies user set hue by +- 30 + RGB_MATRIX_STARLIGHT_DUAL_SAT, // LEDs turn on and off at random at varying brightness, modifies user set saturation by +- 30 + RGB_MATRIX_RIVERFLOW, // Modification to breathing animation, offset's animation depending on key location to simulate a river flowing RGB_MATRIX_EFFECT_MAX }; ``` @@ -698,6 +690,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_DUAL_BEACON` |Enables `RGB_MATRIX_DUAL_BEACON` | |`#define ENABLE_RGB_MATRIX_RAINBOW_BEACON` |Enables `RGB_MATRIX_RAINBOW_BEACON` | |`#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Enables `RGB_MATRIX_RAINBOW_PINWHEELS` | +|`#define ENABLE_RGB_MATRIX_FLOWER_BLOOMING` |Enables `RGB_MATRIX_FLOWER_BLOOMING` | |`#define ENABLE_RGB_MATRIX_RAINDROPS` |Enables `RGB_MATRIX_RAINDROPS` | |`#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Enables `RGB_MATRIX_JELLYBEAN_RAINDROPS` | |`#define ENABLE_RGB_MATRIX_HUE_BREATHING` |Enables `RGB_MATRIX_HUE_BREATHING` | @@ -706,15 +699,17 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL` |Enables `RGB_MATRIX_PIXEL_FRACTAL` | |`#define ENABLE_RGB_MATRIX_PIXEL_FLOW` |Enables `RGB_MATRIX_PIXEL_FLOW` | |`#define ENABLE_RGB_MATRIX_PIXEL_RAIN` |Enables `RGB_MATRIX_PIXEL_RAIN` | - -?> These modes don't require any additional defines. +|`#define ENABLE_RGB_MATRIX_STARLIGHT` |Enables `RGB_MATRIX_STARLIGHT` | +|`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE` |Enables `RGB_MATRIX_STARLIGHT_DUAL_HUE` | +|`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT` |Enables `RGB_MATRIX_STARLIGHT_DUAL_SAT` | +|`#define ENABLE_RGB_MATRIX_RIVERFLOW` |Enables `RGB_MATRIX_RIVERFLOW` | |Framebuffer Defines |Description | |------------------------------------------------------|----------------------------------------------| |`#define ENABLE_RGB_MATRIX_TYPING_HEATMAP` |Enables `RGB_MATRIX_TYPING_HEATMAP` | |`#define ENABLE_RGB_MATRIX_DIGITAL_RAIN` |Enables `RGB_MATRIX_DIGITAL_RAIN` | -?> These modes also require the `RGB_MATRIX_FRAMEBUFFER_EFFECTS` define to be available. +?> These modes introduce additional logic that can increase firmware size. |Reactive Defines |Description | |------------------------------------------------------|----------------------------------------------| @@ -731,7 +726,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_SOLID_SPLASH` |Enables `RGB_MATRIX_SOLID_SPLASH` | |`#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Enables `RGB_MATRIX_SOLID_MULTISPLASH` | -?> These modes also require the `RGB_MATRIX_KEYPRESSES` or `RGB_MATRIX_KEYRELEASES` define to be available. +?> These modes introduce additional logic that can increase firmware size. ### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap @@ -872,9 +867,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master ## Additional `config.h` Options :id=additional-configh-options ```c -#define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +#define RGB_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off #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) @@ -883,11 +876,12 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set +#define RGB_MATRIX_DEFAULT_ON true // Sets the default enabled state, if none has been set #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. - // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards ``` @@ -964,7 +958,7 @@ The EEPROM for it is currently shared with the LED Matrix system (it's generally ### Indicators :id=indicators -If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `rgb_matrix_indicators_kb` or `rgb_matrix_indicators_user` function for that: +If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, then you can use the `rgb_matrix_indicators_kb` function on the keyboard level source file, or `rgb_matrix_indicators_user` function in the user `keymap.c`. ```c bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 5131658ae158..8a64454b0db5 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -28,7 +28,7 @@ For APA102 LEDs, add the following to your `rules.mk`: ```make RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = APA102 +RGBLIGHT_DRIVER = apa102 ``` At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these. @@ -90,7 +90,7 @@ Your RGB lighting can be configured by placing these `#define`s in your `config. |Define |Default |Description | |---------------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------| -|`RGBLIGHT_HUE_STEP` |`10` |The number of steps to cycle through the hue by | +|`RGBLIGHT_HUE_STEP` |`8` |The number of steps to cycle through the hue by | |`RGBLIGHT_SAT_STEP` |`17` |The number of steps to increment the saturation by | |`RGBLIGHT_VAL_STEP` |`17` |The number of steps to increment the brightness by | |`RGBLIGHT_LIMIT_VAL` |`255` |The maximum brightness level | @@ -102,6 +102,7 @@ Your RGB lighting can be configured by placing these `#define`s in your `config. |`RGBLIGHT_DEFAULT_SAT` |`UINT8_MAX` (255) |The default saturation to use upon clearing the EEPROM | |`RGBLIGHT_DEFAULT_VAL` |`RGBLIGHT_LIMIT_VAL` |The default value (brightness) to use upon clearing the EEPROM | |`RGBLIGHT_DEFAULT_SPD` |`0` |The default speed to use upon clearing the EEPROM | +|`RGBLIGHT_DEFAULT_ON` |`true` |Enable RGB lighting upon clearing the EEPROM | ## Effects and Animations @@ -370,9 +371,9 @@ If you need to change your RGB lighting in code, for example in a macro to chang Example: ```c -sethsv(HSV_WHITE, (LED_TYPE *)&led[0]); // led 0 -sethsv(HSV_RED, (LED_TYPE *)&led[1]); // led 1 -sethsv(HSV_GREEN, (LED_TYPE *)&led[2]); // led 2 +sethsv(HSV_WHITE, (rgb_led_t *)&led[0]); // led 0 +sethsv(HSV_RED, (rgb_led_t *)&led[1]); // led 1 +sethsv(HSV_GREEN, (rgb_led_t *)&led[2]); // led 2 rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly. ``` @@ -524,38 +525,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 Using the `rgblight_set_clipping_range()` function, you can prepare more buffers than the actual number of LEDs, and output some of the buffers to the LEDs. This is useful if you want the split keyboard to treat left and right LEDs as logically contiguous. @@ -575,11 +544,41 @@ In addition to setting the Clipping Range, you can use `RGBLIGHT_LED_MAP` togeth #define RGBLED_NUM 8 #define RGBLIGHT_LED_MAP { 7, 6, 5, 4, 3, 2, 1, 0 } -// some soruce - rgblight_set_clipping_range(3, 4); +// some source +rgblight_set_clipping_range(3, 4); ``` clip mapped ## Hardware Modification If your keyboard lacks onboard underglow LEDs, you may often be able to solder on an RGB LED strip yourself. You will need to find an unused pin to wire to the data pin of your LED strip. Some keyboards may break out unused pins from the MCU to make soldering easier. The other two pins, VCC and GND, must also be connected to the appropriate power pins. + +## Velocikey + +Velocikey is a feature that lets you control the speed of lighting effects (like the Rainbow Swirl effect) with the speed of your typing. The faster you type, the faster the lights will go! + +### Usage +For Velocikey to take effect, there are two steps. First, when compiling your keyboard, you'll need to set `VELOCIKEY_ENABLE=yes` in `rules.mk`, e.g.: + +``` +MOUSEKEY_ENABLE = no +STENO_ENABLE = no +EXTRAKEY_ENABLE = yes +VELOCIKEY_ENABLE = yes +``` + +Then, while using your keyboard, you need to also turn it on with the `VK_TOGG` keycode, which toggles the feature on and off. + +The following light effects will all be controlled by Velocikey when it is enabled: + - RGB Breathing + - RGB Rainbow Mood + - RGB Rainbow Swirl + - RGB Snake + - RGB Knight + +Support for LED breathing effects is planned but not available yet. + + As long as Velocikey is enabled, it will control the speed regardless of any other speed setting that your RGB lights are currently on. + + ### Configuration + Velocikey doesn't currently support any configuration via keyboard settings. If you want to adjust something like the speed increase or decay rate, you would need to edit `velocikey.c` and adjust the values there to achieve the kinds of speeds that you like. diff --git a/docs/feature_send_string.md b/docs/feature_send_string.md index 67df0224e93b..7d3f3ba32a15 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/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 1705ea922217..8f695a2b7c7d 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -205,7 +205,7 @@ This sets the pin to be used for serial communication. If you're not using seria However, if you are using serial and I2C on the board, you will need to set this, and to something other than D0 and D1 (as these are used for I2C communication). ```c -#define SELECT_SOFT_SERIAL_SPEED {#}` +#define SELECT_SOFT_SERIAL_SPEED {#} ``` If you're having issues with serial communication, you can change this value, as it controls the communication speed for serial. The default is 1, and the possible values are: @@ -298,7 +298,7 @@ This enables transmitting the pointing device status to the master side of the s #define SPLIT_HAPTIC_ENABLE ``` -This enables triggering of haptic feedback on the slave side of the split keyboard. For DRV2605L this will send the mode, but for solenoids it is expected that the desired mode is already set up on the slave. +This enables the triggering of haptic feedback on the slave side of the split keyboard. This will send information to the slave side such as the mode, dwell, and whether buzz is enabled. ```c #define SPLIT_ACTIVITY_ENABLE diff --git a/docs/feature_stenography.md b/docs/feature_stenography.md index df4c9c6ad353..5ca3ea945fc1 100644 --- a/docs/feature_stenography.md +++ b/docs/feature_stenography.md @@ -104,7 +104,7 @@ After enabling stenography and optionally selecting a protocol, you may also nee !> If you had *explicitly* set `VIRSTER_ENABLE = no`, none of the serial stenography protocols (GeminiPR, TX Bolt) will work properly. You are expected to either set it to `yes`, remove the line from your `rules.mk` or send the steno chords yourself in an alternative way using the [provided interceptable hooks](#interfacing-with-the-code). -In your keymap, create a new layer for Plover, that you can fill in with the [steno keycodes](#keycode-reference) (you will need to include `keymap_steno.h`, see `planck/keymaps/steno/keymap.c` for an example). Remember to create a key to switch to the layer as well as a key for exiting the layer. +In your keymap, create a new layer for Plover, that you can fill in with the [steno keycodes](#keycode-reference). Remember to create a key to switch to the layer as well as a key for exiting the layer. Once you have your keyboard flashed, launch Plover. Click the 'Configure...' button. In the 'Machine' tab, select the Stenotype Machine that corresponds to your desired protocol. Click the 'Configure...' button on this tab and enter the serial port or click 'Scan'. Baud rate is fine at 9600 (although you should be able to set as high as 115200 with no issues). Use the default settings for everything else (Data Bits: 8, Stop Bits: 1, Parity: N, no flow control). @@ -149,8 +149,6 @@ At the end of this scenario given as an example, `chord` would have five bits se ## Keycode Reference :id=keycode-reference -You must include `keymap_steno.h` to your `keymap.c` with `#include "keymap_steno.h"` before you can use these keycodes - > Note: TX Bolt does not support the full set of keys. The TX Bolt implementation in QMK will map the GeminiPR keys to the nearest TX Bolt key so that one key map will work for both. |GeminiPR|TX Bolt|Steno Key| @@ -198,7 +196,7 @@ You must include `keymap_steno.h` to your `keymap.c` with `#include "keymap_sten |`STN_RES2`||(Reset 2)| |`STN_PWR`||(Power)| -If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file. +If you do not want to hit two keys with one finger combined keycodes can be used. These cause both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file. |Combined key | Key1 | Key 2 | |---------------|--------|----------| diff --git a/docs/feature_tap_dance.md b/docs/feature_tap_dance.md index b7d8a5528fb8..42ea23396235 100644 --- a/docs/feature_tap_dance.md +++ b/docs/feature_tap_dance.md @@ -28,7 +28,7 @@ After this, you'll want to use the `tap_dance_actions` array to specify what act * `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: Sends the `kc` keycode when tapped once, or toggles the state of `layer`. (this functions like the `TG` layer keycode). * `ACTION_TAP_DANCE_FN(fn)`: Calls the specified function - defined in the user keymap - with the final tap count of the tap dance action. * `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: Calls the first specified function - defined in the user keymap - on every tap, the second function when the dance action finishes (like the previous option), and the last function when the tap dance action resets. - +* `ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(on_each_tap_fn, on_each_release_fn, on_dance_finished_fn, on_dance_reset_fn)`: This macro is identical to `ACTION_TAP_DANCE_FN_ADVANCED` with the addition of `on_each_release_fn` which is invoked every time the key for the tap dance is released. It is worth noting that `on_each_release_fn` will still be called even when the key is released after the dance finishes (e.g. if the key is released after being pressed and held for longer than the `TAPPING_TERM`). The first option is enough for a lot of cases, that just want dual roles. For example, `ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` will result in `Space` being sent on single-tap, `Enter` otherwise. diff --git a/docs/feature_tri_layer.md b/docs/feature_tri_layer.md index aa6c87719ca6..ade0040cc7b1 100644 --- a/docs/feature_tri_layer.md +++ b/docs/feature_tri_layer.md @@ -40,7 +40,7 @@ Eg, if you wanted to set the "Adjust" layer to be layer 5, you'd add this to you | `set_tri_layer_lower_layer(layer)` | Changes the "lower" layer*. | | `set_tri_layer_upper_layer(layer)` | Changes the "upper" layer*. | | `set_tri_layer_adjust_layer(layer)` | Changes the "adjust" layer*. | -| `set_tri_layer_layers(lower, upper, adjust)` | Stes the "lower", "upper" and "adjust" layers*. | +| `set_tri_layer_layers(lower, upper, adjust)` | Sets the "lower", "upper" and "adjust" layers*. | | `get_tri_layer_lower_layer()` | Gets the current "lower" layer. | | `get_tri_layer_upper_layer()` | Gets the current "upper" layer. | | `get_tri_layer_adjust_layer()` | Gets the current "adjust" layer. | diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 455596dab5e1..2c6d2ef002e5 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -1,48 +1,77 @@ -# Unicode Support +# Unicode :id=unicode -Unicode characters can be input straight from your keyboard! There are some limitations, however. +With a little help from your OS, practically any Unicode character can be input using your keyboard. -In order to enable Unicode support on your keyboard, you will need to do the following: +## Caveats :id=caveats -1. Choose one of three supported Unicode implementations: [Basic Unicode](#basic-unicode), [Unicode Map](#unicode-map), [UCIS](#ucis). -2. Find which [input mode](#input-modes) is the best match for your operating system and setup. -3. [Set](#setting-the-input-mode) the appropriate input mode (or modes) in your configuration. -4. Add Unicode keycodes to your keymap. +There are some limitations to this feature. Because there is no "standard" method of Unicode input across all operating systems, each of them require their own setup process on both the host *and* in the firmware, which may involve installation of additional software. This also means Unicode input will not "just work" when the keyboard is plugged into another device. +## Usage :id=usage -## 1. Methods :id=methods +The core Unicode API can be used purely programmatically. However, there are also additional subsystems which build on top of it and come with keycodes to make things easier. See below for more details. -QMK supports three different methods for enabling Unicode input and adding Unicode characters to your keymap. Each has its pros and cons in terms of flexibility and ease of use. Choose the one that best fits your use case. +Add the following to your keymap's `rules.mk`: -The Basic method should be enough for most users. However, if you need a wider range of supported characters (including emoji, rare symbols etc.), you should use Unicode Map. +```make +UNICODE_COMMON = yes +``` + +## Basic Configuration :id=basic-configuration + +Add the following to your `config.h`: + +|Define |Default |Description | +|------------------------|------------------|--------------------------------------------------------------------------------| +|`UNICODE_KEY_MAC` |`KC_LEFT_ALT` |The key to hold when beginning a Unicode sequence with the macOS input mode | +|`UNICODE_KEY_LNX` |`LCTL(LSFT(KC_U))`|The key to tap when beginning a Unicode sequence with the Linux input mode | +|`UNICODE_KEY_WINC` |`KC_RIGHT_ALT` |The key to hold when beginning a Unicode sequence with the WinCompose input mode| +|`UNICODE_SELECTED_MODES`|`-1` |A comma separated list of input modes for cycling through | +|`UNICODE_CYCLE_PERSIST` |`true` |Whether to persist the current Unicode input mode to EEPROM | +|`UNICODE_TYPE_DELAY` |`10` |The amount of time to wait, in milliseconds, between Unicode sequence keystrokes| + +### Audio Feedback :id=audio-feedback -
+If you have the [Audio](feature_audio.md) feature enabled on your board, you can configure it to play sounds when the input mode is changed. -### 1.1. Basic Unicode :id=basic-unicode +Add the following to your `config.h`: -The easiest to use method, albeit somewhat limited. It stores Unicode characters as keycodes in the keymap itself, so it only supports code points up to `0x7FFF`. This covers characters for most modern languages (including East Asian), as well as symbols, but it doesn't cover emoji. +|Define |Default|Description | +|-------------------|-------|-----------------------------------------------------------| +|`UNICODE_SONG_MAC` |*n/a* |The song to play when the macOS input mode is selected | +|`UNICODE_SONG_LNX` |*n/a* |The song to play when the Linux input mode is selected | +|`UNICODE_SONG_BSD` |*n/a* |The song to play when the BSD input mode is selected | +|`UNICODE_SONG_WIN` |*n/a* |The song to play when the Windows input mode is selected | +|`UNICODE_SONG_WINC`|*n/a* |The song to play when the WinCompose input mode is selected| -Add the following to your `rules.mk`: +## Input Subsystems :id=input-subsystems + +Each of these subsystems have their own pros and cons in terms of flexibility and ease of use. Choose the one that best fits your needs. + + + +### ** Basic ** + +This is the easiest to use, albeit somewhat limited. It supports code points up to `U+7FFF`, which covers characters for most modern languages (including East Asian), as well as many symbols, but does not include emoji. + +To enable Basic Unicode, add the following to your `rules.mk`: ```make UNICODE_ENABLE = yes ``` -Then add `UC(c)` keycodes to your keymap, where _c_ is the code point of the desired character (preferably in hexadecimal, up to 4 digits long). For example, `UC(0x40B)` will output [Ћ](https://unicode-table.com/en/040B/), and `UC(0x30C4)` will output [ツ](https://unicode-table.com/en/30C4). - -
+You can then add `UC(c)` keycodes to your keymap, where *c* is the code point of the desired character (in hexadecimal - the `U+` prefix will not work). For example, `UC(0x40B)` will output [Ћ](https://unicode-table.com/en/040B/), and `UC(0x30C4)` will output [ツ](https://unicode-table.com/en/30C4). -### 1.2. Unicode Map :id=unicode-map +### ** Unicode Map ** -In addition to standard character ranges, this method also covers emoji, ancient scripts, rare symbols etc. In fact, all possible code points (up to `0x10FFFF`) are supported. Here, Unicode characters are stored in a separate mapping table. You need to maintain a `unicode_map` array in your keymap file, which may contain at most 16384 entries. +Unicode Map supports all possible code points (up to `U+10FFFF`). Here, the code points are stored in a separate mapping table (which may contain at most 16,384 entries), instead of directly in the keymap. -Add the following to your `rules.mk`: +To enable Unicode Map, add the following to your `rules.mk`: ```make UNICODEMAP_ENABLE = yes ``` -Then add `X(i)` keycodes to your keymap, where _i_ is the desired character's index in the mapping table. This can be a numeric value, but it's recommended to keep the indices in an enum and access them by name. +Then, you will need to create a mapping table in your `keymap.c`, and (optionally) an enum for naming the array indices, like so: ```c enum unicode_names { @@ -51,242 +80,373 @@ enum unicode_names { SNEK }; -const uint32_t unicode_map[] PROGMEM = { +const uint32_t PROGMEM unicode_map[] = { [BANG] = 0x203D, // â€― [IRONY] = 0x2E2E, // âļŪ [SNEK] = 0x1F40D, // 🐍 }; ``` -Then you can use `X(BANG)`, `X(SNEK)` etc. in your keymap. +Finally, add `UM(i)` keycodes to your keymap, where *i* is an index into the `unicode_map[]` array. If you defined the enum above, you can use those names instead, for example `UM(BANG)` or `UM(SNEK)`. -#### Lower and Upper Case +#### Lower and Upper Case Pairs :id=unicodemap-pairs -Characters often come in lower and upper case pairs, such as ÃĨ and Å. To make inputting these characters easier, you can use `XP(i, j)` in your keymap, where _i_ and _j_ are the mapping table indices of the lower and upper case character, respectively. If you're holding down Shift or have Caps Lock turned on when you press the key, the second (upper case) character will be inserted; otherwise, the first (lower case) version will appear. +Some writing systems have lowercase and uppercase variants of each character, such as ÃĨ and Å. To make inputting these characters easier, you can use the `UP(i, j)` keycode in your keymap, where *i* and *j* are the mapping table indices of the lowercase and uppercase characters, respectively. If you're holding down Shift or have Caps Lock turned on when you press the key, the uppercase character will be inserted; otherwise, the lowercase character will be inserted. -This is most useful when creating a keymap for an international layout with special characters. Instead of having to put the lower and upper case versions of a character on separate keys, you can have them both on the same key by using `XP()`. This helps blend Unicode keys in with regular alphas. +```c +const uint32_t PROGMEM unicode_map[] = { + [AE_LOWER] = 0x00E6, // ÃĶ + [AE_UPPER] = 0x00C6, // Æ +}; +``` -Due to keycode size constraints, _i_ and _j_ can each only refer to one of the first 128 characters in your `unicode_map`. In other words, 0 â‰Ī _i_ â‰Ī 127 and 0 â‰Ī _j_ â‰Ī 127. This is enough for most use cases, but if you'd like to customize the index calculation, you can override the [`unicodemap_index()`](https://github.com/qmk/qmk_firmware/blob/71f640d47ee12c862c798e1f56392853c7b1c1a8/quantum/process_keycode/process_unicodemap.c#L36) function. This also allows you to, say, check Ctrl instead of Shift/Caps. +This is most useful when creating a keymap for an international layout with special characters. Instead of having to put the lower and upper case versions of a character on separate keys, you can have them both on the same key. This helps blend Unicode keys in with regular keycodes. -
+Due to keycode size constraints, *i* and *j* can each only refer to one of the first 128 characters in your `unicode_map`. In other words, 0 â‰Ī *i* â‰Ī 127 and 0 â‰Ī *j* â‰Ī 127. -### 1.3. UCIS :id=ucis +### ** UCIS ** -This method also supports all possible code points. As with the Unicode Map method, you need to maintain a mapping table in your keymap file. However, there are no built-in keycodes for this feature — you have to create a custom keycode or function that invokes this functionality. +As with Unicode Map, the UCIS method also supports all possible code points, and requires the use of a mapping table. However, it works much differently - Unicode characters are input by replacing a typed mnemonic. -Add the following to your `rules.mk`: +To enable UCIS, add the following to your keymap's `rules.mk`: ```make UCIS_ENABLE = yes ``` -Then define a table like this in your keymap file: +Then, create a mapping table in your `keymap.c`: ```c const ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE( UCIS_SYM("poop", 0x1F4A9), // ðŸ’Đ UCIS_SYM("rofl", 0x1F923), // ðŸĪĢ - UCIS_SYM("cuba", 0x1F1E8, 0x1F1FA), // ðŸ‡Ļ🇚 + UCIS_SYM("ukr", 0x1F1FA, 0x1F1E6), // 🇚ðŸ‡Ķ UCIS_SYM("look", 0x0CA0, 0x005F, 0x0CA0) // āē _āē  ); ``` -By default, each table entry may be up to 3 code points long. This number can be changed by adding `#define UCIS_MAX_CODE_POINTS n` to your `config.h` file. +By default, each table entry may be up to three code points long. This can be changed by adding `#define UCIS_MAX_CODE_POINTS n` to your keymap's `config.h`. -To use UCIS input, call `ucis_start()`. Then, type the mnemonic for the character (such as "rofl") and hit Space, Enter or Esc. QMK should erase the "rofl" text and insert the laughing emoji. +To invoke UCIS input, the `ucis_start()` function must first be called (for example, in a custom "Unicode" keycode). Then, type the mnemonic for the mapping table entry (such as "rofl"), and hit Space or Enter. The "rofl" text will be backspaced and the emoji inserted. -#### Customization + -There are several functions that you can define in your keymap to customize the functionality of this feature. +## Input Modes :id=input-modes -* `void ucis_start_user(void)` – This runs when you call the "start" function, and can be used to provide feedback. By default, it types out a keyboard emoji. -* `void ucis_success(uint8_t symbol_index)` – This runs when the input has matched something and has completed. By default, it doesn't do anything. -* `void ucis_symbol_fallback (void)` – This runs when the input doesn't match anything. By default, it falls back to trying that input as a Unicode code. +Unicode input works by typing a sequence of characters, similar to a macro. However, since this sequence depends on your OS, you will need to prepare both your host machine and QMK to recognise and send the correct Unicode input sequences respectively. -You can find the default implementations of these functions in [`process_ucis.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_ucis.c). +To set the list of enabled input modes, add the `UNICODE_SELECTED_MODES` define to your keymap's `config.h`, for example: +```c +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX +// or +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE +``` -## 2. Input Modes :id=input-modes +These modes can then be cycled through using the `UC_NEXT` and `UC_PREV` keycodes. You can also switch to any input mode, even if it is not specified in `UNICODE_SELECTED_MODES`, using their respective keycodes. -Unicode input in QMK works by inputting a sequence of characters to the OS, sort of like a macro. Unfortunately, the way this is done differs for each platform. Specifically, each platform requires a different combination of keys to trigger Unicode input. Therefore, a corresponding input mode has to be set in QMK. +If your keyboard has working EEPROM, it will remember the last used input mode and continue using it on the next power up. This can be disabled by defining `UNICODE_CYCLE_PERSIST` to `false`. -The following input modes are available: + -* **`UNICODE_MODE_MACOS`**: macOS built-in Unicode hex input. Supports code points up to `0x10FFFF` (all possible code points). +### ** macOS ** - To enable, go to _System Preferences > Keyboard > Input Sources_, add _Unicode Hex Input_ to the list (it's under _Other_), then activate it from the input dropdown in the Menu Bar. - By default, this mode uses the left Option key (`KC_LALT`) for Unicode input, but this can be changed by defining [`UNICODE_KEY_MAC`](#input-key-configuration) with a different keycode. +**Mode Name:** `UNICODE_MODE_MACOS` - !> Using the _Unicode Hex Input_ input source may disable some Option-based shortcuts, such as Option+Left and Option+Right. +macOS has built-in support for Unicode input as its own input source. It supports all possible code points by way of surrogate pairs for code points above `U+FFFF`. -* **`UNICODE_MODE_LINUX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points). +To enable, go to **System Preferences → Keyboard → Input Sources**, then add Unicode Hex Input to the list (under Other), and activate it from the input dropdown in the menu bar. Note that this may disable some Option-based shortcuts such as Option+Left and Option+Right. - Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else. - By default, this mode uses Ctrl+Shift+U (`LCTL(LSFT(KC_U))`) to start Unicode input, but this can be changed by defining [`UNICODE_KEY_LNX`](#input-key-configuration) with a different keycode. This might be required for IBus versions â‰Ĩ1.5.15, where Ctrl+Shift+U behavior is consolidated into Ctrl+Shift+E. +### ** Linux (IBus) ** - Users who wish support in non-GTK apps without IBus may need to resort to a more indirect method, such as creating a custom keyboard layout ([more on this method](#custom-linux-layout)). +**Mode Name:** `UNICODE_MODE_LINUX` -* **`UNICODE_MODE_WINDOWS`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`. +For Linux distros with IBus, Unicode input is enabled by default, supports all possible code points, and works almost anywhere. Without IBus, it works under GTK apps, but rarely anywhere else. - To enable, create a registry key under `HKEY_CURRENT_USER\Control Panel\Input Method` of type `REG_SZ` called `EnableHexNumpad` and set its value to `1`. This can be done from the Command Prompt by running `reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1` with administrator privileges. Reboot afterwards. - This mode is not recommended because of reliability and compatibility issues; use the `UNICODE_MODE_WINCOMPOSE` mode instead. +Users who would like support in non-GTK apps without IBus may need to resort to a more indirect method, such as creating a custom keyboard layout. -* **`UNICODE_MODE_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues). +### ** Windows (WinCompose) ** -* **`UNICODE_MODE_WINCOMPOSE`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points). +**Mode Name:** `UNICODE_MODE_WINCOMPOSE` - To enable, install the [latest release](https://github.com/samhocevar/wincompose/releases/latest). Once installed, WinCompose will automatically run on startup. This mode works reliably under all version of Windows supported by the app. - By default, this mode uses right Alt (`KC_RALT`) as the Compose key, but this can be changed in the WinCompose settings and by defining [`UNICODE_KEY_WINC`](#input-key-configuration) with a different keycode. +This mode requires a third-party tool called [WinCompose](https://github.com/samhocevar/wincompose). It supports all possible code points, and is the recommended input mode for Windows. +To enable, install the [latest release from GitHub](https://github.com/samhocevar/wincompose/releases/latest). Once installed, it will automatically run on startup. This works reliably under all versions of Windows supported by WinCompose. -## 3. Setting the Input Mode :id=setting-the-input-mode +### ** Windows (HexNumpad) ** -To set your desired input mode, add the following define to your `config.h`: +**Mode Name:** `UNICODE_MODE_WINDOWS` -```c -#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX -``` +!> This input mode is *not* the "Alt code" system. Alt codes are not Unicode; they instead follow [the Windows-1252 character set](https://en.wikipedia.org/wiki/Alt_code). -This example sets the board's default input mode to `UNICODE_MODE_LINUX`. You can replace this with `UNICODE_MODE_MACOS`, `UNICODE_MODE_WINCOMPOSE`, or any of the other modes listed [above](#input-modes). The board will automatically use the selected mode on startup, unless you manually switch to another mode (see [below](#keycodes)). +This is Windows' built-in hex numpad Unicode input mode. It only supports code points up to `U+FFFF`, and is not recommended due to reliability and compatibility issues. -You can also select multiple input modes, which allows you to easily cycle through them using the `UC_NEXT`/`UC_PREV` keycodes. +To enable, run the following as an administrator, then reboot: -```c -#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE +``` +reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1 ``` -Note that the values are separated by commas. The board will remember the last used input mode and will continue using it on next power-up. You can disable this and force it to always start with the first mode in the list by adding `#define UNICODE_CYCLE_PERSIST false` to your `config.h`. +### ** Emacs ** -#### Keycodes +**Mode Name:** `UNICODE_MODE_EMACS` -You can switch the input mode at any time by using the following keycodes. Adding these to your keymap allows you to quickly switch to a specific input mode, including modes not listed in `UNICODE_SELECTED_MODES`. +Emacs supports code point input with the `insert-char` command. -|Keycode |Alias |Input Mode |Description | -|----------------------------|---------|-------------------------|-----------------------------------------------------------------------------| -|`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Next in list |Cycle through selected modes, reverse direction when Shift is held | -|`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Prev in list |Cycle through selected modes in reverse, forward direction when Shift is held| -|`QK_UNICODE_MODE_MACOS` |`UC_MAC` |`UNICODE_MODE_MACOS` |Switch to macOS input | -|`QK_UNICODE_MODE_LINUX` |`UC_LINX`|`UNICODE_MODE_LINUX` |Switch to Linux input | -|`QK_UNICODE_MODE_WINDOWS` |`UC_WIN` |`UNICODE_MODE_WINDOWS` |Switch to Windows input | -|`QK_UNICODE_MODE_BSD` |`UC_BSD` |`UNICODE_MODE_BSD` |Switch to BSD input _(not implemented)_ | -|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|`UNICODE_MODE_WINCOMPOSE`|Switch to Windows input using WinCompose | -|`QK_UNICODE_MODE_EMACS` |`UC_EMAC`|`UNICODE_MODE_EMACS` |Switch to emacs (`C-x-8 RET`) | +### ** BSD ** -You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UNICODE_MODE_LINUX`). +**Mode Name:** `UNICODE_MODE_BSD` -?> Using `UNICODE_SELECTED_MODES` is preferable to calling `set_unicode_input_mode()` in `matrix_init_user()` or similar functions, since it's better integrated into the Unicode system and has the added benefit of avoiding unnecessary writes to EEPROM. +Not currently implemented. If you're a BSD user and want to contribute support for this input mode, please [feel free](contributing.md)! -#### Audio Feedback + -If you have the [Audio feature](feature_audio.md) enabled on the board, you can set melodies to be played when you press the above keys. That way you can have some audio feedback when switching input modes. +## Keycodes :id=keycodes -For instance, you can add these definitions to your `config.h` file: +|Key |Aliases |Description | +|----------------------------|---------|----------------------------------------------------------------| +|`UC(c)` | |Send Unicode code point `c`, up to `0x7FFF` | +|`UM(i)` | |Send Unicode code point at index `i` in `unicode_map` | +|`UP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| +|`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Cycle through selected input modes | +|`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Cycle through selected input modes in reverse | +|`QK_UNICODE_MODE_MACOS` |`UC_MAC` |Switch to macOS input | +|`QK_UNICODE_MODE_LINUX` |`UC_LINX`|Switch to Linux input | +|`QK_UNICODE_MODE_WINDOWS` |`UC_WIN` |Switch to Windows input | +|`QK_UNICODE_MODE_BSD` |`UC_BSD` |Switch to BSD input (not implemented) | +|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|Switch to Windows input using WinCompose | +|`QK_UNICODE_MODE_EMACS` |`UC_EMAC`|Switch to emacs (`C-x-8 RET`) | -```c -#define UNICODE_SONG_MAC AUDIO_ON_SOUND -#define UNICODE_SONG_LNX UNICODE_LINUX -#define UNICODE_SONG_BSD TERMINAL_SOUND -#define UNICODE_SONG_WIN UNICODE_WINDOWS -#define UNICODE_SONG_WINC UNICODE_WINDOWS -``` +## API :id=api +### `uint8_t get_unicode_input_mode(void)` :id=api-get-unicode-input-mode -## Additional Customization +Get the current Unicode input mode. -Because Unicode is a large and versatile feature, there are a number of options you can customize to make it work better on your system. +#### Return Value :id=api-get-unicode-input-mode-return-value -### Start and Finish Input Functions +The currently active Unicode input mode. -The functions for starting and finishing Unicode input on your platform can be overridden locally. Possible uses include customizing input mode behavior if you don't use the default keys, or adding extra visual/audio feedback to Unicode input. +--- -* `void unicode_input_start(void)` – This sends the initial sequence that tells your platform to enter Unicode input mode. For example, it holds the left Alt key followed by Num+ on Windows, and presses the `UNICODE_KEY_LNX` combination (default: Ctrl+Shift+U) on Linux. -* `void unicode_input_finish(void)` – This is called to exit Unicode input mode, for example by pressing Space or releasing the Alt key. +### `void set_unicode_input_mode(uint8_t mode)` :id=api-set-unicode-input-mode -You can find the default implementations of these functions in [`process_unicode_common.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicode_common.c). +Set the Unicode input mode. -### Input Mode Callbacks +#### Arguments :id=api-set-unicode-input-mode-arguments -There are callbacks functions available that are called whenever the unicode input mode changes. The new input mode is passed to the function. + - `uint8_t mode` + The input mode to set. -|Callback |Description | -|---------------------------------------------------|-----------------------------------------------------| -| `unicode_input_mode_set_kb(uint8_t input_mode)` | Callback for unicode input mode set, for keyboard. | -| `unicode_input_mode_set_user(uint8_t input_mode)` | Callback for unicode input mode set, for users. | +--- -This feature can be used, for instance, to implement LED indicators for the current unicode input mode. +### `void unicode_input_mode_step(void)` : id=api-unicode-input-mode-step -### Input Key Configuration +Change to the next Unicode input mode. -You can customize the keys used to trigger Unicode input for macOS, Linux and WinCompose by adding corresponding defines to your `config.h`. The default values match the platforms' default settings, so you shouldn't need to change this unless Unicode input isn't working, or you want to use a different key (e.g. in order to free up left or right Alt). +--- -|Define |Type |Default |Example | -|------------------|----------|------------------|-------------------------------------------| -|`UNICODE_KEY_MAC` |`uint8_t` |`KC_LALT` |`#define UNICODE_KEY_MAC KC_RALT` | -|`UNICODE_KEY_LNX` |`uint16_t`|`LCTL(LSFT(KC_U))`|`#define UNICODE_KEY_LNX LCTL(LSFT(KC_E))`| -|`UNICODE_KEY_WINC`|`uint8_t` |`KC_RALT` |`#define UNICODE_KEY_WINC KC_RGUI` | +### `void unicode_input_mode_step_reverse(void)` : id=api-unicode-input-mode-step-reverse +Change to the previous Unicode input mode. -## Sending Unicode Strings +--- -QMK provides several functions that allow you to send Unicode input to the host programmatically: +### `void unicode_input_mode_set_user(uint8_t input_mode)` :id=api-unicode-input-mode-set-user -### `send_unicode_string()` +User-level callback, invoked when the input mode is changed. -This function is much like `send_string()`, but it allows you to input UTF-8 characters directly. It supports all code points, provided the selected input mode also supports it. Make sure your `keymap.c` file is formatted using UTF-8 encoding. +#### Arguments :id=api-unicode-input-mode-set-user-arguments -```c -send_unicode_string("(ノāē į—Šāē )ãƒŽå―Ąâ”ŧ━â”ŧ"); -``` + - `uint8_t input_mode` + The new input mode. -Example uses include sending Unicode strings when a key is pressed, as described in [Macros](feature_macros.md). +--- -## Additional Language Support +### `void unicode_input_mode_set_kb(uint8_t input_mode)` :id=api-unicode-input-mode-set-kb -In `quantum/keymap_extras`, you'll see various language files — these work the same way as the ones for alternative layouts such as Colemak or BÉPO. When you include one of these language headers, you gain access to keycodes specific to that language / national layout. Such keycodes are defined by a 2-letter country/language code, followed by an underscore and a 4-letter abbreviation of the character to which the key corresponds. For example, including `keymap_french.h` and using `FR_UGRV` in your keymap will output `Ãđ` when typed on a system with a native French AZERTY layout. +Keyboard-level callback, invoked when the input mode is changed. -If the primary system layout you use on your machine is different from US ANSI, using these language-specific keycodes can help your QMK keymaps better match what will actually be output on the screen. However, keep in mind that these keycodes are just aliases for the corresponding default US keycodes under the hood, and that the HID protocol used by keyboards is itself inherently based on US ANSI. +#### Arguments :id=api-unicode-input-mode-set-kb-arguments + - `uint8_t input_mode` + The new input mode. -## International Characters on Windows +--- -### AutoHotkey +### `void unicode_input_start(void)` :id=api-unicode-input-start -The method does not require Unicode support in the keyboard itself but instead depends on [AutoHotkey](https://autohotkey.com) running in the background. +Begin the Unicode input sequence. The exact behavior depends on the currently selected input mode: -First you need to select a modifier combination that is not in use by any of your programs. -Ctrl+Alt+Win is not used very widely and should therefore be perfect for this. -There is a macro defined for a mod-tab combo `LCAG_T`. -Add this mod-tab combo to a key on your keyboard, e.g.: `LCAG_T(KC_TAB)`. -This makes the key behave like a tab key if pressed and released immediately but changes it to the modifier if used with another key. + - **macOS**: Hold `UNICODE_KEY_MAC` + - **Linux**: Tap `UNICODE_KEY_LNX` + - **WinCompose**: Tap `UNICODE_KEY_WINC`, then U + - **HexNumpad**: Hold Left Alt, then tap Numpad + + - **Emacs**: Tap Ctrl+X, then 8, then Enter -In the default script of AutoHotkey you can define custom hotkeys. +This function is weakly defined, and can be overridden in user code. - <^ { [ r, R, U1F923 ] }; -``` + - **macOS**: Release `UNICODE_KEY_MAC` + - **Linux**: Tap Escape + - **WinCompose**: Tap Escape + - **HexNumpad**: Release Left Alt + - **Emacs**: Tap Ctrl+G + +This function is weakly defined, and can be overridden in user code. + +--- + +### `void register_unicode(uint32_t code_point)` :id=api-register-unicode + +Input a single Unicode character. A surrogate pair will be sent if required by the input mode. + +#### Arguments :id=api-register-unicode-arguments + + - `uint32_t code_point` + The code point of the character to send. + +--- + +### `void send_unicode_string(const char *str)` :id=api-send-unicode-string + +Send a string containing Unicode characters. + +#### Arguments :id=api-send-unicode-string-arguments + + - `const char *str` + The string to send. + +--- + +### `uint8_t unicodemap_index(uint16_t keycode)` :id=api-unicodemap-index + +Get the index into the `unicode_map` array for the given keycode, respecting shift state for pair keycodes. + +#### Arguments :id=api-unicodemap-index-arguments + + - `uint16_t keycode` + The Unicode Map keycode to get the index of. + +#### Return Value :id=api-unicodemap-index-return-value + +An index into the `unicode_map` array. + +--- + +### `uint32_t unicodemap_get_code_point(uint8_t index)` :id=api-unicodemap-get-code-point + +Get the code point for the given index in the `unicode_map` array. + +#### Arguments :id=unicodemap-get-code-point-arguments + + - `uint8_t index` + The index into the `unicode_map` array. + +#### Return Value :id=unicodemap-get-code-point-return-value + +A Unicode code point value. + +--- + +### `void register_unicodemap(uint8_t index)` :id=api-register-unicodemap + +Send the code point for the given index in the `unicode_map` array. + +#### Arguments :id=api-register-unicodemap-arguments + + - `uint8_t index` + The index into the `unicode_map` array. + +--- + +### `void ucis_start(void)` :id=api-ucis-start + +Begin the input sequence. + +--- + +### `bool ucis_active(void)` :id=api-ucis-active + +Whether UCIS is currently active. + +#### Return Value :id=api-ucis-active-return-value + +`true` if UCIS is active. + +--- + +### `uint8_t ucis_count(void)` :id=api-ucis-count + +Get the number of characters in the input sequence buffer. + +#### Return Value :id=api-ucis-count-return-value + +The current input sequence buffer length. + +--- + +### `bool ucis_add(uint16_t keycode)` :id=api-ucis-add + +Add the given keycode to the input sequence buffer. + +#### Arguments :id=api-ucis-add-arguments + + - `uint16_t keycode` + The keycode to add. Must be between `KC_A` and `KC_Z`, or `KC_1` and `KC_0`. + +#### Return Value :id=api-ucis-add-return-value + +`true` if the keycode was added. + +--- + +### `bool ucis_remove_last(void)` :id=api-ucis-remove-last + +Remove the last character from the input sequence buffer. + +#### Return Value :id=api-ucis-remove-last + +`true` if the sequence was not empty. + +--- + +### `void ucis_finish(void)` :id=api-ucis-finish + +Mark the input sequence as complete, and attempt to match. + +--- + +### `void ucis_cancel(void)` :id=api-ucis-cancel + +Cancel the input sequence. + +--- + +### `void register_ucis(void)` :id=api-register-ucis -Save the file and run the command `setxkbmap us` to reload the layout. +Send the code point(s) for the given UCIS index. -You can define one custom character for key defined in the layout, and another if you populate the fourth layer. Additional layers up to 8th are also possible. +#### Arguments :id=api-register-ucis-arguments -This method is specific to the computer on which you set the custom layout. The custom keys will be available only when Xorg is running. To avoid accidents, you should always reload the layout using `setxkbmap`, otherwise an invalid layout could prevent you from logging into your system, locking you out. + - `uint8_t index` + The index into the UCIS symbol table. diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md index 8c617fe33a06..aabf18e393ee 100644 --- a/docs/feature_userspace.md +++ b/docs/feature_userspace.md @@ -1,5 +1,7 @@ # Userspace: Sharing Code Between Keymaps +!> Please note, userspace submissions to the upstream `qmk/qmk_firmware` repository are no longer being accepted. The userspace feature itself remains functional and can be configured locally. + If you use more than one keyboard with a similar keymap, you might see the benefit in being able to share code between them. Create your own folder in `users/` named the same as your keymap (ideally your GitHub username, ``) with the following structure: * `/users//` (added to the path automatically) diff --git a/docs/feature_velocikey.md b/docs/feature_velocikey.md deleted file mode 100644 index aeb1865e8aff..000000000000 --- a/docs/feature_velocikey.md +++ /dev/null @@ -1,29 +0,0 @@ -# Velocikey - -Velocikey is a feature that lets you control the speed of lighting effects (like the Rainbow Swirl effect) with the speed of your typing. The faster you type, the faster the lights will go! - -## Usage -For Velocikey to take effect, there are two steps. First, when compiling your keyboard, you'll need to set `VELOCIKEY_ENABLE=yes` in `rules.mk`, e.g.: - -``` -MOUSEKEY_ENABLE = no -STENO_ENABLE = no -EXTRAKEY_ENABLE = yes -VELOCIKEY_ENABLE = yes -``` - -Then, while using your keyboard, you need to also turn it on with the `VK_TOGG` keycode, which toggles the feature on and off. - -The following light effects will all be controlled by Velocikey when it is enabled: - - RGB Breathing - - RGB Rainbow Mood - - RGB Rainbow Swirl - - RGB Snake - - RGB Knight - -Support for LED breathing effects is planned but not available yet. - - As long as Velocikey is enabled, it will control the speed regardless of any other speed setting that your RGB lights are currently on. - - ## Configuration - Velocikey doesn't currently support any configuration via keyboard settings. If you want to adjust something like the speed increase or decay rate, you would need to edit `velocikey.c` and adjust the values there to achieve the kinds of speeds that you like. diff --git a/docs/flashing.md b/docs/flashing.md index 443fa3123e1b..113d90ca38ff 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/getting_started_make_guide.md b/docs/getting_started_make_guide.md index 1a7e276098a7..3d98e4602b48 100644 --- a/docs/getting_started_make_guide.md +++ b/docs/getting_started_make_guide.md @@ -109,7 +109,7 @@ This allows you to send Unicode characters using `UC()` in your keym `UNICODEMAP_ENABLE` -This allows you to send Unicode characters using `X()` in your keymap. You will need to maintain a mapping table in your keymap file. All possible code points (up to `0x10FFFF`) are supported. +This allows you to send Unicode characters using `UM()` in your keymap. You will need to maintain a mapping table in your keymap file. All possible code points (up to `0x10FFFF`) are supported. `UCIS_ENABLE` diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md index f4e6c6619e64..faff0a1d7bfa 100644 --- a/docs/i2c_driver.md +++ b/docs/i2c_driver.md @@ -2,6 +2,18 @@ The I2C Master drivers used in QMK have a set of common functions to allow portability between MCUs. +## Usage :id=usage + +In most cases, the I2C Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md). + +However, if you need to use the driver standalone, add the following to your `rules.mk`: + +```make +I2C_DRIVER_REQUIRED = yes +``` + +You can then call the I2C API by including `i2c_master.h` in your code. + ## I2C Addressing :id=note-on-i2c-addresses All of the addresses expected by this driver should be pushed to the upper 7 bits of the address byte. Setting @@ -72,7 +84,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 +100,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 +117,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 +138,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 +170,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 +191,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 +214,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 +237,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 +258,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 +268,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 +279,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/_summary.md b/docs/ja/_summary.md index 4d6f2348d5cf..f26665e61431 100644 --- a/docs/ja/_summary.md +++ b/docs/ja/_summary.md @@ -112,7 +112,6 @@ * [分å‰ēキマボマド](ja/feature_split_keyboard.md) * [速čĻ˜](ja/feature_stenography.md) * [感į†ąåžãƒ—ナãƒģã‚ŋ](ja/feature_thermal_printer.md) - * [Velocikey](ja/feature_velocikey.md) * QMK ãŪ開į™š * [PR チェッã‚Ŋナã‚đト](ja/pr_checklist.md) diff --git a/docs/ja/contributing.md b/docs/ja/contributing.md index 56cc4d312daa..ef1271ad160b 100644 --- a/docs/ja/contributing.md +++ b/docs/ja/contributing.md @@ -110,11 +110,11 @@ enum my_keycodes { 開į™šį’°åĒƒã‚’ã‚ŧットã‚Ēップしたå ī合ãŊ、プãƒŦナã‚Ŋã‚Ļã‚đトを開く前ãŦäŧĨäļ‹ãŪã‚ģマãƒģドを `qmk_firmware/` フã‚ĐãƒŦダからåŪŸčĄŒã™ã‚‹ã“ãĻで、あおたãŪåĪ‰æ›īをプノビãƒĨマするこãĻができãūす: - ./bin/qmk docs + qmk docs ãūたãŊ、Python 3 ãŪãŋがã‚Īãƒģã‚đトマãƒŦされãĶいるå ī合: - python3 -m http.server 8936 + python3 -m http.server 8936 --directory docs そãŪåūŒã€ã‚ĶェブブãƒĐã‚Ķã‚ķで、`http://localhost:8936/` をčĄĻįĪšã—ãūす。 diff --git a/docs/ja/data_driven_config.md b/docs/ja/data_driven_config.md index bc8f4d24a542..6296173b66ae 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/ja/feature_velocikey.md b/docs/ja/feature_velocikey.md deleted file mode 100644 index b13969a195e7..000000000000 --- a/docs/ja/feature_velocikey.md +++ /dev/null @@ -1,34 +0,0 @@ -# Velocikey - - - -Velocikey ãŊå…Ĩ力ãŪ速åšĶをä―ŋãĢãĶ(ノã‚ĪãƒģボマæļĶå·ŧåŠđ果ãŪようお)ãƒĐã‚ĪトåŠđ果ãŪ速åšĶをåˆķåūĄã§ãã‚‹æĐŸčƒ―ã§ã™ã€‚é€Ÿãå…Ĩ力すればするãŧãĐãƒĐã‚Īトが速くおりãūす - -## ä―ŋį”Ļæģ• -Velocikey をä―ŋうためãŦãŊ、2ãĪãŪã‚đテップがありãūす。最初ãŦ、キマボマドをã‚ģãƒģパã‚ĪãƒŦする時ãŦ、`rules.mk` ãŦ `VELOCIKEY_ENABLE=yes` をčĻ­åŪšã™ã‚‹åŋ…čĶãŒã‚ã‚Šãūす。äū‹ãˆã°: - -``` -MOUSEKEY_ENABLE = no -STENO_ENABLE = no -EXTRAKEY_ENABLE = yes -VELOCIKEY_ENABLE = yes -``` - -æŽĄãŦ、キマボマドãŪä―ŋį”Ļäļ­ãŦ、VLK_TOG キマã‚ģマドをä―ŋãĢãĶ Velocikey を有åŠđãŦするåŋ…čĶã‚‚ありãūす。これãŊæĐŸčƒ―ã‚’ã‚ŠãƒģおよãģりフãŦしãūす。 - -äŧĨäļ‹ãŪå…ĻãĶãŪãƒĐã‚ĪトåŠđ果が、Velocikey を有åŠđãŦするこãĻでåˆķåūĄã•ã‚Œãūす: -- RGB 明æŧ…å‹•ä―œ -- RGB ノã‚Īãƒģボマムマド -- RGB ノã‚ĪãƒģボマæļĶå·ŧ -- RGB ã‚đネマã‚Ŋ -- RGB ナã‚Īト - -LED 明æŧ…å‹•ä―œãŪåŠđ果ãŪã‚ĩポマトãŊčĻˆį”ŧされãĶいãūすがãūだåˆĐį”Ļできãūせん。 - -Velocikey が有åŠđãŦおãĢãĶいる限り、įūåœĻã‚ŠãƒģãŦおãĢãĶいる RGB ãƒĐã‚ĪトãŪäŧ–ãŪå…ĻãĶãŪ速åšĶčĻ­åŪšãŦé–Ēäŋ‚おく、速åšĶがåˆķåūĄã•ã‚Œãūす。 - -## čĻ­åŪš -Velocikey ãŊįūåœĻãŪãĻころキマボマドčĻ­åŪšã‚’äŧ‹ã—たãĐãŪようおčĻ­åŪšã‚‚ã‚ĩポマトしãūせん。速åšĶãŪåĒ—加あるいãŊæļ›å°‘įŽ‡ãŠãĐをčŠŋæ•īしたいå ī合ãŊ、`velocikey.c` をį·Ļ集し、そこでå€ĪをčŠŋæ•īしãĶ、åĨ―ãŋãŪ速åšĶをåŪŸįūするåŋ…čĶãŒã‚ã‚Šãūす。 diff --git a/docs/ja/tap_hold.md b/docs/ja/tap_hold.md index 00b80c8b22ca..c9d94d07ce2e 100644 --- a/docs/ja/tap_hold.md +++ b/docs/ja/tap_hold.md @@ -160,7 +160,7 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { 「キマåˆĨ」ãŪé–Ē数å…ĻãĶãŦキマノã‚ģマドをåŦんでいるこãĻãŦ気äŧ˜ã„たかもしれãūせん。そしãĶおぜそうしたãŪかäļæ€č­°ãŦ思ãĢãĶいるかもしれãūせん。 -ãūぁ、それãŊ単įī”ãŦæœŽå―“ãŦã‚Ŧã‚đã‚ŋマã‚Īã‚šãŪãŸã‚ã§ã™ã€‚ãŸã ã—ã€å…·ä―“įš„ãŦãŊ、それãŊキマボマドãŪ配į·šæ–đæģ•ãŦよãĢãĶį•°ãŠã‚Šãūす。äū‹ãˆã°ã€å„čĄŒãŒåŪŸéš›ãŦキマボマドãŪマトナッã‚Ŋã‚đãŪ1čĄŒã‚’ä―ŋãĢãĶいるå ī合、キマã‚ģマドå…Ļä―“ã‚’ãƒã‚§ãƒƒã‚ŊするäŧĢわりãŦ、`if (record->event.row == 3)` をä―ŋうãŧうがį°Ąå˜ã‹ã‚‚しれãūせん。これãŊã€ãƒ›ãƒžãƒ ã‚­ãƒžčĄŒã§ã‚ŋップホマãƒŦドã‚ŋã‚ĪプãŪキマをä―ŋãĢãĶいる䚚ãŦãĻãĢãĶį‰đãŦäūŋåˆĐです。そãŪため、通åļļãŪã‚ŋã‚ĪピãƒģグをåĶĻげおいようãŦåūŪčŠŋæ•īするこãĻができるãŪでãŊおいでしょうか。 +ãūぁ、それãŊ単įī”ãŦæœŽå―“ãŦã‚Ŧã‚đã‚ŋマã‚Īã‚šãŪãŸã‚ã§ã™ã€‚ãŸã ã—ã€å…·ä―“įš„ãŦãŊ、それãŊキマボマドãŪ配į·šæ–đæģ•ãŦよãĢãĶį•°ãŠã‚Šãūす。äū‹ãˆã°ã€å„čĄŒãŒåŪŸéš›ãŦキマボマドãŪマトナッã‚Ŋã‚đãŪ1čĄŒã‚’ä―ŋãĢãĶいるå ī合、キマã‚ģマドå…Ļä―“ã‚’ãƒã‚§ãƒƒã‚ŊするäŧĢわりãŦ、`if (record->event.key.row == 3)` をä―ŋうãŧうがį°Ąå˜ã‹ã‚‚しれãūせん。これãŊã€ãƒ›ãƒžãƒ ã‚­ãƒžčĄŒã§ã‚ŋップホマãƒŦドã‚ŋã‚ĪプãŪキマをä―ŋãĢãĶいる䚚ãŦãĻãĢãĶį‰đãŦäūŋåˆĐです。そãŪため、通åļļãŪã‚ŋã‚ĪピãƒģグをåĶĻげおいようãŦåūŪčŠŋæ•īするこãĻができるãŪでãŊおいでしょうか。 ## `*_kb` や `*_user` é–Ē数がį„Ąã„ãŪãŊおぜですか diff --git a/docs/keycodes.md b/docs/keycodes.md index e5b6246af794..65762234a448 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -848,8 +848,8 @@ See also: [Unicode Support](feature_unicode.md) |Key |Aliases |Description | |----------------------------|---------|----------------------------------------------------------------| |`UC(c)` | |Send Unicode code point `c`, up to `0x7FFF` | -|`X(i)` | |Send Unicode code point at index `i` in `unicode_map` | -|`XP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| +|`UM(i)` | |Send Unicode code point at index `i` in `unicode_map` | +|`UP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| |`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Cycle through selected input modes | |`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Cycle through selected input modes in reverse | |`QK_UNICODE_MODE_MACOS` |`UC_MAC` |Switch to macOS input | diff --git a/docs/newbs_building_firmware_workflow.md b/docs/newbs_building_firmware_workflow.md index e0cfdc77dfae..a3cc53ad8653 100644 --- a/docs/newbs_building_firmware_workflow.md +++ b/docs/newbs_building_firmware_workflow.md @@ -143,13 +143,13 @@ Replace `username.json` with the JSON file name that was downloaded from [QMK Co If you have completed all steps correctly, the folder `qmk_keymap/` will contain the following files: ``` -|-- .github -| `-- workflows -| `-- build.yml -|-- rules.mk -|-- config.h -|-- source.c -|-- username.json +├── .github +│   └── workflows +│   └── build.yml +├── rules.mk +├── config.h +├── source.c +└── username.json ``` To commit and push them into GitHub, run the following commands (replacing `gh-username` with your GitHub user name): diff --git a/docs/newbs_external_userspace.md b/docs/newbs_external_userspace.md new file mode 100644 index 000000000000..9bdf4b0b185c --- /dev/null +++ b/docs/newbs_external_userspace.md @@ -0,0 +1,96 @@ +# External QMK Userspace + +QMK Firmware now officially supports storing user keymaps outside of the normal QMK Firmware repository, allowing users to maintain their own keymaps without having to fork, modify, and maintain a copy of QMK Firmware themselves. + +External Userspace mirrors the structure of the main QMK Firmware repository, but only contains the keymaps that you wish to build. You can still use `keyboards//keymaps/` to store your keymaps, or you can use the `layouts//` system as before -- they're just stored external to QMK Firmware. + +The build system will still honor the use of `users/` if you rely on the traditional QMK Firmware [userspace feature](feature_userspace.md) -- it's now supported externally too, using the same location inside the External Userspace directory. + +Additionally, there is first-class support for using GitHub Actions to build your keymaps, allowing you to automatically compile your keymaps whenever you push changes to your External Userspace repository. + +!> External Userspace is new functionality and may have issues. Tighter integration with the `qmk` command will occur over time. + +?> Historical keymap.json and GitHub-based firmware build instructions can be found [here](newbs_building_firmware_workflow.md). This document supersedes those instructions, but they should still function correctly. + +## Setting up QMK Locally + +If you wish to build on your local machine, you will need to set up QMK locally. This is a one-time process, and is documented in the [newbs setup guide](https://docs.qmk.fm/#/newbs). + +!> If you wish to use any QMK CLI commands related to manipulating External Userspace definitions, you will currently need a copy of QMK Firmware as well. + +!> Building locally has a much shorter turnaround time than waiting for GitHub Actions to complete. + +## External Userspace Repository Setup (forked on GitHub) + +A basic skeleton External Userspace repository can be found [here](https://github.com/qmk/qmk_userspace). If you wish to keep your keymaps on GitHub (strongly recommended!), you can fork the repository and use it as a base: + +![Userspace Fork](https://i.imgur.com/hcegguh.png) + +Going ahead with your fork will copy it to your account, at which point you can clone it to your local machine and begin adding your keymaps: + +![Userspace Clone](https://i.imgur.com/CWYmsk8.png) + +```sh +cd $HOME +git clone https://github.com/{myusername}/qmk_userspace.git +qmk config user.overlay_dir="$(realpath qmk_userspace)" +``` + +## External Userspace Setup (locally stored only) + +If you don't want to use GitHub and prefer to keep everything local, you can clone a copy of the default External Userspace locally instead: + +```sh +cd $HOME +git clone https://github.com/qmk/qmk_userspace.git +qmk config user.overlay_dir="$(realpath qmk_userspace)" +``` + +## Adding a Keymap + +_These instructions assume you have already set up QMK locally, and have a copy of the QMK Firmware repository on your machine._ + +Keymaps within External Userspace are defined in the same way as they are in the main QMK repository. You can either use the `qmk new-keymap` command to create a new keymap, or manually create a new directory in the `keyboards` directory. + +Alternatively, you can use the `layouts` directory to store your keymaps, using the same layout system as the main QMK repository -- if you choose to do so you'll want to use the path `layouts///keymap.*` to store your keymap files, where `layout name` matches an existing layout in QMK, such as `tkl_ansi`. + +After creating your new keymap, building the keymap matches normal QMK usage: + +```sh +qmk compile -kb -km +``` + +!> The `qmk config user.overlay_dir=...` command must have been run when cloning the External Userspace repository for this to work correctly. + +## Adding the keymap to External Userspace build targets + +Once you have created your keymap, if you want to use GitHub Actions to build your firmware, you will need to add it to the External Userspace build targets. This is done using the `qmk userspace-add` command: + +```sh +# for a keyboard/keymap combo: +qmk userspace-add -kb -km +# or, for a json-based keymap (if kept "loose"): +qmk userspace-add +``` + +This updates the `qmk.json` file in the root of your External Userspace directory. If you're using a git repository to store your keymaps, now is a great time to commit and push to your own fork. + +## Compiling External Userspace build targets + +Once you have added your keymaps to the External Userspace build targets, you can compile all of them at once using the `qmk userspace-compile` command: + +```sh +qmk userspace-compile +``` + +All firmware builds you've added to the External Userspace build targets will be built, and the resulting firmware files will be placed in the root of your External Userspace directory. + +## Using GitHub Actions + +GitHub Actions can be used to automatically build your keymaps whenever you push changes to your External Userspace repository. If you have set up your list of build targets, this is as simple as enabling workflows in the GitHub repository settings: + +![Repo Settings](https://i.imgur.com/EVkxOt1.png) + +Any push will result in compilation of all configured builds, and once completed a new release containing the newly-minted firmware files will be created on GitHub, which you can subsequently download and flash to your keyboard: + +![Releases](https://i.imgur.com/zmwOL5P.png) diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index a16207f267b1..68e37679b80b 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -56,7 +56,7 @@ QMK maintains a Homebrew tap and formula which will automatically install the CL You will need to install Homebrew. Follow the instructions on https://brew.sh. -!> **NOTE:** If you are using Apple Silicon, such as the M1, you will need to install a rosetta compatible version of Homebrew. This version does not override the base Homebrew. This can be done by running `arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"`. See here: [Rosetta-compatible Homebrew](https://stackoverflow.com/questions/64882584/how-to-run-the-homebrew-installer-under-rosetta-2-on-m1-macbook) +?> If you are using an Apple Silicon machine, the installation process will take significantly longer because GitHub actions do not have native runners to build binary packages for the ARM and AVR toolchains. #### Installation @@ -64,10 +64,6 @@ Install the QMK CLI by running: brew install qmk/qmk/qmk -Install the QMK CLI on an Apple Silicon Mac by running: - - arch -x86_64 brew install qmk/qmk/qmk - ### ** Linux/WSL ** ?> **Note for WSL users**: By default, the installation process will clone the QMK repository into your WSL home directory, but if you have cloned manually, ensure that it is located inside the WSL instance instead of the Windows filesystem (ie. not in `/mnt`), as accessing it is currently [extremely slow](https://github.com/microsoft/WSL/issues/4197). diff --git a/docs/other_vscode.md b/docs/other_vscode.md index 83ae6e6ed060..49d5035b08eb 100644 --- a/docs/other_vscode.md +++ b/docs/other_vscode.md @@ -96,7 +96,7 @@ There are a number of extensions that you may want to install: * [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) - _[Optional]_ - This is the language server for C/C++ that VS Code uses. It provides IntelliSense and other features. * [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - _[Optional]_ - Helps to keep the code to the QMK Coding Conventions. * [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's. -* [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody. +* [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody. Restart once you've installed any extensions. diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index d22e912e86a9..6a0ae3159768 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -11,7 +11,6 @@ If there are any inconsistencies with these recommendations, you're best off [cr - if submitter _does_ use their own `master` branch, they'll be given a link to the ["how to git"](newbs_git_using_your_master_branch.md) page after merging -- (end of this document will contain the contents of the message) - PRs should contain the smallest amount of modifications required for a single change to the codebase - multiple keyboards at the same time is not acceptable - - exception: keymaps for a single user targeting multiple keyboards and/or userspace is acceptable - **the smaller the PR, the higher likelihood of a quicker review, higher likelihood of quicker merge, and less chance of conflicts** - newly-added directories and filenames must be lowercase - the lowercase requirement may be relaxed if upstream sources originally had uppercase characters (e.g. LUFA, ChibiOS, or imported files from other repositories etc.) @@ -40,10 +39,13 @@ If there are any inconsistencies with these recommendations, you're best off [cr ## Keymap PRs -- `#include QMK_KEYBOARD_H` preferred to including specific board files -- prefer layer `enum`s to `#define`s -- require custom keycode `enum`s to `#define`s, first entry must have ` = SAFE_RANGE` -- terminating backslash (`\`) in lines of LAYOUT macro parameters is superfluous and should be removed +!> Note that personal keymap submissions will no longer be accepted. This section applies to manufacturer-supported keymaps. Please see this [issue](https://github.com/qmk/qmk_firmware/issues/22724) for more information. + +- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}`, `via_${vendor}` i.e. `via_clueboard`. + - vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` or `via` stock keymaps. +- #include QMK_KEYBOARD_H preferred to including specific board files +- prefer layer enums to #defines +- custom keycode enums must have first entry = SAFE_RANGE - some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap ## Keyboard PRs @@ -79,6 +81,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - Encoder Configuration - Bootmagic Configuration - LED Indicator Configuration + - Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file. - `readme.md` - must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md) - flash command is present, and has `:flash` at end @@ -101,7 +104,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - keyboard `config.h` - no `#define DESCRIPTION` - no Magic Key Options, MIDI Options or HD44780 configuration - - user preference configurable `#define`s need to be moved to keymap `config.h` + - user preference configurable `#define`s should not be placed at the keyboard level - default values should not be redefined, such as `DEBOUNCE`, RGB related settings, etc. - feature specific documentation contains most default values - `grep` or alternative tool can be used to search for default values in core directories (e.g. `grep -r "define DEBOUNCE" quantum`) @@ -115,8 +118,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - mirroring existing functionality of a commercial board (like custom keycodes and special animations etc.) should be handled through non-`default` keymaps - Vial-related files or changes will not be accepted, as they are not used by QMK firmware (no Vial-specific core code has been submitted or merged) - `.c` - - empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed - - empty `xxxx_xxxx_user()` or other user-level functions are disallowed at the keyboard level and must be moved to keymaps + - empty `xxxx_xxxx_kb()`, `xxxx_xxxx_user()`, or other weak-defined default implemented functions removed - commented-out functions removed too - `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions.md?id=keyboard_pre_init_-function-documentation) - prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix.md?id=lite) @@ -136,7 +138,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - 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` -- submitters can have a personal (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap +- submitters can add an example (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap - submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board - Do not include VIA json files in the PR. These do not belong in the QMK repository as they are not used by QMK firmware -- they belong in the [VIA Keyboard Repo](https://github.com/the-via/keyboards) - Do not include KLE json files in the PR. These have no use within QMK. diff --git a/docs/qmk_custom_dark.css b/docs/qmk_custom_dark.css index 35498fbd8636..ffa5539922a5 100644 --- a/docs/qmk_custom_dark.css +++ b/docs/qmk_custom_dark.css @@ -2,9 +2,13 @@ background-color: #555; } -.markdown-section p.tip, .markdown-section tr:nth-child(2n) { - background-color:#444; + background-color:#444; +} + +.markdown-section p.tip { + background-color:#555; + color:#FFF; } .markdown-section tr { @@ -16,7 +20,7 @@ } .markdown-section p.tip code { - background-color: #555; + background-color: #333; color: #fff; } diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 5e399183f8b2..181abf8bb37b 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -13,22 +13,24 @@ QUANTUM_PAINTER_DRIVERS += ...... You will also likely need to select an appropriate driver in `rules.mk`, which is listed below. -!> Quantum Painter is not currently integrated with system-level operations such as disabling displays after a configurable timeout, or when the keyboard goes into suspend. Users will need to handle this manually at the current time. +!> Quantum Painter is not currently integrated with system-level operations such as when the keyboard goes into suspend. Users will need to handle this manually at the current time. The QMK CLI can be used to convert from normal images such as PNG files or animated GIFs, as well as fonts from TTF files. Supported devices: -| Display Panel | Panel Type | Size | Comms Transport | Driver | -|----------------|--------------------|------------------|-----------------|---------------------------------------------| -| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` | -| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` | -| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` | -| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` | -| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` | -| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` | -| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` | -| RGB565 Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += rgb565_surface` | +| Display Panel | Panel Type | Size | Comms Transport | Driver | +|---------------|--------------------|------------------|-----------------|------------------------------------------| +| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` | +| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` | +| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` | +| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` | +| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` | +| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` | +| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` | +| SH1106 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` | +| SH1106 (I2C) | Monochrome OLED | 128x64 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` | +| Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += surface` | ## Quantum Painter Configuration :id=quantum-painter-config @@ -188,7 +190,8 @@ Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.c... -### ** Common: Standard TFT (SPI + D/C + RST) ** + +### ** LCD ** Most TFT display panels use a 5-pin interface -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. @@ -302,32 +305,6 @@ The maximum number of displays can be configured by changing the following in yo Native color format rgb888 is compatible with ILI9488 -#### ** SSD1351 ** - -Enabling support for the SSD1351 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS += ssd1351_spi -``` - -Creating a SSD1351 device in firmware can then be done with the following API: - -```c -painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_ssd1351_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define SSD1351_NUM_DEVICES 3 -``` - -Native color format rgb565 is compatible with SSD1351 - #### ** ST7735 ** Enabling support for the ST7735 in Quantum Painter is done by adding the following to `rules.mk`: @@ -386,62 +363,139 @@ Native color format rgb565 is compatible with ST7789 -### ** Common: Surfaces ** +### ** OLED ** -Quantum Painter has surface drivers which are able to target a buffer in RAM. In general, surfaces keep track of the "dirty" region -- the area that has been drawn to since the last flush -- so that when transferring to the display they can transfer the minimal amount of data to achieve the end result. +OLED displays tend to use 5-pin SPI when at larger resolutions, or when using color -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. Smaller OLEDs may use I2C instead. -!> These generally require significant amounts of RAM, so at large sizes and/or higher bit depths, they may not be usable on all MCUs. +When using these displays, either `spi_master` or `i2c_master` must already be correctly configured for both the platform and panel you're building for. + +For SPI, the pin assignments for SPI CS, D/C, and RST are specified during device construction -- for I2C the panel's address is specified instead. -#### ** RGB565 Surface ** +#### ** SSD1351 ** + +Enabling support for the SSD1351 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += ssd1351_spi +``` + +Creating a SSD1351 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ssd1351_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define SSD1351_NUM_DEVICES 3 +``` + +Native color format rgb565 is compatible with SSD1351 + +#### ** SH1106 ** -Enabling support for RGB565 surfaces in Quantum Painter is done by adding the following to `rules.mk`: +Enabling support for the SH1106 in Quantum Painter is done by adding the following to `rules.mk`: ```make QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS += rgb565_surface +# For SPI: +QUANTUM_PAINTER_DRIVERS += sh1106_spi +# For I2C: +QUANTUM_PAINTER_DRIVERS += sh1106_i2c ``` -Creating a RGB565 surface in firmware can then be done with the following API: +Creating a SH1106 device in firmware can then be done with the following APIs: ```c -painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); +// SPI-based SH1106: +painter_device_t qp_sh1106_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +// I2C-based SH1106: +painter_device_t qp_sh1106_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); ``` -The `buffer` is a user-supplied area of memory, and is assumed to be of the size `sizeof(uint16_t) * panel_width * panel_height`. +The device handle returned from the `qp_sh1106_make_???_device` function can be used to perform all other drawing operations. + +The maximum number of displays of each type can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 SPI displays: +#define SH1106_NUM_SPI_DEVICES 3 +// 3 I2C displays: +#define SH1106_NUM_I2C_DEVICES 3 +``` + +Native color format mono2 is compatible with SH1106 + + + +### ** Surface ** -The device handle returned from the `qp_rgb565_make_surface` function can be used to perform all other drawing operations. +Quantum Painter has a surface driver which is able to target a buffer in RAM. In general, surfaces keep track of the "dirty" region -- the area that has been drawn to since the last flush -- so that when transferring to the display they can transfer the minimal amount of data to achieve the end result. + +!> These generally require significant amounts of RAM, so at large sizes and/or higher bit depths, they may not be usable on all MCUs. + +Enabling support for surfaces in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += surface +``` + +Creating a surface in firmware can then be done with the following APIs: + +```c +// 16bpp RGB565 surface: +painter_device_t qp_make_rgb565_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); +// 1bpp monochrome surface: +painter_device_t qp_make_mono1bpp_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); +``` + +The `buffer` is a user-supplied area of memory, which can be statically allocated using `SURFACE_REQUIRED_BUFFER_BYTE_SIZE`: + +```c +// Buffer required for a 240x80 16bpp surface: +uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(240, 80, 16)]; +``` + +The device handle returned from the `qp_make_?????_surface` function can be used to perform all other drawing operations. Example: ```c static painter_device_t my_surface; -static uint16_t my_framebuffer[320 * 240]; // Allocate a buffer for a 320x240 RGB565 display +static uint8_t my_framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(240, 80, 16)]; // Allocate a buffer for a 16bpp 240x80 RGB565 display void keyboard_post_init_kb(void) { - my_surface = qp_rgb565_make_surface(320, 240, my_framebuffer); + my_surface = qp_rgb565_make_surface(240, 80, my_framebuffer); qp_init(my_surface, QP_ROTATION_0); + keyboard_post_init_user(); } ``` -The maximum number of RGB565 surfaces can be configured by changing the following in your `config.h` (default is 1): +The maximum number of surfaces can be configured by changing the following in your `config.h` (default is 1): ```c // 3 surfaces: -#define RGB565_SURFACE_NUM_DEVICES 3 +#define SURFACE_NUM_DEVICES 3 ``` -To transfer the contents of the RGB565 surface to another display, the following API can be invoked: +To transfer the contents of the surface to another display of the same pixel format, the following API can be invoked: ```c -bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y); +bool qp_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y, bool entire_surface); ``` -The `surface` is the surface to copy out from. The `display` is the target display to draw into. `x` and `y` are the target location to draw the surface pixel data. Under normal circumstances, the location should be consistent, as the dirty region is calculated with respect to the `x` and `y` coordinates -- changing those will result in partial, overlapping draws. +The `surface` is the surface to copy out from. The `display` is the target display to draw into. `x` and `y` are the target location to draw the surface pixel data. Under normal circumstances, the location should be consistent, as the dirty region is calculated with respect to the `x` and `y` coordinates -- changing those will result in partial, overlapping draws. `entire_surface` whether the entire surface should be drawn, instead of just the dirty region. -?> Calling `qp_flush()` on the surface resets its dirty region. Copying the surface contents to the display also automatically resets the dirty region. +!> The surface and display panel must have the same native pixel format. - +?> Calling `qp_flush()` on the surface resets its dirty region. Copying the surface contents to the display also automatically resets the dirty region. @@ -857,13 +911,52 @@ void keyboard_post_init_kb(void) { -#### ** Get Geometry ** +#### ** Gettters ** + +These functions allow external code to retrieve the current width, height, rotation, and drawing offsets. + + + +#### ** Width ** + +```c +uint16_t qp_get_width(painter_device_t device); +``` + +#### ** Height ** + +```c +uint16_t qp_get_height(painter_device_t device); +``` + +#### ** Rotation ** + +```c +painter_rotation_t qp_get_rotation(painter_device_t device); +``` + +#### ** Offset X ** + +```c +uint16_t qp_get_offset_x(painter_device_t device); +``` + +#### ** Offset Y ** + +```c +uint16_t qp_get_offset_y(painter_device_t device); +``` + +##### ** Everything ** + +Convenience function to call all the previous ones at once. +Note: You can pass `NULL` for the values you are not interested in. ```c 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); ``` -The `qp_get_geometry` function allows external code to retrieve the current width, height, rotation, and drawing offsets. + #### ** Set Viewport Offsets ** diff --git a/docs/quantum_painter_lvgl.md b/docs/quantum_painter_lvgl.md index 4d10160baf4b..b4f31ad4af8a 100644 --- a/docs/quantum_painter_lvgl.md +++ b/docs/quantum_painter_lvgl.md @@ -53,3 +53,11 @@ The `qp_lvgl_detach` function stops the internal LVGL ticks and releases resourc ## Enabling/Disabling LVGL features :id=lvgl-configuring You can overwrite LVGL specific features in your `lv_conf.h` file. + +## Changing the LVGL task frequency + +When LVGL is running, your keyboard's responsiveness may decrease, causing missing keystrokes or encoder rotations, especially during the animation of dynamically-generated content. This occurs because LVGL operates as a scheduled task with a default task rate of five milliseconds. While a fast task rate is advantageous when LVGL is responsible for detecting and processing inputs, it can lead to excessive recalculations of displayed content, which may slow down QMK's matrix scanning. If you rely on QMK instead of LVGL for processing inputs, it can be beneficial to increase the time between calls to the LVGL task handler to better match your preferred display update rate. To do this, add this to your `config.h`: + +```c +#define QP_LVGL_TASK_PERIOD 40 +``` diff --git a/docs/reference_glossary.md b/docs/reference_glossary.md index ace6b5f330bb..31855606be78 100644 --- a/docs/reference_glossary.md +++ b/docs/reference_glossary.md @@ -113,7 +113,7 @@ A modifier that acts as if it is held down until another key is released, so you A low cost AVR development board. Clones of this device are often found on ebay very inexpensively (under $5) but people often struggle with flashing their pro micros. ## Pull Request -A request to submit code to QMK. We encourage all users to submit Pull Requests for their personal keymaps. +A request to submit code to QMK. We encourage all users to submit Pull Requests for bugfixes and new features. ## QWERTY The standard English keyboard layout, and often a shortcut for other language's standard layouts. Named for the first 6 letters on the keyboard. diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index b5c9b3be9966..e102b9bfb94e 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -1,369 +1,841 @@ -# `info.json` +# `info.json` Reference :id=info-json-reference The information contained in `info.json` is combined with the `config.h` and `rules.mk` files, dynamically generating the necessary configuration for your keyboard at compile time. It is also used by the [QMK API](https://github.com/qmk/qmk_api), and contains the information [QMK Configurator](https://config.qmk.fm/) needs to display a representation of your keyboard. Its key/value pairs are ruled by the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file. To learn more about the why and how of the schema file see the [Data Driven Configuration](https://docs.qmk.fm/#/data_driven_config) page. -You can create `info.json` files at every level under `qmk_firmware/keyboards/`. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` specifies more specific information about Clueboard 66%. +You can create `info.json` files at every level under `qmk_firmware/keyboards/`. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies information common to all Clueboard products, such as `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` contains more specific information about Clueboard 66%. -## `info.json` Format +## General Metadata :id=general-metadata -The `info.json` file is a JSON formatted dictionary. The first six keys noted here must be defined in `info.json`, or your keyboard will not be accepted into the QMK repository. - -* `keyboard_name` - * A free-form text string describing the keyboard. - * Example: `Clueboard 66%` -* `manufacturer` - * A free-form text string describing the keyboard's manufacturer. - * Example: `Clueboard` -* `url` - * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. - * Example: `https://clueboard.co` -* `maintainer` +* `keyboard_name` (Required) + * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (ÎĻ). + * Example: `"Clueboard 66%"` +* `maintainer` (Required) * GitHub username of the maintainer, or `qmk` for community maintained boards. - * Example: `skullydazed` -* `usb` - * Configure USB VID, PID, and device version. See the [USB](#USB) section for more detail. -* `debounce` - * The amount of time in milliseconds to wait for debounce to happen. - * Default: `5` -* `diode_direction` - * The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details. -* `layout_aliases` - * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to. -* `layouts` - * Physical Layout representations. See the [Layout Format](#layout-format) section for more detail. -* `matrix_pins` - * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix-pins) section for more detail. -* `rgblight` - * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail. - - -?> For all the available keys and their allowed values refer back to the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file. - -## Layout Format - -Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`. - -* `layout` - * A list of Key Dictionaries describing the physical layout. See the next section for more details. - -### Key Dictionary Format - -Each Key Dictionary in a layout describes the physical properties of a key. If you are familiar with the Raw Data for you will find many of the concepts the same. We re-use the same key names and layout choices wherever possible, but unlike keyboard-layout-editor each key is stateless, inheriting no properties from the keys that came before it. - -All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. - -* `x` - * **Required**. The absolute position of the key in the horizontal axis, in Key Units. -* `y` - * **Required**. The absolute position of the key in the vertical axis, in Key Units. -* `w` - * The width of the key, in Key Units. - * Default: `1` -* `h` - * The height of the key, in Key Units. - * Default: `1` -* `label` - * What to name this position in the matrix. This should usually correspond to the keycode for the first layer of the default keymap. -* `matrix` - * A two item list describing the row and column location for this key. - * Example: `[0, 4]` - -## Matrix Pins - -Currently QMK supports connecting switches either directly to GPIO pins or via a switch matrix. At this time you can not combine these, they are mutually exclusive. - -### Switch Matrix - -Most keyboards use a switch matrix to connect keyswitches to the MCU. You can define your pin columns and rows to configure your switch matrix. When defining switch matrices you should also define your `diode_direction`. - -Example: - -```json -{ - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["F4", "E6", "B1", "D2"], - "rows": ["B0", "D3", "D5", "D4", "D6"] - } -} -``` - -### Direct Pins - -Direct pins are when you connect one side of the switch to GND and the other side to a GPIO pin on your MCU. No diode is required, but there is a 1:1 mapping between switches and pins. - -When specifying direct pins you need to arrange them in nested arrays. The outer array consists of rows, while the inner array uses text strings to identify the pins used in each row. You can use `null` to indicate an empty spot in the matrix. - -Notice that when using direct pins, `diode_direction` is left undefined. - -Example: - -```json -{ - "matrix_pins": { - "direct": [ - ["A10", "A9"], - ["A0", "B8"], - [null, "B11"], - ["B9", "A8"], - ["A7", "B1"], - [null, "B2"] - ] + * Example: `"skullydazed"` +* `manufacturer` (Required) + * A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (ÎĻ). + * Example: `"Clueboard"` +* `url` (Required) + * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. + * Example: `"https://clueboard.co"` +* `bootloader_instructions` + * Instructions for putting the keyboard into a mode that allows for firmware flashing. + * Example: `"Press the button marked RESET on the back of the PCB"` +* `tags` + * A list of tags describing the keyboard. + * Example: `["ortho", "split", "rgb"]` + +## Hardware Configuration :id=hardware-configuration + +* `board` + * Override the default ChibiOS board name (ARM-based keyboards only). + * Example: `"BLACKPILL_STM32_F411"` +* `bootloader` + * The bootloader in use on the keyboard. Required if `development_board` is not specified. +* `development_board` + * The microcontroller development board, if applicable. + * Example: `"promicro"` +* `pin_compatible` + * The form factor of the development board, if applicable. Must be one of `elite_c`, `promicro`. +* `processor` + * The microcontroller in use on the keyboard. Required if `development_board` is not specified. + +## Firmware Configuration :id=firmware-configuration + +* `build` + * `debounce_type` + * The debounce algorithm to use. Must be one of `asym_eager_defer_pk`, `custom`, `sym_defer_g`, `sym_defer_pk`, `sym_defer_pr`, `sym_eager_pk`, `sym_eager_pr`. + * `firmware_format` + * The format of the final output binary. Must be one of `bin`, `hex`, `uf2`. + * `lto` + * Enable Link-Time Optimization. + * Default: `false` +* `features` + * A dictionary of features to enable or disable. + * Example: + ```json + { + "rgb_matrix": true, + "rgblight": false } -} -``` - -### Additional Options + ``` +* `qmk` + * `locking` + * `enabled` + * Enable locking switch support. + * Default: `false` + * `resync` + * Keep switch state consistent with keyboard LED state. + * Default: `false` + * `tap_capslock_delay` + * The delay between keydown and keyup for Caps Lock tap events in milliseconds. + * Default: `80` (80 ms) + * `tap_keycode_delay` + * The delay between keydown and keyup for tap events in milliseconds. + * Default: `0` (no delay) +* `tapping` + * `hold_on_other_key_press` + * Default: `false` + * `hold_on_other_key_press_per_key` + * Default: `false` + * `permissive_hold` + * Default: `false` + * `permissive_hold_per_key` + * Default: `false` + * `retro` + * Default: `false` + * `retro_per_key` + * Default: `false` + * `term` + * Default: `200` (200 ms) + * `term_per_key` + * Default: `false` + * `toggle` + * Default: `5` + +## APA102 :id=apa102 + +Configures the [APA102](apa102_driver.md) driver. + +* `apa102` + * `clock_pin` (Required) + * The GPIO pin connected to `CI` on the first LED in the chain. + * `data_pin` (Required) + * The GPIO pin connected to `DI` on the first LED in the chain. + * `default_brightness` + * The initial global brightness level (independent of the RGB data), from 0 to 31. + * Default: `31` + +## Audio :id=audio + +Configures the [Audio](feature_audio.md) feature. + +* `audio` + * `macro_beep` + * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros. + * Default: `false` + * `pins` (Required) + * The GPIO pin(s) connected to the speaker(s). + * `voices` + * Use multiple audio voices. + * Default: `false` + +## Backlight :id=backlight + +Configures the [Backlight](feature_backlight.md) feature. + +* `backlight` + * `as_caps_lock` + * Use the backlight as a Caps Lock indicator. + * Default: `false` + * `breathing` + * Whether backlight breathing is enabled. + * Default: `false` + * `breathing_period` + * The length of one backlight breathing cycle in seconds. + * Default: `6` (6 seconds) + * `default` + * `on` + * The default backlight enabled state. + * Default: `true` + * `breathing` + * The default backlight breathing state. + * Default: `false` + * `brightness` + * The default brightness level. + * Default: `max_brightness` + * `driver` + * The driver to use. Must be one of `custom`, `pwm`, `software`, `timer`. + * Default: `"pwm"` + * `levels` + * The number of brightness levels (excluding off), from 1 to 31. + * Default: `3` + * `max_brightness` + * The maximum PWM value which brightness is scaled to, from 0 to 255. + * Default: `255` + * `on_state` + * The logical GPIO state required to turn the LEDs on. + * Default: `1` (on = high) + * `pin` + * The GPIO pin connected to the backlight circuit. + * `pins` + * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). + +## Bluetooth :id=bluetooth + +Configures the [Bluetooth](feature_bluetooth.md) feature. + +* `bluetooth` + * `driver` + * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`. + +## Bootmagic :id=bootmagic + +Configures the [Bootmagic](feature_bootmagic.md) feature. + +* `bootmagic` + * `enabled` + * Enables the Bootmagic feature. + * Default: `false` + * `matrix` + * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key. + * Default: `[0, 0]` + +## Caps Word :id=caps-word + +Configures the [Caps Word](feature_caps_word.md) feature. + +* `caps_word` + * `both_shifts_turns_on` + * Activate Caps Word by pressing both Shift keys. + * Default: `false` + * `double_tap_shift_turns_on` + * Activate Caps Word by pressing Left Shift twice. + * Default: `false` + * `enabled` + * Enables the Caps Word feature. + * Default: `false` + * `idle_timeout` + * The amount of time before Caps Word automatically deactivates in milliseconds. + * Default: `5000` (5 seconds) + * `invert_on_shift` + * Invert shift state instead of deactivating Caps Word when Shift is pressed. + * Default: `false` + +## Combo :id=combo + +Configures the [Combo](feature_combo.md) feature. + +* `combo` + * `term` + * The amount of time to recognize a combo in milliseconds. + * Default: `50` (50 ms) + +## DIP Switches :id=dip-switch + +Configures the [DIP Switches](feature_dip_switch.md) feature. + +* `dip_switch` + * `enabled` + * Enable the DIP Switches feature. + * Default: `false` + * `pins` + * A list of GPIO pins connected to the MCU. + * `matrix_grid` + * A list of matrix locations in the key matrix. + * Example: `[ [0,6], [1,6], [2,6] ]` + +## EEPROM :id=eeprom + +Configures the [EEPROM](eeprom_driver.md) driver. + +* `eeprom` + * `driver` + * The EEPROM backend to use. Must be one of `custom`, `i2c`, `legacy_stm32_flash`, `spi`, `transient`, `vendor`, `wear_leveling`. + * Default: `"vendor"` + * `wear_leveling` + * `driver` + * The driver to use. Must be one of `embedded_flash`, `legacy`, `rp2040_flash`, `spi_flash`, `custom`. + * `backing_size` + * Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. + * `logical_size` + * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM. + +## Encoder :id=encoder + +Configures the [Encoder](feature_encoders.md) feature. + +* `encoder` + * `rotary` + * A list of encoder objects. + * `pin_a` (Required) + * The GPIO pin connected to the encoder's `A` pin. + * `pin_b` (Required) + * The GPIO pin connected to the encoder's `B` pin. + * `resolution` + * The number of edge transitions on both pins required to register an input. + * Default: `4` + +## Indicators :id=indicators + +Configures the [LED Indicators](feature_led_indicators.md) feature. + +* `indicators` + * `caps_lock` + * The GPIO pin connected to the Caps Lock LED. + * `compose` + * The GPIO pin connected to the Compose LED. + * `kana` + * The GPIO pin connected to the Kana LED. + * `num_lock` + * The GPIO pin connected to the Num Lock LED. + * `on_state` + * The logical GPIO state required to turn the LEDs on. + * Default: `1` (on = high) + * `scroll_lock` + * The GPIO pin connected to the Scroll Lock LED. + +## Layouts :id=layouts + +The `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout names, for example `LAYOUT_60_ansi` or `LAYOUT_60_iso`. + +Each key dictionary in a layout describes the physical properties of a key. If you are familiar with the Raw Data format for [Keyboard Layout Editor](https://keyboard-layout-editor.com), you will find many of the concepts the same. Key names and layout choices are reused wherever possible, but unlike KLE each key is stateless, inheriting no properties from the keys that came before it. -* `input_pressed_state` - * This configures state of the GPIO pins when the key is pressed - `1` for high, `0` for low - * Default: `0` - -Example: - -```json - "matrix_pins": { - "input_pressed_state": 1, -}, -``` - -## Non-RGB LED Lighting - -This section controls basic 2-pin LEDs, which typically pass through keyswitches and are soldered into the PCB, or are placed in PCB sockets. -### Backlight +All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. -Enable by setting +The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as `qmk info -l` and the QMK Configurator) should display this key as expected. -```json - "features": { - "backlight": true - } -``` - -* `breathing` - * Enable backlight breathing, if supported -* `breathing_period` - * The length of one backlight “breath” in seconds -* `levels` - * The number of brightness levels (maximum 31, excluding off) -* `max_brightness` - * The maximum duty cycle of the backlight LED(s) (0-255) -* `pin` - * The pin that controls the backlight LED(s) -* `pins` - * Array of pins that controls the backlight LED(s) (See [Multiple Backlight Pins](feature_backlight.md#multiple-backlight-pins)) -* `on_state` - * The state of the indicator pins when the LED is "on" - `1` for high, `0` for low - * Default: `1` - -Example: - -```json -{ - "backlight": { - "breathing": true, - "breathing_period": 5, - "levels": 15, - "pin": "B7" - } -} -``` - -### LED Indicators - -Used for indicating Num Lock, Caps Lock, and Scroll Lock. May be soldered in-switch or in a dedicated area. - -* `num_lock` - * The pin that controls the `Num Lock` LED -* `caps_lock` - * The pin that controls the `Caps Lock` LED -* `scroll_lock` - * The pin that controls the `Scroll Lock` LED -* `compose` - * The pin that controls the `Compose` LED -* `kana` - * The pin that controls the `Kana` LED -* `on_state` - * The state of the indicator pins when the LED is "on" - `1` for high, `0` for low - * Default: `1` - -Example: - -```json -{ - "indicators": { - "num_lock": "B6", - "caps_lock": "D2", - "scroll_lock": "A3" +* `community_layouts` + * A list of community layouts supported by the keyboard. + * Example: `["60_ansi", "60_iso"]` +* `layout_aliases` + * A mapping of layout aliases to layout definitions. + * Example: + ```json + { + "LAYOUT_ansi": "LAYOUT_60_ansi", + "LAYOUT_iso": "LAYOUT_60_iso" } -} - -``` - -## RGB Lighting - -This section controls the legacy WS2812 support in QMK. This should not be confused with the RGB Matrix feature, which can be used to control both WS2812 and ISSI RGB LEDs. - -The following items can be set. Not every value is required. - -* `led_count` - * The number of LEDs in your strip -* `pin` - * The GPIO pin that your LED strip is connected to -* `animations` - * A dictionary that lists enabled and disabled animations. See [RGB Light Animations](#rgb_light_animations) below. -* `sleep` - * Set to `true` to enable lighting during host sleep -* `split` - * Set to `true` to enable synchronization functionality between split halves -* `split_count` - * For split keyboards, the number of LEDs on each side - * Example `[ 10 , 10 ]` -* `max_brightness` - * What the maximum brightness (value) level is (0-255) -* `hue_steps` - * How many steps of adjustment to have for hue -* `saturation_steps` - * How many steps of adjustment to have for saturation -* `brightness_steps` - * How many steps of adjustment to have for brightness (value) - -Example: - -```json -{ - "rgblight": { - "led_count": 4, - "pin": "F6", - "hue_steps": 10, - "saturation_steps": 17, - "brightness_steps": 17, - "animations": { - "knight": true, - "rainbow_swirl": true + ``` +* `layouts` + * A dictionary of layouts supported by the keyboard. + * `LAYOUT_` + * `layout` + * A list of key dictionaries comprising the layout. Each key dictionary contains: + * `matrix` (Required) + * The matrix position for the key. + * Example: `[0, 4]` (row 0, column 4) + * `x` (Required) + * The absolute position of the key in the horizontal axis, in key units. + * `y` (Required) + * The absolute position of the key in the vertical axis, in key units. + * `h` + * The height of the key, in key units. + * Default: `1` (1u) + * `label` + * What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap. + * Example: `"Escape"` + * `r` + * The rotation angle in degrees. Currently not implemented. + * `rx` + * The absolute X position of the rotation axis. Currently not implemented. + * `ry` + * The absolute Y position of the rotation axis. Currently not implemented. + * `w` + * The width of the key, in key units. + * Default: `1` (1u) + * `encoder` + * The index of an encoder this key should be linked to + * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}` + +## Leader Key :id=leader-key + +Configures the [Leader Key](feature_leader_key.md) feature. + +* `leader_key` + * `timing` + * Reset the `timeout` on each keypress. + * Default: `false` + * `strict_processing` + * Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events. + * Default: `false` + * `timeout` + * The amount of time to complete a leader sequence in milliseconds. + * Default: `300` (300 ms) + +## LED Matrix :id=led-matrix + +Configures the [LED Matrix](feature_led_matrix.md) feature. + +* `led_matrix` + * `animations` + * A dictionary of effects to enable or disable. Effects which are absent default to `false`. + * Example: + ```json + { + "alphas_mods": true, + "breathing": true, + "cycle_left_right": false } - } -} -``` - -### RGBLight Animations - -The following animations can be enabled: - -|Key |Description | -|-----------------|--------------------------------------| -|`alternating` |Enable alternating animation mode. | -|`breathing` |Enable breathing animation mode. | -|`christmas` |Enable christmas animation mode. | -|`knight` |Enable knight animation mode. | -|`rainbow_mood` |Enable rainbow mood animation mode. | -|`rainbow_swirl` |Enable rainbow swirl animation mode. | -|`rgb_test` |Enable RGB test animation mode. | -|`snake` |Enable snake animation mode. | -|`static_gradient`|Enable static gradient mode. | -|`twinkle` |Enable twinkle animation mode. | - -## USB - -Every USB keyboard needs to have its USB parameters defined. At a minimum you need to set the Vendor ID, Product ID, and device version. - -Example: - -```json -{ - "usb": { - "vid": "0xC1ED", - "pid": "0x23B0", - "device_version": "1.0.0" - } -} -``` - -The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood. - -## Encoders + ``` + * `center_point` + * The centroid (geometric center) of the LEDs. Used for certain effects. + * Default: `[112, 32]` + * `default` + * `animation` + * The default effect. Must be one of `led_matrix.animations` + * Default: `"solid"` + * `on` + * The default enabled state. + * Default: `true` + * `val` + * The default brightness level. + * Default: `max_brightness` + * `speed` + * The default animation speed. + * Default: `128` + * `driver` (Required) + * The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`. + * `layout` (Required) + * List of LED configuration dictionaries. Each dictionary contains: + * `flags` (Required) + * A bitfield of flags describing the type of LED. + * `x` (Required) + * The position of the LED in the horizontal axis, from 0 to 224. + * `y` (Required) + * The position of the LED in the vertical axis, from 0 to 64. + * `matrix` + * The key matrix position associated with the LED. + * Example: `[0, 2]` + * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` + * `led_flush_limit` + * Limits in milliseconds how frequently an animation will update the LEDs. + * Default: `16` + * `led_process_limit` + * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). + * Default: `led_count / 5` + * `max_brightness` + * The maximum value which brightness is scaled to, from 0 to 255. + * Default: `255` + * `react_on_keyup` + * Animations react to keyup instead of keydown. + * Default: `false` + * `sleep` + * Turn off the LEDs when the host goes to sleep. + * Default: `false` + * `speed_steps` + * The number of speed adjustment steps. + * Default: `16` + * `split_count` + * For split keyboards, the number of LEDs on each half. + * Example: `[16, 16]` + * `timeout` + * The LED activity timeout in milliseconds. + * Default: `0` (no timeout) + * `val_steps` + * The number of brightness adjustment steps. + * Default: `8` + +## Matrix :id=matrix -This section controls the basic [rotary encoder](feature_encoders.md) support. - -Enable by setting - -```json - "features": { - "encoder": true - } -``` - -The following items can be set. Not every value is required. - -* `pin_a` - * __Required__. A pad definition -* `pin_b` - * __Required__. B pad definition -* `resolution` - * How many pulses the encoder registers between each detent - -Examples: - -```json -{ - "encoder": { - "rotary": [ - { "pin_a": "B5", "pin_b": "A2" } - ] - } -} -``` - -```json -{ - "encoder": { - "rotary": [ - { "pin_a": "B5", "pin_b": "A2", "resolution": 4 } - { "pin_a": "B6", "pin_b": "A3", "resolution": 2 } +* `debounce` + * The debounce time in milliseconds. + * Default: `5` (5 ms) +* `diode_direction` + * Which way the diodes are "pointing". Unused for `matrix_pins.direct`. Must be one of `COL2ROW`, `ROW2COL`. +* `matrix_pins` + * `cols` + * A list of GPIO pins connected to the matrix columns. + * Example: `["A0", "A1", "A2"]` + * `custom` + * Whether to use a custom matrix scanning implementation. + * Default: `false` + * `custom_lite` + * Whether to use a "lite" custom matrix scanning implementation. + * Default: `false` + * `direct` + * A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns. + * Example: + ```json + [ + ["A0", "A1", "A2"], + ["B0", "B1", "B2"], + ["C0", "C1", "C2"] ] - } -} -``` - -## Secure - -The following options can be configured: - -|Key |Description | -|------------------|---------------------------------------------------------------------------------| -|`unlock_sequence` | Timeout for the user to perform the configured unlock sequence - `0` to disable | -|`unlock_timeout` | Timeout while unlocked before returning to locked - `0` to disable | -|`idle_timeout` | Array of matrix locations describing a sequential sequence of keypresses | - -Example: - -```json -{ - "secure": { - "unlock_sequence": [ [0,0], [0,1] ], - "unlock_timeout": 5000, - "idle_timeout": 60000 - } -} -``` - -## Bootmagic - -This section configures [Bootmagic Lite](feature_bootmagic.md) support. + ``` + * `ghost` + * Whether the matrix has no anti-ghosting diodes. + * Default: `false` + * `input_pressed_state` + * The logical GPIO state of the input pins when a key is pressed. + * Default: `0` (pressed = low) + * `io_delay` + * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. + * Default: `30` (30 Âĩs) + * `rows` + * A list of GPIO pins connected to the matrix rows. + * Example: `["B0", "B1", "B2"]` + +## Mouse Keys :id=mouse-keys + +Configures the [Mouse Keys](feature_mouse_keys.md) feature. + +* `mouse_key` + * `delay` + * `enabled` + * Enables the Mouse Keys feature. + * Default: `false` + * `interval` + * `max_speed` + * `time_to_max` + * `wheel_delay` + +## One Shot :id=one-shot + +Configures [One Shot keys](one_shot_keys.md). + +* `oneshot` + * `tap_toggle` + * The number of times to tap the key in order to hold it. + * `timeout` + * The amount of time before the key is released in milliseconds. + +## PS/2 :id=ps2 + +Configures the [PS/2](feature_ps2_mouse.md) feature. + +* `ps2` + * `clock_pin` + * The GPIO pin connected to `CLK` on the PS/2 device. + * `data_pin` + * The GPIO pin connected to `DATA` on the PS/2 device. + * `driver` + * The PS/2 driver to use. Must be one of `busywait`, `interrupt`, `usart`, `vendor`. + * Default: `"busywait"` + * `enabled` + * Enable the PS/2 feature. + * Default: `false` + * `mouse_enabled` + * Enable the PS/2 mouse handling. + * Default: `false` + +## QMK LUFA Bootloader :id=qmk-lufa-bootloader + +* `qmk_lufa_bootloader` + * `esc_input` (Required) + * The GPIO pin connected to the designated "exit bootloader" key's row (if `COL2ROW`). + * `esc_output` (Required) + * The GPIO pin connected to the designated "exit bootloader" key's column (if `COL2ROW`). + * `led` + * The GPIO pin connected to an LED to flash. + * `speaker` + * The GPIO pin connected to a speaker to click (can also be used for a second LED). + +## RGBLight :id=rgblight + +Configures the [RGB Lighting](feature_rgblight.md) feature. -The following options can be configured: - -|Key |Description | -|---------|-----------------------------------------------------------------------------| -|`matrix` | A two item list describing the row and column location for the trigger key. | +* `rgblight` + * `led_count` (Required) + * The number of LEDs in the chain. + * `animations` + * A dictionary of effects to enable or disable. Effects which are absent default to `false`. + * Example: + ```json + { + "breathing": true, + "rainbow_mood": true, + "snake": false + } + ``` + * `brightness_steps` + * The number of brightness adjustment steps. + * Default: `17` + * `default` + * `animation` + * The default effect. Must be one of `rgblight.animations` + * Default: `"static_light"` + * `on` + * The default enabled state. + * Default: `true` + * `hue` + * The default hue value. + * Default: `0` + * `sat` + * The default saturation value. + * Default: `255` + * `val` + * The default brightness level. + * Default: `max_brightness` + * `speed` + * The default animation speed. + * Default: `0` + * `driver` + * The driver to use. Must be one of `apa102`, `custom`, `ws2812`. + * Default: `"ws2812"` + * `hue_steps` + * The number of hue adjustment steps. + * Default: `8` + * `layers` + * `blink` + * Enable layer blinking API. + * Default: `false` + * `enabled` + * Enable RGB Lighting Layers. + * Default: `false` + * `max` + * The maximum layer count, from 1 to 32. + * Default: `8` + * `led_map` + * Remap LED indices. + * Example: `[4, 3, 2, 1, 0]` + * `max_brightness` + * The maximum value which the HSV "V" component is scaled to, from 0 to 255. + * Default: `255` + * `rgbw` + * Enable RGBW LEDs. + * Default: `false` + * `saturation_steps` + * The number of saturation adjustment steps. + * Default: `17` + * `sleep` + * Turn off the LEDs when the host goes to sleep. + * Default: `false` + * `split` + * Enable synchronization between split halves. + * Default: `false` + * `split_count` + * When `rgblight.split` is enabled, the number of LEDs on each half. + * Example: `[10, 10]` + +## RGB Matrix :id=rgb-matrix + +Configures the [RGB Matrix](feature_rgb_matrix.md) feature. + +* `rgb_matrix` + * `animations` + * A dictionary of effects to enable or disable. Effects which are absent default to `false`. + * Example: + ```json + { + "alphas_mods": true, + "breathing": true, + "cycle_left_right": false + } + ``` + * `center_point` + * The centroid (geometric center) of the LEDs. Used for certain effects. + * Default: `[112, 32]` + * `default` + * `animation` + * The default effect. Must be one of `rgb_matrix.animations` + * Default: `"solid_color"` + * `on` + * The default enabled state. + * Default: `true` + * `hue` + * The default hue value. + * Default: `0` + * `sat` + * The default saturation value. + * Default: `255` + * `val` + * The default brightness level. + * Default: `max_brightness` + * `speed` + * The default animation speed. + * Default: `128` + * `driver` (Required) + * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. + * `hue_steps` + * The number of hue adjustment steps. + * Default: `8` + * `layout` (Required) + * List of LED configuration dictionaries. Each dictionary contains: + * `flags` (Required) + * A bitfield of flags describing the type of LED. + * `x` (Required) + * The position of the LED in the horizontal axis, from 0 to 224. + * `y` (Required) + * The position of the LED in the vertical axis, from 0 to 64. + * `matrix` + * The key matrix position associated with the LED. + * Example: `[0, 2]` + * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` + * `led_flush_limit` + * Limits in milliseconds how frequently an animation will update the LEDs. + * Default: `16` + * `led_process_limit` + * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). + * Default: `led_count / 5` + * `max_brightness` + * The maximum value which the HSV "V" component is scaled to, from 0 to 255. + * Default: `255` + * `react_on_keyup` + * Animations react to keyup instead of keydown. + * Default: `false` + * `sat_steps` + * The number of saturation adjustment steps. + * Default: `16` + * `sleep` + * Turn off the LEDs when the host goes to sleep. + * Default: `false` + * `speed_steps` + * The number of speed adjustment steps. + * Default: `16` + * `split_count` + * For split keyboards, the number of LEDs on each half. + * Example: `[16, 16]` + * `timeout` + * The LED activity timeout in milliseconds. + * Default: `0` (no timeout) + * `val_steps` + * The number of brightness adjustment steps. + * Default: `16` + +## Secure :id=secure + +Configures the [Secure](feature_secure.md) feature. + +* `secure` + * `enabled` + * Enable the Secure feature. + * Default: `false` + * `idle_timeout` + * Timeout while unlocked before returning to the locked state. Set to `0` to disable. + * Default: `60000` (1 minute) + * `unlock_sequence` + * A list of up to five matrix locations comprising the "unlock sequence". + * Example: `[[0, 0], [0, 1], [4, 3]]` + * `unlock_timeout` + * Timeout for the user to perform the unlock sequence. Set to `0` to disable. + * Default: `5000` (5 seconds) + +## Split Keyboard :id=split-keyboard + +Configures the [Split Keyboard](feature_split_keyboard.md) feature. -Example: +* `split` + * `bootmagic` + * `matrix` + * See [Bootmagic](#bootmagic) config. + * `dip_switch` + * `right` + * `pins` + * See [DIP Switches](#dip-switch) config. + * `enabled` + * Enable the Split Keyboard feature. + * Default: `false` + * `encoder` + * `right` + * `rotary` + * See [Encoder](#encoder) config. + * `handedness` + * `pin` + * The GPIO pin connected to determine handedness. + * `matrix_grid` + * The GPIO pins of the matrix position which determines the handedness. + * Example: `["A1", "B5"]` + * `matrix_pins` + * `right` + * See [Matrix](#matrix) config. + * `soft_serial_pin` + * The GPIO pin to use (`serial` transport protocol only). + * `soft_serial_speed` + * The protocol speed, from `0` to `5` (`serial` transport protocol only). + * Default: `1` + * `transport` + * `protocol` + * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`, `serial_usart`. + * `sync` + * `activity` + * Mirror the activity timestamps to the secondary half. + * Default: `false` + * `detected_os` + * Mirror the [detected OS](feature_os_detection.md) to the secondary half. + * Default: `false` + * `haptic` + * Mirror the haptic state and process haptic feedback to the secondary half. + * Default: `false` + * `layer_state` + * Mirror the layer state to the secondary half. + * Default: `false` + * `indicators` + * Mirror the indicator state to the secondary half. + * Default: `false` + * `matrix_state` + * Mirror the main/primary half's matrix state to the secondary half. + * Default: `false` + * `modifiers` + * Mirror the modifier state to the secondary half. + * Default: `false` + * `oled` + * Mirror the OLED on/off status to the secondary half. + * Default: `false` + * `st7565` + * Mirror the ST7565 on/off status to the secondary half. + * Default: `false` + * `wpm` + * Mirror the current WPM value to the secondary half. + * Default: `false` + * `watchdog` + * Reboot the secondary half if it loses connection. + * Default: `false` + * `watchdog_timeout` + * The amount of time to wait for communication from the primary half in milliseconds. + * `usb_detect` + * `enabled` + * Detect USB connection when determining split half roles. + * `polling_interval` + * The polling frequency in milliseconds. + * Default: `10` (10 ms) + * `timeout` + * The amount of time to wait for a USB connection in milliseconds. + * Default: `2000` (2 seconds) + +## Stenography :id=stenography + +Configures the [Stenography](feature_stenography.md) feature. + +* `stenography` + * `enabled` + * Enable the Stenography feature. + * Default: `false` + * `protocol` + * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`. + * Default: `"all"` + +## USB :id=usb -```json -{ - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, -} -``` +* `usb` + * `device_version` (Required) + * A BCD version number in the format `MM.m.r` (up to `99.9.9`). + * Example: `"1.0.0"` + * `pid` (Required) + * The USB product ID as a four-digit hexadecimal number. + * Example: `"0x23B0"` + * `vid` (Required) + * The USB vendor ID as a four-digit hexadecimal number. + * Example: `"0xC1ED"` + * `force_nkro` + * Force NKRO to be active. + * Default: `false` + * `max_power` + * The maximum current draw the host should expect from the device. This does not control the actual current usage. + * Default: `500` (500 mA) + * `no_startup_check` + * Disable USB suspend check after keyboard startup. + * Default: `false` + * `polling_interval` + * The frequency at which the host should poll the keyboard for reports. + * Default: `1` (1 ms/1000 Hz) + * `shared_endpoint` + * `keyboard` + * Send keyboard reports through the "shared" USB endpoint. + * Default: `false` + * `mouse` + * Send mouse reports through the "shared" USB endpoint. + * Default: `true` + * `suspend_wakeup_delay` + * The amount of time to wait after sending a wakeup packet, in milliseconds. + * Default: `0` (disabled) + * `wait_for` + * Force the keyboard to wait for USB enumeration before starting up. + * Default: `false` + +## WS2812 :id=ws2812 + +Configures the [WS2812](ws2812_driver.md) driver. + +* `ws2812` + * `driver` + * The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`. + * Default: `"bitbang"` + * `pin` (Required) + * The GPIO pin connected to `DI` on the first LED in the chain (`bitbang`, `pwm`, `spi` and `vendor` drivers only). + * `i2c_address` + * The IÂēC address of the WS2812 controller (`i2c` driver only). + * Default: `"0xB0"` + * `i2c_timeout` + * The IÂēC timeout in milliseconds (`i2c` driver only). + * Default: `100` (100 ms) diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index b70d505f1f2e..84751a512ccd 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -87,6 +87,5 @@ There are also a few which are not quite language-specific, but useful if you ar |Norman |`keymap_norman.h` |`sendstring_norman.h` | |Plover |`keymap_plover.h` | | |Plover (Dvorak) |`keymap_plover_dvorak.h` | | -|Steno |`keymap_steno.h` | | |Workman |`keymap_workman.h` |`sendstring_workman.h` | |Workman (ZXCVM) |`keymap_workman_zxcvm.h` |`sendstring_workman_zxcvm.h` | diff --git a/docs/serial_driver.md b/docs/serial_driver.md index c4b42f38ddd2..b7e803154b3c 100644 --- a/docs/serial_driver.md +++ b/docs/serial_driver.md @@ -235,7 +235,7 @@ Where 'n' matches the peripheral number of your selected USART on the MCU. The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU. Because of the flexible nature of the PIO peripherals, **any** GPIO pin can be used as a `TX` or `RX` pin. Half-duplex and Full-duplex operation is fully supported. The Half-duplex operation mode uses the built-in pull-ups and GPIO manipulation on the RP2040 to drive the line high by default. An external pull-up is therefore not necessary. -Configure the hardware via your config.h: +You may optionally switch the PIO peripheral used with the following define in config.h: ```c #define SERIAL_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the Serial implementation uses the PIO0 peripheral ``` diff --git a/docs/spi_driver.md b/docs/spi_driver.md index a27a3a13d084..569a19f1db4c 100644 --- a/docs/spi_driver.md +++ b/docs/spi_driver.md @@ -1,8 +1,20 @@ -# 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 +## Usage :id=usage + +In most cases, the SPI Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md). + +However, if you need to use the driver standalone, add the following to your `rules.mk`: + +```make +SPI_DRIVER_REQUIRED = yes +``` + +You can then call the SPI API by including `spi_master.h` in your code. + +## 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 +28,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 +61,24 @@ 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 +If a complete SPI interface is not required, then the following can be done to disable certain SPI pins, so they don't occupy a GPIO unnecessarily: + - in `config.h`: `#define SPI_MISO_PIN NO_PIN` + - in `config.h`: `#define SPI_MOSI_PIN NO_PIN` + - in `mcuconf.h`: `#define SPI_SELECT_MODE SPI_SELECT_MODE_NONE`, in this case the `slavePin` argument passed to `spi_start()` may be `NO_PIN` if the slave select pin is not used. + +## 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 +97,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 ce9e43cdaea1..af015b4b18a1 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -27,8 +27,7 @@ SPACE_CADET_ENABLE = no GRAVE_ESC_ENABLE = no MAGIC_ENABLE = no ``` -These features are enabled by default, but may not be needed. Double check to make sure, though. -Largest in size is "magic" -- the QMK magic keycodes -- which control things like NKRO toggling, GUI and ALT/CTRL swapping, etc. Disabling it will disable those functions. +These features are enabled by default, but they may not be needed. Double check to make sure. The [Magic Keycodes](keycodes_magic.md) are the largest and control things like NKRO toggling, GUI and ALT/CTRL swapping, etc. Disabling them will disable those functions. See [Magic Functions](#magic-functions) for disabling related functions. If you use `sprintf` or `snprintf` functions you can save around ~400 Bytes by enabling this option. ```make @@ -75,7 +74,7 @@ MUSIC_ENABLE = no There are also some options for layers, that can reduce the firmware size. All of these settings are for your `config.h`. -You can limit the number of layers that the firmware uses -- if you're using less than 8 layers in total: +You can limit the number of layers that the firmware uses -- if you're using up to 8 layers in total: ```c #define LAYER_STATE_8BIT ``` @@ -88,6 +87,21 @@ Or if you're not using layers at all, you can outright remove the functionality #define NO_ACTION_LAYER ``` +## Magic Functions + +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 @@ -154,6 +168,7 @@ For RGB Matrix, these need to be explicitly enabled as well. To disable any that #undef ENABLE_RGB_MATRIX_DUAL_BEACON #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING #undef ENABLE_RGB_MATRIX_RAINDROPS #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS #undef ENABLE_RGB_MATRIX_HUE_BREATHING diff --git a/docs/tap_hold.md b/docs/tap_hold.md index c50acdb84d86..18c90c6932c5 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. @@ -468,7 +493,7 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { One thing that you may notice is that we include the key record for all of the "per key" functions, and may be wondering why we do that. -Well, it's simple really: customization. But specifically, it depends on how your keyboard is wired up. For instance, if each row is actually using a row in the keyboard's matrix, then it may be simpler to use `if (record->event.row == 3)` instead of checking a whole bunch of keycodes. Which is especially good for those people using the Tap Hold type keys on the home row. So you could fine-tune those to not interfere with your normal typing. +Well, it's simple really: customization. But specifically, it depends on how your keyboard is wired up. For instance, if each row is actually using a row in the keyboard's matrix, then it may be simpler to use `if (record->event.key.row == 3)` instead of checking a whole bunch of keycodes. Which is especially good for those people using the Tap Hold type keys on the home row. So you could fine-tune those to not interfere with your normal typing. ## Why are there no `*_kb` or `*_user` functions?! diff --git a/docs/uart_driver.md b/docs/uart_driver.md index 340b64818920..a88278d5438b 100644 --- a/docs/uart_driver.md +++ b/docs/uart_driver.md @@ -1,10 +1,22 @@ -# 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 +## Usage :id=usage + +In most cases, the UART driver code is automatically included if you are using a feature or driver which requires it. + +However, if you need to use the driver standalone, add the following to your `rules.mk`: + +```make +UART_DRIVER_REQUIRED = yes +``` + +You can then call the UART API by including `uart.h` in your code. + +## 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 +28,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 +59,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 +106,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 +119,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/docs/unit_testing.md b/docs/unit_testing.md index 47a105579643..60787fdffcf2 100644 --- a/docs/unit_testing.md +++ b/docs/unit_testing.md @@ -36,7 +36,9 @@ Note how there's several different tests, each mocking out a separate part. Also ## Running the Tests -To run all the tests in the codebase, type `make test:all`. You can also run test matching a substring by typing `make test:matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. +To run all the tests in the codebase, type `make test:all`. You can also run test matching a substring by typing `make test:matchingsubstring`. `matchingsubstring` can contain colons to be more specific; `make test:tap_hold_configurations` will run the `tap_hold_configurations` tests for all features while `make test:retro_shift:tap_hold_configurations` will run the `tap_hold_configurations` tests for only the Retro Shift feature. + +Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. ## Debugging the Tests diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index f8cad20ce0c0..244d39dbe06d 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -1,189 +1,229 @@ -# WS2812 Driver -This driver powers the [RGB Lighting](feature_rgblight.md) and [RGB Matrix](feature_rgb_matrix.md) features. +# WS2812 Driver :id=ws2812-driver -Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported): +This driver provides support for WorldSemi addressable RGB(W) LEDs, and compatible equivalents: - WS2811, WS2812, WS2812B, WS2812C, etc. - SK6812, SK6812MINI, SK6805 + * WS2811, WS2812, WS2812B, WS2812C, etc. + * SK6812, SK6812MINI, SK6805 -These LEDs are called "addressable" because instead of using a wire per color, each LED contains a small microchip that understands a special protocol sent over a single wire. The chip passes on the remaining data to the next LED, allowing them to be chained together. In this way, you can easily control the color of the individual LEDs. +These LEDs are often called "addressable" because instead of using a wire per color (and per LED), each LED contains a small microchip that understands a special protocol sent over a single wire. +The LEDs can be chained together, and the remaining data is passed on to the next. In this way, you can easily control the color of many LEDs using a single GPIO. -## Supported Driver Types +## Usage :id=usage -| | AVR | ARM | -| -------- | ------------------ | ------------------ | -| bit bang | :heavy_check_mark: | :heavy_check_mark: | -| I2C | :heavy_check_mark: | | -| SPI | | :heavy_check_mark: | -| PWM | | :heavy_check_mark: | -| PIO | | :heavy_check_mark: | +In most cases, the WS2812 driver code is automatically included if you are using either the [RGBLight](feature_rgblight.md) or [RGB Matrix](feature_rgb_matrix.md) feature with the `ws2812` driver set, and you would use those APIs instead. -## Driver configuration +However, if you need to use the driver standalone, add the following to your `rules.mk`: -### All drivers +```make +WS2812_DRIVER_REQUIRED = yes +``` + +You can then call the WS2812 API by including `ws2812.h` in your code. + +## Basic Configuration :id=basic-configuration + +Add the following to your `config.h`: + +|Define |Default |Description | +|-------------------|-----------------------|------------------------------------------------------------------------------------------------| +|`WS2812_DI_PIN` |*Not defined* |The GPIO pin connected to the DI pin of the first LED in the chain | +|`WS2812_LED_COUNT` |*Not defined* |Number of LEDs in the WS2812 chain - automatically set when RGBLight or RGB Matrix is configured| +|`WS2812_TIMING` |`1250` |The total length of a bit (TH+TL) in nanoseconds | +|`WS2812_T1H` |`900` |The length of a "1" bit's high phase in nanoseconds | +|`WS2812_T0H` |`350` |The length of a "0" bit's high phase in nanoseconds | +|`WS2812_TRST_US` |`280` |The length of the reset phase in microseconds | +|`WS2812_BYTE_ORDER`|`WS2812_BYTE_ORDER_GRB`|The byte order of the RGB data | + +### Timing Adjustment :id=timing-adjustment -Different versions of the addressable LEDs have differing requirements for the TRST period between frames. -The default setting is 280 Âĩs, which should work for most cases, but this can be overridden in your config.h. e.g.: +The WS2812 LED communication protocol works by encoding a "1" bit with a long high pulse (T1H), and a "0" bit with a shorter pulse (T0H). The total cycle length of a bit is the same. +The "reset" pulse (TRST) latches the sent RGB data to all of the LEDs and denotes a completed "frame". + +Some WS2812 variants have slightly different timing parameter requirements, which can be accounted for if necessary using the above `#define`s in your `config.h`. + +### Byte Order :id=byte-order + +Some WS2812 variants may have their color components in a different physical or logical order. For example, the WS2812B-2020 has physically swapped red and green LEDs, which causes the wrong color to be displayed, because the default order of the bytes sent over the wire is defined as GRB. +If you find your LED colors are consistently swapped, you may need to change the byte order by adding the following to your `config.h`: ```c -#define WS2812_TRST_US 80 +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB ``` -#### Byte Order +Where the byte order may be one of: + +|Byte Order|Known Devices | +|----------|----------------------------| +|`GRB` |Most WS2812s, SK6812, SK6805| +|`RGB` |WS2812B-2020 | +|`BGR` |TM1812 | -Some variants of the WS2812 may have their color components in a different physical or logical order. For example, the WS2812B-2020 has physically swapped red and green LEDs, which causes the wrong color to be displayed, because the default order of the bytes sent over the wire is defined as GRB. -In this case, you can change the byte order by defining `WS2812_BYTE_ORDER` as one of the following values: +## Driver Configuration :id=driver-configuration -| Byte order | Known devices | -| --------------------------------- | ----------------------------- | -| `WS2812_BYTE_ORDER_GRB` (default) | Most WS2812's, SK6812, SK6805 | -| `WS2812_BYTE_ORDER_RGB` | WS2812B-2020 | -| `WS2812_BYTE_ORDER_BGR` | TM1812 | +Driver selection can be configured in `rules.mk` as `WS2812_DRIVER`, or in `info.json` as `ws2812.driver`. Valid values are `bitbang` (default), `i2c`, `spi`, `pwm`, `vendor`, or `custom`. See below for information on individual drivers. +### Bitbang Driver :id=bitbang-driver -### Bitbang -Default driver, the absence of configuration assumes this driver. To configure it, add this to your rules.mk: +This is the default WS2812 driver. It operates by "bit-banging" ie. directly toggling the GPIO. + +Please note that on AVR devices, due to the tight timing requirements longer chains and/or heavy CPU loads may cause visible lag. Unfortunately this driver is usually the only option for AVR. ```make WS2812_DRIVER = bitbang ``` -!> This driver is not hardware accelerated and may not be performant on heavily loaded systems. +### I2C Driver :id=i2c-driver + +A specialized driver mainly used for PS2AVRGB (Bootmapper Client) boards, which possess an ATtiny85 that handles the WS2812 LEDs. + +```make +WS2812_DRIVER = i2c +``` + +The following `#define`s apply only to the `i2c` driver: -#### Adjusting bit timings +|Define |Default|Description | +|--------------------|-------|---------------------------------| +|`WS2812_I2C_ADDRESS`|`0xB0` |The I2C address of the ATtiny85. | +|`WS2812_I2C_TIMEOUT`|`100` |The I2C timeout, in milliseconds.| -The WS2812 LED communication topology depends on a serialized timed window. Different versions of the addressable LEDs have differing requirements for the timing parameters, for instance, of the SK6812. -You can tune these parameters through the definition of the following macros: +### PIO Driver :id=pio-driver -| Macro | Default | AVR | ARM | -| --------------- | ---------------------------- | ------------------ | ------------------ | -| `WS2812_TIMING` | `1250` | :heavy_check_mark: | :heavy_check_mark: | -| `WS2812_T0H` | `350` | :heavy_check_mark: | :heavy_check_mark: | -| `WS2812_T0L` | `WS2812_TIMING - WS2812_T0H` | | :heavy_check_mark: | -| `WS2812_T1H` | `900` | :heavy_check_mark: | :heavy_check_mark: | -| `WS2812_T1L` | `WS2812_TIMING - WS2812_T1H` | | :heavy_check_mark: | +This driver is RP2040-only, and leverages the onboard PIO (programmable I/O) system and DMA to offload processing from the CPU. -### I2C -Targeting boards where WS2812 support is offloaded to a 2nd MCU. Currently the driver is limited to AVR given the known consumers are ps2avrGB/BMC. To configure it, add this to your rules.mk: +The WS2812 PIO program uses one state machine, six instructions and one DMA interrupt handler callback. Due to the implementation the time resolution for this driver is 50 ns - any value not specified in this interval will be rounded to the next matching interval. ```make -WS2812_DRIVER = i2c +WS2812_DRIVER = vendor ``` -Configure the hardware via your config.h: -```c -#define WS2812_I2C_ADDRESS 0xB0 // default: 0xB0 -#define WS2812_I2C_TIMEOUT 100 // default: 100 +### PWM Driver :id=pwm-driver + +This driver is ARM-only, and leverages the onboard PWM peripheral and DMA to offload processing from the CPU. + +```make +WS2812_DRIVER = pwm ``` -### SPI -Targeting STM32 boards where WS2812 support is offloaded to an SPI hardware device. The advantage is that the use of DMA offloads processing of the WS2812 protocol from the MCU. `WS2812_DI_PIN` for this driver is the configured SPI MOSI pin. Due to the nature of repurposing SPI to drive the LEDs, the other SPI pins, MISO and SCK, **must** remain unused. To configure it, add this to your rules.mk: +### SPI Driver :id=spi-driver + +This driver is ARM-only, and leverages the onboard SPI peripheral and DMA to offload processing from the CPU. The DI pin **must** be connected to the MOSI pin on the MCU, and all other SPI pins **must** be left unused. This is also very dependent on your MCU's SPI peripheral clock speed, and may or may not be possible depending on the MCU selected. ```make WS2812_DRIVER = spi ``` -Configure the hardware via your config.h: -```c -#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 WS2812_SPI_SCK_PIN B3 // Required for F072, may be for others -- SCK pin, see the respective datasheet for the appropriate values for your MCU. default: unspecified -#define WS2812_SPI_SCK_PAL_MODE 5 // SCK pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 -``` +## ChibiOS/ARM Configuration :id=arm-configuration -You must also turn on the SPI feature in your halconf.h and mcuconf.h +The following defines apply only to ARM devices: -#### Circular Buffer Mode -Some boards may flicker while in the normal buffer mode. To fix this issue, circular buffer mode may be used to rectify the issue. +|Define |Default |Description | +|------------|------------------------------|---------------------------------------------------------------------------------| +|`WS2812_T1L`|`(WS2812_TIMING - WS2812_T1H)`|The length of a "1" bit's low phase in nanoseconds (bitbang and PIO drivers only)| +|`WS2812_T0L`|`(WS2812_TIMING - WS2812_T0H)`|The length of a "0" bit's low phase in nanoseconds (bitbang and PIO drivers only)| -By default, the circular buffer mode is disabled. +### Push-Pull and Open Drain :id=push-pull-open-drain -To enable this alternative buffer mode, place this into your `config.h` file: -```c -#define WS2812_SPI_USE_CIRCULAR_BUFFER -``` +By default, the GPIO used for data transmission is configured as a *push-pull* output, meaning the pin is effectively always driven either to VCC or to ground. -#### Setting baudrate with divisor -To adjust the baudrate at which the SPI peripheral is configured, users will need to derive the target baudrate from the clock tree provided by STM32CubeMX. +For situations where the logic level voltage is lower than the power supply voltage, however, this can pose an issue. The solution is to configure the pin for *open drain* mode instead, and use a pullup resistor between the DI pin and VCC. In this mode, the MCU can only pull the GPIO *low*, or leave it floating. The pullup resistor is then responsible for pulling the line high, when the MCU is not driving the GPIO. -Only divisors of 2, 4, 8, 16, 32, 64, 128 and 256 are supported by hardware. +To configure the DI pin for open drain configuration, add the following to your `config.h`: -| Define | Default | Description | -| -------------------- | ------- | ----------------------------------- | -| `WS2812_SPI_DIVISOR` | `16` | SPI source clock peripheral divisor | +```c +#define WS2812_EXTERNAL_PULLUP +``` -#### Testing Notes +### SPI Driver :id=arm-spi-driver -While not an exhaustive list, the following table provides the scenarios that have been partially validated: +Depending on the ChibiOS board configuration, you may need to enable SPI at the keyboard level. For STM32, this would look like: -| | SPI1 | SPI2 | SPI3 | -| ---- | ------------------------------------------- | --------------------------------------- | --------------------- | -| f072 | ? | B15 :heavy_check_mark: (needs SCK: B13) | N/A | -| f103 | A7 :heavy_check_mark: | B15 :heavy_check_mark: | N/A | -| f303 | A7 :heavy_check_mark: B5 :heavy_check_mark: | B15 :heavy_check_mark: | B5 :heavy_check_mark: | +`halconf.h`: +```c +#define HAL_USE_SPI TRUE +``` +`mcuconf.h`: +```c +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE +``` -*Other supported ChibiOS boards and/or pins may function, it will be highly chip and configuration dependent.* +The following `define`s apply only to the `spi` driver: -### PWM +|Define |Default |Description | +|--------------------------------|-------------|-------------------------------------------------------------------------------| +|`WS2812_SPI_DRIVER` |`SPID1` |The SPI driver to use | +|`WS2812_SPI_MOSI_PAL_MODE` |`5` |The MOSI pin alternative function to use | +|`WS2812_SPI_SCK_PIN` |*Not defined*|The SCK pin - required for F072 and possibly others | +|`WS2812_SPI_SCK_PAL_MODE` |`5` |The SCK pin alternative function to use - required for F072 and possibly others| +|`WS2812_SPI_DIVISOR` |`16` |The divisor used to adjust the baudrate | +|`WS2812_SPI_USE_CIRCULAR_BUFFER`|*Not defined*|Enable a circular buffer for improved rendering | -Targeting STM32 boards where WS2812 support is offloaded to an PWM timer and DMA stream. The advantage is that the use of DMA offloads processing of the WS2812 protocol from the MCU. To configure it, add this to your rules.mk: +#### Setting the Baudrate :id=arm-spi-baudrate -```make -WS2812_DRIVER = pwm -``` +To adjust the SPI baudrate, you will need to derive the target baudrate from the clock tree provided by STM32CubeMX, and add the following to your `config.h`: -Configure the hardware via your config.h: ```c -#define WS2812_PWM_DRIVER PWMD2 // 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 -//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // 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_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_SPI_DIVISOR 16 ``` -Note that using a complementary timer output (TIMx_CHyN) is possible only for advanced-control timers (TIM1, TIM8, TIM20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in mcuconf.h must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. +Only divisors of 2, 4, 8, 16, 32, 64, 128 and 256 are supported on STM32 devices. Other MCUs may have similar constraints -- check the reference manual for your respective MCU for specifics. + +#### Circular Buffer :id=arm-spi-circular-buffer -You must also turn on the PWM feature in your halconf.h and mcuconf.h +A circular buffer can be enabled if you experience flickering. -#### Testing Notes +To enable the circular buffer, add the following to your `config.h`: -While not an exhaustive list, the following table provides the scenarios that have been partially validated: +```c +#define WS2812_SPI_USE_CIRCULAR_BUFFER +``` -| | Status | -| --------- | ------------------ | -| f072 | ? | -| f103 | :heavy_check_mark: | -| f303 | :heavy_check_mark: | -| f401/f411 | :heavy_check_mark: | +### PIO Driver :id=arm-pio-driver -*Other supported ChibiOS boards and/or pins may function, it will be highly chip and configuration dependent.* +The following `#define`s apply only to the PIO driver: -### PIO +|Define |Default |Description | +|---------------------|-------------|---------------------------------------| +|`WS2812_PIO_USE_PIO1`|*Not defined*|Use the PIO1 peripheral instead of PIO0| -Targeting Raspberry Pi RP2040 boards only where WS2812 support is offloaded to an dedicated PIO implementation. This offloads processing of the WS2812 protocol from the MCU to a dedicated PIO program using DMA transfers. +### PWM Driver :id=arm-pwm-driver -To configure it, add this to your rules.mk: +Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like: -```make -WS2812_DRIVER = vendor +`halconf.h`: +```c +#define HAL_USE_PWM TRUE ``` - -Configure the hardware via your config.h: +`mcuconf.h`: ```c -#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE ``` -The WS2812 PIO programm uses 1 state machine, 6 instructions and one DMA interrupt handler callback. Due to the implementation the time resolution for this drivers is 50ns, any value not specified in this interval will be rounded to the next matching interval. +The following `#define`s apply only to the `pwm` driver: -### Push Pull and Open Drain Configuration -The default configuration is a push pull on the defined pin. -This can be configured for bitbang, PWM and SPI. +|Define |Default |Description | +|---------------------------------|--------------------|------------------------------------------------------------------------------------------| +|`WS2812_PWM_DRIVER` |`PWMD2` |The PWM driver to use | +|`WS2812_PWM_CHANNEL` |`2` |The PWM channel to use | +|`WS2812_PWM_PAL_MODE` |`2` |The pin alternative function to use | +|`WS2812_DMA_STREAM` |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP` | +|`WS2812_DMA_CHANNEL` |`2` |The DMA Channel for `TIMx_UP` | +|`WS2812_DMAMUX_ID` |*Not defined* |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral| +|`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) | -Note: This only applies to STM32 boards. +?> Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in `mcuconf.h` must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. - To configure the `WS2812_DI_PIN` to open drain configuration add this to your config.h file: -```c -#define WS2812_EXTERNAL_PULLUP -``` +## API :id=api + +### `void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds)` :id=api-ws2812-setleds + +Send RGB data to the WS2812 LED chain. + +#### Arguments :id=api-ws2812-setleds-arguments + + - `rgb_led_t *ledarray` + A pointer to the LED array. + - `uint16_t number_of_leds` + The length of the LED array. diff --git a/docs/zh-cn/_summary.md b/docs/zh-cn/_summary.md index 0fc92e33d3ae..a076f1a8c672 100644 --- a/docs/zh-cn/_summary.md +++ b/docs/zh-cn/_summary.md @@ -121,7 +121,6 @@ * [åˆ†ä―“åžé”Ūį›˜](zh-cn/feature_split_keyboard.md) * [速čŪ°](zh-cn/feature_stenography.md) * [įƒ­æ•æ‰“印朚](zh-cn/feature_thermal_printer.md) - * [Velocikey](zh-cn/feature_velocikey.md) * QMK垀发 * [PR Checklist](zh-cn/pr_checklist.md) 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 27ccbd2c9ff9..f2af3e918e55 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/eeprom/eeprom_spi.h b/drivers/eeprom/eeprom_spi.h index 282c603565f6..6a21d5516bb5 100644 --- a/drivers/eeprom/eeprom_spi.h +++ b/drivers/eeprom/eeprom_spi.h @@ -16,6 +16,18 @@ #pragma once +/* + Default device configurations: + + For the Adafruit SPI Non-Volatile FRAM Breakout: https://www.adafruit.com/product/1897 + #define EEPROM_SPI_MB85RS64V +*/ +#if defined(EEPROM_SPI_MB85RS64V) +# define EXTERNAL_EEPROM_BYTE_COUNT 8192 +# define EXTERNAL_EEPROM_PAGE_SIZE 64 // it's FRAM, so it doesn't actually matter, this just sets the RAM buffer +# define EXTERNAL_EEPROM_ADDRESS_SIZE 2 +#endif + /* The slave select pin of the EEPROM. This needs to be a normal GPIO pin_t value, such as A7. diff --git a/drivers/haptic/DRV2605L.c b/drivers/haptic/DRV2605L.c deleted file mode 100644 index 5a1d2ca0afb3..000000000000 --- a/drivers/haptic/DRV2605L.c +++ /dev/null @@ -1,122 +0,0 @@ -/* Copyright 2018 ishtob - * Driver for DRV2605L written for QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "DRV2605L.h" -#include "print.h" -#include -#include -#include - -uint8_t DRV2605L_transfer_buffer[2]; -uint8_t DRV2605L_read_register; - -void DRV_write(uint8_t drv_register, uint8_t settings) { - DRV2605L_transfer_buffer[0] = drv_register; - DRV2605L_transfer_buffer[1] = settings; - i2c_transmit(DRV2605L_BASE_ADDRESS << 1, DRV2605L_transfer_buffer, 2, 100); -} - -uint8_t DRV_read(uint8_t regaddress) { - i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, &DRV2605L_read_register, 1, 100); - - return DRV2605L_read_register; -} - -void DRV_init(void) { - i2c_init(); - /* 0x07 sets DRV2605 into calibration mode */ - DRV_write(DRV_MODE, 0x07); - - // DRV_write(DRV_FEEDBACK_CTRL,0xB6); - -#if FB_ERM_LRA == 0 - /* ERM settings */ - DRV_write(DRV_RATED_VOLT, (RATED_VOLTAGE / 21.33) * 1000); -# if ERM_OPEN_LOOP == 0 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (((V_PEAK * (DRIVE_TIME + BLANKING_TIME + IDISS_TIME)) / 0.02133) / (DRIVE_TIME - 0.0003))); -# elif ERM_OPEN_LOOP == 1 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (V_PEAK / 0.02196)); -# endif -#elif FB_ERM_LRA == 1 - DRV_write(DRV_RATED_VOLT, ((V_RMS * sqrt(1 - ((4 * ((150 + (SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * F_LRA) / 0.02071))); -# if LRA_OPEN_LOOP == 0 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, ((V_PEAK / sqrt(1 - (F_LRA * 0.0008)) / 0.02133))); -# elif LRA_OPEN_LOOP == 1 - DRV_write(DRV_OVERDRIVE_CLAMP_VOLT, (V_PEAK / 0.02196)); -# endif -#endif - - DRVREG_FBR FB_SET; - FB_SET.Bits.ERM_LRA = FB_ERM_LRA; - FB_SET.Bits.BRAKE_FACTOR = FB_BRAKEFACTOR; - FB_SET.Bits.LOOP_GAIN = FB_LOOPGAIN; - FB_SET.Bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ - DRV_write(DRV_FEEDBACK_CTRL, (uint8_t)FB_SET.Byte); - DRVREG_CTRL1 C1_SET; - C1_SET.Bits.C1_DRIVE_TIME = DRIVE_TIME; - C1_SET.Bits.C1_AC_COUPLE = AC_COUPLE; - C1_SET.Bits.C1_STARTUP_BOOST = STARTUP_BOOST; - DRV_write(DRV_CTRL_1, (uint8_t)C1_SET.Byte); - DRVREG_CTRL2 C2_SET; - C2_SET.Bits.C2_BIDIR_INPUT = BIDIR_INPUT; - C2_SET.Bits.C2_BRAKE_STAB = BRAKE_STAB; - C2_SET.Bits.C2_SAMPLE_TIME = SAMPLE_TIME; - C2_SET.Bits.C2_BLANKING_TIME = BLANKING_TIME; - C2_SET.Bits.C2_IDISS_TIME = IDISS_TIME; - DRV_write(DRV_CTRL_2, (uint8_t)C2_SET.Byte); - DRVREG_CTRL3 C3_SET; - C3_SET.Bits.C3_LRA_OPEN_LOOP = LRA_OPEN_LOOP; - C3_SET.Bits.C3_N_PWM_ANALOG = N_PWM_ANALOG; - C3_SET.Bits.C3_LRA_DRIVE_MODE = LRA_DRIVE_MODE; - C3_SET.Bits.C3_DATA_FORMAT_RTO = DATA_FORMAT_RTO; - C3_SET.Bits.C3_SUPPLY_COMP_DIS = SUPPLY_COMP_DIS; - C3_SET.Bits.C3_ERM_OPEN_LOOP = ERM_OPEN_LOOP; - C3_SET.Bits.C3_NG_THRESH = NG_THRESH; - DRV_write(DRV_CTRL_3, (uint8_t)C3_SET.Byte); - DRVREG_CTRL4 C4_SET; - C4_SET.Bits.C4_ZC_DET_TIME = ZC_DET_TIME; - C4_SET.Bits.C4_AUTO_CAL_TIME = AUTO_CAL_TIME; - DRV_write(DRV_CTRL_4, (uint8_t)C4_SET.Byte); - DRV_write(DRV_LIB_SELECTION, LIB_SELECTION); - - DRV_write(DRV_GO, 0x01); - - /* 0x00 sets DRV2605 out of standby and to use internal trigger - * 0x01 sets DRV2605 out of standby and to use external trigger */ - DRV_write(DRV_MODE, 0x00); - - // Play greeting sequence - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_WAVEFORM_SEQ_1, DRV_GREETING); - DRV_write(DRV_GO, 0x01); -} - -void DRV_rtp_init(void) { - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. - DRV_write(DRV_MODE, 0x05); - DRV_write(DRV_GO, 0x01); -} - -void DRV_amplitude(uint8_t amplitude) { - DRV_write(DRV_RTP_INPUT, amplitude); -} - -void DRV_pulse(uint8_t sequence) { - DRV_write(DRV_GO, 0x00); - DRV_write(DRV_WAVEFORM_SEQ_1, sequence); - DRV_write(DRV_GO, 0x01); -} diff --git a/drivers/haptic/DRV2605L.h b/drivers/haptic/DRV2605L.h deleted file mode 100644 index 8b8eae38b8e1..000000000000 --- a/drivers/haptic/DRV2605L.h +++ /dev/null @@ -1,406 +0,0 @@ -/* Copyright 2018 ishtob - * Driver for DRV2605L written for 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 "i2c_master.h" - -/* Initialization settings - - * Feedback Control Settings */ -#ifndef FB_ERM_LRA -# define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#endif -#ifndef FB_BRAKEFACTOR -# define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#endif -#ifndef FB_LOOPGAIN -# define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ -#endif - -/* LRA specific settings */ -#if FB_ERM_LRA == 1 -# ifndef V_RMS -# define V_RMS 2.0 -# endif -# ifndef V_PEAK -# define V_PEAK 2.1 -# endif -# ifndef F_LRA -# define F_LRA 205 -# endif -# ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ -# endif -#endif - -#ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ -#endif -#ifndef V_PEAK -# define V_PEAK 2.8 -#endif - -/* Library Selection */ -#ifndef LIB_SELECTION -# if FB_ERM_LRA == 1 -# define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ -# else -# define LIB_SELECTION 1 -# endif -#endif - -#ifndef DRV_GREETING -# define DRV_GREETING alert_750ms -#endif -#ifndef DRV_MODE_DEFAULT -# define DRV_MODE_DEFAULT strong_click1 -#endif - -/* Control 1 register settings */ -#ifndef DRIVE_TIME -# define DRIVE_TIME 25 -#endif -#ifndef AC_COUPLE -# define AC_COUPLE 0 -#endif -#ifndef STARTUP_BOOST -# define STARTUP_BOOST 1 -#endif - -/* Control 2 Settings */ -#ifndef BIDIR_INPUT -# define BIDIR_INPUT 1 -#endif -#ifndef BRAKE_STAB -# define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#endif -#ifndef SAMPLE_TIME -# define SAMPLE_TIME 3 -#endif -#ifndef BLANKING_TIME -# define BLANKING_TIME 1 -#endif -#ifndef IDISS_TIME -# define IDISS_TIME 1 -#endif - -/* Control 3 settings */ -#ifndef NG_THRESH -# define NG_THRESH 2 -#endif -#ifndef ERM_OPEN_LOOP -# define ERM_OPEN_LOOP 1 -#endif -#ifndef SUPPLY_COMP_DIS -# define SUPPLY_COMP_DIS 0 -#endif -#ifndef DATA_FORMAT_RTO -# define DATA_FORMAT_RTO 0 -#endif -#ifndef LRA_DRIVE_MODE -# define LRA_DRIVE_MODE 0 -#endif -#ifndef N_PWM_ANALOG -# define N_PWM_ANALOG 0 -#endif -#ifndef LRA_OPEN_LOOP -# define LRA_OPEN_LOOP 0 -#endif - -/* Control 4 settings */ -#ifndef ZC_DET_TIME -# define ZC_DET_TIME 0 -#endif -#ifndef AUTO_CAL_TIME -# define AUTO_CAL_TIME 3 -#endif - -/* register defines -------------------------------------------------------- */ -#define DRV2605L_BASE_ADDRESS 0x5A /* DRV2605L Base address */ -#define DRV_STATUS 0x00 -#define DRV_MODE 0x01 -#define DRV_RTP_INPUT 0x02 -#define DRV_LIB_SELECTION 0x03 -#define DRV_WAVEFORM_SEQ_1 0x04 -#define DRV_WAVEFORM_SEQ_2 0x05 -#define DRV_WAVEFORM_SEQ_3 0x06 -#define DRV_WAVEFORM_SEQ_4 0x07 -#define DRV_WAVEFORM_SEQ_5 0x08 -#define DRV_WAVEFORM_SEQ_6 0x09 -#define DRV_WAVEFORM_SEQ_7 0x0A -#define DRV_WAVEFORM_SEQ_8 0x0B -#define DRV_GO 0x0C -#define DRV_OVERDRIVE_TIME_OFFSET 0x0D -#define DRV_SUSTAIN_TIME_OFFSET_P 0x0E -#define DRV_SUSTAIN_TIME_OFFSET_N 0x0F -#define DRV_BRAKE_TIME_OFFSET 0x10 -#define DRV_AUDIO_2_VIBE_CTRL 0x11 -#define DRV_AUDIO_2_VIBE_MIN_IN 0x12 -#define DRV_AUDIO_2_VIBE_MAX_IN 0x13 -#define DRV_AUDIO_2_VIBE_MIN_OUTDRV 0x14 -#define DRV_AUDIO_2_VIBE_MAX_OUTDRV 0x15 -#define DRV_RATED_VOLT 0x16 -#define DRV_OVERDRIVE_CLAMP_VOLT 0x17 -#define DRV_AUTO_CALIB_COMP_RESULT 0x18 -#define DRV_AUTO_CALIB_BEMF_RESULT 0x19 -#define DRV_FEEDBACK_CTRL 0x1A -#define DRV_CTRL_1 0x1B -#define DRV_CTRL_2 0x1C -#define DRV_CTRL_3 0x1D -#define DRV_CTRL_4 0x1E -#define DRV_CTRL_5 0x1F -#define DRV_OPEN_LOOP_PERIOD 0x20 -#define DRV_VBAT_VOLT_MONITOR 0x21 -#define DRV_LRA_RESONANCE_PERIOD 0x22 - -void DRV_init(void); -void DRV_write(const uint8_t drv_register, const uint8_t settings); -uint8_t DRV_read(const uint8_t regaddress); -void DRV_rtp_init(void); -void DRV_amplitude(const uint8_t amplitude); -void DRV_pulse(const uint8_t sequence); - -typedef enum DRV_EFFECT { - clear_sequence = 0, - strong_click = 1, - strong_click_60 = 2, - strong_click_30 = 3, - sharp_click = 4, - sharp_click_60 = 5, - sharp_click_30 = 6, - soft_bump = 7, - soft_bump_60 = 8, - soft_bump_30 = 9, - dbl_click = 10, - dbl_click_60 = 11, - trp_click = 12, - soft_fuzz = 13, - strong_buzz = 14, - alert_750ms = 15, - alert_1000ms = 16, - strong_click1 = 17, - strong_click2_80 = 18, - strong_click3_60 = 19, - strong_click4_30 = 20, - medium_click1 = 21, - medium_click2_80 = 22, - medium_click3_60 = 23, - sharp_tick1 = 24, - sharp_tick2_80 = 25, - sharp_tick3_60 = 26, - sh_dblclick_str = 27, - sh_dblclick_str_80 = 28, - sh_dblclick_str_60 = 29, - sh_dblclick_str_30 = 30, - sh_dblclick_med = 31, - sh_dblclick_med_80 = 32, - sh_dblclick_med_60 = 33, - sh_dblsharp_tick = 34, - sh_dblsharp_tick_80 = 35, - sh_dblsharp_tick_60 = 36, - lg_dblclick_str = 37, - lg_dblclick_str_80 = 38, - lg_dblclick_str_60 = 39, - lg_dblclick_str_30 = 40, - lg_dblclick_med = 41, - lg_dblclick_med_80 = 42, - lg_dblclick_med_60 = 43, - lg_dblsharp_tick = 44, - lg_dblsharp_tick_80 = 45, - lg_dblsharp_tick_60 = 46, - buzz = 47, - buzz_80 = 48, - buzz_60 = 49, - buzz_40 = 50, - buzz_20 = 51, - pulsing_strong = 52, - pulsing_strong_80 = 53, - pulsing_medium = 54, - pulsing_medium_80 = 55, - pulsing_sharp = 56, - pulsing_sharp_80 = 57, - transition_click = 58, - transition_click_80 = 59, - transition_click_60 = 60, - transition_click_40 = 61, - transition_click_20 = 62, - transition_click_10 = 63, - transition_hum = 64, - transition_hum_80 = 65, - transition_hum_60 = 66, - transition_hum_40 = 67, - transition_hum_20 = 68, - transition_hum_10 = 69, - transition_rampdown_long_smooth1 = 70, - transition_rampdown_long_smooth2 = 71, - transition_rampdown_med_smooth1 = 72, - transition_rampdown_med_smooth2 = 73, - transition_rampdown_short_smooth1 = 74, - transition_rampdown_short_smooth2 = 75, - transition_rampdown_long_sharp1 = 76, - transition_rampdown_long_sharp2 = 77, - transition_rampdown_med_sharp1 = 78, - transition_rampdown_med_sharp2 = 79, - transition_rampdown_short_sharp1 = 80, - transition_rampdown_short_sharp2 = 81, - transition_rampup_long_smooth1 = 82, - transition_rampup_long_smooth2 = 83, - transition_rampup_med_smooth1 = 84, - transition_rampup_med_smooth2 = 85, - transition_rampup_short_smooth1 = 86, - transition_rampup_short_smooth2 = 87, - transition_rampup_long_sharp1 = 88, - transition_rampup_long_sharp2 = 89, - transition_rampup_med_sharp1 = 90, - transition_rampup_med_sharp2 = 91, - transition_rampup_short_sharp1 = 92, - transition_rampup_short_sharp2 = 93, - transition_rampdown_long_smooth1_50 = 94, - transition_rampdown_long_smooth2_50 = 95, - transition_rampdown_med_smooth1_50 = 96, - transition_rampdown_med_smooth2_50 = 97, - transition_rampdown_short_smooth1_50 = 98, - transition_rampdown_short_smooth2_50 = 99, - transition_rampdown_long_sharp1_50 = 100, - transition_rampdown_long_sharp2_50 = 101, - transition_rampdown_med_sharp1_50 = 102, - transition_rampdown_med_sharp2_50 = 103, - transition_rampdown_short_sharp1_50 = 104, - transition_rampdown_short_sharp2_50 = 105, - transition_rampup_long_smooth1_50 = 106, - transition_rampup_long_smooth2_50 = 107, - transition_rampup_med_smooth1_50 = 108, - transition_rampup_med_smooth2_50 = 109, - transition_rampup_short_smooth1_50 = 110, - transition_rampup_short_smooth2_50 = 111, - transition_rampup_long_sharp1_50 = 112, - transition_rampup_long_sharp2_50 = 113, - transition_rampup_med_sharp1_50 = 114, - transition_rampup_med_sharp2_50 = 115, - transition_rampup_short_sharp1_50 = 116, - transition_rampup_short_sharp2_50 = 117, - long_buzz_for_programmatic_stopping = 118, - smooth_hum1_50 = 119, - smooth_hum2_40 = 120, - smooth_hum3_30 = 121, - smooth_hum4_20 = 122, - smooth_hum5_10 = 123, - drv_effect_max = 124, -} DRV_EFFECT; - -/* Register bit array unions */ - -typedef union DRVREG_STATUS { /* register 0x00 */ - uint8_t Byte; - struct { - uint8_t OC_DETECT : 1; /* set to 1 when overcurrent event is detected */ - uint8_t OVER_TEMP : 1; /* set to 1 when device exceeds temp threshold */ - uint8_t FB_STS : 1; /* set to 1 when feedback controller has timed out */ - /* auto-calibration routine and diagnostic result - * result | auto-calibation | diagnostic | - * 0 | passed | actuator func normal | - * 1 | failed | actuator func fault* | - * * actuator is not present or is shorted, timing out, or giving out–of-range back-EMF */ - uint8_t DIAG_RESULT : 1; - uint8_t : 1; - uint8_t DEVICE_ID : 3; /* Device IDs 3: DRV2605 4: DRV2604 5: DRV2604L 6: DRV2605L */ - } Bits; -} DRVREG_STATUS; - -typedef union DRVREG_MODE { /* register 0x01 */ - uint8_t Byte; - struct { - uint8_t MODE : 3; /* Mode setting */ - uint8_t : 3; - uint8_t STANDBY : 1; /* 0:standby 1:ready */ - } Bits; -} DRVREG_MODE; - -typedef union DRVREG_WAIT { - uint8_t Byte; - struct { - uint8_t WAIT_MODE : 1; /* Set to 1 to interpret as wait for next 7 bits x10ms */ - uint8_t WAIT_TIME : 7; - } Bits; -} DRVREG_WAIT; - -typedef union DRVREG_FBR { /* register 0x1A */ - uint8_t Byte; - struct { - uint8_t BEMF_GAIN : 2; - uint8_t LOOP_GAIN : 2; - uint8_t BRAKE_FACTOR : 3; - uint8_t ERM_LRA : 1; - } Bits; -} DRVREG_FBR; - -typedef union DRVREG_CTRL1 { /* register 0x1B */ - uint8_t Byte; - struct { - uint8_t C1_DRIVE_TIME : 5; - uint8_t C1_AC_COUPLE : 1; - uint8_t : 1; - uint8_t C1_STARTUP_BOOST : 1; - } Bits; -} DRVREG_CTRL1; - -typedef union DRVREG_CTRL2 { /* register 0x1C */ - uint8_t Byte; - struct { - uint8_t C2_IDISS_TIME : 2; - uint8_t C2_BLANKING_TIME : 2; - uint8_t C2_SAMPLE_TIME : 2; - uint8_t C2_BRAKE_STAB : 1; - uint8_t C2_BIDIR_INPUT : 1; - } Bits; -} DRVREG_CTRL2; - -typedef union DRVREG_CTRL3 { /* register 0x1D */ - uint8_t Byte; - struct { - uint8_t C3_LRA_OPEN_LOOP : 1; - uint8_t C3_N_PWM_ANALOG : 1; - uint8_t C3_LRA_DRIVE_MODE : 1; - uint8_t C3_DATA_FORMAT_RTO : 1; - uint8_t C3_SUPPLY_COMP_DIS : 1; - uint8_t C3_ERM_OPEN_LOOP : 1; - uint8_t C3_NG_THRESH : 2; - } Bits; -} DRVREG_CTRL3; - -typedef union DRVREG_CTRL4 { /* register 0x1E */ - uint8_t Byte; - struct { - uint8_t C4_OTP_PROGRAM : 1; - uint8_t : 1; - uint8_t C4_OTP_STATUS : 1; - uint8_t : 1; - uint8_t C4_AUTO_CAL_TIME : 2; - uint8_t C4_ZC_DET_TIME : 2; - } Bits; -} DRVREG_CTRL4; - -typedef union DRVREG_CTRL5 { /* register 0x1F */ - uint8_t Byte; - struct { - uint8_t C5_IDISS_TIME : 2; - uint8_t C5_BLANKING_TIME : 2; - uint8_t C5_PLAYBACK_INTERVAL : 1; - uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; - uint8_t C5_AUTO_OL_CNT : 2; - } Bits; -} DRVREG_CTRL5; diff --git a/drivers/haptic/drv2605l.c b/drivers/haptic/drv2605l.c new file mode 100644 index 000000000000..1ad2ad385f2a --- /dev/null +++ b/drivers/haptic/drv2605l.c @@ -0,0 +1,126 @@ +/* Copyright 2018 ishtob + * Driver for DRV2605L written for QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "drv2605l.h" +#include "i2c_master.h" +#include + +uint8_t drv2605l_write_buffer[2]; +uint8_t drv2605l_read_buffer; + +void drv2605l_write(uint8_t reg_addr, uint8_t data) { + drv2605l_write_buffer[0] = reg_addr; + drv2605l_write_buffer[1] = data; + i2c_transmit(DRV2605L_I2C_ADDRESS << 1, drv2605l_write_buffer, 2, 100); +} + +uint8_t drv2605l_read(uint8_t reg_addr) { + i2c_readReg(DRV2605L_I2C_ADDRESS << 1, reg_addr, &drv2605l_read_buffer, 1, 100); + + return drv2605l_read_buffer; +} + +void drv2605l_init(void) { + i2c_init(); + /* 0x07 sets DRV2605 into calibration mode */ + drv2605l_write(DRV2605L_REG_MODE, 0x07); + + // drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL,0xB6); + +#if DRV2605L_FB_ERM_LRA == 0 + /* ERM settings */ + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (DRV2605L_RATED_VOLTAGE / 21.33) * 1000); +# if DRV2605L_ERM_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((DRV2605L_V_PEAK * (DRV2605L_DRIVE_TIME + DRV2605L_BLANKING_TIME + DRV2605L_IDISS_TIME)) / 0.02133) / (DRV2605L_DRIVE_TIME - 0.0003))); +# elif DRV2605L_ERM_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); +# endif +#elif DRV2605L_FB_ERM_LRA == 1 + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((DRV2605L_V_RMS * sqrt(1 - ((4 * ((150 + (DRV2605L_SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * DRV2605L_F_LRA) / 0.02071))); +# if DRV2605L_LRA_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((DRV2605L_V_PEAK / sqrt(1 - (DRV2605L_F_LRA * 0.0008)) / 0.02133))); +# elif DRV2605L_LRA_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); +# endif +#endif + + drv2605l_reg_feedback_ctrl_t reg_feedback_ctrl; + reg_feedback_ctrl.bits.ERM_LRA = DRV2605L_FB_ERM_LRA; + reg_feedback_ctrl.bits.BRAKE_FACTOR = DRV2605L_FB_BRAKEFACTOR; + reg_feedback_ctrl.bits.LOOP_GAIN = DRV2605L_FB_LOOPGAIN; + reg_feedback_ctrl.bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ + drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)reg_feedback_ctrl.raw); + + drv2605l_reg_ctrl1_t reg_ctrl1; + reg_ctrl1.bits.C1_DRIVE_TIME = DRV2605L_DRIVE_TIME; + reg_ctrl1.bits.C1_AC_COUPLE = DRV2605L_AC_COUPLE; + reg_ctrl1.bits.C1_STARTUP_BOOST = DRV2605L_STARTUP_BOOST; + drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)reg_ctrl1.raw); + + drv2605l_reg_ctrl2_t reg_ctrl2; + reg_ctrl2.bits.C2_BIDIR_INPUT = DRV2605L_BIDIR_INPUT; + reg_ctrl2.bits.C2_BRAKE_STAB = DRV2605L_BRAKE_STAB; + reg_ctrl2.bits.C2_SAMPLE_TIME = DRV2605L_SAMPLE_TIME; + reg_ctrl2.bits.C2_BLANKING_TIME = DRV2605L_BLANKING_TIME; + reg_ctrl2.bits.C2_IDISS_TIME = DRV2605L_IDISS_TIME; + drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)reg_ctrl2.raw); + + drv2605l_reg_ctrl3_t reg_ctrl3; + reg_ctrl3.bits.C3_LRA_OPEN_LOOP = DRV2605L_LRA_OPEN_LOOP; + reg_ctrl3.bits.C3_N_PWM_ANALOG = DRV2605L_N_PWM_ANALOG; + reg_ctrl3.bits.C3_LRA_DRIVE_MODE = DRV2605L_LRA_DRIVE_MODE; + reg_ctrl3.bits.C3_DATA_FORMAT_RTO = DRV2605L_DATA_FORMAT_RTO; + reg_ctrl3.bits.C3_SUPPLY_COMP_DIS = DRV2605L_SUPPLY_COMP_DIS; + reg_ctrl3.bits.C3_ERM_OPEN_LOOP = DRV2605L_ERM_OPEN_LOOP; + reg_ctrl3.bits.C3_NG_THRESH = DRV2605L_NG_THRESH; + drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)reg_ctrl3.raw); + + drv2605l_reg_ctrl4_t reg_ctrl4; + reg_ctrl4.bits.C4_ZC_DET_TIME = DRV2605L_ZC_DET_TIME; + reg_ctrl4.bits.C4_AUTO_CAL_TIME = DRV2605L_AUTO_CAL_TIME; + drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)reg_ctrl4.raw); + + drv2605l_write(DRV2605L_REG_LIBRARY_SELECTION, DRV2605L_LIBRARY); + + drv2605l_write(DRV2605L_REG_GO, 0x01); + + /* 0x00 sets DRV2605 out of standby and to use internal trigger + * 0x01 sets DRV2605 out of standby and to use external trigger */ + drv2605l_write(DRV2605L_REG_MODE, 0x00); + + // Play greeting sequence + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_WAVEFORM_SEQUENCER_1, DRV2605L_GREETING); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} + +void drv2605l_rtp_init(void) { + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_RTP_INPUT, 20); // 20 is the lowest value I've found where haptics can still be felt. + drv2605l_write(DRV2605L_REG_MODE, 0x05); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} + +void drv2605l_amplitude(uint8_t amplitude) { + drv2605l_write(DRV2605L_REG_RTP_INPUT, amplitude); +} + +void drv2605l_pulse(uint8_t sequence) { + drv2605l_write(DRV2605L_REG_GO, 0x00); + drv2605l_write(DRV2605L_REG_WAVEFORM_SEQUENCER_1, sequence); + drv2605l_write(DRV2605L_REG_GO, 0x01); +} diff --git a/drivers/haptic/drv2605l.h b/drivers/haptic/drv2605l.h new file mode 100644 index 000000000000..a7cf856a86c1 --- /dev/null +++ b/drivers/haptic/drv2605l.h @@ -0,0 +1,362 @@ +/* Copyright 2018 ishtob + * Driver for DRV2605L written for 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 + +/* Initialization settings + + * Feedback Control Settings */ +#ifndef DRV2605L_FB_ERM_LRA +# define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#endif +#ifndef DRV2605L_FB_BRAKEFACTOR +# define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#endif +#ifndef DRV2605L_FB_LOOPGAIN +# define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#endif + +/* LRA specific settings */ +#if DRV2605L_FB_ERM_LRA == 1 +# ifndef DRV2605L_V_RMS +# define DRV2605L_V_RMS 2.0 +# endif +# ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.1 +# endif +# ifndef DRV2605L_F_LRA +# define DRV2605L_F_LRA 205 +# endif +# ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +# endif +#endif + +#ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +#endif +#ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.8 +#endif + +/* Library Selection */ +#ifndef DRV2605L_LIBRARY +# if DRV2605L_FB_ERM_LRA == 1 +# define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +# else +# define DRV2605L_LIBRARY 1 +# endif +#endif + +#ifndef DRV2605L_GREETING +# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#endif +#ifndef DRV2605L_DEFAULT_MODE +# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100 +#endif + +/* Control 1 register settings */ +#ifndef DRV2605L_DRIVE_TIME +# define DRV2605L_DRIVE_TIME 25 +#endif +#ifndef DRV2605L_AC_COUPLE +# define DRV2605L_AC_COUPLE 0 +#endif +#ifndef DRV2605L_STARTUP_BOOST +# define DRV2605L_STARTUP_BOOST 1 +#endif + +/* Control 2 Settings */ +#ifndef DRV2605L_BIDIR_INPUT +# define DRV2605L_BIDIR_INPUT 1 +#endif +#ifndef DRV2605L_BRAKE_STAB +# define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#endif +#ifndef DRV2605L_SAMPLE_TIME +# define DRV2605L_SAMPLE_TIME 3 +#endif +#ifndef DRV2605L_BLANKING_TIME +# define DRV2605L_BLANKING_TIME 1 +#endif +#ifndef DRV2605L_IDISS_TIME +# define DRV2605L_IDISS_TIME 1 +#endif + +/* Control 3 settings */ +#ifndef DRV2605L_NG_THRESH +# define DRV2605L_NG_THRESH 2 +#endif +#ifndef DRV2605L_ERM_OPEN_LOOP +# define DRV2605L_ERM_OPEN_LOOP 1 +#endif +#ifndef DRV2605L_SUPPLY_COMP_DIS +# define DRV2605L_SUPPLY_COMP_DIS 0 +#endif +#ifndef DRV2605L_DATA_FORMAT_RTO +# define DRV2605L_DATA_FORMAT_RTO 0 +#endif +#ifndef DRV2605L_LRA_DRIVE_MODE +# define DRV2605L_LRA_DRIVE_MODE 0 +#endif +#ifndef DRV2605L_N_PWM_ANALOG +# define DRV2605L_N_PWM_ANALOG 0 +#endif +#ifndef DRV2605L_LRA_OPEN_LOOP +# define DRV2605L_LRA_OPEN_LOOP 0 +#endif + +/* Control 4 settings */ +#ifndef DRV2605L_ZC_DET_TIME +# define DRV2605L_ZC_DET_TIME 0 +#endif +#ifndef DRV2605L_AUTO_CAL_TIME +# define DRV2605L_AUTO_CAL_TIME 3 +#endif + +#define DRV2605L_I2C_ADDRESS 0x5A + +#define DRV2605L_REG_STATUS 0x00 +#define DRV2605L_REG_MODE 0x01 +#define DRV2605L_REG_RTP_INPUT 0x02 +#define DRV2605L_REG_LIBRARY_SELECTION 0x03 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_1 0x04 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_2 0x05 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_3 0x06 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_4 0x07 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_5 0x08 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_6 0x09 +#define DRV2605L_REG_WAVEFORM_SEQUENCER_7 0x0A +#define DRV2605L_REG_WAVEFORM_SEQUENCER_8 0x0B +#define DRV2605L_REG_GO 0x0C +#define DRV2605L_REG_OVERDRIVE_TIME_OFFSET 0x0D +#define DRV2605L_REG_SUSTAIN_TIME_OFFSET_P 0x0E +#define DRV2605L_REG_SUSTAIN_TIME_OFFSET_N 0x0F +#define DRV2605L_REG_BRAKE_TIME_OFFSET 0x10 +#define DRV2605L_REG_AUDIO_TO_VIBE_CTRL 0x11 +#define DRV2605L_REG_AUDIO_TO_VIBE_MIN_INPUT 0x12 +#define DRV2605L_REG_AUDIO_TO_VIBE_MAX_INPUT 0x13 +#define DRV2605L_REG_AUDIO_TO_VIBE_MIN_OUTPUT_DRIVE 0x14 +#define DRV2605L_REG_AUDIO_TO_VIBE_MAX_OUTPUT_DRIVE 0x15 +#define DRV2605L_REG_RATED_VOLTAGE 0x16 +#define DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE 0x17 +#define DRV2605L_REG_AUTO_CALIBRATION_COMPENSATION_RESULT 0x18 +#define DRV2605L_REG_AUTO_CALIBRATION_BACK_EMF_RESULT 0x19 +#define DRV2605L_REG_FEEDBACK_CTRL 0x1A +#define DRV2605L_REG_CTRL1 0x1B +#define DRV2605L_REG_CTRL2 0x1C +#define DRV2605L_REG_CTRL3 0x1D +#define DRV2605L_REG_CTRL4 0x1E +#define DRV2605L_REG_CTRL5 0x1F +#define DRV2605L_REG_LRA_OPEN_LOOP_PERIOD 0x20 +#define DRV2605L_REG_VBAT_VOLTAGE_MONITOR 0x21 +#define DRV2605L_REG_LRA_RESONANCE_PERIOD 0x22 + +void drv2605l_init(void); +void drv2605l_write(const uint8_t reg_addr, const uint8_t data); +uint8_t drv2605l_read(const uint8_t reg_addr); +void drv2605l_rtp_init(void); +void drv2605l_amplitude(const uint8_t amplitude); +void drv2605l_pulse(const uint8_t sequence); + +typedef enum drv2605l_effect_t { + DRV2605L_EFFECT_CLEAR_SEQUENCE, + DRV2605L_EFFECT_STRONG_CLICK_100, + DRV2605L_EFFECT_STRONG_CLICK_60, + DRV2605L_EFFECT_STRONG_CLICK_30, + DRV2605L_EFFECT_SHARP_CLICK_100, + DRV2605L_EFFECT_SHARP_CLICK_60, + DRV2605L_EFFECT_SHARP_CLICK_30, + DRV2605L_EFFECT_SOFT_BUMP_100, + DRV2605L_EFFECT_SOFT_BUMP_60, + DRV2605L_EFFECT_SOFT_BUMP_30, + DRV2605L_EFFECT_DOUBLE_CLICK_100, + DRV2605L_EFFECT_DOUBLE_CLICK_60, + DRV2605L_EFFECT_TRIPLE_CLICK_100, + DRV2605L_EFFECT_SOFT_FUZZ_60, + DRV2605L_EFFECT_STRONG_BUZZ_100, + DRV2605L_EFFECT_750_MS_ALERT_100, + DRV2605L_EFFECT_1000_MS_ALERT_100, + DRV2605L_EFFECT_STRONG_CLICK_1_100, + DRV2605L_EFFECT_STRONG_CLICK_2_80, + DRV2605L_EFFECT_STRONG_CLICK_3_60, + DRV2605L_EFFECT_STRONG_CLICK_4_30, + DRV2605L_EFFECT_MEDIUM_CLICK_1_100, + DRV2605L_EFFECT_MEDIUM_CLICK_2_80, + DRV2605L_EFFECT_MEDIUM_CLICK_3_60, + DRV2605L_EFFECT_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHARP_TICK_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_4_30, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_4_30, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_BUZZ_1_100, + DRV2605L_EFFECT_BUZZ_2_80, + DRV2605L_EFFECT_BUZZ_3_60, + DRV2605L_EFFECT_BUZZ_4_40, + DRV2605L_EFFECT_BUZZ_5_20, + DRV2605L_EFFECT_PULSING_STRONG_1_100, + DRV2605L_EFFECT_PULSING_STRONG_2_60, + DRV2605L_EFFECT_PULSING_MEDIUM_1_100, + DRV2605L_EFFECT_PULSING_MEDIUM_2_60, + DRV2605L_EFFECT_PULSING_SHARP_1_100, + DRV2605L_EFFECT_PULSING_SHARP_2_60, + DRV2605L_EFFECT_TRANSITION_CLICK_1_100, + DRV2605L_EFFECT_TRANSITION_CLICK_2_80, + DRV2605L_EFFECT_TRANSITION_CLICK_3_60, + DRV2605L_EFFECT_TRANSITION_CLICK_4_40, + DRV2605L_EFFECT_TRANSITION_CLICK_5_20, + DRV2605L_EFFECT_TRANSITION_CLICK_6_10, + DRV2605L_EFFECT_TRANSITION_HUM_1_100, + DRV2605L_EFFECT_TRANSITION_HUM_2_80, + DRV2605L_EFFECT_TRANSITION_HUM_3_60, + DRV2605L_EFFECT_TRANSITION_HUM_4_40, + DRV2605L_EFFECT_TRANSITION_HUM_5_20, + DRV2605L_EFFECT_TRANSITION_HUM_6_10, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_50, + DRV2605L_EFFECT_LONG_BUZZ_FOR_PROGRAMMATIC_STOPPING, + DRV2605L_EFFECT_SMOOTH_HUM_1_50, + DRV2605L_EFFECT_SMOOTH_HUM_2_40, + DRV2605L_EFFECT_SMOOTH_HUM_3_30, + DRV2605L_EFFECT_SMOOTH_HUM_4_20, + DRV2605L_EFFECT_SMOOTH_HUM_5_10, + DRV2605L_EFFECT_COUNT +} drv2605l_effect_t; + +/* Register bit array unions */ + +typedef union { /* register 0x1A */ + uint8_t raw; + struct { + uint8_t BEMF_GAIN : 2; + uint8_t LOOP_GAIN : 2; + uint8_t BRAKE_FACTOR : 3; + uint8_t ERM_LRA : 1; + } bits; +} drv2605l_reg_feedback_ctrl_t; + +typedef union { /* register 0x1B */ + uint8_t raw; + struct { + uint8_t C1_DRIVE_TIME : 5; + uint8_t C1_AC_COUPLE : 1; + uint8_t : 1; + uint8_t C1_STARTUP_BOOST : 1; + } bits; +} drv2605l_reg_ctrl1_t; + +typedef union { /* register 0x1C */ + uint8_t raw; + struct { + uint8_t C2_IDISS_TIME : 2; + uint8_t C2_BLANKING_TIME : 2; + uint8_t C2_SAMPLE_TIME : 2; + uint8_t C2_BRAKE_STAB : 1; + uint8_t C2_BIDIR_INPUT : 1; + } bits; +} drv2605l_reg_ctrl2_t; + +typedef union { /* register 0x1D */ + uint8_t raw; + struct { + uint8_t C3_LRA_OPEN_LOOP : 1; + uint8_t C3_N_PWM_ANALOG : 1; + uint8_t C3_LRA_DRIVE_MODE : 1; + uint8_t C3_DATA_FORMAT_RTO : 1; + uint8_t C3_SUPPLY_COMP_DIS : 1; + uint8_t C3_ERM_OPEN_LOOP : 1; + uint8_t C3_NG_THRESH : 2; + } bits; +} drv2605l_reg_ctrl3_t; + +typedef union { /* register 0x1E */ + uint8_t raw; + struct { + uint8_t C4_OTP_PROGRAM : 1; + uint8_t : 1; + uint8_t C4_OTP_STATUS : 1; + uint8_t : 1; + uint8_t C4_AUTO_CAL_TIME : 2; + uint8_t C4_ZC_DET_TIME : 2; + } bits; +} drv2605l_reg_ctrl4_t; diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 4e4390325527..da4095cda4d2 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -23,7 +23,6 @@ #include "util.h" #include -uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; static pin_t solenoid_pads[] = SOLENOID_PINS; #define NUMBER_OF_SOLENOIDS ARRAY_SIZE(solenoid_pads) bool solenoid_on[NUMBER_OF_SOLENOIDS] = {false}; @@ -53,7 +52,7 @@ void solenoid_set_buzz(uint8_t buzz) { } void solenoid_set_dwell(uint8_t dwell) { - solenoid_dwell = dwell; + haptic_set_dwell(dwell); } /** @@ -119,7 +118,7 @@ void solenoid_check(void) { elapsed[i] = timer_elapsed(solenoid_start[i]); // Check if it's time to finish this solenoid click cycle - if (elapsed[i] > solenoid_dwell) { + if (elapsed[i] > haptic_config.dwell) { solenoid_stop(i); continue; } diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 40fc68e4f11c..527519eb8a95 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -16,15 +16,15 @@ */ #include "apa102.h" -#include "quantum.h" +#include "gpio.h" #ifndef APA102_NOPS # if defined(__AVR__) # define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed # elif defined(PROTOCOL_CHIBIOS) - # include "hal.h" -# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) +# include "chibios_config.h" +# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) || defined(MCU_RP) # define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns # else # error APA102_NOPS configuration required @@ -61,18 +61,18 @@ void static apa102_end_frame(uint16_t num_leds); void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness); void static apa102_send_byte(uint8_t byte); -void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds) { - LED_TYPE *end = start_led + num_leds; +void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) { + rgb_led_t *end = start_led + num_leds; apa102_start_frame(); - for (LED_TYPE *led = start_led; led < end; led++) { + for (rgb_led_t *led = start_led; led < end; led++) { apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness); } apa102_end_frame(num_leds); } // Overwrite the default rgblight_call_driver to use apa102 driver -void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { +void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { apa102_setleds(start_led, num_leds); } diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h index 58cf020c1e16..cd0a19d44547 100644 --- a/drivers/led/apa102.h +++ b/drivers/led/apa102.h @@ -37,5 +37,5 @@ extern uint8_t apa102_led_brightness; * - Set the data-out pin as output * - Send out the LED data */ -void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds); +void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds); void apa102_set_brightness(uint8_t brightness); diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c deleted file mode 100644 index 7895f1497b0f..000000000000 --- a/drivers/led/aw20216.c +++ /dev/null @@ -1,165 +0,0 @@ -/* Copyright 2021 Jasper Chan - * 2023 Huckies - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "aw20216.h" -#include "wait.h" -#include "spi_master.h" - -/* The AW20216 appears to be somewhat similar to the IS31FL743, although quite - * a few things are different, such as the command byte format and page ordering. - * The LED addresses start from 0x00 instead of 0x01. - */ -#define AWINIC_ID 0b1010 << 4 - -#define AW_PAGE_FUNCTION 0x00 << 1 // PG0, Function registers -#define AW_PAGE_PWM 0x01 << 1 // PG1, LED PWM control -#define AW_PAGE_SCALING 0x02 << 1 // PG2, LED current scaling control -#define AW_PAGE_PATCHOICE 0x03 << 1 // PG3, Pattern choice? -#define AW_PAGE_PWMSCALING 0x04 << 1 // PG4, LED PWM + Scaling control? - -#define AW_WRITE 0 -#define AW_READ 1 - -#define AW_REG_CONFIGURATION 0x00 // PG0 -#define AW_REG_GLOBALCURRENT 0x01 // PG0 -#define AW_REG_RESET 0x2F // PG0 -#define AW_REG_MIXFUNCTION 0x46 // PG0 - -// Default value of AW_REG_CONFIGURATION -// D7:D4 = 1011, SWSEL (SW1~SW12 active) -// D3 = 0?, reserved (apparently this should be 1 but it doesn't seem to matter) -// D2:D1 = 00, OSDE (open/short detection enable) -// D0 = 0, CHIPEN (write 1 to enable LEDs when hardware enable pulled high) -#define AW_CONFIG_DEFAULT 0b10110000 -#define AW_MIXCR_DEFAULT 0b00000000 -#define AW_RESET_CMD 0xAE -#define AW_CHIPEN 1 -#define AW_LPEN (0x01 << 1) - -#define AW_PWM_REGISTER_COUNT 216 - -#ifndef AW_SCALING_MAX -# define AW_SCALING_MAX 150 -#endif - -#ifndef AW_GLOBAL_CURRENT_MAX -# define AW_GLOBAL_CURRENT_MAX 150 -#endif - -#ifndef AW_SPI_MODE -# define AW_SPI_MODE 0 -#endif - -#ifndef AW_SPI_DIVISOR -# define AW_SPI_DIVISOR 4 -#endif - -uint8_t g_pwm_buffer[DRIVER_COUNT][AW_PWM_REGISTER_COUNT]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; - -bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { - static uint8_t s_spi_transfer_buffer[2] = {0}; - - if (!spi_start(cs_pin, false, AW_SPI_MODE, AW_SPI_DIVISOR)) { - spi_stop(); - return false; - } - - s_spi_transfer_buffer[0] = (AWINIC_ID | page | AW_WRITE); - s_spi_transfer_buffer[1] = reg; - - if (spi_transmit(s_spi_transfer_buffer, 2) != SPI_STATUS_SUCCESS) { - spi_stop(); - return false; - } - - if (spi_transmit(data, len) != SPI_STATUS_SUCCESS) { - spi_stop(); - return false; - } - - spi_stop(); - return true; -} - -static inline bool AW20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { - // Little wrapper so callers need not care about sending a buffer - return AW20216_write(cs_pin, page, reg, &value, 1); -} - -void AW20216_soft_reset(pin_t cs_pin) { - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD); -} - -static void AW20216_init_scaling(pin_t cs_pin) { - // Set constant current to the max, control brightness with PWM - for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) { - AW20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX); - } -} - -static inline void AW20216_init_current_limit(pin_t cs_pin) { - // Push config - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX); -} - -static inline void AW20216_soft_enable(pin_t cs_pin) { - // Push config - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN); -} - -static inline void AW20216_auto_lowpower(pin_t cs_pin) { - AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN); -} - -void AW20216_init(pin_t cs_pin, pin_t en_pin) { - setPinOutput(en_pin); - writePinHigh(en_pin); - - AW20216_soft_reset(cs_pin); - wait_ms(2); - - // Drivers should start with all scaling and PWM registers as off - AW20216_init_current_limit(cs_pin); - AW20216_init_scaling(cs_pin); - - AW20216_soft_enable(cs_pin); - AW20216_auto_lowpower(cs_pin); -} - -void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - aw_led led; - memcpy_P(&led, (&g_aw_leds[index]), sizeof(led)); - - g_pwm_buffer[led.driver][led.r] = red; - g_pwm_buffer[led.driver][led.g] = green; - g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required[led.driver] = true; -} - -void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - AW20216_set_color(i, red, green, blue); - } -} - -void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) { - if (g_pwm_buffer_update_required[index]) { - AW20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT); - } - g_pwm_buffer_update_required[index] = false; -} diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h deleted file mode 100644 index c6e71b4b4e21..000000000000 --- a/drivers/led/aw20216.h +++ /dev/null @@ -1,253 +0,0 @@ -/* Copyright 2021 Jasper Chan (Gigahawk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 -#include -#include "progmem.h" -#include "gpio.h" - -typedef struct aw_led { - uint8_t driver : 2; - uint8_t r; - uint8_t g; - uint8_t b; -} aw_led; - -extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT]; - -void AW20216_init(pin_t cs_pin, pin_t en_pin); -void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index); - -#define CS1_SW1 0x00 -#define CS2_SW1 0x01 -#define CS3_SW1 0x02 -#define CS4_SW1 0x03 -#define CS5_SW1 0x04 -#define CS6_SW1 0x05 -#define CS7_SW1 0x06 -#define CS8_SW1 0x07 -#define CS9_SW1 0x08 -#define CS10_SW1 0x09 -#define CS11_SW1 0x0A -#define CS12_SW1 0x0B -#define CS13_SW1 0x0C -#define CS14_SW1 0x0D -#define CS15_SW1 0x0E -#define CS16_SW1 0x0F -#define CS17_SW1 0x10 -#define CS18_SW1 0x11 -#define CS1_SW2 0x12 -#define CS2_SW2 0x13 -#define CS3_SW2 0x14 -#define CS4_SW2 0x15 -#define CS5_SW2 0x16 -#define CS6_SW2 0x17 -#define CS7_SW2 0x18 -#define CS8_SW2 0x19 -#define CS9_SW2 0x1A -#define CS10_SW2 0x1B -#define CS11_SW2 0x1C -#define CS12_SW2 0x1D -#define CS13_SW2 0x1E -#define CS14_SW2 0x1F -#define CS15_SW2 0x20 -#define CS16_SW2 0x21 -#define CS17_SW2 0x22 -#define CS18_SW2 0x23 -#define CS1_SW3 0x24 -#define CS2_SW3 0x25 -#define CS3_SW3 0x26 -#define CS4_SW3 0x27 -#define CS5_SW3 0x28 -#define CS6_SW3 0x29 -#define CS7_SW3 0x2A -#define CS8_SW3 0x2B -#define CS9_SW3 0x2C -#define CS10_SW3 0x2D -#define CS11_SW3 0x2E -#define CS12_SW3 0x2F -#define CS13_SW3 0x30 -#define CS14_SW3 0x31 -#define CS15_SW3 0x32 -#define CS16_SW3 0x33 -#define CS17_SW3 0x34 -#define CS18_SW3 0x35 -#define CS1_SW4 0x36 -#define CS2_SW4 0x37 -#define CS3_SW4 0x38 -#define CS4_SW4 0x39 -#define CS5_SW4 0x3A -#define CS6_SW4 0x3B -#define CS7_SW4 0x3C -#define CS8_SW4 0x3D -#define CS9_SW4 0x3E -#define CS10_SW4 0x3F -#define CS11_SW4 0x40 -#define CS12_SW4 0x41 -#define CS13_SW4 0x42 -#define CS14_SW4 0x43 -#define CS15_SW4 0x44 -#define CS16_SW4 0x45 -#define CS17_SW4 0x46 -#define CS18_SW4 0x47 -#define CS1_SW5 0x48 -#define CS2_SW5 0x49 -#define CS3_SW5 0x4A -#define CS4_SW5 0x4B -#define CS5_SW5 0x4C -#define CS6_SW5 0x4D -#define CS7_SW5 0x4E -#define CS8_SW5 0x4F -#define CS9_SW5 0x50 -#define CS10_SW5 0x51 -#define CS11_SW5 0x52 -#define CS12_SW5 0x53 -#define CS13_SW5 0x54 -#define CS14_SW5 0x55 -#define CS15_SW5 0x56 -#define CS16_SW5 0x57 -#define CS17_SW5 0x58 -#define CS18_SW5 0x59 -#define CS1_SW6 0x5A -#define CS2_SW6 0x5B -#define CS3_SW6 0x5C -#define CS4_SW6 0x5D -#define CS5_SW6 0x5E -#define CS6_SW6 0x5F -#define CS7_SW6 0x60 -#define CS8_SW6 0x61 -#define CS9_SW6 0x62 -#define CS10_SW6 0x63 -#define CS11_SW6 0x64 -#define CS12_SW6 0x65 -#define CS13_SW6 0x66 -#define CS14_SW6 0x67 -#define CS15_SW6 0x68 -#define CS16_SW6 0x69 -#define CS17_SW6 0x6A -#define CS18_SW6 0x6B -#define CS1_SW7 0x6C -#define CS2_SW7 0x6D -#define CS3_SW7 0x6E -#define CS4_SW7 0x6F -#define CS5_SW7 0x70 -#define CS6_SW7 0x71 -#define CS7_SW7 0x72 -#define CS8_SW7 0x73 -#define CS9_SW7 0x74 -#define CS10_SW7 0x75 -#define CS11_SW7 0x76 -#define CS12_SW7 0x77 -#define CS13_SW7 0x78 -#define CS14_SW7 0x79 -#define CS15_SW7 0x7A -#define CS16_SW7 0x7B -#define CS17_SW7 0x7C -#define CS18_SW7 0x7D -#define CS1_SW8 0x7E -#define CS2_SW8 0x7F -#define CS3_SW8 0x80 -#define CS4_SW8 0x81 -#define CS5_SW8 0x82 -#define CS6_SW8 0x83 -#define CS7_SW8 0x84 -#define CS8_SW8 0x85 -#define CS9_SW8 0x86 -#define CS10_SW8 0x87 -#define CS11_SW8 0x88 -#define CS12_SW8 0x89 -#define CS13_SW8 0x8A -#define CS14_SW8 0x8B -#define CS15_SW8 0x8C -#define CS16_SW8 0x8D -#define CS17_SW8 0x8E -#define CS18_SW8 0x8F -#define CS1_SW9 0x90 -#define CS2_SW9 0x91 -#define CS3_SW9 0x92 -#define CS4_SW9 0x93 -#define CS5_SW9 0x94 -#define CS6_SW9 0x95 -#define CS7_SW9 0x96 -#define CS8_SW9 0x97 -#define CS9_SW9 0x98 -#define CS10_SW9 0x99 -#define CS11_SW9 0x9A -#define CS12_SW9 0x9B -#define CS13_SW9 0x9C -#define CS14_SW9 0x9D -#define CS15_SW9 0x9E -#define CS16_SW9 0x9F -#define CS17_SW9 0xA0 -#define CS18_SW9 0xA1 -#define CS1_SW10 0xA2 -#define CS2_SW10 0xA3 -#define CS3_SW10 0xA4 -#define CS4_SW10 0xA5 -#define CS5_SW10 0xA6 -#define CS6_SW10 0xA7 -#define CS7_SW10 0xA8 -#define CS8_SW10 0xA9 -#define CS9_SW10 0xAA -#define CS10_SW10 0xAB -#define CS11_SW10 0xAC -#define CS12_SW10 0xAD -#define CS13_SW10 0xAE -#define CS14_SW10 0xAF -#define CS15_SW10 0xB0 -#define CS16_SW10 0xB1 -#define CS17_SW10 0xB2 -#define CS18_SW10 0xB3 -#define CS1_SW11 0xB4 -#define CS2_SW11 0xB5 -#define CS3_SW11 0xB6 -#define CS4_SW11 0xB7 -#define CS5_SW11 0xB8 -#define CS6_SW11 0xB9 -#define CS7_SW11 0xBA -#define CS8_SW11 0xBB -#define CS9_SW11 0xBC -#define CS10_SW11 0xBD -#define CS11_SW11 0xBE -#define CS12_SW11 0xBF -#define CS13_SW11 0xC0 -#define CS14_SW11 0xC1 -#define CS15_SW11 0xC2 -#define CS16_SW11 0xC3 -#define CS17_SW11 0xC4 -#define CS18_SW11 0xC5 -#define CS1_SW12 0xC6 -#define CS2_SW12 0xC7 -#define CS3_SW12 0xC8 -#define CS4_SW12 0xC9 -#define CS5_SW12 0xCA -#define CS6_SW12 0xCB -#define CS7_SW12 0xCC -#define CS8_SW12 0xCD -#define CS9_SW12 0xCE -#define CS10_SW12 0xCF -#define CS11_SW12 0xD0 -#define CS12_SW12 0xD1 -#define CS13_SW12 0xD2 -#define CS14_SW12 0xD3 -#define CS15_SW12 0xD4 -#define CS16_SW12 0xD5 -#define CS17_SW12 0xD6 -#define CS18_SW12 0xD7 diff --git a/drivers/led/aw20216s.c b/drivers/led/aw20216s.c new file mode 100644 index 000000000000..ab7f3ccb42d7 --- /dev/null +++ b/drivers/led/aw20216s.c @@ -0,0 +1,161 @@ +/* Copyright 2021 Jasper Chan + * 2023 Huckies + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "aw20216s.h" +#include "wait.h" +#include "spi_master.h" + +#define AW20216S_PWM_REGISTER_COUNT 216 + +#ifndef AW20216S_CONFIGURATION +# define AW20216S_CONFIGURATION (AW20216S_CONFIGURATION_SWSEL_1_12 | AW20216S_CONFIGURATION_CHIPEN) +#endif + +#ifndef AW20216S_MIX_FUNCTION +# define AW20216S_MIX_FUNCTION (AW20216S_MIX_FUNCTION_LPEN) +#endif + +#ifndef AW20216S_SCALING_MAX +# define AW20216S_SCALING_MAX 150 +#endif + +#ifndef AW20216S_GLOBAL_CURRENT_MAX +# define AW20216S_GLOBAL_CURRENT_MAX 150 +#endif + +#ifndef AW20216S_SPI_MODE +# define AW20216S_SPI_MODE 0 +#endif + +#ifndef AW20216S_SPI_DIVISOR +# define AW20216S_SPI_DIVISOR 4 +#endif + +uint8_t g_pwm_buffer[AW20216S_DRIVER_COUNT][AW20216S_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[AW20216S_DRIVER_COUNT] = {false}; + +bool aw20216s_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { + static uint8_t s_spi_transfer_buffer[2] = {0}; + + if (!spi_start(cs_pin, false, AW20216S_SPI_MODE, AW20216S_SPI_DIVISOR)) { + spi_stop(); + return false; + } + + s_spi_transfer_buffer[0] = (AW20216S_ID | page | AW20216S_WRITE); + s_spi_transfer_buffer[1] = reg; + + if (spi_transmit(s_spi_transfer_buffer, 2) != SPI_STATUS_SUCCESS) { + spi_stop(); + return false; + } + + if (spi_transmit(data, len) != SPI_STATUS_SUCCESS) { + spi_stop(); + return false; + } + + spi_stop(); + return true; +} + +static inline bool aw20216s_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { + // Little wrapper so callers need not care about sending a buffer + return aw20216s_write(cs_pin, page, reg, &value, 1); +} + +void aw20216s_soft_reset(pin_t cs_pin) { + aw20216s_write_register(cs_pin, AW20216S_PAGE_FUNCTION, AW20216S_FUNCTION_REG_RESET, AW20216S_RESET_MAGIC); +} + +static void aw20216s_init_scaling(pin_t cs_pin) { + // Set constant current to the max, control brightness with PWM + for (uint8_t i = 0; i < AW20216S_PWM_REGISTER_COUNT; i++) { + aw20216s_write_register(cs_pin, AW20216S_PAGE_SCALING, i, AW20216S_SCALING_MAX); + } +} + +static inline void aw20216s_init_current_limit(pin_t cs_pin) { + // Push config + aw20216s_write_register(cs_pin, AW20216S_PAGE_FUNCTION, AW20216S_FUNCTION_REG_GLOBAL_CURRENT, AW20216S_GLOBAL_CURRENT_MAX); +} + +static inline void aw20216s_soft_enable(pin_t cs_pin) { + // Push config + aw20216s_write_register(cs_pin, AW20216S_PAGE_FUNCTION, AW20216S_FUNCTION_REG_CONFIGURATION, AW20216S_CONFIGURATION); +} + +static inline void aw20216s_auto_lowpower(pin_t cs_pin) { + aw20216s_write_register(cs_pin, AW20216S_PAGE_FUNCTION, AW20216S_FUNCTION_REG_MIX_FUNCTION, AW20216S_MIX_FUNCTION); +} + +void aw20216s_init_drivers(void) { + spi_init(); + + aw20216s_init(AW20216S_CS_PIN_1, AW20216S_EN_PIN_1); +#if defined(AW20216S_CS_PIN_2) + aw20216s_init(AW20216S_CS_PIN_2, AW20216S_EN_PIN_2); +#endif +} + +void aw20216s_init(pin_t cs_pin, pin_t en_pin) { + setPinOutput(en_pin); + writePinHigh(en_pin); + + aw20216s_soft_reset(cs_pin); + wait_ms(2); + + // Drivers should start with all scaling and PWM registers as off + aw20216s_init_current_limit(cs_pin); + aw20216s_init_scaling(cs_pin); + + aw20216s_soft_enable(cs_pin); + aw20216s_auto_lowpower(cs_pin); +} + +void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + aw20216s_led_t led; + memcpy_P(&led, (&g_aw20216s_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; +} + +void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (uint8_t i = 0; i < AW20216S_LED_COUNT; i++) { + aw20216s_set_color(i, red, green, blue); + } +} + +void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + aw20216s_write(cs_pin, AW20216S_PAGE_PWM, 0, g_pwm_buffer[index], AW20216S_PWM_REGISTER_COUNT); + } + g_pwm_buffer_update_required[index] = false; +} + +void aw20216s_flush(void) { + aw20216s_update_pwm_buffers(AW20216S_CS_PIN_1, 0); +#if defined(AW20216S_CS_PIN_2) + aw20216s_update_pwm_buffers(AW20216S_CS_PIN_2, 1); +#endif +} diff --git a/drivers/led/aw20216s.h b/drivers/led/aw20216s.h new file mode 100644 index 000000000000..38a0c92b2f4c --- /dev/null +++ b/drivers/led/aw20216s.h @@ -0,0 +1,319 @@ +/* Copyright 2021 Jasper Chan (Gigahawk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 +#include +#include "progmem.h" +#include "gpio.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef AW_SCALING_MAX +# define AW20216S_SCALING_MAX AW_SCALING_MAX +#endif +#ifdef AW_GLOBAL_CURRENT_MAX +# define AW20216S_GLOBAL_CURRENT_MAX AW_GLOBAL_CURRENT_MAX +#endif +#ifdef AW_SPI_MODE +# define AW20216S_SPI_MODE AW_SPI_MODE +#endif +#ifdef AW_SPI_DIVISOR +# define AW20216S_SPI_DIVISOR AW_SPI_DIVISOR +#endif +#ifdef DRIVER_1_CS +# define AW20216S_CS_PIN_1 DRIVER_1_CS +#endif +#ifdef DRIVER_2_CS +# define AW20216S_CS_PIN_2 DRIVER_2_CS +#endif +#ifdef DRIVER_1_EN +# define AW20216S_EN_PIN_1 DRIVER_1_EN +#endif +#ifdef DRIVER_2_EN +# define AW20216S_EN_PIN_2 DRIVER_2_EN +#endif + +#define aw_led aw20216s_led_t +#define g_aw_leds g_aw20216s_leds +// ======== + +#define AW20216S_ID (0b1010 << 4) +#define AW20216S_WRITE 0 +#define AW20216S_READ 1 + +#define AW20216S_PAGE_FUNCTION (0x00 << 1) +#define AW20216S_PAGE_PWM (0x01 << 1) +#define AW20216S_PAGE_SCALING (0x02 << 1) +#define AW20216S_PAGE_PATTERN_CHOICE (0x03 << 1) +#define AW20216S_PAGE_PWM_SCALING (0x04 << 1) + +#define AW20216S_FUNCTION_REG_CONFIGURATION 0x00 +#define AW20216S_CONFIGURATION_SWSEL_1_12 (0b1011 << 4) +#define AW20216S_CONFIGURATION_CHIPEN (0b1 << 0) + +#define AW20216S_FUNCTION_REG_GLOBAL_CURRENT 0x01 + +#define AW20216S_FUNCTION_REG_RESET 0x2F +#define AW20216S_RESET_MAGIC 0xAE + +#define AW20216S_FUNCTION_REG_MIX_FUNCTION 0x46 +#define AW20216S_MIX_FUNCTION_LPEN (0b1 << 1) + +#if defined(RGB_MATRIX_AW20216S) +# define AW20216S_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(AW20216S_CS_PIN_2) +# define AW20216S_DRIVER_COUNT 2 +#elif defined(AW20216S_CS_PIN_1) +# define AW20216S_DRIVER_COUNT 1 +#endif + +typedef struct aw20216s_led_t { + uint8_t driver : 2; + uint8_t r; + uint8_t g; + uint8_t b; +} PACKED aw20216s_led_t; + +extern const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT]; + +void aw20216s_init_drivers(void); +void aw20216s_init(pin_t cs_pin, pin_t en_pin); +void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index); + +void aw20216s_flush(void); + +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 +#define CS1_SW2 0x12 +#define CS2_SW2 0x13 +#define CS3_SW2 0x14 +#define CS4_SW2 0x15 +#define CS5_SW2 0x16 +#define CS6_SW2 0x17 +#define CS7_SW2 0x18 +#define CS8_SW2 0x19 +#define CS9_SW2 0x1A +#define CS10_SW2 0x1B +#define CS11_SW2 0x1C +#define CS12_SW2 0x1D +#define CS13_SW2 0x1E +#define CS14_SW2 0x1F +#define CS15_SW2 0x20 +#define CS16_SW2 0x21 +#define CS17_SW2 0x22 +#define CS18_SW2 0x23 +#define CS1_SW3 0x24 +#define CS2_SW3 0x25 +#define CS3_SW3 0x26 +#define CS4_SW3 0x27 +#define CS5_SW3 0x28 +#define CS6_SW3 0x29 +#define CS7_SW3 0x2A +#define CS8_SW3 0x2B +#define CS9_SW3 0x2C +#define CS10_SW3 0x2D +#define CS11_SW3 0x2E +#define CS12_SW3 0x2F +#define CS13_SW3 0x30 +#define CS14_SW3 0x31 +#define CS15_SW3 0x32 +#define CS16_SW3 0x33 +#define CS17_SW3 0x34 +#define CS18_SW3 0x35 +#define CS1_SW4 0x36 +#define CS2_SW4 0x37 +#define CS3_SW4 0x38 +#define CS4_SW4 0x39 +#define CS5_SW4 0x3A +#define CS6_SW4 0x3B +#define CS7_SW4 0x3C +#define CS8_SW4 0x3D +#define CS9_SW4 0x3E +#define CS10_SW4 0x3F +#define CS11_SW4 0x40 +#define CS12_SW4 0x41 +#define CS13_SW4 0x42 +#define CS14_SW4 0x43 +#define CS15_SW4 0x44 +#define CS16_SW4 0x45 +#define CS17_SW4 0x46 +#define CS18_SW4 0x47 +#define CS1_SW5 0x48 +#define CS2_SW5 0x49 +#define CS3_SW5 0x4A +#define CS4_SW5 0x4B +#define CS5_SW5 0x4C +#define CS6_SW5 0x4D +#define CS7_SW5 0x4E +#define CS8_SW5 0x4F +#define CS9_SW5 0x50 +#define CS10_SW5 0x51 +#define CS11_SW5 0x52 +#define CS12_SW5 0x53 +#define CS13_SW5 0x54 +#define CS14_SW5 0x55 +#define CS15_SW5 0x56 +#define CS16_SW5 0x57 +#define CS17_SW5 0x58 +#define CS18_SW5 0x59 +#define CS1_SW6 0x5A +#define CS2_SW6 0x5B +#define CS3_SW6 0x5C +#define CS4_SW6 0x5D +#define CS5_SW6 0x5E +#define CS6_SW6 0x5F +#define CS7_SW6 0x60 +#define CS8_SW6 0x61 +#define CS9_SW6 0x62 +#define CS10_SW6 0x63 +#define CS11_SW6 0x64 +#define CS12_SW6 0x65 +#define CS13_SW6 0x66 +#define CS14_SW6 0x67 +#define CS15_SW6 0x68 +#define CS16_SW6 0x69 +#define CS17_SW6 0x6A +#define CS18_SW6 0x6B +#define CS1_SW7 0x6C +#define CS2_SW7 0x6D +#define CS3_SW7 0x6E +#define CS4_SW7 0x6F +#define CS5_SW7 0x70 +#define CS6_SW7 0x71 +#define CS7_SW7 0x72 +#define CS8_SW7 0x73 +#define CS9_SW7 0x74 +#define CS10_SW7 0x75 +#define CS11_SW7 0x76 +#define CS12_SW7 0x77 +#define CS13_SW7 0x78 +#define CS14_SW7 0x79 +#define CS15_SW7 0x7A +#define CS16_SW7 0x7B +#define CS17_SW7 0x7C +#define CS18_SW7 0x7D +#define CS1_SW8 0x7E +#define CS2_SW8 0x7F +#define CS3_SW8 0x80 +#define CS4_SW8 0x81 +#define CS5_SW8 0x82 +#define CS6_SW8 0x83 +#define CS7_SW8 0x84 +#define CS8_SW8 0x85 +#define CS9_SW8 0x86 +#define CS10_SW8 0x87 +#define CS11_SW8 0x88 +#define CS12_SW8 0x89 +#define CS13_SW8 0x8A +#define CS14_SW8 0x8B +#define CS15_SW8 0x8C +#define CS16_SW8 0x8D +#define CS17_SW8 0x8E +#define CS18_SW8 0x8F +#define CS1_SW9 0x90 +#define CS2_SW9 0x91 +#define CS3_SW9 0x92 +#define CS4_SW9 0x93 +#define CS5_SW9 0x94 +#define CS6_SW9 0x95 +#define CS7_SW9 0x96 +#define CS8_SW9 0x97 +#define CS9_SW9 0x98 +#define CS10_SW9 0x99 +#define CS11_SW9 0x9A +#define CS12_SW9 0x9B +#define CS13_SW9 0x9C +#define CS14_SW9 0x9D +#define CS15_SW9 0x9E +#define CS16_SW9 0x9F +#define CS17_SW9 0xA0 +#define CS18_SW9 0xA1 +#define CS1_SW10 0xA2 +#define CS2_SW10 0xA3 +#define CS3_SW10 0xA4 +#define CS4_SW10 0xA5 +#define CS5_SW10 0xA6 +#define CS6_SW10 0xA7 +#define CS7_SW10 0xA8 +#define CS8_SW10 0xA9 +#define CS9_SW10 0xAA +#define CS10_SW10 0xAB +#define CS11_SW10 0xAC +#define CS12_SW10 0xAD +#define CS13_SW10 0xAE +#define CS14_SW10 0xAF +#define CS15_SW10 0xB0 +#define CS16_SW10 0xB1 +#define CS17_SW10 0xB2 +#define CS18_SW10 0xB3 +#define CS1_SW11 0xB4 +#define CS2_SW11 0xB5 +#define CS3_SW11 0xB6 +#define CS4_SW11 0xB7 +#define CS5_SW11 0xB8 +#define CS6_SW11 0xB9 +#define CS7_SW11 0xBA +#define CS8_SW11 0xBB +#define CS9_SW11 0xBC +#define CS10_SW11 0xBD +#define CS11_SW11 0xBE +#define CS12_SW11 0xBF +#define CS13_SW11 0xC0 +#define CS14_SW11 0xC1 +#define CS15_SW11 0xC2 +#define CS16_SW11 0xC3 +#define CS17_SW11 0xC4 +#define CS18_SW11 0xC5 +#define CS1_SW12 0xC6 +#define CS2_SW12 0xC7 +#define CS3_SW12 0xC8 +#define CS4_SW12 0xC9 +#define CS5_SW12 0xCA +#define CS6_SW12 0xCB +#define CS7_SW12 0xCC +#define CS8_SW12 0xCD +#define CS9_SW12 0xCE +#define CS10_SW12 0xCF +#define CS11_SW12 0xD0 +#define CS12_SW12 0xD1 +#define CS13_SW12 0xD2 +#define CS14_SW12 0xD3 +#define CS15_SW12 0xD4 +#define CS16_SW12 0xD5 +#define CS17_SW12 0xD6 +#define CS18_SW12 0xD7 diff --git a/drivers/led/ckled2001-simple.c b/drivers/led/ckled2001-simple.c deleted file mode 100644 index 6c4ffd398e56..000000000000 --- a/drivers/led/ckled2001-simple.c +++ /dev/null @@ -1,218 +0,0 @@ -/* Copyright 2021 @ 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 "ckled2001-simple.h" -#include "i2c_master.h" -#include "wait.h" - -#ifndef CKLED2001_TIMEOUT -# define CKLED2001_TIMEOUT 100 -#endif - -#ifndef CKLED2001_PERSISTENCE -# define CKLED2001_PERSISTENCE 0 -#endif - -#ifndef PHASE_CHANNEL -# define PHASE_CHANNEL MSKPHASE_12CHANNEL -#endif - -#ifndef CKLED2001_CURRENT_TUNE -# define CKLED2001_CURRENT_TUNE \ - { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } -#endif - -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; - -// These buffers match the CKLED2001 PWM registers. -// The control buffers match the PG0 LED On/Off registers. -// Storing them like this is optimal for I2C transfers to the registers. -// We could optimize this and take out the unused registers from these -// buffers and the transfers in CKLED2001_write_pwm_buffer() but it's -// probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; - -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; -bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; - -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; - -#if CKLED2001_PERSISTENCE > 0 - for (uint8_t i = 0; i < CKLED2001_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, CKLED2001_TIMEOUT) != 0) { - return false; - } - } -#else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, CKLED2001_TIMEOUT) != 0) { - return false; - } -#endif - return true; -} - -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assumes PG1 is already selected. - // If any of the transactions fails function returns false. - // Transmit PWM registers in 12 transfers of 16 bytes. - // g_twi_transfer_buffer[] is 20 bytes - - // Iterate over the pwm_buffer contents at 16 byte intervals. - for (int i = 0; i < 192; i += 16) { - g_twi_transfer_buffer[0] = i; - // Copy the data from i to i+15. - // Device will auto-increment register for data after the first byte - // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. - for (int j = 0; j < 16; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; - } - -#if CKLED2001_PERSISTENCE > 0 - for (uint8_t i = 0; i < CKLED2001_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, CKLED2001_TIMEOUT) != 0) { - return false; - } - } -#else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, CKLED2001_TIMEOUT) != 0) { - return false; - } -#endif - } - return true; -} - -void CKLED2001_init(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); - // Setting internal channel pulldown/pullup - CKLED2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); - // Select number of scan phase - CKLED2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); - // Setting PWM Delay Phase - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); - // Setting Driving/Sinking Channel Slew Rate - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); - // Setting Iref - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); - // Set LED CONTROL PAGE (Page 0) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); - } - - // Set PWM PAGE (Page 1) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); - for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); - } - - // Set CURRENT PAGE (Page 4) - uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE; - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); - for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, current_tuen_reg_list[i]); - } - - // Enable LEDs ON/OFF - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0xFF); - } - - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); -} - -void CKLED2001_set_value(int index, uint8_t value) { - ckled2001_led led; - if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); - - g_pwm_buffer[led.driver][led.v] = value; - g_pwm_buffer_update_required[led.driver] = true; - } -} - -void CKLED2001_set_value_all(uint8_t value) { - for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - CKLED2001_set_value(i, value); - } -} - -void CKLED2001_set_led_control_register(uint8_t index, bool value) { - ckled2001_led led; - memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); - - uint8_t control_register = led.v / 8; - uint8_t bit_value = led.v % 8; - - if (value) { - g_led_control_registers[led.driver][control_register] |= (1 << bit_value); - } else { - g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value); - } - - g_led_control_registers_update_required[led.driver] = true; -} - -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index) { - if (g_pwm_buffer_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); - - // If any of the transactions fail we risk writing dirty PG0, - // refresh page 0 just in case. - if (!CKLED2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { - g_led_control_registers_update_required[index] = true; - } - } - g_pwm_buffer_update_required[index] = false; -} - -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) { - if (g_led_control_registers_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < 24; i++) { - CKLED2001_write_register(addr, i, g_led_control_registers[index][i]); - } - } - g_led_control_registers_update_required[index] = false; -} - -void CKLED2001_sw_return_normal(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); -} - -void CKLED2001_sw_shutdown(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); - // Write SW Sleep Register - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); -} diff --git a/drivers/led/ckled2001-simple.h b/drivers/led/ckled2001-simple.h deleted file mode 100644 index a56cad3461bb..000000000000 --- a/drivers/led/ckled2001-simple.h +++ /dev/null @@ -1,337 +0,0 @@ -/* Copyright 2021 @ 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 - -#include -#include -#include "progmem.h" - -typedef struct ckled2001_led { - uint8_t driver : 2; - uint8_t v; -} __attribute__((packed)) ckled2001_led; - -extern const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT]; - -void CKLED2001_init(uint8_t addr); -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); - -void CKLED2001_set_value(int index, uint8_t value); -void CKLED2001_set_value_all(uint8_t value); - -void CKLED2001_set_led_control_register(uint8_t index, bool value); - -// This should not be called from an interrupt -// (eg. from a timer interrupt). -// Call this while idle (in between matrix scans). -// If the buffer is dirty, it will update the driver with the buffer. -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index); -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index); - -void CKLED2001_sw_return_normal(uint8_t addr); -void CKLED2001_sw_shutdown(uint8_t addr); - -// Registers Page Define -#define CONFIGURE_CMD_PAGE 0xFD -#define LED_CONTROL_PAGE 0x00 -#define LED_PWM_PAGE 0x01 -#define FUNCTION_PAGE 0x03 -#define CURRENT_TUNE_PAGE 0x04 - -// Function Register: address 0x00 -#define CONFIGURATION_REG 0x00 -#define MSKSW_SHUT_DOWN_MODE (0x0 << 0) -#define MSKSW_NORMAL_MODE (0x1 << 0) - -#define DRIVER_ID_REG 0x11 -#define CKLED2001_ID 0x8A - -#define PDU_REG 0x13 -#define MSKSET_CA_CB_CHANNEL 0xAA -#define MSKCLR_CA_CB_CHANNEL 0x00 - -#define SCAN_PHASE_REG 0x14 -#define MSKPHASE_12CHANNEL 0x00 -#define MSKPHASE_11CHANNEL 0x01 -#define MSKPHASE_10CHANNEL 0x02 -#define MSKPHASE_9CHANNEL 0x03 -#define MSKPHASE_8CHANNEL 0x04 -#define MSKPHASE_7CHANNEL 0x05 -#define MSKPHASE_6CHANNEL 0x06 -#define MSKPHASE_5CHANNEL 0x07 -#define MSKPHASE_4CHANNEL 0x08 -#define MSKPHASE_3CHANNEL 0x09 -#define MSKPHASE_2CHANNEL 0x0A -#define MSKPHASE_1CHANNEL 0x0B - -#define SLEW_RATE_CONTROL_MODE1_REG 0x15 -#define MSKPWM_DELAY_PHASE_ENABLE 0x04 -#define MSKPWM_DELAY_PHASE_DISABLE 0x00 - -#define SLEW_RATE_CONTROL_MODE2_REG 0x16 -#define MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE 0xC0 -#define MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_DISABLE 0x00 - -#define OPEN_SHORT_ENABLE_REG 0x17 -#define MSKOPEN_DETECTION_ENABLE (0x01 << 7) -#define MSKOPEN_DETECTION_DISABLE (0x00) - -#define MSKSHORT_DETECTION_ENABLE (0x01 << 6) -#define MSKSHORT_DETECTION_DISABLE (0x00) - -#define OPEN_SHORT_DUTY_REG 0x18 -#define OPEN_SHORT_FLAG_REG 0x19 - -#define MSKOPEN_DETECTION_INTERRUPT_ENABLE (0x01 << 7) -#define MSKOPEN_DETECTION_INTERRUPT_DISABLE (0x00) - -#define MSKSHORT_DETECTION_INTERRUPT_ENABLE (0x01 << 6) -#define MSKSHORT_DETECTION_INTERRUPT_DISABLE (0x00) - -#define SOFTWARE_SLEEP_REG 0x1A -#define MSKSLEEP_ENABLE 0x02 -#define MSKSLEEP_DISABLE 0x00 - -// LED Control Registers -#define LED_CONTROL_ON_OFF_FIRST_ADDR 0x0 -#define LED_CONTROL_ON_OFF_LAST_ADDR 0x17 -#define LED_CONTROL_ON_OFF_LENGTH ((LED_CONTROL_ON_OFF_LAST_ADDR - LED_CONTROL_ON_OFF_FIRST_ADDR) + 1) - -#define LED_CONTROL_OPEN_FIRST_ADDR 0x18 -#define LED_CONTROL_OPEN_LAST_ADDR 0x2F -#define LED_CONTROL_OPEN_LENGTH ((LED_CONTROL_OPEN_LAST_ADDR - LED_CONTROL_OPEN_FIRST_ADDR) + 1) - -#define LED_CONTROL_SHORT_FIRST_ADDR 0x30 -#define LED_CONTROL_SHORT_LAST_ADDR 0x47 -#define LED_CONTROL_SHORT_LENGTH ((LED_CONTROL_SHORT_LAST_ADDR - LED_CONTROL_SHORT_FIRST_ADDR) + 1) - -#define LED_CONTROL_PAGE_LENGTH 0x48 - -// LED Control Registers -#define LED_PWM_FIRST_ADDR 0x00 -#define LED_PWM_LAST_ADDR 0xBF -#define LED_PWM_LENGTH 0xC0 - -// Current Tune Registers -#define LED_CURRENT_TUNE_FIRST_ADDR 0x00 -#define LED_CURRENT_TUNE_LAST_ADDR 0x0B -#define LED_CURRENT_TUNE_LENGTH 0x0C - -#define A_1 0x00 -#define A_2 0x01 -#define A_3 0x02 -#define A_4 0x03 -#define A_5 0x04 -#define A_6 0x05 -#define A_7 0x06 -#define A_8 0x07 -#define A_9 0x08 -#define A_10 0x09 -#define A_11 0x0A -#define A_12 0x0B -#define A_13 0x0C -#define A_14 0x0D -#define A_15 0x0E -#define A_16 0x0F - -#define B_1 0x10 -#define B_2 0x11 -#define B_3 0x12 -#define B_4 0x13 -#define B_5 0x14 -#define B_6 0x15 -#define B_7 0x16 -#define B_8 0x17 -#define B_9 0x18 -#define B_10 0x19 -#define B_11 0x1A -#define B_12 0x1B -#define B_13 0x1C -#define B_14 0x1D -#define B_15 0x1E -#define B_16 0x1F - -#define C_1 0x20 -#define C_2 0x21 -#define C_3 0x22 -#define C_4 0x23 -#define C_5 0x24 -#define C_6 0x25 -#define C_7 0x26 -#define C_8 0x27 -#define C_9 0x28 -#define C_10 0x29 -#define C_11 0x2A -#define C_12 0x2B -#define C_13 0x2C -#define C_14 0x2D -#define C_15 0x2E -#define C_16 0x2F - -#define D_1 0x30 -#define D_2 0x31 -#define D_3 0x32 -#define D_4 0x33 -#define D_5 0x34 -#define D_6 0x35 -#define D_7 0x36 -#define D_8 0x37 -#define D_9 0x38 -#define D_10 0x39 -#define D_11 0x3A -#define D_12 0x3B -#define D_13 0x3C -#define D_14 0x3D -#define D_15 0x3E -#define D_16 0x3F - -#define E_1 0x40 -#define E_2 0x41 -#define E_3 0x42 -#define E_4 0x43 -#define E_5 0x44 -#define E_6 0x45 -#define E_7 0x46 -#define E_8 0x47 -#define E_9 0x48 -#define E_10 0x49 -#define E_11 0x4A -#define E_12 0x4B -#define E_13 0x4C -#define E_14 0x4D -#define E_15 0x4E -#define E_16 0x4F - -#define F_1 0x50 -#define F_2 0x51 -#define F_3 0x52 -#define F_4 0x53 -#define F_5 0x54 -#define F_6 0x55 -#define F_7 0x56 -#define F_8 0x57 -#define F_9 0x58 -#define F_10 0x59 -#define F_11 0x5A -#define F_12 0x5B -#define F_13 0x5C -#define F_14 0x5D -#define F_15 0x5E -#define F_16 0x5F - -#define G_1 0x60 -#define G_2 0x61 -#define G_3 0x62 -#define G_4 0x63 -#define G_5 0x64 -#define G_6 0x65 -#define G_7 0x66 -#define G_8 0x67 -#define G_9 0x68 -#define G_10 0x69 -#define G_11 0x6A -#define G_12 0x6B -#define G_13 0x6C -#define G_14 0x6D -#define G_15 0x6E -#define G_16 0x6F - -#define H_1 0x70 -#define H_2 0x71 -#define H_3 0x72 -#define H_4 0x73 -#define H_5 0x74 -#define H_6 0x75 -#define H_7 0x76 -#define H_8 0x77 -#define H_9 0x78 -#define H_10 0x79 -#define H_11 0x7A -#define H_12 0x7B -#define H_13 0x7C -#define H_14 0x7D -#define H_15 0x7E -#define H_16 0x7F - -#define I_1 0x80 -#define I_2 0x81 -#define I_3 0x82 -#define I_4 0x83 -#define I_5 0x84 -#define I_6 0x85 -#define I_7 0x86 -#define I_8 0x87 -#define I_9 0x88 -#define I_10 0x89 -#define I_11 0x8A -#define I_12 0x8B -#define I_13 0x8C -#define I_14 0x8D -#define I_15 0x8E -#define I_16 0x8F - -#define J_1 0x90 -#define J_2 0x91 -#define J_3 0x92 -#define J_4 0x93 -#define J_5 0x94 -#define J_6 0x95 -#define J_7 0x96 -#define J_8 0x97 -#define J_9 0x98 -#define J_10 0x99 -#define J_11 0x9A -#define J_12 0x9B -#define J_13 0x9C -#define J_14 0x9D -#define J_15 0x9E -#define J_16 0x9F - -#define K_1 0xA0 -#define K_2 0xA1 -#define K_3 0xA2 -#define K_4 0xA3 -#define K_5 0xA4 -#define K_6 0xA5 -#define K_7 0xA6 -#define K_8 0xA7 -#define K_9 0xA8 -#define K_10 0xA9 -#define K_11 0xAA -#define K_12 0xAB -#define K_13 0xAC -#define K_14 0xAD -#define K_15 0xAE -#define K_16 0xAF - -#define L_1 0xB0 -#define L_2 0xB1 -#define L_3 0xB2 -#define L_4 0xB3 -#define L_5 0xB4 -#define L_6 0xB5 -#define L_7 0xB6 -#define L_8 0xB7 -#define L_9 0xB8 -#define L_10 0xB9 -#define L_11 0xBA -#define L_12 0xBB -#define L_13 0xBC -#define L_14 0xBD -#define L_15 0xBE -#define L_16 0xBF \ No newline at end of file diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c deleted file mode 100644 index a99b479d1cbb..000000000000 --- a/drivers/led/ckled2001.c +++ /dev/null @@ -1,233 +0,0 @@ -/* Copyright 2021 @ 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 "ckled2001.h" -#include "i2c_master.h" -#include "wait.h" - -#ifndef CKLED2001_TIMEOUT -# define CKLED2001_TIMEOUT 100 -#endif - -#ifndef CKLED2001_PERSISTENCE -# define CKLED2001_PERSISTENCE 0 -#endif - -#ifndef PHASE_CHANNEL -# define PHASE_CHANNEL MSKPHASE_12CHANNEL -#endif - -#ifndef CKLED2001_CURRENT_TUNE -# define CKLED2001_CURRENT_TUNE \ - { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } -#endif - -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[65]; - -// These buffers match the CKLED2001 PWM registers. -// The control buffers match the PG0 LED On/Off registers. -// Storing them like this is optimal for I2C transfers to the registers. -// We could optimize this and take out the unused registers from these -// buffers and the transfers in CKLED2001_write_pwm_buffer() but it's -// probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; - -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; -bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; - -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; - -#if CKLED2001_PERSISTENCE > 0 - for (uint8_t i = 0; i < CKLED2001_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, CKLED2001_TIMEOUT) != 0) { - return false; - } - } -#else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, CKLED2001_TIMEOUT) != 0) { - return false; - } -#endif - return true; -} - -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assumes PG1 is already selected. - // If any of the transactions fails function returns false. - // Transmit PWM registers in 3 transfers of 64 bytes. - - // Iterate over the pwm_buffer contents at 64 byte intervals. - for (uint8_t i = 0; i < 192; i += 64) { - g_twi_transfer_buffer[0] = i; - // Copy the data from i to i+63. - // Device will auto-increment register for data after the first byte - // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. - for (uint8_t j = 0; j < 64; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; - } - -#if CKLED2001_PERSISTENCE > 0 - for (uint8_t i = 0; i < CKLED2001_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, CKLED2001_TIMEOUT) != 0) { - return false; - } - } -#else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, CKLED2001_TIMEOUT) != 0) { - return false; - } -#endif - } - return true; -} - -void CKLED2001_init(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); - // Setting internal channel pulldown/pullup - CKLED2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); - // Select number of scan phase - CKLED2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); - // Setting PWM Delay Phase - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); - // Setting Driving/Sinking Channel Slew Rate - CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); - // Setting Iref - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); - // Set LED CONTROL PAGE (Page 0) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); - } - - // Set PWM PAGE (Page 1) - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); - for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0x00); - } - - // Set CURRENT PAGE (Page 4) - uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE; - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); - for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { - CKLED2001_write_register(addr, i, current_tuen_reg_list[i]); - } - - // Enable LEDs ON/OFF - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { - CKLED2001_write_register(addr, i, 0xFF); - } - - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); -} - -void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - ckled2001_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); - - g_pwm_buffer[led.driver][led.r] = red; - g_pwm_buffer[led.driver][led.g] = green; - g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required[led.driver] = true; - } -} - -void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - CKLED2001_set_color(i, red, green, blue); - } -} - -void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - ckled2001_led led; - memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); - - uint8_t control_register_r = led.r / 8; - uint8_t control_register_g = led.g / 8; - uint8_t control_register_b = led.b / 8; - uint8_t bit_r = led.r % 8; - uint8_t bit_g = led.g % 8; - uint8_t bit_b = led.b % 8; - - if (red) { - g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r); - } else { - g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r); - } - if (green) { - g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g); - } else { - g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g); - } - if (blue) { - g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b); - } else { - g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b); - } - - g_led_control_registers_update_required[led.driver] = true; -} - -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index) { - if (g_pwm_buffer_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); - - // If any of the transactions fail we risk writing dirty PG0, - // refresh page 0 just in case. - if (!CKLED2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { - g_led_control_registers_update_required[index] = true; - } - } - g_pwm_buffer_update_required[index] = false; -} - -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) { - if (g_led_control_registers_update_required[index]) { - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); - for (int i = 0; i < 24; i++) { - CKLED2001_write_register(addr, i, g_led_control_registers[index][i]); - } - } - g_led_control_registers_update_required[index] = false; -} - -void CKLED2001_sw_return_normal(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to normal mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); -} - -void CKLED2001_sw_shutdown(uint8_t addr) { - // Select to function page - CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); - // Setting LED driver to shutdown mode - CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); - // Write SW Sleep Register - CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); -} diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h deleted file mode 100644 index aa70a0623f93..000000000000 --- a/drivers/led/ckled2001.h +++ /dev/null @@ -1,339 +0,0 @@ -/* Copyright 2021 @ 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 - -#include -#include -#include "progmem.h" - -typedef struct ckled2001_led { - uint8_t driver : 2; - uint8_t r; - uint8_t g; - uint8_t b; -} __attribute__((packed)) ckled2001_led; - -extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT]; - -void CKLED2001_init(uint8_t addr); -bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); - -void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue); - -void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue); - -// This should not be called from an interrupt -// (eg. from a timer interrupt). -// Call this while idle (in between matrix scans). -// If the buffer is dirty, it will update the driver with the buffer. -void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index); -void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index); - -void CKLED2001_sw_return_normal(uint8_t addr); -void CKLED2001_sw_shutdown(uint8_t addr); - -// Registers Page Define -#define CONFIGURE_CMD_PAGE 0xFD -#define LED_CONTROL_PAGE 0x00 -#define LED_PWM_PAGE 0x01 -#define FUNCTION_PAGE 0x03 -#define CURRENT_TUNE_PAGE 0x04 - -// Function Register: address 0x00 -#define CONFIGURATION_REG 0x00 -#define MSKSW_SHUT_DOWN_MODE (0x0 << 0) -#define MSKSW_NORMAL_MODE (0x1 << 0) - -#define DRIVER_ID_REG 0x11 -#define CKLED2001_ID 0x8A - -#define PDU_REG 0x13 -#define MSKSET_CA_CB_CHANNEL 0xAA -#define MSKCLR_CA_CB_CHANNEL 0x00 - -#define SCAN_PHASE_REG 0x14 -#define MSKPHASE_12CHANNEL 0x00 -#define MSKPHASE_11CHANNEL 0x01 -#define MSKPHASE_10CHANNEL 0x02 -#define MSKPHASE_9CHANNEL 0x03 -#define MSKPHASE_8CHANNEL 0x04 -#define MSKPHASE_7CHANNEL 0x05 -#define MSKPHASE_6CHANNEL 0x06 -#define MSKPHASE_5CHANNEL 0x07 -#define MSKPHASE_4CHANNEL 0x08 -#define MSKPHASE_3CHANNEL 0x09 -#define MSKPHASE_2CHANNEL 0x0A -#define MSKPHASE_1CHANNEL 0x0B - -#define SLEW_RATE_CONTROL_MODE1_REG 0x15 -#define MSKPWM_DELAY_PHASE_ENABLE 0x04 -#define MSKPWM_DELAY_PHASE_DISABLE 0x00 - -#define SLEW_RATE_CONTROL_MODE2_REG 0x16 -#define MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE 0xC0 -#define MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_DISABLE 0x00 - -#define OPEN_SHORT_ENABLE_REG 0x17 -#define MSKOPEN_DETECTION_ENABLE (0x01 << 7) -#define MSKOPEN_DETECTION_DISABLE (0x00) - -#define MSKSHORT_DETECTION_ENABLE (0x01 << 6) -#define MSKSHORT_DETECTION_DISABLE (0x00) - -#define OPEN_SHORT_DUTY_REG 0x18 -#define OPEN_SHORT_FLAG_REG 0x19 - -#define MSKOPEN_DETECTION_INTERRUPT_ENABLE (0x01 << 7) -#define MSKOPEN_DETECTION_INTERRUPT_DISABLE (0x00) - -#define MSKSHORT_DETECTION_INTERRUPT_ENABLE (0x01 << 6) -#define MSKSHORT_DETECTION_INTERRUPT_DISABLE (0x00) - -#define SOFTWARE_SLEEP_REG 0x1A -#define MSKSLEEP_ENABLE 0x02 -#define MSKSLEEP_DISABLE 0x00 - -// LED Control Registers -#define LED_CONTROL_ON_OFF_FIRST_ADDR 0x0 -#define LED_CONTROL_ON_OFF_LAST_ADDR 0x17 -#define LED_CONTROL_ON_OFF_LENGTH ((LED_CONTROL_ON_OFF_LAST_ADDR - LED_CONTROL_ON_OFF_FIRST_ADDR) + 1) - -#define LED_CONTROL_OPEN_FIRST_ADDR 0x18 -#define LED_CONTROL_OPEN_LAST_ADDR 0x2F -#define LED_CONTROL_OPEN_LENGTH ((LED_CONTROL_OPEN_LAST_ADDR - LED_CONTROL_OPEN_FIRST_ADDR) + 1) - -#define LED_CONTROL_SHORT_FIRST_ADDR 0x30 -#define LED_CONTROL_SHORT_LAST_ADDR 0x47 -#define LED_CONTROL_SHORT_LENGTH ((LED_CONTROL_SHORT_LAST_ADDR - LED_CONTROL_SHORT_FIRST_ADDR) + 1) - -#define LED_CONTROL_PAGE_LENGTH 0x48 - -// LED Control Registers -#define LED_PWM_FIRST_ADDR 0x00 -#define LED_PWM_LAST_ADDR 0xBF -#define LED_PWM_LENGTH 0xC0 - -// Current Tune Registers -#define LED_CURRENT_TUNE_FIRST_ADDR 0x00 -#define LED_CURRENT_TUNE_LAST_ADDR 0x0B -#define LED_CURRENT_TUNE_LENGTH 0x0C - -#define A_1 0x00 -#define A_2 0x01 -#define A_3 0x02 -#define A_4 0x03 -#define A_5 0x04 -#define A_6 0x05 -#define A_7 0x06 -#define A_8 0x07 -#define A_9 0x08 -#define A_10 0x09 -#define A_11 0x0A -#define A_12 0x0B -#define A_13 0x0C -#define A_14 0x0D -#define A_15 0x0E -#define A_16 0x0F - -#define B_1 0x10 -#define B_2 0x11 -#define B_3 0x12 -#define B_4 0x13 -#define B_5 0x14 -#define B_6 0x15 -#define B_7 0x16 -#define B_8 0x17 -#define B_9 0x18 -#define B_10 0x19 -#define B_11 0x1A -#define B_12 0x1B -#define B_13 0x1C -#define B_14 0x1D -#define B_15 0x1E -#define B_16 0x1F - -#define C_1 0x20 -#define C_2 0x21 -#define C_3 0x22 -#define C_4 0x23 -#define C_5 0x24 -#define C_6 0x25 -#define C_7 0x26 -#define C_8 0x27 -#define C_9 0x28 -#define C_10 0x29 -#define C_11 0x2A -#define C_12 0x2B -#define C_13 0x2C -#define C_14 0x2D -#define C_15 0x2E -#define C_16 0x2F - -#define D_1 0x30 -#define D_2 0x31 -#define D_3 0x32 -#define D_4 0x33 -#define D_5 0x34 -#define D_6 0x35 -#define D_7 0x36 -#define D_8 0x37 -#define D_9 0x38 -#define D_10 0x39 -#define D_11 0x3A -#define D_12 0x3B -#define D_13 0x3C -#define D_14 0x3D -#define D_15 0x3E -#define D_16 0x3F - -#define E_1 0x40 -#define E_2 0x41 -#define E_3 0x42 -#define E_4 0x43 -#define E_5 0x44 -#define E_6 0x45 -#define E_7 0x46 -#define E_8 0x47 -#define E_9 0x48 -#define E_10 0x49 -#define E_11 0x4A -#define E_12 0x4B -#define E_13 0x4C -#define E_14 0x4D -#define E_15 0x4E -#define E_16 0x4F - -#define F_1 0x50 -#define F_2 0x51 -#define F_3 0x52 -#define F_4 0x53 -#define F_5 0x54 -#define F_6 0x55 -#define F_7 0x56 -#define F_8 0x57 -#define F_9 0x58 -#define F_10 0x59 -#define F_11 0x5A -#define F_12 0x5B -#define F_13 0x5C -#define F_14 0x5D -#define F_15 0x5E -#define F_16 0x5F - -#define G_1 0x60 -#define G_2 0x61 -#define G_3 0x62 -#define G_4 0x63 -#define G_5 0x64 -#define G_6 0x65 -#define G_7 0x66 -#define G_8 0x67 -#define G_9 0x68 -#define G_10 0x69 -#define G_11 0x6A -#define G_12 0x6B -#define G_13 0x6C -#define G_14 0x6D -#define G_15 0x6E -#define G_16 0x6F - -#define H_1 0x70 -#define H_2 0x71 -#define H_3 0x72 -#define H_4 0x73 -#define H_5 0x74 -#define H_6 0x75 -#define H_7 0x76 -#define H_8 0x77 -#define H_9 0x78 -#define H_10 0x79 -#define H_11 0x7A -#define H_12 0x7B -#define H_13 0x7C -#define H_14 0x7D -#define H_15 0x7E -#define H_16 0x7F - -#define I_1 0x80 -#define I_2 0x81 -#define I_3 0x82 -#define I_4 0x83 -#define I_5 0x84 -#define I_6 0x85 -#define I_7 0x86 -#define I_8 0x87 -#define I_9 0x88 -#define I_10 0x89 -#define I_11 0x8A -#define I_12 0x8B -#define I_13 0x8C -#define I_14 0x8D -#define I_15 0x8E -#define I_16 0x8F - -#define J_1 0x90 -#define J_2 0x91 -#define J_3 0x92 -#define J_4 0x93 -#define J_5 0x94 -#define J_6 0x95 -#define J_7 0x96 -#define J_8 0x97 -#define J_9 0x98 -#define J_10 0x99 -#define J_11 0x9A -#define J_12 0x9B -#define J_13 0x9C -#define J_14 0x9D -#define J_15 0x9E -#define J_16 0x9F - -#define K_1 0xA0 -#define K_2 0xA1 -#define K_3 0xA2 -#define K_4 0xA3 -#define K_5 0xA4 -#define K_6 0xA5 -#define K_7 0xA6 -#define K_8 0xA7 -#define K_9 0xA8 -#define K_10 0xA9 -#define K_11 0xAA -#define K_12 0xAB -#define K_13 0xAC -#define K_14 0xAD -#define K_15 0xAE -#define K_16 0xAF - -#define L_1 0xB0 -#define L_2 0xB1 -#define L_3 0xB2 -#define L_4 0xB3 -#define L_5 0xB4 -#define L_6 0xB5 -#define L_7 0xB6 -#define L_8 0xB7 -#define L_9 0xB8 -#define L_10 0xB9 -#define L_11 0xBA -#define L_12 0xBB -#define L_13 0xBC -#define L_14 0xBD -#define L_15 0xBE -#define L_16 0xBF \ No newline at end of file diff --git a/drivers/led/issi/is31fl3218-simple.c b/drivers/led/issi/is31fl3218-simple.c new file mode 100644 index 000000000000..ce28c51d189f --- /dev/null +++ b/drivers/led/issi/is31fl3218-simple.c @@ -0,0 +1,147 @@ +/* Copyright 2018 Jason Williams (Wilba) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "is31fl3218.h" +#include +#include "i2c_master.h" + +#define IS31FL3218_PWM_REGISTER_COUNT 18 +#define IS31FL3218_LED_CONTROL_REGISTER_COUNT 3 + +#ifndef IS31FL3218_I2C_TIMEOUT +# define IS31FL3218_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3218_I2C_PERSISTENCE +# define IS31FL3218_I2C_PERSISTENCE 0 +#endif + +// Reusable buffer for transfers +uint8_t g_twi_transfer_buffer[20]; + +// IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining. +uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required = false; + +uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required = false; + +void is31fl3218_write_register(uint8_t reg, uint8_t data) { + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; +#if IS31FL3218_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { + if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); +#endif +} + +void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { + g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM; + memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); + +#if IS31FL3218_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + } +#else + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); +#endif +} + +void is31fl3218_init(void) { + i2c_init(); + + // In case we ever want to reinitialize (?) + is31fl3218_write_register(IS31FL3218_REG_RESET, 0x00); + + // Turn off software shutdown + is31fl3218_write_register(IS31FL3218_REG_SHUTDOWN, 0x01); + + // Set all PWM values to zero + for (uint8_t i = 0; i < IS31FL3218_PWM_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_PWM + i, 0x00); + } + + // turn off all LEDs in the LED control register + for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, 0x00); + } + + // Load PWM registers and LED Control register data + is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); + + for (int i = 0; i < IS31FL3218_LED_COUNT; i++) { + is31fl3218_set_led_control_register(i, true); + } + + is31fl3218_update_led_control_registers(); +} + +void is31fl3218_set_value(int index, uint8_t value) { + is31fl3218_led_t led; + if (index >= 0 && index < IS31FL3218_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led)); + } + if (g_pwm_buffer[led.v - IS31FL3218_REG_PWM] == value) { + return; + } + g_pwm_buffer[led.v - IS31FL3218_REG_PWM] = value; + g_pwm_buffer_update_required = true; +} + +void is31fl3218_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3218_LED_COUNT; i++) { + is31fl3218_set_value(i, value); + } +} + +void is31fl3218_set_led_control_register(uint8_t index, bool value) { + is31fl3218_led_t led; + memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led)); + + uint8_t control_register = (led.v - IS31FL3218_REG_PWM) / 6; + uint8_t bit_value = (led.v - IS31FL3218_REG_PWM) % 6; + + if (value) { + g_led_control_registers[control_register] |= (1 << bit_value); + } else { + g_led_control_registers[control_register] &= ~(1 << bit_value); + } + + g_led_control_registers_update_required = true; +} + +void is31fl3218_update_pwm_buffers(void) { + if (g_pwm_buffer_update_required) { + is31fl3218_write_pwm_buffer(g_pwm_buffer); + // Load PWM registers and LED Control register data + is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); + + g_pwm_buffer_update_required = false; + } +} + +void is31fl3218_update_led_control_registers(void) { + if (g_led_control_registers_update_required) { + for (int i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, g_led_control_registers[i]); + } + + g_led_control_registers_update_required = false; + } +} diff --git a/drivers/led/issi/is31fl3218-simple.h b/drivers/led/issi/is31fl3218-simple.h new file mode 100644 index 000000000000..94928178092d --- /dev/null +++ b/drivers/led/issi/is31fl3218-simple.h @@ -0,0 +1,73 @@ +/* Copyright 2018 Jason Williams (Wilba) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include "progmem.h" +#include "util.h" + +#define IS31FL3218_REG_SHUTDOWN 0x00 +#define IS31FL3218_REG_PWM 0x01 +#define IS31FL3218_REG_LED_CONTROL_1 0x13 +#define IS31FL3218_REG_LED_CONTROL_2 0x14 +#define IS31FL3218_REG_LED_CONTROL_3 0x15 +#define IS31FL3218_REG_UPDATE 0x16 +#define IS31FL3218_REG_RESET 0x17 + +#define IS31FL3218_I2C_ADDRESS 0x54 + +#if defined(LED_MATRIX_IS31FL3218) +# define IS31FL3218_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +typedef struct is31fl3218_led_t { + uint8_t v; +} PACKED is31fl3218_led_t; + +extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT]; + +void is31fl3218_init(void); + +void is31fl3218_set_value(int index, uint8_t value); + +void is31fl3218_set_value_all(uint8_t value); + +void is31fl3218_set_led_control_register(uint8_t index, bool value); + +void is31fl3218_update_pwm_buffers(void); + +void is31fl3218_update_led_control_registers(void); + +#define OUT1 0x01 +#define OUT2 0x02 +#define OUT3 0x03 +#define OUT4 0x04 +#define OUT5 0x05 +#define OUT6 0x06 +#define OUT7 0x07 +#define OUT8 0x08 +#define OUT9 0x09 +#define OUT10 0x0A +#define OUT11 0x0B +#define OUT12 0x0C +#define OUT13 0x0D +#define OUT14 0x0E +#define OUT15 0x0F +#define OUT16 0x10 +#define OUT17 0x11 +#define OUT18 0x12 diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c index c2300ebe899a..39db09d51864 100644 --- a/drivers/led/issi/is31fl3218.c +++ b/drivers/led/issi/is31fl3218.c @@ -14,81 +14,150 @@ * along with this program. If not, see . */ #include "is31fl3218.h" +#include #include "i2c_master.h" -// This is the full 8-bit address -#define ISSI_ADDRESS 0b10101000 +#define IS31FL3218_PWM_REGISTER_COUNT 18 +#define IS31FL3218_LED_CONTROL_REGISTER_COUNT 3 -// These are the register addresses -#define ISSI_REG_SHUTDOWN 0x00 -#define ISSI_REG_PWM 0x01 -#define ISSI_REG_CONTROL 0x13 -#define ISSI_REG_UPDATE 0x16 -#define ISSI_REG_RESET 0x17 +#ifndef IS31FL3218_I2C_TIMEOUT +# define IS31FL3218_I2C_TIMEOUT 100 +#endif -// Default timeout if no I2C response -#define ISSI_TIMEOUT 100 +#ifndef IS31FL3218_I2C_PERSISTENCE +# define IS31FL3218_I2C_PERSISTENCE 0 +#endif // Reusable buffer for transfers uint8_t g_twi_transfer_buffer[20]; // IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining. -// If used as RGB LED driver, LEDs are assigned RGB,RGB,RGB,RGB,RGB,RGB -uint8_t g_pwm_buffer[18]; +uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT]; bool g_pwm_buffer_update_required = false; -void IS31FL3218_write_register(uint8_t reg, uint8_t data) { +uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required = false; + +void is31fl3218_write_register(uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; - i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); +#if IS31FL3218_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { + if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); +#endif } -void IS31FL3218_write_pwm_buffer(uint8_t *pwm_buffer) { - g_twi_transfer_buffer[0] = ISSI_REG_PWM; +void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { + g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM; memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); - i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 19, ISSI_TIMEOUT); +#if IS31FL3218_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + } +#else + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); +#endif } -void IS31FL3218_init(void) { +void is31fl3218_init(void) { + i2c_init(); + // In case we ever want to reinitialize (?) - IS31FL3218_write_register(ISSI_REG_RESET, 0x00); + is31fl3218_write_register(IS31FL3218_REG_RESET, 0x00); // Turn off software shutdown - IS31FL3218_write_register(ISSI_REG_SHUTDOWN, 0x01); + is31fl3218_write_register(IS31FL3218_REG_SHUTDOWN, 0x01); // Set all PWM values to zero - for (uint8_t i = 0; i < 18; i++) { - IS31FL3218_write_register(ISSI_REG_PWM + i, 0x00); + for (uint8_t i = 0; i < IS31FL3218_PWM_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_PWM + i, 0x00); } - // Enable all channels - for (uint8_t i = 0; i < 3; i++) { - IS31FL3218_write_register(ISSI_REG_CONTROL + i, 0b00111111); + // turn off all LEDs in the LED control register + for (uint8_t i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, 0x00); } // Load PWM registers and LED Control register data - IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); + is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); + + for (int i = 0; i < IS31FL3218_LED_COUNT; i++) { + is31fl3218_set_led_control_register(i, true, true, true); + } + + is31fl3218_update_led_control_registers(); +} + +void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3218_led_t led; + if (index >= 0 && index < IS31FL3218_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led)); + } + if (g_pwm_buffer[led.r - IS31FL3218_REG_PWM] == red && g_pwm_buffer[led.g - IS31FL3218_REG_PWM] == green && g_pwm_buffer[led.b - IS31FL3218_REG_PWM] == blue) { + return; + } + g_pwm_buffer[led.r - IS31FL3218_REG_PWM] = red; + g_pwm_buffer[led.g - IS31FL3218_REG_PWM] = green; + g_pwm_buffer[led.b - IS31FL3218_REG_PWM] = blue; + g_pwm_buffer_update_required = true; } -void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - g_pwm_buffer[index * 3 + 0] = red; - g_pwm_buffer[index * 3 + 1] = green; - g_pwm_buffer[index * 3 + 2] = blue; - g_pwm_buffer_update_required = true; +void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3218_LED_COUNT; i++) { + is31fl3218_set_color(i, red, green, blue); + } } -void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < 6; i++) { - IS31FL3218_set_color(i, red, green, blue); +void is31fl3218_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3218_led_t led; + memcpy_P(&led, (&g_is31fl3218_leds[index]), sizeof(led)); + + uint8_t control_register_r = (led.r - IS31FL3218_REG_PWM) / 6; + uint8_t control_register_g = (led.g - IS31FL3218_REG_PWM) / 6; + uint8_t control_register_b = (led.b - IS31FL3218_REG_PWM) / 6; + uint8_t bit_r = (led.r - IS31FL3218_REG_PWM) % 6; + uint8_t bit_g = (led.g - IS31FL3218_REG_PWM) % 6; + uint8_t bit_b = (led.b - IS31FL3218_REG_PWM) % 6; + + if (red) { + g_led_control_registers[control_register_r] |= (1 << bit_r); + } else { + g_led_control_registers[control_register_r] &= ~(1 << bit_r); + } + if (green) { + g_led_control_registers[control_register_g] |= (1 << bit_g); + } else { + g_led_control_registers[control_register_g] &= ~(1 << bit_g); } + if (blue) { + g_led_control_registers[control_register_b] |= (1 << bit_b); + } else { + g_led_control_registers[control_register_b] &= ~(1 << bit_b); + } + + g_led_control_registers_update_required = true; } -void IS31FL3218_update_pwm_buffers(void) { +void is31fl3218_update_pwm_buffers(void) { if (g_pwm_buffer_update_required) { - IS31FL3218_write_pwm_buffer(g_pwm_buffer); + is31fl3218_write_pwm_buffer(g_pwm_buffer); // Load PWM registers and LED Control register data - IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); + is31fl3218_write_register(IS31FL3218_REG_UPDATE, 0x01); + + g_pwm_buffer_update_required = false; + } +} + +void is31fl3218_update_led_control_registers(void) { + if (g_led_control_registers_update_required) { + for (int i = 0; i < IS31FL3218_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3218_write_register(IS31FL3218_REG_LED_CONTROL_1 + i, g_led_control_registers[i]); + } + + g_led_control_registers_update_required = false; } - g_pwm_buffer_update_required = false; } diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h index 26bb01a01477..ffa7f36d6159 100644 --- a/drivers/led/issi/is31fl3218.h +++ b/drivers/led/issi/is31fl3218.h @@ -18,9 +18,58 @@ #include #include -#include +#include "progmem.h" +#include "util.h" -void IS31FL3218_init(void); -void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3218_update_pwm_buffers(void); +#define IS31FL3218_REG_SHUTDOWN 0x00 +#define IS31FL3218_REG_PWM 0x01 +#define IS31FL3218_REG_LED_CONTROL_1 0x13 +#define IS31FL3218_REG_LED_CONTROL_2 0x14 +#define IS31FL3218_REG_LED_CONTROL_3 0x15 +#define IS31FL3218_REG_UPDATE 0x16 +#define IS31FL3218_REG_RESET 0x17 + +#define IS31FL3218_I2C_ADDRESS 0x54 + +#if defined(RGB_MATRIX_IS31FL3218) +# define IS31FL3218_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +typedef struct is31fl3218_led_t { + uint8_t r; + uint8_t g; + uint8_t b; +} PACKED is31fl3218_led_t; + +extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT]; + +void is31fl3218_init(void); + +void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3218_set_led_control_register(uint8_t index, bool red, bool green, bool blue); + +void is31fl3218_update_pwm_buffers(void); + +void is31fl3218_update_led_control_registers(void); + +#define OUT1 0x01 +#define OUT2 0x02 +#define OUT3 0x03 +#define OUT4 0x04 +#define OUT5 0x05 +#define OUT6 0x06 +#define OUT7 0x07 +#define OUT8 0x08 +#define OUT9 0x09 +#define OUT10 0x0A +#define OUT11 0x0B +#define OUT12 0x0C +#define OUT13 0x0D +#define OUT14 0x0E +#define OUT15 0x0F +#define OUT16 0x10 +#define OUT17 0x11 +#define OUT18 0x12 diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index a62b21cc6b1a..8dbfc3cd31e1 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -18,44 +18,19 @@ */ #include "is31fl3731-simple.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define ISSI_ADDR_DEFAULT 0x74 +#define IS31FL3731_PWM_REGISTER_COUNT 144 +#define IS31FL3731_LED_CONTROL_REGISTER_COUNT 18 -#define ISSI_REG_CONFIG 0x00 -#define ISSI_REG_CONFIG_PICTUREMODE 0x00 -#define ISSI_REG_CONFIG_AUTOPLAYMODE 0x08 -#define ISSI_REG_CONFIG_AUDIOPLAYMODE 0x18 - -#define ISSI_CONF_PICTUREMODE 0x00 -#define ISSI_CONF_AUTOFRAMEMODE 0x04 -#define ISSI_CONF_AUDIOMODE 0x08 - -#define ISSI_REG_PICTUREFRAME 0x01 - -// Not defined in the datasheet -- See AN for IC -#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting - -#define ISSI_REG_SHUTDOWN 0x0A -#define ISSI_REG_AUDIOSYNC 0x06 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#ifndef IS31FL3731_I2C_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT 100 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3731_I2C_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE 0 #endif // Transfer buffer for TWITransmitData() @@ -64,60 +39,37 @@ uint8_t g_twi_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[LED_DRIVER_COUNT][144]; -bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; - -/* There's probably a better way to init this... */ -#if LED_DRIVER_COUNT == 1 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}}; -#elif LED_DRIVER_COUNT == 2 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}}; -#elif LED_DRIVER_COUNT == 3 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}}; -#elif LED_DRIVER_COUNT == 4 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}}; -#endif -bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; - -// This is the bit pattern in the LED control registers -// (for matrix A, add one to register for matrix B) -// -// reg - b7 b6 b5 b4 b3 b2 b1 b0 -// 0x00 - R08,R07,R06,R05,R04,R03,R02,R01 -// 0x02 - G08,G07,G06,G05,G04,G03,G02,R00 -// 0x04 - B08,B07,B06,B05,B04,B03,G01,G00 -// 0x06 - - , - , - , - , - ,B02,B01,B00 -// 0x08 - - , - , - , - , - , - , - , - -// 0x0A - B17,B16,B15, - , - , - , - , - -// 0x0C - G17,G16,B14,B13,B12,B11,B10,B09 -// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09 -// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09 - -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][IS31FL3731_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; + +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) { +#if IS31FL3731_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) { break; } } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); #endif } -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes bank is already selected // transmit PWM registers in 9 transfers of 16 bytes // g_twi_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals - for (int i = 0; i < 144; i += 16) { + for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { // set the first register, e.g. 0x24, 0x34, 0x44, etc. g_twi_transfer_buffer[0] = 0x24 + i; // copy the data from i to i+15 @@ -125,91 +77,125 @@ void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; +#if IS31FL3731_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); #endif } } -void IS31FL3731_init(uint8_t addr) { +void is31fl3731_init_drivers(void) { + i2c_init(); + + is31fl3731_init(IS31FL3731_I2C_ADDRESS_1); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_2); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_3); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3731_LED_COUNT; i++) { + is31fl3731_set_led_control_register(i, true); + } + + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_3, 2); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3731_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, first enable software shutdown, // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); // enable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); -#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array - IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00); +#ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN); #endif // this delay was copied from other drivers, might not be needed wait_ms(10); // picture mode - IS31FL3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE); // display frame 0 - IS31FL3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00); // audio sync off - IS31FL3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00); // select bank 0 - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); // turn off all LEDs in the LED control register - for (int i = 0x00; i <= 0x11; i++) { - IS31FL3731_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3731_write_register(addr, i, 0x00); } // turn off all LEDs in the blink control register (not really needed) for (int i = 0x12; i <= 0x23; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // set PWM on all LEDs to 0 for (int i = 0x24; i <= 0xB3; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); // disable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01); // select bank 0 and leave it selected. // most usage after initialization is just writing PWM buffers in bank 0 // as there's not much point in double-buffering - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); } -void IS31FL3731_set_value(int index, uint8_t value) { - is31_led led; - if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3731_set_value(int index, uint8_t value) { + is31fl3731_led_t led; + if (index >= 0 && index < IS31FL3731_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer + + if (g_pwm_buffer[led.driver][led.v - 0x24] == value) { + return; + } g_pwm_buffer[led.driver][led.v - 0x24] = value; g_pwm_buffer_update_required[led.driver] = true; } } -void IS31FL3731_set_value_all(uint8_t value) { - for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_value(i, value); +void is31fl3731_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3731_LED_COUNT; i++) { + is31fl3731_set_value(i, value); } } -void IS31FL3731_set_led_control_register(uint8_t index, bool value) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3731_set_led_control_register(uint8_t index, bool value) { + is31fl3731_led_t led; + memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led)); uint8_t control_register = (led.v - 0x24) / 8; uint8_t bit_value = (led.v - 0x24) % 8; @@ -223,18 +209,31 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool value) { g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; } } -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - for (int i = 0; i < 18; i++) { - IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); + for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3731_write_register(addr, i, g_led_control_registers[index][i]); } g_led_control_registers_update_required[index] = false; } } + +void is31fl3731_flush(void) { + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index 7834766b94ee..4d173847dd9d 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -20,31 +20,104 @@ #include #include -#include #include "progmem.h" +#include "util.h" -typedef struct is31_led { +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef LED_DRIVER_ADDR_1 +# define IS31FL3731_I2C_ADDRESS_1 LED_DRIVER_ADDR_1 +#endif +#ifdef LED_DRIVER_ADDR_2 +# define IS31FL3731_I2C_ADDRESS_2 LED_DRIVER_ADDR_2 +#endif +#ifdef LED_DRIVER_ADDR_3 +# define IS31FL3731_I2C_ADDRESS_3 LED_DRIVER_ADDR_3 +#endif +#ifdef LED_DRIVER_ADDR_4 +# define IS31FL3731_I2C_ADDRESS_4 LED_DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_3731_DEGHOST +# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST +#endif + +#define is31_led is31fl3731_led_t +#define g_is31_leds g_is31fl3731_leds +// ======== + +#define IS31FL3731_REG_COMMAND 0xFD +#define IS31FL3731_COMMAND_FRAME_1 0x00 +#define IS31FL3731_COMMAND_FRAME_2 0x01 +#define IS31FL3731_COMMAND_FRAME_3 0x02 +#define IS31FL3731_COMMAND_FRAME_4 0x03 +#define IS31FL3731_COMMAND_FRAME_5 0x04 +#define IS31FL3731_COMMAND_FRAME_6 0x05 +#define IS31FL3731_COMMAND_FRAME_7 0x06 +#define IS31FL3731_COMMAND_FRAME_8 0x07 +#define IS31FL3731_COMMAND_FUNCTION 0x0B + +#define IS31FL3731_FUNCTION_REG_CONFIG 0x00 +#define IS31FL3731_CONFIG_MODE_PICTURE 0x00 +#define IS31FL3731_CONFIG_MODE_AUTO_PLAY 0x08 +#define IS31FL3731_CONFIG_MODE_AUDIO_PLAY 0x18 + +#define IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY 0x01 +#define IS31FL3731_FUNCTION_REG_AUDIO_SYNC 0x06 +#define IS31FL3731_FUNCTION_REG_SHUTDOWN 0x0A + +// Not defined in the datasheet -- See AN for IC +#define IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION 0xC2 +#define IS31FL3731_GHOST_IMAGE_PREVENTION_GEN 0x10 + +#define IS31FL3731_I2C_ADDRESS_GND 0x74 +#define IS31FL3731_I2C_ADDRESS_SCL 0x75 +#define IS31FL3731_I2C_ADDRESS_SDA 0x76 +#define IS31FL3731_I2C_ADDRESS_VCC 0x77 + +#if defined(LED_MATRIX_IS31FL3731) +# define IS31FL3731_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined IS31FL3731_I2C_ADDRESS_4 +# define IS31FL3731_DRIVER_COUNT 4 +#elif defined IS31FL3731_I2C_ADDRESS_3 +# define IS31FL3731_DRIVER_COUNT 3 +#elif defined IS31FL3731_I2C_ADDRESS_2 +# define IS31FL3731_DRIVER_COUNT 2 +#elif defined IS31FL3731_I2C_ADDRESS_1 +# define IS31FL3731_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3731_led_t { uint8_t driver : 2; uint8_t v; -} __attribute__((packed)) is31_led; +} PACKED is31fl3731_led_t; -extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT]; -void IS31FL3731_init(uint8_t addr); -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3731_init_drivers(void); +void is31fl3731_init(uint8_t addr); +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3731_set_value(int index, uint8_t value); -void IS31FL3731_set_value_all(uint8_t value); +void is31fl3731_set_value(int index, uint8_t value); +void is31fl3731_set_value_all(uint8_t value); -void IS31FL3731_set_led_control_register(uint8_t index, bool value); +void is31fl3731_set_led_control_register(uint8_t index, bool value); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3731_flush(void); #define C1_1 0x24 #define C1_2 0x25 diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 80344ca721e9..1ab8997731f7 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -17,44 +17,19 @@ */ #include "is31fl3731.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define ISSI_ADDR_DEFAULT 0x74 +#define IS31FL3731_PWM_REGISTER_COUNT 144 +#define IS31FL3731_LED_CONTROL_REGISTER_COUNT 18 -#define ISSI_REG_CONFIG 0x00 -#define ISSI_REG_CONFIG_PICTUREMODE 0x00 -#define ISSI_REG_CONFIG_AUTOPLAYMODE 0x08 -#define ISSI_REG_CONFIG_AUDIOPLAYMODE 0x18 - -#define ISSI_CONF_PICTUREMODE 0x00 -#define ISSI_CONF_AUTOFRAMEMODE 0x04 -#define ISSI_CONF_AUDIOMODE 0x08 - -#define ISSI_REG_PICTUREFRAME 0x01 - -// Not defined in the datasheet -- See AN for IC -#define ISSI_REG_GHOST_IMAGE_PREVENTION 0xC2 // Set bit 4 to enable de-ghosting - -#define ISSI_REG_SHUTDOWN 0x0A -#define ISSI_REG_AUDIOSYNC 0x06 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_BANK_FUNCTIONREG 0x0B // helpfully called 'page nine' - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#ifndef IS31FL3731_I2C_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT 100 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3731_I2C_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE 0 #endif // Transfer buffer for TWITransmitData() @@ -63,49 +38,35 @@ uint8_t g_twi_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][144]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; - -uint8_t g_led_control_registers[DRIVER_COUNT][18] = {{0}}; -bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; - -// This is the bit pattern in the LED control registers -// (for matrix A, add one to register for matrix B) -// -// reg - b7 b6 b5 b4 b3 b2 b1 b0 -// 0x00 - R08,R07,R06,R05,R04,R03,R02,R01 -// 0x02 - G08,G07,G06,G05,G04,G03,G02,R00 -// 0x04 - B08,B07,B06,B05,B04,B03,G01,G00 -// 0x06 - - , - , - , - , - ,B02,B01,B00 -// 0x08 - - , - , - , - , - , - , - , - -// 0x0A - B17,B16,B15, - , - , - , - , - -// 0x0C - G17,G16,B14,B13,B12,B11,B10,B09 -// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09 -// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09 - -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +uint8_t g_pwm_buffer[IS31FL3731_DRIVER_COUNT][IS31FL3731_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3731_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; + +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; +#if IS31FL3731_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); #endif } -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes bank is already selected // transmit PWM registers in 9 transfers of 16 bytes // g_twi_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals - for (int i = 0; i < 144; i += 16) { + for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { // set the first register, e.g. 0x24, 0x34, 0x44, etc. g_twi_transfer_buffer[0] = 0x24 + i; // copy the data from i to i+15 @@ -113,77 +74,110 @@ void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; +#if IS31FL3731_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); #endif } } -void IS31FL3731_init(uint8_t addr) { +void is31fl3731_init_drivers(void) { + i2c_init(); + + is31fl3731_init(IS31FL3731_I2C_ADDRESS_1); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_2); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_3); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_init(IS31FL3731_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3731_LED_COUNT; i++) { + is31fl3731_set_led_control_register(i, true, true, true); + } + + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_3, 2); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3731_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, first enable software shutdown, // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); // enable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); -#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array - IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00); +#ifdef IS31FL3731_DEGHOST // set to enable de-ghosting of the array + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION, IS31FL3731_GHOST_IMAGE_PREVENTION_GEN); #endif // this delay was copied from other drivers, might not be needed wait_ms(10); // picture mode - IS31FL3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_CONFIG, IS31FL3731_CONFIG_MODE_PICTURE); // display frame 0 - IS31FL3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY, 0x00); // audio sync off - IS31FL3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00); // select bank 0 - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); // turn off all LEDs in the LED control register - for (int i = 0x00; i <= 0x11; i++) { - IS31FL3731_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3731_write_register(addr, i, 0x00); } // turn off all LEDs in the blink control register (not really needed) for (int i = 0x12; i <= 0x23; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // set PWM on all LEDs to 0 for (int i = 0x24; i <= 0xB3; i++) { - IS31FL3731_write_register(addr, i, 0x00); + is31fl3731_write_register(addr, i, 0x00); } // select "function register" bank - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); // disable software shutdown - IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); + is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01); // select bank 0 and leave it selected. // most usage after initialization is just writing PWM buffers in bank 0 // as there's not much point in double-buffering - IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); } -void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - is31_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3731_led_t led; + if (index >= 0 && index < IS31FL3731_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer + if (g_pwm_buffer[led.driver][led.r - 0x24] == red && g_pwm_buffer[led.driver][led.g - 0x24] == green && g_pwm_buffer[led.driver][led.b - 0x24] == blue) { + return; + } g_pwm_buffer[led.driver][led.r - 0x24] = red; g_pwm_buffer[led.driver][led.g - 0x24] = green; g_pwm_buffer[led.driver][led.b - 0x24] = blue; @@ -191,15 +185,15 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_color(i, red, green, blue); +void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3731_LED_COUNT; i++) { + is31fl3731_set_color(i, red, green, blue); } } -void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3731_led_t led; + memcpy_P(&led, (&g_is31fl3731_leds[index]), sizeof(led)); uint8_t control_register_r = (led.r - 0x24) / 8; uint8_t control_register_g = (led.g - 0x24) / 8; @@ -227,18 +221,31 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - for (int i = 0; i < 18; i++) { - IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); + for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3731_write_register(addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; } + +void is31fl3731_flush(void) { + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_1, 0); +#if defined(IS31FL3731_I2C_ADDRESS_2) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_2, 1); +# if defined(IS31FL3731_I2C_ADDRESS_3) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_3, 2); +# if defined(IS31FL3731_I2C_ADDRESS_4) + is31fl3731_update_pwm_buffers(IS31FL3731_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 4c79cb81464c..b45cb2b07dc8 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -19,33 +19,106 @@ #include #include -#include #include "progmem.h" +#include "util.h" -typedef struct is31_led { +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3731_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3731_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3731_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3731_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3731_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3731_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_3731_DEGHOST +# define IS31FL3731_DEGHOST ISSI_3731_DEGHOST +#endif + +#define is31_led is31fl3731_led_t +#define g_is31_leds g_is31fl3731_leds +// ======== + +#define IS31FL3731_REG_COMMAND 0xFD +#define IS31FL3731_COMMAND_FRAME_1 0x00 +#define IS31FL3731_COMMAND_FRAME_2 0x01 +#define IS31FL3731_COMMAND_FRAME_3 0x02 +#define IS31FL3731_COMMAND_FRAME_4 0x03 +#define IS31FL3731_COMMAND_FRAME_5 0x04 +#define IS31FL3731_COMMAND_FRAME_6 0x05 +#define IS31FL3731_COMMAND_FRAME_7 0x06 +#define IS31FL3731_COMMAND_FRAME_8 0x07 +#define IS31FL3731_COMMAND_FUNCTION 0x0B + +#define IS31FL3731_FUNCTION_REG_CONFIG 0x00 +#define IS31FL3731_CONFIG_MODE_PICTURE 0x00 +#define IS31FL3731_CONFIG_MODE_AUTO_PLAY 0x08 +#define IS31FL3731_CONFIG_MODE_AUDIO_PLAY 0x18 + +#define IS31FL3731_FUNCTION_REG_PICTURE_DISPLAY 0x01 +#define IS31FL3731_FUNCTION_REG_AUDIO_SYNC 0x06 +#define IS31FL3731_FUNCTION_REG_SHUTDOWN 0x0A + +// Not defined in the datasheet -- See AN for IC +#define IS31FL3731_FUNCTION_REG_GHOST_IMAGE_PREVENTION 0xC2 +#define IS31FL3731_GHOST_IMAGE_PREVENTION_GEN 0x10 + +#define IS31FL3731_I2C_ADDRESS_GND 0x74 +#define IS31FL3731_I2C_ADDRESS_SCL 0x75 +#define IS31FL3731_I2C_ADDRESS_SDA 0x76 +#define IS31FL3731_I2C_ADDRESS_VCC 0x77 + +#if defined(RGB_MATRIX_IS31FL3731) +# define IS31FL3731_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3731_I2C_ADDRESS_4) +# define IS31FL3731_DRIVER_COUNT 4 +#elif defined(IS31FL3731_I2C_ADDRESS_3) +# define IS31FL3731_DRIVER_COUNT 3 +#elif defined(IS31FL3731_I2C_ADDRESS_2) +# define IS31FL3731_DRIVER_COUNT 2 +#elif defined(IS31FL3731_I2C_ADDRESS_1) +# define IS31FL3731_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3731_led_t { uint8_t driver : 2; uint8_t r; uint8_t g; uint8_t b; -} __attribute__((packed)) is31_led; +} PACKED is31fl3731_led_t; -extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT]; -void IS31FL3731_init(uint8_t addr); -void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3731_init_drivers(void); +void is31fl3731_init(uint8_t addr); +void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3731_flush(void); #define C1_1 0x24 #define C1_2 0x25 diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 21138c6e05cb..9f2444c253a5 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -19,59 +19,48 @@ */ #include "is31fl3733-simple.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define ISSI_ADDR_DEFAULT 0x50 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE -#define ISSI_INTERRUPTMASKREGISTER 0xF0 -#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 - -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#define IS31FL3733_PWM_REGISTER_COUNT 192 +#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3733_I2C_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3733_I2C_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE 0 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3733_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only #endif -#ifndef ISSI_PWM_FREQUENCY -# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only +#ifndef IS31FL3733_SW_PULLUP +# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM #endif -#ifndef ISSI_SWPULLUP -# define ISSI_SWPULLUP PUR_0R +#ifndef IS31FL3733_CS_PULLDOWN +# define IS31FL3733_CSPULLDOWN IS31FL3733_PDR_0_OHM #endif -#ifndef ISSI_CSPULLUP -# define ISSI_CSPULLUP PUR_0R +#ifndef IS31FL3733_GLOBAL_CURRENT +# define IS31FL3733_GLOBAL_CURRENT 0xFF #endif -#ifndef ISSI_GLOBALCURRENT -# define ISSI_GLOBALCURRENT 0xFF +#ifndef IS31FL3733_SYNC_1 +# define IS31FL3733_SYNC_1 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_2 +# define IS31FL3733_SYNC_2 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_3 +# define IS31FL3733_SYNC_3 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_4 +# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE #endif // Transfer buffer for TWITransmitData() @@ -81,64 +70,55 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[LED_DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false}; - -/* There's probably a better way to init this... */ -#if LED_DRIVER_COUNT == 1 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}}; -#elif LED_DRIVER_COUNT == 2 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}}; -#elif LED_DRIVER_COUNT == 3 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}, {0}}; -#elif LED_DRIVER_COUNT == 4 -uint8_t g_led_control_registers[LED_DRIVER_COUNT][24] = {{0}, {0}, {0}, {0}}; -#endif -bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false}; +uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][IS31FL3733_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { +#if IS31FL3733_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. // g_twi_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. - for (int i = 0; i < 192; i += 16) { + for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { g_twi_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { +#if IS31FL3733_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif @@ -146,7 +126,37 @@ bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3733_init(uint8_t addr, uint8_t sync) { +void is31fl3733_init_drivers(void) { + i2c_init(); + + is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_2); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_3, IS31FL3733_SYNC_3); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_4, IS31FL3733_SYNC_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3733_LED_COUNT; i++) { + is31fl3733_set_led_control_register(i, true); + } + + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_2, 1); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_3, 2); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3733_init(uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -154,61 +164,66 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); // Turn off all LEDs. - for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG1 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. - for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG3 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN); // Set global current to maximum. - IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT); // Disable software shutdown. - IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_value(int index, uint8_t value) { - if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; +void is31fl3733_set_value(int index, uint8_t value) { + is31fl3733_led_t led; + if (index >= 0 && index < IS31FL3733_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; } } -void IS31FL3733_set_value_all(uint8_t value) { - for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_value(i, value); +void is31fl3733_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3733_LED_COUNT; i++) { + is31fl3733_set_value(i, value); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool value) { - is31_led led = g_is31_leds[index]; +void is31fl3733_set_led_control_register(uint8_t index, bool value) { + is31fl3733_led_t led; + memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led)); uint8_t control_register = led.v / 8; uint8_t bit_value = led.v % 8; @@ -222,29 +237,42 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool value) { g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } g_pwm_buffer_update_required[index] = false; } } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); - for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } g_led_control_registers_update_required[index] = false; } } + +void is31fl3733_flush(void) { + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index 1571fdd3d582..c37b1fe5f2c2 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -22,39 +22,144 @@ #include #include -#include #include "progmem.h" +#include "util.h" -typedef struct is31_led { +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3733_led_t +#define g_is31_leds g_is31fl3733_leds + +#define PUR_0R IS31FL3733_PUR_0_OHM +#define PUR_05KR IS31FL3733_PUR_1K_OHM +#define PUR_3KR IS31FL3733_PUR_2K_OHM +#define PUR_4KR IS31FL3733_PUR_4K_OHM +#define PUR_8KR IS31FL3733_PUR_8K_OHM +#define PUR_16KR IS31FL3733_PUR_16K_OHM +#define PUR_32KR IS31FL3733_PUR_32K_OHM +// ======== + +#define IS31FL3733_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3733_REG_COMMAND 0xFD + +#define IS31FL3733_COMMAND_LED_CONTROL 0x00 +#define IS31FL3733_COMMAND_PWM 0x01 +#define IS31FL3733_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3733_COMMAND_FUNCTION 0x03 + +#define IS31FL3733_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3733_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3733_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3733_FUNCTION_REG_RESET 0x11 + +#define IS31FL3733_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3733_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50 +#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51 +#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52 +#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53 +#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54 +#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55 +#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56 +#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57 +#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58 +#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59 +#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A +#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B +#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C +#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D +#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E +#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F + +#if defined(LED_MATRIX_IS31FL3733) +# define IS31FL3733_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3733_I2C_ADDRESS_4) +# define IS31FL3733_DRIVER_COUNT 4 +#elif defined(IS31FL3733_I2C_ADDRESS_3) +# define IS31FL3733_DRIVER_COUNT 3 +#elif defined(IS31FL3733_I2C_ADDRESS_2) +# define IS31FL3733_DRIVER_COUNT 2 +#elif defined(IS31FL3733_I2C_ADDRESS_1) +# define IS31FL3733_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3733_led_t { uint8_t driver : 2; uint8_t v; -} __attribute__((packed)) is31_led; +} PACKED is31fl3733_led_t; -extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT]; -void IS31FL3733_init(uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init_drivers(void); +void is31fl3733_init(uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_value(int index, uint8_t value); -void IS31FL3733_set_value_all(uint8_t value); +void is31fl3733_set_value(int index, uint8_t value); +void is31fl3733_set_value_all(uint8_t value); -void IS31FL3733_set_led_control_register(uint8_t index, bool value); +void is31fl3733_set_led_control_register(uint8_t index, bool value); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); - -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL -#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time -#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time -#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time -#define PUR_16KR 0x06 // 16k Ohm resistor on all the time -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3733_flush(void); + +#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0b100 + +#define IS31FL3733_SYNC_NONE 0b00 +#define IS31FL3733_SYNC_MASTER 0b01 +#define IS31FL3733_SYNC_SLAVE 0b10 #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index 379eaa0ae305..5857a800d7e2 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -18,59 +18,48 @@ */ #include "is31fl3733.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define ISSI_ADDR_DEFAULT 0x50 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE -#define ISSI_INTERRUPTMASKREGISTER 0xF0 -#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 - -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#define IS31FL3733_PWM_REGISTER_COUNT 192 +#define IS31FL3733_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3733_I2C_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT 100 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3733_I2C_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE 0 #endif -#ifndef ISSI_PWM_FREQUENCY -# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3733B only +#ifndef IS31FL3733_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3733B only #endif -#ifndef ISSI_SWPULLUP -# define ISSI_SWPULLUP PUR_0R +#ifndef IS31FL3733_SW_PULLUP +# define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM #endif -#ifndef ISSI_CSPULLUP -# define ISSI_CSPULLUP PUR_0R +#ifndef IS31FL3733_CS_PULLDOWN +# define IS31FL3733_CS_PULLDOWN IS31FL3733_PDR_0_OHM #endif -#ifndef ISSI_GLOBALCURRENT -# define ISSI_GLOBALCURRENT 0xFF +#ifndef IS31FL3733_GLOBAL_CURRENT +# define IS31FL3733_GLOBAL_CURRENT 0xFF +#endif + +#ifndef IS31FL3733_SYNC_1 +# define IS31FL3733_SYNC_1 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_2 +# define IS31FL3733_SYNC_2 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_3 +# define IS31FL3733_SYNC_3 IS31FL3733_SYNC_NONE +#endif +#ifndef IS31FL3733_SYNC_4 +# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE #endif // Transfer buffer for TWITransmitData() @@ -80,57 +69,55 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; +uint8_t g_pwm_buffer[IS31FL3733_DRIVER_COUNT][IS31FL3733_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3733_DRIVER_COUNT] = {false}; -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; -bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; +uint8_t g_led_control_registers[IS31FL3733_DRIVER_COUNT][IS31FL3733_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { +#if IS31FL3733_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. // g_twi_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. - for (int i = 0; i < 192; i += 16) { + for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { g_twi_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. - for (int j = 0; j < 16; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; - } + memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { +#if IS31FL3733_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif @@ -138,7 +125,37 @@ bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3733_init(uint8_t addr, uint8_t sync) { +void is31fl3733_init_drivers(void) { + i2c_init(); + + is31fl3733_init(IS31FL3733_I2C_ADDRESS_1, IS31FL3733_SYNC_1); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_2, IS31FL3733_SYNC_2); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_3, IS31FL3733_SYNC_3); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_init(IS31FL3733_I2C_ADDRESS_4, IS31FL3733_SYNC_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3733_LED_COUNT; i++) { + is31fl3733_set_led_control_register(i, true, true, true); + } + + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_1, 0); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_2, 1); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_3, 2); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_update_led_control_registers(IS31FL3733_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3733_init(uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -146,49 +163,52 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); // Turn off all LEDs. - for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG1 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. - for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); // Select PG3 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CS_PULLDOWN, IS31FL3733_CS_PULLDOWN); // Set global current to maximum. - IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3733_GLOBAL_CURRENT); // Disable software shutdown. - IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((IS31FL3733_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - is31_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3733_led_t led; + if (index >= 0 && index < IS31FL3733_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; @@ -196,15 +216,15 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_color(i, red, green, blue); +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3733_LED_COUNT; i++) { + is31fl3733_set_color(i, red, green, blue); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3733_led_t led; + memcpy_P(&led, (&g_is31fl3733_leds[index]), sizeof(led)); uint8_t control_register_r = led.r / 8; uint8_t control_register_g = led.g / 8; @@ -232,29 +252,42 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } + g_pwm_buffer_update_required[index] = false; } - g_pwm_buffer_update_required[index] = false; } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); - for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } + g_led_control_registers_update_required[index] = false; } - g_led_control_registers_update_required[index] = false; +} + +void is31fl3733_flush(void) { + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_1, 0); +#if defined(IS31FL3733_I2C_ADDRESS_2) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_2, 1); +# if defined(IS31FL3733_I2C_ADDRESS_3) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_3, 2); +# if defined(IS31FL3733_I2C_ADDRESS_4) + is31fl3733_update_pwm_buffers(IS31FL3733_I2C_ADDRESS_4, 3); +# endif +# endif +#endif } diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index 29441846acc5..20804b016bd3 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -22,39 +22,169 @@ #include #include #include "progmem.h" +#include "util.h" -typedef struct is31_led { +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3733_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3733_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3733_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3733_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef DRIVER_SYNC_1 +# define IS31FL3733_SYNC_1 DRIVER_SYNC_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3733_SYNC_2 DRIVER_SYNC_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3733_SYNC_3 DRIVER_SYNC_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3733_SYNC_4 DRIVER_SYNC_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3733_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3733_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3733_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3733_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3733_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3733_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3733_led_t +#define g_is31_leds g_is31fl3733_leds + +#define PUR_0R IS31FL3733_PUR_0_OHM +#define PUR_05KR IS31FL3733_PUR_1K_OHM +#define PUR_3KR IS31FL3733_PUR_2K_OHM +#define PUR_4KR IS31FL3733_PUR_4K_OHM +#define PUR_8KR IS31FL3733_PUR_8K_OHM +#define PUR_16KR IS31FL3733_PUR_16K_OHM +#define PUR_32KR IS31FL3733_PUR_32K_OHM +// ======== + +#define IS31FL3733_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3733_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3733_REG_COMMAND 0xFD + +#define IS31FL3733_COMMAND_LED_CONTROL 0x00 +#define IS31FL3733_COMMAND_PWM 0x01 +#define IS31FL3733_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3733_COMMAND_FUNCTION 0x03 + +#define IS31FL3733_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3733_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3733_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3733_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3733_FUNCTION_REG_RESET 0x11 + +#define IS31FL3733_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3733_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50 +#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51 +#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52 +#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53 +#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54 +#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55 +#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56 +#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57 +#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58 +#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59 +#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A +#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B +#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C +#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D +#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E +#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F + +#if defined(RGB_MATRIX_IS31FL3733) +# define IS31FL3733_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3733_I2C_ADDRESS_4) +# define IS31FL3733_DRIVER_COUNT 4 +#elif defined(IS31FL3733_I2C_ADDRESS_3) +# define IS31FL3733_DRIVER_COUNT 3 +#elif defined(IS31FL3733_I2C_ADDRESS_2) +# define IS31FL3733_DRIVER_COUNT 2 +#elif defined(IS31FL3733_I2C_ADDRESS_1) +# define IS31FL3733_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3733_led_t { uint8_t driver : 2; uint8_t r; uint8_t g; uint8_t b; -} __attribute__((packed)) is31_led; +} PACKED is31fl3733_led_t; -extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT]; -void IS31FL3733_init(uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init_drivers(void); +void is31fl3733_init(uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); - -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL -#define PUR_3KR 0x03 // 3.0k Ohm resistor on all the time -#define PUR_4KR 0x04 // 4.0k Ohm resistor on all the time -#define PUR_8KR 0x05 // 8.0k Ohm resistor on all the time -#define PUR_16KR 0x06 // 16k Ohm resistor on all the time -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3733_flush(void); + +#define IS31FL3733_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3733_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3733_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3733_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3733_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3733_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3733_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3733_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3733_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3733_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3733_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3733_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3733_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3733_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3733_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3733_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3733_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3733_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3733_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3733_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3733_PWM_FREQUENCY_1K05_HZ 0b100 + +#define IS31FL3733_SYNC_NONE 0b00 +#define IS31FL3733_SYNC_MASTER 0b01 +#define IS31FL3733_SYNC_SLAVE 0b10 #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3736-simple.c b/drivers/led/issi/is31fl3736-simple.c new file mode 100644 index 000000000000..e1cce3c48a33 --- /dev/null +++ b/drivers/led/issi/is31fl3736-simple.c @@ -0,0 +1,252 @@ +/* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Doni Crosby + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "is31fl3736-simple.h" +#include +#include "i2c_master.h" +#include "wait.h" + +#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96 +#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3736_I2C_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3736_I2C_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE 0 +#endif + +#ifndef IS31FL3736_PWM_FREQUENCY +# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only +#endif + +#ifndef IS31FL3736_SW_PULLUP +# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM +#endif + +#ifndef IS31FL3736_CS_PULLDOWN +# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM +#endif + +#ifndef IS31FL3736_GLOBAL_CURRENT +# define IS31FL3736_GLOBAL_CURRENT 0xFF +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20]; + +// These buffers match the IS31FL3736 PWM registers. +// The control buffers match the PG0 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's +// probably not worth the extra complexity. +uint8_t g_pwm_buffer[IS31FL3736_DRIVER_COUNT][IS31FL3736_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3736_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false}; + +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if IS31FL3736_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); +#endif +} + +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // assumes PG1 is already selected + + // transmit PWM registers in 12 transfers of 16 bytes + // g_twi_transfer_buffer[] is 20 bytes + + // iterate over the pwm_buffer contents at 16 byte intervals + for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { + g_twi_transfer_buffer[0] = i; + // copy the data from i to i+15 + // device will auto-increment register for data after the first byte + // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer + memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + +#if IS31FL3736_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); +#endif + } +} + +void is31fl3736_init_drivers(void) { + i2c_init(); + + is31fl3736_init(IS31FL3736_I2C_ADDRESS_1); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_2); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_3); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3736_LED_COUNT; i++) { + is31fl3736_set_led_control_register(i, true); + } + + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_1, 0); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_2, 1); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_3, 2); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3736_init(uint8_t addr) { + // In order to avoid the LEDs being driven with garbage data + // in the LED driver's PWM registers, shutdown is enabled last. + // Set up the mode and other settings, clear the PWM registers, + // then disable software shutdown. + + // Unlock the command register. + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG0 + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); + // Turn off all LEDs. + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, 0x00); + } + + // Unlock the command register. + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG1 + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); + // Set PWM on all LEDs to 0 + // No need to setup Breath registers to PWM as that is the default. + for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, 0x00); + } + + // Unlock the command register. + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG3 + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION); + // Set de-ghost pull-up resistors (SWx) + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP); + // Set de-ghost pull-down resistors (CSx) + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN); + // Set global current to maximum. + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT); + // Disable software shutdown. + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01); + + // Wait 10ms to ensure the device has woken up. + wait_ms(10); +} + +void is31fl3736_set_value(int index, uint8_t value) { + is31fl3736_led_t led; + if (index >= 0 && index < IS31FL3736_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } + g_pwm_buffer[led.driver][led.v] = value; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void is31fl3736_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3736_LED_COUNT; i++) { + is31fl3736_set_value(i, value); + } +} + +void is31fl3736_set_led_control_register(uint8_t index, bool value) { + is31fl3736_led_t led; + memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led)); + + // The PWM register for a matrix position (0x00 to 0xBF) is interleaved, so: + // A1=0x00 A2=0x02 A3=0x04 A4=0x06 A5=0x08 A6=0x0A A7=0x0C A8=0x0E + // B1=0x10 B2=0x12 B3=0x14 + // But also, the LED control registers (0x00 to 0x17) are also interleaved, so: + // A1-A4=0x00 A5-A8=0x01 + + uint8_t control_register = led.v / 8; + uint8_t bit_value = led.v % 8; + + if (value) { + g_led_control_registers[led.driver][control_register] |= (1 << bit_value); + } else { + g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value); + } + + g_led_control_registers_update_required[led.driver] = true; +} + +void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + // Firstly we need to unlock the command register and select PG1 + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); + + is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + g_pwm_buffer_update_required[index] = false; + } +} + +void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { + // Firstly we need to unlock the command register and select PG0 + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, g_led_control_registers[index][i]); + } + g_led_control_registers_update_required[index] = false; + } +} + +void is31fl3736_flush(void) { + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3736-simple.h b/drivers/led/issi/is31fl3736-simple.h new file mode 100644 index 000000000000..a73a87254590 --- /dev/null +++ b/drivers/led/issi/is31fl3736-simple.h @@ -0,0 +1,261 @@ +/* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Doni Crosby + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 +#include +#include "progmem.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3736_led_t +#define g_is31_leds g_is31fl3736_leds + +#define PUR_0R IS31FL3736_PUR_0_OHM +#define PUR_05KR IS31FL3736_PUR_05K_OHM +#define PUR_1KR IS31FL3736_PUR_1K_OHM +#define PUR_2KR IS31FL3736_PUR_2K_OHM +#define PUR_4KR IS31FL3736_PUR_4K_OHM +#define PUR_8KR IS31FL3736_PUR_8K_OHM +#define PUR_16KR IS31FL3736_PUR_16K_OHM +#define PUR_32KR IS31FL3736_PUR_32K_OHM +// ======== + +#define IS31FL3736_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3736_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3736_REG_COMMAND 0xFD + +#define IS31FL3736_COMMAND_LED_CONTROL 0x00 +#define IS31FL3736_COMMAND_PWM 0x01 +#define IS31FL3736_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3736_COMMAND_FUNCTION 0x03 + +#define IS31FL3736_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3736_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3736_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3736_FUNCTION_REG_RESET 0x11 + +#define IS31FL3736_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3736_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50 +#define IS31FL3736_I2C_ADDRESS_GND_SCL 0x51 +#define IS31FL3736_I2C_ADDRESS_GND_SDA 0x52 +#define IS31FL3736_I2C_ADDRESS_GND_VCC 0x53 +#define IS31FL3736_I2C_ADDRESS_SCL_GND 0x54 +#define IS31FL3736_I2C_ADDRESS_SCL_SCL 0x55 +#define IS31FL3736_I2C_ADDRESS_SCL_SDA 0x56 +#define IS31FL3736_I2C_ADDRESS_SCL_VCC 0x57 +#define IS31FL3736_I2C_ADDRESS_SDA_GND 0x58 +#define IS31FL3736_I2C_ADDRESS_SDA_SCL 0x59 +#define IS31FL3736_I2C_ADDRESS_SDA_SDA 0x5A +#define IS31FL3736_I2C_ADDRESS_SDA_VCC 0x5B +#define IS31FL3736_I2C_ADDRESS_VCC_GND 0x5C +#define IS31FL3736_I2C_ADDRESS_VCC_SCL 0x5D +#define IS31FL3736_I2C_ADDRESS_VCC_SDA 0x5E +#define IS31FL3736_I2C_ADDRESS_VCC_VCC 0x5F + +#if defined(LED_MATRIX_IS31FL3736) +# define IS31FL3736_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3736_I2C_ADDRESS_4) +# define IS31FL3736_DRIVER_COUNT 4 +#elif defined(IS31FL3736_I2C_ADDRESS_3) +# define IS31FL3736_DRIVER_COUNT 3 +#elif defined(IS31FL3736_I2C_ADDRESS_2) +# define IS31FL3736_DRIVER_COUNT 2 +#elif defined(IS31FL3736_I2C_ADDRESS_1) +# define IS31FL3736_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3736_led_t { + uint8_t driver : 2; + uint8_t v; +} PACKED is31fl3736_led_t; + +extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT]; + +void is31fl3736_init_drivers(void); +void is31fl3736_init(uint8_t addr); +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void is31fl3736_set_value(int index, uint8_t value); +void is31fl3736_set_value_all(uint8_t value); + +void is31fl3736_set_led_control_register(uint8_t index, bool value); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3736_flush(void); + +#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3736_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3736_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3736_PWM_FREQUENCY_1K05_HZ 0b100 + +#define A_1 0x00 +#define A_2 0x02 +#define A_3 0x04 +#define A_4 0x06 +#define A_5 0x08 +#define A_6 0x0A +#define A_7 0x0C +#define A_8 0x0E + +#define B_1 0x10 +#define B_2 0x12 +#define B_3 0x14 +#define B_4 0x16 +#define B_5 0x18 +#define B_6 0x1A +#define B_7 0x1C +#define B_8 0x1E + +#define C_1 0x20 +#define C_2 0x22 +#define C_3 0x24 +#define C_4 0x26 +#define C_5 0x28 +#define C_6 0x2A +#define C_7 0x2C +#define C_8 0x2E + +#define D_1 0x30 +#define D_2 0x32 +#define D_3 0x34 +#define D_4 0x36 +#define D_5 0x38 +#define D_6 0x3A +#define D_7 0x3C +#define D_8 0x3E + +#define E_1 0x40 +#define E_2 0x42 +#define E_3 0x44 +#define E_4 0x46 +#define E_5 0x48 +#define E_6 0x4A +#define E_7 0x4C +#define E_8 0x4E + +#define F_1 0x50 +#define F_2 0x52 +#define F_3 0x54 +#define F_4 0x56 +#define F_5 0x58 +#define F_6 0x5A +#define F_7 0x5C +#define F_8 0x5E + +#define G_1 0x60 +#define G_2 0x62 +#define G_3 0x64 +#define G_4 0x66 +#define G_5 0x68 +#define G_6 0x6A +#define G_7 0x6C +#define G_8 0x6E + +#define H_1 0x70 +#define H_2 0x72 +#define H_3 0x74 +#define H_4 0x76 +#define H_5 0x78 +#define H_6 0x7A +#define H_7 0x7C +#define H_8 0x7E + +#define I_1 0x80 +#define I_2 0x82 +#define I_3 0x84 +#define I_4 0x86 +#define I_5 0x88 +#define I_6 0x8A +#define I_7 0x8C +#define I_8 0x8E + +#define J_1 0x90 +#define J_2 0x92 +#define J_3 0x94 +#define J_4 0x96 +#define J_5 0x98 +#define J_6 0x9A +#define J_7 0x9C +#define J_8 0x9E + +#define K_1 0xA0 +#define K_2 0xA2 +#define K_3 0xA4 +#define K_4 0xA6 +#define K_5 0xA8 +#define K_6 0xAA +#define K_7 0xAC +#define K_8 0xAE + +#define L_1 0xB0 +#define L_2 0xB2 +#define L_3 0xB4 +#define L_4 0xB6 +#define L_5 0xB8 +#define L_6 0xBA +#define L_7 0xBC +#define L_8 0xBE diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index d6b0881139d3..30ab796f3e35 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -16,55 +16,35 @@ */ #include "is31fl3736.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define ISSI_ADDR_DEFAULT 0x50 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE -#define ISSI_INTERRUPTMASKREGISTER 0xF0 -#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 - -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#define IS31FL3736_PWM_REGISTER_COUNT 192 // actually 96 +#define IS31FL3736_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3736_I2C_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3736_I2C_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE 0 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3736_PWM_FREQUENCY +# define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3736B only #endif -#ifndef ISSI_SWPULLUP -# define ISSI_SWPULLUP PUR_0R +#ifndef IS31FL3736_SW_PULLUP +# define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM #endif -#ifndef ISSI_CSPULLUP -# define ISSI_CSPULLUP PUR_0R +#ifndef IS31FL3736_CS_PULLDOWN +# define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM #endif -#ifndef ISSI_GLOBALCURRENT -# define ISSI_GLOBALCURRENT 0xFF +#ifndef IS31FL3736_GLOBAL_CURRENT +# define IS31FL3736_GLOBAL_CURRENT 0xFF #endif // Transfer buffer for TWITransmitData() @@ -74,101 +54,134 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; +uint8_t g_pwm_buffer[IS31FL3736_DRIVER_COUNT][IS31FL3736_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3736_DRIVER_COUNT] = {false}; -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; -bool g_led_control_registers_update_required = false; +uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false}; -void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; +#if IS31FL3736_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); #endif } -void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes PG1 is already selected // transmit PWM registers in 12 transfers of 16 bytes // g_twi_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals - for (int i = 0; i < 192; i += 16) { + for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { g_twi_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; +#if IS31FL3736_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); +#endif + } +} + +void is31fl3736_init_drivers(void) { + i2c_init(); + + is31fl3736_init(IS31FL3736_I2C_ADDRESS_1); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_2); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_3); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_init(IS31FL3736_I2C_ADDRESS_4); +# endif +# endif #endif + + for (int i = 0; i < IS31FL3736_LED_COUNT; i++) { + is31fl3736_set_led_control_register(i, true, true, true); } + + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_1, 0); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_2, 1); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_3, 2); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_update_led_control_registers(IS31FL3736_I2C_ADDRESS_4, 3); +# endif +# endif +#endif } -void IS31FL3736_init(uint8_t addr) { +void is31fl3736_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); // Select PG0 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_REG_LED_CONTROL); // Turn off all LEDs. - for (int i = 0x00; i <= 0x17; i++) { - IS31FL3736_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITELOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); // Select PG1 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. - for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3736_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); // Select PG3 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3736_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3736_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CS_PULLDOWN, IS31FL3736_CS_PULLDOWN); // Set global current to maximum. - IS31FL3736_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3736_GLOBAL_CURRENT); // Disable software shutdown. - IS31FL3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); + is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_CONFIGURATION, ((IS31FL3736_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - is31_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3736_led_t led; + if (index >= 0 && index < IS31FL3736_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; @@ -176,28 +189,21 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3736_set_color(i, red, green, blue); +void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3736_LED_COUNT; i++) { + is31fl3736_set_color(i, red, green, blue); } } -void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3736_led_t led; + memcpy_P(&led, (&g_is31fl3736_leds[index]), sizeof(led)); - // IS31FL3733 - // The PWM register for a matrix position (0x00 to 0xBF) can be - // divided by 8 to get the LED control register (0x00 to 0x17), - // then mod 8 to get the bit position within that register. - - // IS31FL3736 // The PWM register for a matrix position (0x00 to 0xBF) is interleaved, so: // A1=0x00 A2=0x02 A3=0x04 A4=0x06 A5=0x08 A6=0x0A A7=0x0C A8=0x0E // B1=0x10 B2=0x12 B3=0x14 // But also, the LED control registers (0x00 to 0x17) are also interleaved, so: // A1-A4=0x00 A5-A8=0x01 - // So, the same math applies. uint8_t control_register_r = led.r / 8; uint8_t control_register_g = led.g / 8; @@ -223,63 +229,41 @@ void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b); } - g_led_control_registers_update_required = true; -} - -void IS31FL3736_mono_set_brightness(int index, uint8_t value) { - if (index >= 0 && index < 96) { - // Index in range 0..95 -> A1..A8, B1..B8, etc. - // Map index 0..95 to registers 0x00..0xBE (interleaved) - uint8_t pwm_register = index * 2; - g_pwm_buffer[0][pwm_register] = value; - g_pwm_buffer_update_required[0] = true; - } -} - -void IS31FL3736_mono_set_brightness_all(uint8_t value) { - for (int i = 0; i < 96; i++) { - IS31FL3736_mono_set_brightness(i, value); - } -} - -void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled) { - // Index in range 0..95 -> A1..A8, B1..B8, etc. - - // Map index 0..95 to registers 0x00..0xBE (interleaved) - uint8_t pwm_register = index * 2; - // Map register 0x00..0xBE (interleaved) into control register and bit - uint8_t control_register = pwm_register / 8; - uint8_t bit = pwm_register % 8; - - if (enabled) { - g_led_control_registers[0][control_register] |= (1 << bit); - } else { - g_led_control_registers[0][control_register] &= ~(1 << bit); - } - - g_led_control_registers_update_required = true; + g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3736_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1 - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); - IS31FL3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); + g_pwm_buffer_update_required[index] = false; } - g_pwm_buffer_update_required[index] = false; } -void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) { - if (g_led_control_registers_update_required) { +void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); - for (int i = 0; i < 24; i++) { - IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]); - // IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3736_write_register(addr, i, g_led_control_registers[index][i]); } - g_led_control_registers_update_required = false; + g_led_control_registers_update_required[index] = false; } } + +void is31fl3736_flush(void) { + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_1, 0); +#if defined(IS31FL3736_I2C_ADDRESS_2) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_2, 1); +# if defined(IS31FL3736_I2C_ADDRESS_3) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_3, 2); +# if defined(IS31FL3736_I2C_ADDRESS_4) + is31fl3736_update_pwm_buffers(IS31FL3736_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index 332b2035f302..a5710d7ed41e 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -19,57 +19,152 @@ #include #include -#include #include "progmem.h" +#include "util.h" -// Simple interface option. -// If these aren't defined, just define them to make it compile +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3736_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3736_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3736_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3736_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3736_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3736_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3736_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3736_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3736_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3736_led_t +#define g_is31_leds g_is31fl3736_leds + +#define PUR_0R IS31FL3736_PUR_0_OHM +#define PUR_05KR IS31FL3736_PUR_0K5_OHM +#define PUR_1KR IS31FL3736_PUR_1K_OHM +#define PUR_2KR IS31FL3736_PUR_2K_OHM +#define PUR_4KR IS31FL3736_PUR_4K_OHM +#define PUR_8KR IS31FL3736_PUR_8K_OHM +#define PUR_16KR IS31FL3736_PUR_16K_OHM +#define PUR_32KR IS31FL3736_PUR_32K_OHM +// ======== -#ifndef DRIVER_COUNT -# define DRIVER_COUNT 2 +#define IS31FL3736_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3736_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3736_REG_COMMAND 0xFD + +#define IS31FL3736_COMMAND_LED_CONTROL 0x00 +#define IS31FL3736_COMMAND_PWM 0x01 +#define IS31FL3736_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3736_COMMAND_FUNCTION 0x03 + +#define IS31FL3736_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3736_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3736_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3736_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3736_FUNCTION_REG_RESET 0x11 + +#define IS31FL3736_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3736_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50 +#define IS31FL3736_I2C_ADDRESS_GND_SCL 0x51 +#define IS31FL3736_I2C_ADDRESS_GND_SDA 0x52 +#define IS31FL3736_I2C_ADDRESS_GND_VCC 0x53 +#define IS31FL3736_I2C_ADDRESS_SCL_GND 0x54 +#define IS31FL3736_I2C_ADDRESS_SCL_SCL 0x55 +#define IS31FL3736_I2C_ADDRESS_SCL_SDA 0x56 +#define IS31FL3736_I2C_ADDRESS_SCL_VCC 0x57 +#define IS31FL3736_I2C_ADDRESS_SDA_GND 0x58 +#define IS31FL3736_I2C_ADDRESS_SDA_SCL 0x59 +#define IS31FL3736_I2C_ADDRESS_SDA_SDA 0x5A +#define IS31FL3736_I2C_ADDRESS_SDA_VCC 0x5B +#define IS31FL3736_I2C_ADDRESS_VCC_GND 0x5C +#define IS31FL3736_I2C_ADDRESS_VCC_SCL 0x5D +#define IS31FL3736_I2C_ADDRESS_VCC_SDA 0x5E +#define IS31FL3736_I2C_ADDRESS_VCC_VCC 0x5F + +#if defined(RGB_MATRIX_IS31FL3736) +# define IS31FL3736_LED_COUNT RGB_MATRIX_LED_COUNT #endif -#ifndef RGB_MATRIX_LED_COUNT -# define RGB_MATRIX_LED_COUNT 96 +#if defined(IS31FL3736_I2C_ADDRESS_4) +# define IS31FL3736_DRIVER_COUNT 4 +#elif defined(IS31FL3736_I2C_ADDRESS_3) +# define IS31FL3736_DRIVER_COUNT 3 +#elif defined(IS31FL3736_I2C_ADDRESS_2) +# define IS31FL3736_DRIVER_COUNT 2 +#elif defined(IS31FL3736_I2C_ADDRESS_1) +# define IS31FL3736_DRIVER_COUNT 1 #endif -typedef struct is31_led { +typedef struct is31fl3736_led_t { uint8_t driver : 2; uint8_t r; uint8_t g; uint8_t b; -} __attribute__((packed)) is31_led; +} PACKED is31fl3736_led_t; -extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT]; -void IS31FL3736_init(uint8_t addr); -void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3736_init_drivers(void); +void is31fl3736_init(uint8_t addr); +void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue); - -void IS31FL3736_mono_set_brightness(int index, uint8_t value); -void IS31FL3736_mono_set_brightness_all(uint8_t value); -void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled); +void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3736_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3736_update_led_control_registers(uint8_t addr, uint8_t index); - -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor -#define PUR_1KR 0x02 // 1.0k Ohm resistor -#define PUR_2KR 0x03 // 2.0k Ohm resistor -#define PUR_4KR 0x04 // 4.0k Ohm resistor -#define PUR_8KR 0x05 // 8.0k Ohm resistor -#define PUR_16KR 0x06 // 16k Ohm resistor -#define PUR_32KR 0x07 // 32k Ohm resistor +void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3736_flush(void); + +#define IS31FL3736_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3736_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3736_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3736_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3736_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3736_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3736_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3736_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3736_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3736_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3736_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3736_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3736_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3736_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3736_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3736_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3736_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3736_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3736_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3736_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3736_PWM_FREQUENCY_1K05_HZ 0b100 #define A_1 0x00 #define A_2 0x02 diff --git a/drivers/led/issi/is31fl3737-simple.c b/drivers/led/issi/is31fl3737-simple.c new file mode 100644 index 000000000000..7f641f4ca5d0 --- /dev/null +++ b/drivers/led/issi/is31fl3737-simple.c @@ -0,0 +1,249 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2021 Doni Crosby + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "is31fl3737-simple.h" +#include +#include "i2c_master.h" +#include "wait.h" + +#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144 +#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3737_I2C_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3737_I2C_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE 0 +#endif + +#ifndef IS31FL3737_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only +#endif + +#ifndef IS31FL3737_SW_PULLUP +# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM +#endif + +#ifndef IS31FL3737_CS_PULLDOWN +# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM +#endif + +#ifndef IS31FL3737_GLOBAL_CURRENT +# define IS31FL3737_GLOBAL_CURRENT 0xFF +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20]; + +// These buffers match the IS31FL3737 PWM registers. +// The control buffers match the PG0 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's +// probably not worth the extra complexity. + +uint8_t g_pwm_buffer[IS31FL3737_DRIVER_COUNT][IS31FL3737_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3737_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false}; + +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if IS31FL3737_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); +#endif +} + +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // assumes PG1 is already selected + + // transmit PWM registers in 12 transfers of 16 bytes + // g_twi_transfer_buffer[] is 20 bytes + + // iterate over the pwm_buffer contents at 16 byte intervals + for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { + g_twi_transfer_buffer[0] = i; + // copy the data from i to i+15 + // device will auto-increment register for data after the first byte + // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer + memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + +#if IS31FL3737_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); +#endif + } +} + +void is31fl3737_init_drivers(void) { + i2c_init(); + + is31fl3737_init(IS31FL3737_I2C_ADDRESS_1); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_2); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_3); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3737_LED_COUNT; i++) { + is31fl3737_set_led_control_register(i, true); + } + + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_1, 0); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_2, 1); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_3, 2); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3737_init(uint8_t addr) { + // In order to avoid the LEDs being driven with garbage data + // in the LED driver's PWM registers, shutdown is enabled last. + // Set up the mode and other settings, clear the PWM registers, + // then disable software shutdown. + + // Unlock the command register. + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG0 + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); + // Turn off all LEDs. + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, 0x00); + } + + // Unlock the command register. + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG1 + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); + // Set PWM on all LEDs to 0 + // No need to setup Breath registers to PWM as that is the default. + for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, 0x00); + } + + // Unlock the command register. + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG3 + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION); + // Set de-ghost pull-up resistors (SWx) + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP); + // Set de-ghost pull-down resistors (CSx) + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN); + // Set global current to maximum. + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT); + // Disable software shutdown. + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01); + + // Wait 10ms to ensure the device has woken up. + wait_ms(10); +} + +void is31fl3737_set_value(int index, uint8_t value) { + is31fl3737_led_t led; + if (index >= 0 && index < IS31FL3737_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } + g_pwm_buffer[led.driver][led.v] = value; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void is31fl3737_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3737_LED_COUNT; i++) { + is31fl3737_set_value(i, value); + } +} + +void is31fl3737_set_led_control_register(uint8_t index, bool value) { + is31fl3737_led_t led; + memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led)); + + uint8_t control_register = led.v / 8; + uint8_t bit_value = led.v % 8; + + if (value) { + g_led_control_registers[led.driver][control_register] |= (1 << bit_value); + } else { + g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value); + } + + g_led_control_registers_update_required[led.driver] = true; +} + +void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + // Firstly we need to unlock the command register and select PG1 + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); + + is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + g_pwm_buffer_update_required[index] = false; + } +} + +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { + // Firstly we need to unlock the command register and select PG0 + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, g_led_control_registers[index][i]); + } + g_led_control_registers_update_required[index] = false; + } +} + +void is31fl3737_flush(void) { + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3737-simple.h b/drivers/led/issi/is31fl3737-simple.h new file mode 100644 index 000000000000..2658702b1b58 --- /dev/null +++ b/drivers/led/issi/is31fl3737-simple.h @@ -0,0 +1,299 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2021 Doni Crosby + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 +#include +#include "progmem.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define PUR_0R IS31FL3737_PUR_0_OHM +#define PUR_05KR IS31FL3737_PUR_0K5_OHM +#define PUR_1KR IS31FL3737_PUR_1K_OHM +#define PUR_2KR IS31FL3737_PUR_2K_OHM +#define PUR_4KR IS31FL3737_PUR_4K_OHM +#define PUR_8KR IS31FL3737_PUR_8K_OHM +#define PUR_16KR IS31FL3737_PUR_16K_OHM +#define PUR_32KR IS31FL3737_PUR_32K_OHM +// ======== + +#define IS31FL3737_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3737_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3737_REG_COMMAND 0xFD + +#define IS31FL3737_COMMAND_LED_CONTROL 0x00 +#define IS31FL3737_COMMAND_PWM 0x01 +#define IS31FL3737_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3737_COMMAND_FUNCTION 0x03 + +#define IS31FL3737_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3737_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3737_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3737_FUNCTION_REG_RESET 0x11 + +#define IS31FL3737_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3737_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3737_I2C_ADDRESS_GND 0x50 +#define IS31FL3737_I2C_ADDRESS_SCL 0x55 +#define IS31FL3737_I2C_ADDRESS_SDA 0x5A +#define IS31FL3737_I2C_ADDRESS_VCC 0x5F + +#if defined(LED_MATRIX_IS31FL3737) +# define IS31FL3737_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3737_I2C_ADDRESS_4) +# define IS31FL3737_DRIVER_COUNT 4 +#elif defined(IS31FL3737_I2C_ADDRESS_3) +# define IS31FL3737_DRIVER_COUNT 3 +#elif defined(IS31FL3737_I2C_ADDRESS_2) +# define IS31FL3737_DRIVER_COUNT 2 +#elif defined(IS31FL3737_I2C_ADDRESS_1) +# define IS31FL3737_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3737_led_t { + uint8_t driver : 2; + uint8_t v; +} PACKED is31fl3737_led_t; + +extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT]; + +void is31fl3737_init_drivers(void); +void is31fl3737_init(uint8_t addr); +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void is31fl3737_set_value(int index, uint8_t value); +void is31fl3737_set_value_all(uint8_t value); + +void is31fl3737_set_led_control_register(uint8_t index, bool value); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3737_flush(void); + +#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3737_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3737_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3737_PWM_FREQUENCY_1K05_HZ 0b100 + +#define A_1 0x00 +#define A_2 0x01 +#define A_3 0x02 +#define A_4 0x03 +#define A_5 0x04 +#define A_6 0x05 +#define A_7 0x08 +#define A_8 0x09 +#define A_9 0x0A +#define A_10 0x0B +#define A_11 0x0C +#define A_12 0x0D + +#define B_1 0x10 +#define B_2 0x11 +#define B_3 0x12 +#define B_4 0x13 +#define B_5 0x14 +#define B_6 0x15 +#define B_7 0x18 +#define B_8 0x19 +#define B_9 0x1A +#define B_10 0x1B +#define B_11 0x1C +#define B_12 0x1D + +#define C_1 0x20 +#define C_2 0x21 +#define C_3 0x22 +#define C_4 0x23 +#define C_5 0x24 +#define C_6 0x25 +#define C_7 0x28 +#define C_8 0x29 +#define C_9 0x2A +#define C_10 0x2B +#define C_11 0x2C +#define C_12 0x2D + +#define D_1 0x30 +#define D_2 0x31 +#define D_3 0x32 +#define D_4 0x33 +#define D_5 0x34 +#define D_6 0x35 +#define D_7 0x38 +#define D_8 0x39 +#define D_9 0x3A +#define D_10 0x3B +#define D_11 0x3C +#define D_12 0x3D + +#define E_1 0x40 +#define E_2 0x41 +#define E_3 0x42 +#define E_4 0x43 +#define E_5 0x44 +#define E_6 0x45 +#define E_7 0x48 +#define E_8 0x49 +#define E_9 0x4A +#define E_10 0x4B +#define E_11 0x4C +#define E_12 0x4D + +#define F_1 0x50 +#define F_2 0x51 +#define F_3 0x52 +#define F_4 0x53 +#define F_5 0x54 +#define F_6 0x55 +#define F_7 0x58 +#define F_8 0x59 +#define F_9 0x5A +#define F_10 0x5B +#define F_11 0x5C +#define F_12 0x5D + +#define G_1 0x60 +#define G_2 0x61 +#define G_3 0x62 +#define G_4 0x63 +#define G_5 0x64 +#define G_6 0x65 +#define G_7 0x68 +#define G_8 0x69 +#define G_9 0x6A +#define G_10 0x6B +#define G_11 0x6C +#define G_12 0x6D + +#define H_1 0x70 +#define H_2 0x71 +#define H_3 0x72 +#define H_4 0x73 +#define H_5 0x74 +#define H_6 0x75 +#define H_7 0x78 +#define H_8 0x79 +#define H_9 0x7A +#define H_10 0x7B +#define H_11 0x7C +#define H_12 0x7D + +#define I_1 0x80 +#define I_2 0x81 +#define I_3 0x82 +#define I_4 0x83 +#define I_5 0x84 +#define I_6 0x85 +#define I_7 0x88 +#define I_8 0x89 +#define I_9 0x8A +#define I_10 0x8B +#define I_11 0x8C +#define I_12 0x8D + +#define J_1 0x90 +#define J_2 0x91 +#define J_3 0x92 +#define J_4 0x93 +#define J_5 0x94 +#define J_6 0x95 +#define J_7 0x98 +#define J_8 0x99 +#define J_9 0x9A +#define J_10 0x9B +#define J_11 0x9C +#define J_12 0x9D + +#define K_1 0xA0 +#define K_2 0xA1 +#define K_3 0xA2 +#define K_4 0xA3 +#define K_5 0xA4 +#define K_6 0xA5 +#define K_7 0xA8 +#define K_8 0xA9 +#define K_9 0xAA +#define K_10 0xAB +#define K_11 0xAC +#define K_12 0xAD + +#define L_1 0xB0 +#define L_2 0xB1 +#define L_3 0xB2 +#define L_4 0xB3 +#define L_5 0xB4 +#define L_6 0xB5 +#define L_7 0xB8 +#define L_8 0xB9 +#define L_9 0xBA +#define L_10 0xBB +#define L_11 0xBC +#define L_12 0xBD diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index b6ed6b262950..a458431952cd 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -18,59 +18,35 @@ */ #include "is31fl3737.h" +#include #include "i2c_master.h" #include "wait.h" -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define ISSI_ADDR_DEFAULT 0x50 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE -#define ISSI_INTERRUPTMASKREGISTER 0xF0 -#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 - -#define ISSI_PAGE_LEDCONTROL 0x00 // PG0 -#define ISSI_PAGE_PWM 0x01 // PG1 -#define ISSI_PAGE_AUTOBREATH 0x02 // PG2 -#define ISSI_PAGE_FUNCTION 0x03 // PG3 - -#define ISSI_REG_CONFIGURATION 0x00 // PG3 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG3 -#define ISSI_REG_RESET 0x11 // PG3 -#define ISSI_REG_SWPULLUP 0x0F // PG3 -#define ISSI_REG_CSPULLUP 0x10 // PG3 - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#define IS31FL3737_PWM_REGISTER_COUNT 192 // actually 144 +#define IS31FL3737_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef IS31FL3737_I2C_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT 100 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3737_I2C_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE 0 #endif -#ifndef ISSI_PWM_FREQUENCY -# define ISSI_PWM_FREQUENCY 0b000 // PFS - IS31FL3737B only +#ifndef IS31FL3737_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ // PFS - IS31FL3737B only #endif -#ifndef ISSI_SWPULLUP -# define ISSI_SWPULLUP PUR_0R +#ifndef IS31FL3737_SW_PULLUP +# define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM #endif -#ifndef ISSI_CSPULLUP -# define ISSI_CSPULLUP PUR_0R +#ifndef IS31FL3737_CS_PULLDONW +# define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM #endif -#ifndef ISSI_GLOBALCURRENT -# define ISSI_GLOBALCURRENT 0xFF +#ifndef IS31FL3737_GLOBAL_CURRENT +# define IS31FL3737_GLOBAL_CURRENT 0xFF #endif // Transfer buffer for TWITransmitData() @@ -80,102 +56,135 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3737_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; +uint8_t g_pwm_buffer[IS31FL3737_DRIVER_COUNT][IS31FL3737_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3737_DRIVER_COUNT] = {false}; -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; -bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; +uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false}; -void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; +#if IS31FL3737_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); #endif } -void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // assumes PG1 is already selected // transmit PWM registers in 12 transfers of 16 bytes // g_twi_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals - for (int i = 0; i < 192; i += 16) { + for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { g_twi_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break; +#if IS31FL3737_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); +#endif + } +} + +void is31fl3737_init_drivers(void) { + i2c_init(); + + is31fl3737_init(IS31FL3737_I2C_ADDRESS_1); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_2); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_3); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_init(IS31FL3737_I2C_ADDRESS_4); +# endif +# endif #endif + + for (int i = 0; i < IS31FL3737_LED_COUNT; i++) { + is31fl3737_set_led_control_register(i, true, true, true); } + + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_1, 0); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_2, 1); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_3, 2); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_update_led_control_registers(IS31FL3737_I2C_ADDRESS_4, 3); +# endif +# endif +#endif } -void IS31FL3737_init(uint8_t addr) { +void is31fl3737_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); // Select PG0 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); // Turn off all LEDs. - for (int i = 0x00; i <= 0x17; i++) { - IS31FL3737_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); // Select PG1 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. - for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3737_write_register(addr, i, 0x00); + for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, 0x00); } // Unlock the command register. - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); // Select PG3 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) - IS31FL3737_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) - IS31FL3737_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CS_PULLDOWN, IS31FL3737_CS_PULLDOWN); // Set global current to maximum. - IS31FL3737_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3737_GLOBAL_CURRENT); // Disable software shutdown. - IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); + is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_CONFIGURATION, ((IS31FL3737_PWM_FREQUENCY & 0b111) << 3) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - is31_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3737_led_t led; + if (index >= 0 && index < IS31FL3737_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; @@ -183,15 +192,15 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3737_set_color(i, red, green, blue); +void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3737_LED_COUNT; i++) { + is31fl3737_set_color(i, red, green, blue); } } -void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3737_led_t led; + memcpy_P(&led, (&g_is31fl3737_leds[index]), sizeof(led)); uint8_t control_register_r = led.r / 8; uint8_t control_register_g = led.g / 8; @@ -219,25 +228,38 @@ void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); - IS31FL3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); + g_pwm_buffer_update_required[index] = false; } - g_pwm_buffer_update_required[index] = false; } -void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); - for (int i = 0; i < 24; i++) { - IS31FL3737_write_register(addr, i, g_led_control_registers[index][i]); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { + is31fl3737_write_register(addr, i, g_led_control_registers[index][i]); } + g_led_control_registers_update_required[index] = false; } - g_led_control_registers_update_required[index] = false; +} + +void is31fl3737_flush(void) { + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_1, 0); +#if defined(IS31FL3737_I2C_ADDRESS_2) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_2, 1); +# if defined(IS31FL3737_I2C_ADDRESS_3) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_3, 2); +# if defined(IS31FL3737_I2C_ADDRESS_4) + is31fl3737_update_pwm_buffers(IS31FL3737_I2C_ADDRESS_4, 3); +# endif +# endif +#endif } diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index ca9a917ee2bc..8de3bf4ef52a 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -21,42 +21,143 @@ #include #include -#include #include "progmem.h" +#include "util.h" -typedef struct is31_led { +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3737_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3737_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3737_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3737_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3737_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3737_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_PWM_FREQUENCY +# define IS31FL3737_PWM_FREQUENCY ISSI_PWM_FREQUENCY +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3737_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3737_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3737_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define is31_led is31fl3737_led_t +#define g_is31_leds g_is31fl3737_leds + +#define PUR_0R IS31FL3737_PUR_0_OHM +#define PUR_05KR IS31FL3737_PUR_0K5_OHM +#define PUR_1KR IS31FL3737_PUR_1K_OHM +#define PUR_2KR IS31FL3737_PUR_2K_OHM +#define PUR_4KR IS31FL3737_PUR_4K_OHM +#define PUR_8KR IS31FL3737_PUR_8K_OHM +#define PUR_16KR IS31FL3737_PUR_16K_OHM +#define PUR_32KR IS31FL3737_PUR_32K_OHM +// ======== + +#define IS31FL3737_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3737_REG_INTERRUPT_STATUS 0xF1 + +#define IS31FL3737_REG_COMMAND 0xFD + +#define IS31FL3737_COMMAND_LED_CONTROL 0x00 +#define IS31FL3737_COMMAND_PWM 0x01 +#define IS31FL3737_COMMAND_AUTO_BREATH 0x02 +#define IS31FL3737_COMMAND_FUNCTION 0x03 + +#define IS31FL3737_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3737_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3737_FUNCTION_REG_SW_PULLUP 0x0F +#define IS31FL3737_FUNCTION_REG_CS_PULLDOWN 0x10 +#define IS31FL3737_FUNCTION_REG_RESET 0x11 + +#define IS31FL3737_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3737_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3737_I2C_ADDRESS_GND 0x50 +#define IS31FL3737_I2C_ADDRESS_SCL 0x55 +#define IS31FL3737_I2C_ADDRESS_SDA 0x5A +#define IS31FL3737_I2C_ADDRESS_VCC 0x5F + +#if defined(RGB_MATRIX_IS31FL3737) +# define IS31FL3737_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3737_I2C_ADDRESS_4) +# define IS31FL3737_DRIVER_COUNT 4 +#elif defined(IS31FL3737_I2C_ADDRESS_3) +# define IS31FL3737_DRIVER_COUNT 3 +#elif defined(IS31FL3737_I2C_ADDRESS_2) +# define IS31FL3737_DRIVER_COUNT 2 +#elif defined(IS31FL3737_I2C_ADDRESS_1) +# define IS31FL3737_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3737_led_t { uint8_t driver : 2; uint8_t r; uint8_t g; uint8_t b; -} __attribute__((packed)) is31_led; +} PACKED is31fl3737_led_t; -extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT]; -void IS31FL3737_init(uint8_t addr); -void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); -void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +void is31fl3737_init_drivers(void); +void is31fl3737_init(uint8_t addr); +void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index); - -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL -#define PUR_1KR 0x02 // 1.0k Ohm resistor in t_NOL -#define PUR_2KR 0x03 // 2.0k Ohm resistor in t_NOL -#define PUR_4KR 0x04 // 4.0k Ohm resistor in t_NOL -#define PUR_8KR 0x05 // 8.0k Ohm resistor in t_NOL -#define PUR_16KR 0x06 // 16k Ohm resistor in t_NOL -#define PUR_32KR 0x07 // 32k Ohm resistor in t_NOL +void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index); + +void is31fl3737_flush(void); + +#define IS31FL3737_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3737_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3737_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3737_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3737_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3737_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3737_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3737_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3737_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3737_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3737_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3737_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3737_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3737_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3737_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3737_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3737_PWM_FREQUENCY_8K4_HZ 0b000 +#define IS31FL3737_PWM_FREQUENCY_4K2_HZ 0b001 +#define IS31FL3737_PWM_FREQUENCY_26K7_HZ 0b010 +#define IS31FL3737_PWM_FREQUENCY_2K1_HZ 0b011 +#define IS31FL3737_PWM_FREQUENCY_1K05_HZ 0b100 #define A_1 0x00 #define A_2 0x01 diff --git a/drivers/led/issi/is31fl3741-simple.c b/drivers/led/issi/is31fl3741-simple.c new file mode 100644 index 000000000000..f7009853ba62 --- /dev/null +++ b/drivers/led/issi/is31fl3741-simple.c @@ -0,0 +1,278 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "is31fl3741-simple.h" +#include +#include "i2c_master.h" +#include "wait.h" + +#define IS31FL3741_PWM_REGISTER_COUNT 351 + +#ifndef IS31FL3741_I2C_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT 100 +#endif + +#ifndef IS31FL3741_I2C_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE 0 +#endif + +#ifndef IS31FL3741_CONFIGURATION +# define IS31FL3741_CONFIGURATION 0x01 +#endif + +#ifndef IS31FL3741_PWM_FREQUENCY +# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ +#endif + +#ifndef IS31FL3741_SW_PULLUP +# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM +#endif + +#ifndef IS31FL3741_CS_PULLDOWN +# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM +#endif + +#ifndef IS31FL3741_GLOBAL_CURRENT +# define IS31FL3741_GLOBAL_CURRENT 0xFF +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20] = {0xFF}; + +// These buffers match the IS31FL3741 and IS31FL3741A PWM registers. +// The scaling buffers match the PG2 and PG3 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's +// probably not worth the extra complexity. +uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false}; +bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false}; + +uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; + +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; + } +#else + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); +#endif +} + +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // Assume PG0 is already selected + + for (int i = 0; i < 342; i += 18) { + if (i == 180) { + // unlock the command register and select PG1 + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1); + } + + g_twi_transfer_buffer[0] = i % 180; + memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18); + +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + return false; + } +#endif + } + + // transfer the left cause the total number is 351 + g_twi_transfer_buffer[0] = 162; + memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9); + +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + return false; + } +#endif + + return true; +} + +void is31fl3741_init_drivers(void) { + i2c_init(); + + is31fl3741_init(IS31FL3741_I2C_ADDRESS_1); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_2); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_3); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3741_LED_COUNT; i++) { + is31fl3741_set_led_control_register(i, true); + } + + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_2, 1); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_3, 2); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3741_init(uint8_t addr) { + // In order to avoid the LEDs being driven with garbage data + // in the LED driver's PWM registers, shutdown is enabled last. + // Set up the mode and other settings, clear the PWM registers, + // then disable software shutdown. + // Unlock the command register. + + // Unlock the command register. + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + + // Select PG4 + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION); + + // Set to Normal operation + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION); + + // Set Golbal Current Control Register + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT); + // Set Pull up & Down for SWx CSy + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP)); + // Set PWM frequency + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111)); + + // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); + + // Wait 10ms to ensure the device has woken up. + wait_ms(10); +} + +void is31fl3741_set_value(int index, uint8_t value) { + is31fl3741_led_t led; + if (index >= 0 && index < IS31FL3741_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } + g_pwm_buffer_update_required[led.driver] = true; + g_pwm_buffer[led.driver][led.v] = value; + } +} + +void is31fl3741_set_value_all(uint8_t value) { + for (int i = 0; i < IS31FL3741_LED_COUNT; i++) { + is31fl3741_set_value(i, value); + } +} + +void is31fl3741_set_led_control_register(uint8_t index, bool value) { + is31fl3741_led_t led; + memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led)); + + if (value) { + g_scaling_registers[led.driver][led.v] = 0xFF; + } else { + g_scaling_registers[led.driver][led.v] = 0x00; + } + + g_scaling_registers_update_required[led.driver] = true; +} + +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + // unlock the command register and select PG2 + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0); + + is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); + } + + g_pwm_buffer_update_required[index] = false; +} + +void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value) { + g_pwm_buffer[pled->driver][pled->v] = value; + + g_pwm_buffer_update_required[pled->driver] = true; +} + +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_scaling_registers_update_required[index]) { + // unlock the command register and select PG2 + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0); + + // CS1_SW1 to CS30_SW6 are on PG2 + for (int i = CS1_SW1; i <= CS30_SW6; ++i) { + is31fl3741_write_register(addr, i, g_scaling_registers[index][i]); + } + + // unlock the command register and select PG3 + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1); + + // CS1_SW7 to CS39_SW9 are on PG3 + for (int i = CS1_SW7; i <= CS39_SW9; ++i) { + is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); + } + + g_scaling_registers_update_required[index] = false; + } +} + +void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value) { + g_scaling_registers[pled->driver][pled->v] = value; + + g_scaling_registers_update_required[pled->driver] = true; +} + +void is31fl3741_flush(void) { + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3741-simple.h b/drivers/led/issi/is31fl3741-simple.h new file mode 100644 index 000000000000..34608a37e005 --- /dev/null +++ b/drivers/led/issi/is31fl3741-simple.h @@ -0,0 +1,516 @@ +/* Copyright 2017 Jason Williams + * Copyright 2018 Jack Humbert + * Copyright 2018 Yiancar + * Copyright 2020 MelGeek + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 +#include +#include "progmem.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef ISSI_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_CONFIGURATION +# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif + +#define PUR_0R IS31FL3741_PUR_0_OHM +#define PUR_05KR IS31FL3741_PUR_0K5_OHM +#define PUR_1KR IS31FL3741_PUR_1K_OHM +#define PUR_2KR IS31FL3741_PUR_2K_OHM +#define PUR_4KR IS31FL3741_PUR_4K_OHM +#define PUR_8KR IS31FL3741_PUR_8K_OHM +#define PUR_16KR IS31FL3741_PUR_16K_OHM +#define PUR_32KR IS31FL3741_PUR_32K_OHM +// ======== + +#define IS31FL3741_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3741_REG_INTERRUPT_STATUS 0xF1 +#define IS31FL3741_REG_ID 0xFC + +#define IS31FL3741_REG_COMMAND 0xFD + +#define IS31FL3741_COMMAND_PWM_0 0x00 +#define IS31FL3741_COMMAND_PWM_1 0x01 +#define IS31FL3741_COMMAND_SCALING_0 0x02 +#define IS31FL3741_COMMAND_SCALING_1 0x03 +#define IS31FL3741_COMMAND_FUNCTION 0x04 + +#define IS31FL3741_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3741_FUNCTION_REG_PULLDOWNUP 0x02 +#define IS31FL3741_FUNCTION_REG_PWM_FREQUENCY 0x36 +#define IS31FL3741_FUNCTION_REG_RESET 0x3F + +#define IS31FL3741_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3741_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3741_I2C_ADDRESS_GND 0x30 +#define IS31FL3741_I2C_ADDRESS_SCL 0x31 +#define IS31FL3741_I2C_ADDRESS_SDA 0x32 +#define IS31FL3741_I2C_ADDRESS_VCC 0x33 + +#if defined(LED_MATRIX_IS31FL3741) +# define IS31FL3741_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3741_I2C_ADDRESS_4) +# define IS31FL3741_DRIVER_COUNT 4 +#elif defined(IS31FL3741_I2C_ADDRESS_3) +# define IS31FL3741_DRIVER_COUNT 3 +#elif defined(IS31FL3741_I2C_ADDRESS_2) +# define IS31FL3741_DRIVER_COUNT 2 +#elif defined(IS31FL3741_I2C_ADDRESS_1) +# define IS31FL3741_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3741_led_t { + uint8_t driver : 2; + uint16_t v : 9; +} PACKED is31fl3741_led_t; + +extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT]; + +void is31fl3741_init_drivers(void); +void is31fl3741_init(uint8_t addr); +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void is31fl3741_set_value(int index, uint8_t value); +void is31fl3741_set_value_all(uint8_t value); + +void is31fl3741_set_led_control_register(uint8_t index, bool value); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t value); + +void is31fl3741_set_pwm_buffer(const is31fl3741_led *pled, uint8_t value); + +void is31fl3741_flush(void); + +#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000 +#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011 +#define IS31FL3741_PWM_FREQUENCY_1K8_HZ 0b0111 +#define IS31FL3741_PWM_FREQUENCY_900_HZ 0b1011 + +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 +#define CS19_SW1 0x12 +#define CS20_SW1 0x13 +#define CS21_SW1 0x14 +#define CS22_SW1 0x15 +#define CS23_SW1 0x16 +#define CS24_SW1 0x17 +#define CS25_SW1 0x18 +#define CS26_SW1 0x19 +#define CS27_SW1 0x1A +#define CS28_SW1 0x1B +#define CS29_SW1 0x1C +#define CS30_SW1 0x1D + +#define CS1_SW2 0x1E +#define CS2_SW2 0x1F +#define CS3_SW2 0x20 +#define CS4_SW2 0x21 +#define CS5_SW2 0x22 +#define CS6_SW2 0x23 +#define CS7_SW2 0x24 +#define CS8_SW2 0x25 +#define CS9_SW2 0x26 +#define CS10_SW2 0x27 +#define CS11_SW2 0x28 +#define CS12_SW2 0x29 +#define CS13_SW2 0x2A +#define CS14_SW2 0x2B +#define CS15_SW2 0x2C +#define CS16_SW2 0x2D +#define CS17_SW2 0x2E +#define CS18_SW2 0x2F +#define CS19_SW2 0x30 +#define CS20_SW2 0x31 +#define CS21_SW2 0x32 +#define CS22_SW2 0x33 +#define CS23_SW2 0x34 +#define CS24_SW2 0x35 +#define CS25_SW2 0x36 +#define CS26_SW2 0x37 +#define CS27_SW2 0x38 +#define CS28_SW2 0x39 +#define CS29_SW2 0x3A +#define CS30_SW2 0x3B + +#define CS1_SW3 0x3C +#define CS2_SW3 0x3D +#define CS3_SW3 0x3E +#define CS4_SW3 0x3F +#define CS5_SW3 0x40 +#define CS6_SW3 0x41 +#define CS7_SW3 0x42 +#define CS8_SW3 0x43 +#define CS9_SW3 0x44 +#define CS10_SW3 0x45 +#define CS11_SW3 0x46 +#define CS12_SW3 0x47 +#define CS13_SW3 0x48 +#define CS14_SW3 0x49 +#define CS15_SW3 0x4A +#define CS16_SW3 0x4B +#define CS17_SW3 0x4C +#define CS18_SW3 0x4D +#define CS19_SW3 0x4E +#define CS20_SW3 0x4F +#define CS21_SW3 0x50 +#define CS22_SW3 0x51 +#define CS23_SW3 0x52 +#define CS24_SW3 0x53 +#define CS25_SW3 0x54 +#define CS26_SW3 0x55 +#define CS27_SW3 0x56 +#define CS28_SW3 0x57 +#define CS29_SW3 0x58 +#define CS30_SW3 0x59 + +#define CS1_SW4 0x5A +#define CS2_SW4 0x5B +#define CS3_SW4 0x5C +#define CS4_SW4 0x5D +#define CS5_SW4 0x5E +#define CS6_SW4 0x5F +#define CS7_SW4 0x60 +#define CS8_SW4 0x61 +#define CS9_SW4 0x62 +#define CS10_SW4 0x63 +#define CS11_SW4 0x64 +#define CS12_SW4 0x65 +#define CS13_SW4 0x66 +#define CS14_SW4 0x67 +#define CS15_SW4 0x68 +#define CS16_SW4 0x69 +#define CS17_SW4 0x6A +#define CS18_SW4 0x6B +#define CS19_SW4 0x6C +#define CS20_SW4 0x6D +#define CS21_SW4 0x6E +#define CS22_SW4 0x6F +#define CS23_SW4 0x70 +#define CS24_SW4 0x71 +#define CS25_SW4 0x72 +#define CS26_SW4 0x73 +#define CS27_SW4 0x74 +#define CS28_SW4 0x75 +#define CS29_SW4 0x76 +#define CS30_SW4 0x77 + +#define CS1_SW5 0x78 +#define CS2_SW5 0x79 +#define CS3_SW5 0x7A +#define CS4_SW5 0x7B +#define CS5_SW5 0x7C +#define CS6_SW5 0x7D +#define CS7_SW5 0x7E +#define CS8_SW5 0x7F +#define CS9_SW5 0x80 +#define CS10_SW5 0x81 +#define CS11_SW5 0x82 +#define CS12_SW5 0x83 +#define CS13_SW5 0x84 +#define CS14_SW5 0x85 +#define CS15_SW5 0x86 +#define CS16_SW5 0x87 +#define CS17_SW5 0x88 +#define CS18_SW5 0x89 +#define CS19_SW5 0x8A +#define CS20_SW5 0x8B +#define CS21_SW5 0x8C +#define CS22_SW5 0x8D +#define CS23_SW5 0x8E +#define CS24_SW5 0x8F +#define CS25_SW5 0x90 +#define CS26_SW5 0x91 +#define CS27_SW5 0x92 +#define CS28_SW5 0x93 +#define CS29_SW5 0x94 +#define CS30_SW5 0x95 + +#define CS1_SW6 0x96 +#define CS2_SW6 0x97 +#define CS3_SW6 0x98 +#define CS4_SW6 0x99 +#define CS5_SW6 0x9A +#define CS6_SW6 0x9B +#define CS7_SW6 0x9C +#define CS8_SW6 0x9D +#define CS9_SW6 0x9E +#define CS10_SW6 0x9F +#define CS11_SW6 0xA0 +#define CS12_SW6 0xA1 +#define CS13_SW6 0xA2 +#define CS14_SW6 0xA3 +#define CS15_SW6 0xA4 +#define CS16_SW6 0xA5 +#define CS17_SW6 0xA6 +#define CS18_SW6 0xA7 +#define CS19_SW6 0xA8 +#define CS20_SW6 0xA9 +#define CS21_SW6 0xAA +#define CS22_SW6 0xAB +#define CS23_SW6 0xAC +#define CS24_SW6 0xAD +#define CS25_SW6 0xAE +#define CS26_SW6 0xAF +#define CS27_SW6 0xB0 +#define CS28_SW6 0xB1 +#define CS29_SW6 0xB2 +#define CS30_SW6 0xB3 + +#define CS1_SW7 0xB4 +#define CS2_SW7 0xB5 +#define CS3_SW7 0xB6 +#define CS4_SW7 0xB7 +#define CS5_SW7 0xB8 +#define CS6_SW7 0xB9 +#define CS7_SW7 0xBA +#define CS8_SW7 0xBB +#define CS9_SW7 0xBC +#define CS10_SW7 0xBD +#define CS11_SW7 0xBE +#define CS12_SW7 0xBF +#define CS13_SW7 0xC0 +#define CS14_SW7 0xC1 +#define CS15_SW7 0xC2 +#define CS16_SW7 0xC3 +#define CS17_SW7 0xC4 +#define CS18_SW7 0xC5 +#define CS19_SW7 0xC6 +#define CS20_SW7 0xC7 +#define CS21_SW7 0xC8 +#define CS22_SW7 0xC9 +#define CS23_SW7 0xCA +#define CS24_SW7 0xCB +#define CS25_SW7 0xCC +#define CS26_SW7 0xCD +#define CS27_SW7 0xCE +#define CS28_SW7 0xCF +#define CS29_SW7 0xD0 +#define CS30_SW7 0xD1 + +#define CS1_SW8 0xD2 +#define CS2_SW8 0xD3 +#define CS3_SW8 0xD4 +#define CS4_SW8 0xD5 +#define CS5_SW8 0xD6 +#define CS6_SW8 0xD7 +#define CS7_SW8 0xD8 +#define CS8_SW8 0xD9 +#define CS9_SW8 0xDA +#define CS10_SW8 0xDB +#define CS11_SW8 0xDC +#define CS12_SW8 0xDD +#define CS13_SW8 0xDE +#define CS14_SW8 0xDF +#define CS15_SW8 0xE0 +#define CS16_SW8 0xE1 +#define CS17_SW8 0xE2 +#define CS18_SW8 0xE3 +#define CS19_SW8 0xE4 +#define CS20_SW8 0xE5 +#define CS21_SW8 0xE6 +#define CS22_SW8 0xE7 +#define CS23_SW8 0xE8 +#define CS24_SW8 0xE9 +#define CS25_SW8 0xEA +#define CS26_SW8 0xEB +#define CS27_SW8 0xEC +#define CS28_SW8 0xED +#define CS29_SW8 0xEE +#define CS30_SW8 0xEF + +#define CS1_SW9 0xF0 +#define CS2_SW9 0xF1 +#define CS3_SW9 0xF2 +#define CS4_SW9 0xF3 +#define CS5_SW9 0xF4 +#define CS6_SW9 0xF5 +#define CS7_SW9 0xF6 +#define CS8_SW9 0xF7 +#define CS9_SW9 0xF8 +#define CS10_SW9 0xF9 +#define CS11_SW9 0xFA +#define CS12_SW9 0xFB +#define CS13_SW9 0xFC +#define CS14_SW9 0xFD +#define CS15_SW9 0xFE +#define CS16_SW9 0xFF +#define CS17_SW9 0x100 +#define CS18_SW9 0x101 +#define CS19_SW9 0x102 +#define CS20_SW9 0x103 +#define CS21_SW9 0x104 +#define CS22_SW9 0x105 +#define CS23_SW9 0x106 +#define CS24_SW9 0x107 +#define CS25_SW9 0x108 +#define CS26_SW9 0x109 +#define CS27_SW9 0x10A +#define CS28_SW9 0x10B +#define CS29_SW9 0x10C +#define CS30_SW9 0x10D + +#define CS31_SW1 0x10E +#define CS32_SW1 0x10F +#define CS33_SW1 0x110 +#define CS34_SW1 0x111 +#define CS35_SW1 0x112 +#define CS36_SW1 0x113 +#define CS37_SW1 0x114 +#define CS38_SW1 0x115 +#define CS39_SW1 0x116 + +#define CS31_SW2 0x117 +#define CS32_SW2 0x118 +#define CS33_SW2 0x119 +#define CS34_SW2 0x11A +#define CS35_SW2 0x11B +#define CS36_SW2 0x11C +#define CS37_SW2 0x11D +#define CS38_SW2 0x11E +#define CS39_SW2 0x11F + +#define CS31_SW3 0x120 +#define CS32_SW3 0x121 +#define CS33_SW3 0x122 +#define CS34_SW3 0x123 +#define CS35_SW3 0x124 +#define CS36_SW3 0x125 +#define CS37_SW3 0x126 +#define CS38_SW3 0x127 +#define CS39_SW3 0x128 + +#define CS31_SW4 0x129 +#define CS32_SW4 0x12A +#define CS33_SW4 0x12B +#define CS34_SW4 0x12C +#define CS35_SW4 0x12D +#define CS36_SW4 0x12E +#define CS37_SW4 0x12F +#define CS38_SW4 0x130 +#define CS39_SW4 0x131 + +#define CS31_SW5 0x132 +#define CS32_SW5 0x133 +#define CS33_SW5 0x134 +#define CS34_SW5 0x135 +#define CS35_SW5 0x136 +#define CS36_SW5 0x137 +#define CS37_SW5 0x138 +#define CS38_SW5 0x139 +#define CS39_SW5 0x13A + +#define CS31_SW6 0x13B +#define CS32_SW6 0x13C +#define CS33_SW6 0x13D +#define CS34_SW6 0x13E +#define CS35_SW6 0x13F +#define CS36_SW6 0x140 +#define CS37_SW6 0x141 +#define CS38_SW6 0x142 +#define CS39_SW6 0x143 + +#define CS31_SW7 0x144 +#define CS32_SW7 0x145 +#define CS33_SW7 0x146 +#define CS34_SW7 0x147 +#define CS35_SW7 0x148 +#define CS36_SW7 0x149 +#define CS37_SW7 0x14A +#define CS38_SW7 0x14B +#define CS39_SW7 0x14C + +#define CS31_SW8 0x14D +#define CS32_SW8 0x14E +#define CS33_SW8 0x14F +#define CS34_SW8 0x150 +#define CS35_SW8 0x151 +#define CS36_SW8 0x152 +#define CS37_SW8 0x153 +#define CS38_SW8 0x154 +#define CS39_SW8 0x155 + +#define CS31_SW9 0x156 +#define CS32_SW9 0x157 +#define CS33_SW9 0x158 +#define CS34_SW9 0x159 +#define CS35_SW9 0x15A +#define CS36_SW9 0x15B +#define CS37_SW9 0x15C +#define CS38_SW9 0x15D +#define CS39_SW9 0x15E diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index 2f43473fc15c..efcfa77b468e 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -17,63 +17,40 @@ * along with this program. If not, see . */ -#include "wait.h" - #include "is31fl3741.h" #include #include "i2c_master.h" -#include "progmem.h" - -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define ISSI_ADDR_DEFAULT 0x60 - -#define ISSI_COMMANDREGISTER 0xFD -#define ISSI_COMMANDREGISTER_WRITELOCK 0xFE -#define ISSI_INTERRUPTMASKREGISTER 0xF0 -#define ISSI_INTERRUPTSTATUSREGISTER 0xF1 -#define ISSI_IDREGISTER 0xFC - -#define ISSI_PAGE_PWM0 0x00 // PG0 -#define ISSI_PAGE_PWM1 0x01 // PG1 -#define ISSI_PAGE_SCALING_0 0x02 // PG2 -#define ISSI_PAGE_SCALING_1 0x03 // PG3 -#define ISSI_PAGE_FUNCTION 0x04 // PG4 - -#define ISSI_REG_CONFIGURATION 0x00 // PG4 -#define ISSI_REG_GLOBALCURRENT 0x01 // PG4 -#define ISSI_REG_PULLDOWNUP 0x02 // PG4 -#define ISSI_REG_RESET 0x3F // PG4 - -#ifndef ISSI_TIMEOUT -# define ISSI_TIMEOUT 100 +#include "wait.h" + +#define IS31FL3741_PWM_REGISTER_COUNT 351 + +#ifndef IS31FL3741_I2C_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT 100 #endif -#ifndef ISSI_PERSISTENCE -# define ISSI_PERSISTENCE 0 +#ifndef IS31FL3741_I2C_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE 0 #endif -#ifndef ISSI_SWPULLUP -# define ISSI_SWPULLUP PUR_32KR +#ifndef IS31FL3741_CONFIGURATION +# define IS31FL3741_CONFIGURATION 0x01 #endif -#ifndef ISSI_CSPULLUP -# define ISSI_CSPULLUP PUR_32KR +#ifndef IS31FL3741_PWM_FREQUENCY +# define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ #endif -#ifndef ISSI_GLOBALCURRENT -# define ISSI_GLOBALCURRENT 0xFF +#ifndef IS31FL3741_SW_PULLUP +# define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM #endif -#define ISSI_MAX_LEDS 351 +#ifndef IS31FL3741_CS_PULLDOWN +# define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM +#endif + +#ifndef IS31FL3741_GLOBAL_CURRENT +# define IS31FL3741_GLOBAL_CURRENT 0xFF +#endif // Transfer buffer for TWITransmitData() uint8_t g_twi_transfer_buffer[20] = {0xFF}; @@ -82,48 +59,48 @@ uint8_t g_twi_transfer_buffer[20] = {0xFF}; // The scaling buffers match the PG2 and PG3 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3741_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's // probably not worth the extra complexity. -uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS]; -bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; -bool g_scaling_registers_update_required[DRIVER_COUNT] = {false}; +uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false}; +bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false}; -uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS]; +uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; -void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); #endif } -bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assume PG0 is already selected for (int i = 0; i < 342; i += 18) { if (i == 180) { // unlock the command register and select PG1 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1); } g_twi_transfer_buffer[0] = i % 180; memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, ISSI_TIMEOUT) != 0) { +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif @@ -133,14 +110,14 @@ bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { g_twi_transfer_buffer[0] = 162; memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9); -#if ISSI_PERSISTENCE > 0 - for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, ISSI_TIMEOUT) != 0) { +#if IS31FL3741_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif @@ -148,7 +125,37 @@ bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { return true; } -void IS31FL3741_init(uint8_t addr) { +void is31fl3741_init_drivers(void) { + i2c_init(); + + is31fl3741_init(IS31FL3741_I2C_ADDRESS_1); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_2); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_3); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_init(IS31FL3741_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < IS31FL3741_LED_COUNT; i++) { + is31fl3741_set_led_control_register(i, true, true, true); + } + + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_1, 0); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_2, 1); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_3, 2); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_update_led_control_registers(IS31FL3741_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void is31fl3741_init(uint8_t addr) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -156,46 +163,51 @@ void IS31FL3741_init(uint8_t addr) { // Unlock the command register. // Unlock the command register. - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); // Select PG4 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION); // Set to Normal operation - IS31FL3741_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION); // Set Golbal Current Control Register - IS31FL3741_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT, IS31FL3741_GLOBAL_CURRENT); // Set Pull up & Down for SWx CSy - IS31FL3741_write_register(addr, ISSI_REG_PULLDOWNUP, ((ISSI_CSPULLUP << 4) | ISSI_SWPULLUP)); + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PULLDOWNUP, ((IS31FL3741_CS_PULLDOWN << 4) | IS31FL3741_SW_PULLUP)); + // Set PWM frequency + is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_PWM_FREQUENCY, (IS31FL3741_PWM_FREQUENCY & 0b1111)); - // IS31FL3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); + // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - is31_led led; - if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + is31fl3741_led_t led; + if (index >= 0 && index < IS31FL3741_LED_COUNT) { + memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led)); + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } + g_pwm_buffer_update_required[led.driver] = true; g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required[led.driver] = true; } } -void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3741_set_color(i, red, green, blue); +void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < IS31FL3741_LED_COUNT; i++) { + is31fl3741_set_color(i, red, green, blue); } } -void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { - is31_led led; - memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); +void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + is31fl3741_led_t led; + memcpy_P(&led, (&g_is31fl3741_leds[index]), sizeof(led)); if (red) { g_scaling_registers[led.driver][led.r] = 0xFF; @@ -218,19 +230,19 @@ void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bo g_scaling_registers_update_required[led.driver] = true; } -void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // unlock the command register and select PG2 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0); - IS31FL3741_write_pwm_buffer(addr, g_pwm_buffer[index]); + is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); } g_pwm_buffer_update_required[index] = false; } -void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue) { g_pwm_buffer[pled->driver][pled->r] = red; g_pwm_buffer[pled->driver][pled->g] = green; g_pwm_buffer[pled->driver][pled->b] = blue; @@ -238,34 +250,47 @@ void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, g_pwm_buffer_update_required[pled->driver] = true; } -void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_scaling_registers_update_required[index]) { // unlock the command register and select PG2 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0); // CS1_SW1 to CS30_SW6 are on PG2 for (int i = CS1_SW1; i <= CS30_SW6; ++i) { - IS31FL3741_write_register(addr, i, g_scaling_registers[index][i]); + is31fl3741_write_register(addr, i, g_scaling_registers[index][i]); } // unlock the command register and select PG3 - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1); // CS1_SW7 to CS39_SW9 are on PG3 for (int i = CS1_SW7; i <= CS39_SW9; ++i) { - IS31FL3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); + is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); } g_scaling_registers_update_required[index] = false; } } -void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue) { g_scaling_registers[pled->driver][pled->r] = red; g_scaling_registers[pled->driver][pled->g] = green; g_scaling_registers[pled->driver][pled->b] = blue; g_scaling_registers_update_required[pled->driver] = true; } + +void is31fl3741_flush(void) { + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_1, 0); +#if defined(IS31FL3741_I2C_ADDRESS_2) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_2, 1); +# if defined(IS31FL3741_I2C_ADDRESS_3) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_3, 2); +# if defined(IS31FL3741_I2C_ADDRESS_4) + is31fl3741_update_pwm_buffers(IS31FL3741_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index b0089ea5babf..6466696b606f 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -22,43 +22,146 @@ #include #include #include "progmem.h" +#include "util.h" -typedef struct is31_led { - uint32_t driver : 2; - uint32_t r : 10; - uint32_t g : 10; - uint32_t b : 10; -} __attribute__((packed)) is31_led; +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define IS31FL3741_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define IS31FL3741_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define IS31FL3741_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define IS31FL3741_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef ISSI_TIMEOUT +# define IS31FL3741_I2C_TIMEOUT ISSI_TIMEOUT +#endif +#ifdef ISSI_PERSISTENCE +# define IS31FL3741_I2C_PERSISTENCE ISSI_PERSISTENCE +#endif +#ifdef ISSI_CONFIGURATION +# define IS31FL3741_CONFIGURATION ISSI_CONFIGURATION +#endif +#ifdef ISSI_SWPULLUP +# define IS31FL3741_SW_PULLUP ISSI_SWPULLUP +#endif +#ifdef ISSI_CSPULLUP +# define IS31FL3741_CS_PULLDOWN ISSI_CSPULLUP +#endif +#ifdef ISSI_GLOBALCURRENT +# define IS31FL3741_GLOBAL_CURRENT ISSI_GLOBALCURRENT +#endif -extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; +#define is31_led is31fl3741_led_t +#define g_is31_leds g_is31fl3741_leds -void IS31FL3741_init(uint8_t addr); -void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); +#define PUR_0R IS31FL3741_PUR_0_OHM +#define PUR_05KR IS31FL3741_PUR_0K5_OHM +#define PUR_1KR IS31FL3741_PUR_1K_OHM +#define PUR_2KR IS31FL3741_PUR_2K_OHM +#define PUR_4KR IS31FL3741_PUR_4K_OHM +#define PUR_8KR IS31FL3741_PUR_8K_OHM +#define PUR_16KR IS31FL3741_PUR_16K_OHM +#define PUR_32KR IS31FL3741_PUR_32K_OHM +// ======== -void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +#define IS31FL3741_REG_INTERRUPT_MASK 0xF0 +#define IS31FL3741_REG_INTERRUPT_STATUS 0xF1 +#define IS31FL3741_REG_ID 0xFC -void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +#define IS31FL3741_REG_COMMAND 0xFD + +#define IS31FL3741_COMMAND_PWM_0 0x00 +#define IS31FL3741_COMMAND_PWM_1 0x01 +#define IS31FL3741_COMMAND_SCALING_0 0x02 +#define IS31FL3741_COMMAND_SCALING_1 0x03 +#define IS31FL3741_COMMAND_FUNCTION 0x04 + +#define IS31FL3741_FUNCTION_REG_CONFIGURATION 0x00 +#define IS31FL3741_FUNCTION_REG_GLOBAL_CURRENT 0x01 +#define IS31FL3741_FUNCTION_REG_PULLDOWNUP 0x02 +#define IS31FL3741_FUNCTION_REG_PWM_FREQUENCY 0x36 +#define IS31FL3741_FUNCTION_REG_RESET 0x3F + +#define IS31FL3741_REG_COMMAND_WRITE_LOCK 0xFE +#define IS31FL3741_COMMAND_WRITE_LOCK_MAGIC 0xC5 + +#define IS31FL3741_I2C_ADDRESS_GND 0x30 +#define IS31FL3741_I2C_ADDRESS_SCL 0x31 +#define IS31FL3741_I2C_ADDRESS_SDA 0x32 +#define IS31FL3741_I2C_ADDRESS_VCC 0x33 + +#if defined(RGB_MATRIX_IS31FL3741) +# define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(IS31FL3741_I2C_ADDRESS_4) +# define IS31FL3741_DRIVER_COUNT 4 +#elif defined(IS31FL3741_I2C_ADDRESS_3) +# define IS31FL3741_DRIVER_COUNT 3 +#elif defined(IS31FL3741_I2C_ADDRESS_2) +# define IS31FL3741_DRIVER_COUNT 2 +#elif defined(IS31FL3741_I2C_ADDRESS_1) +# define IS31FL3741_DRIVER_COUNT 1 +#endif + +typedef struct is31fl3741_led_t { + uint8_t driver : 2; + uint16_t r : 9; + uint16_t g : 9; + uint16_t b : 9; +} PACKED is31fl3741_led_t; + +extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT]; + +void is31fl3741_init_drivers(void); +void is31fl3741_init(uint8_t addr); +void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index); -void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index); -void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); - -void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); - -#define PUR_0R 0x00 // No PUR resistor -#define PUR_05KR 0x01 // 0.5k Ohm resistor -#define PUR_1KR 0x02 // 1.0k Ohm resistor -#define PUR_2KR 0x03 // 2.0k Ohm resistor -#define PUR_4KR 0x04 // 4.0k Ohm resistor -#define PUR_8KR 0x05 // 8.0k Ohm resistor -#define PUR_16KR 0x06 // 16k Ohm resistor -#define PUR_32KR 0x07 // 32k Ohm resistor +void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index); +void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3741_set_scaling_registers(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_t green, uint8_t blue); + +void is31fl3741_flush(void); + +#define IS31FL3741_PDR_0_OHM 0b000 // No pull-down resistor +#define IS31FL3741_PDR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3741_PDR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3741_PDR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3741_PDR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3741_PDR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3741_PDR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3741_PDR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3741_PUR_0_OHM 0b000 // No pull-up resistor +#define IS31FL3741_PUR_0K5_OHM 0b001 // 0.5 kOhm resistor +#define IS31FL3741_PUR_1K_OHM 0b010 // 1 kOhm resistor +#define IS31FL3741_PUR_2K_OHM 0b011 // 2 kOhm resistor +#define IS31FL3741_PUR_4K_OHM 0b100 // 4 kOhm resistor +#define IS31FL3741_PUR_8K_OHM 0b101 // 8 kOhm resistor +#define IS31FL3741_PUR_16K_OHM 0b110 // 16 kOhm resistor +#define IS31FL3741_PUR_32K_OHM 0b111 // 32 kOhm resistor + +#define IS31FL3741_PWM_FREQUENCY_29K_HZ 0b0000 +#define IS31FL3741_PWM_FREQUENCY_3K6_HZ 0b0011 +#define IS31FL3741_PWM_FREQUENCY_1K8_HZ 0b0111 +#define IS31FL3741_PWM_FREQUENCY_900_HZ 0b1011 #define CS1_SW1 0x00 #define CS2_SW1 0x01 diff --git a/drivers/led/issi/is31fl3743.h b/drivers/led/issi/is31fl3743.h index d8fcd790963b..706b27125499 100644 --- a/drivers/led/issi/is31fl3743.h +++ b/drivers/led/issi/is31fl3743.h @@ -36,7 +36,7 @@ // Set defaults for Spread Spectrum Register #ifndef ISSI_SSR_1 -# if DRIVER_COUNT == 1 +# ifndef DRIVER_ADDR_2 # define ISSI_SSR_1 0x00 # else # define ISSI_SSR_1 0xC0 diff --git a/drivers/led/issi/is31fl3745.h b/drivers/led/issi/is31fl3745.h index ca5dd4a986a8..1e88aab4a8d9 100644 --- a/drivers/led/issi/is31fl3745.h +++ b/drivers/led/issi/is31fl3745.h @@ -36,7 +36,7 @@ // Set defaults for Spread Spectrum Register #ifndef ISSI_SSR_1 -# if DRIVER_COUNT == 1 +# ifndef DRIVER_ADDR_2 # define ISSI_SSR_1 0x00 # else # define ISSI_SSR_1 0xC0 diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index 106890a8bf0c..d6b9bce93d7c 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -133,19 +133,28 @@ 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; + } 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; # 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; + } g_scaling_buffer[led.driver][led.v] = scale.v; # endif g_scaling_buffer_update_required[led.driver] = true; @@ -165,11 +174,60 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) { } } +void IS31FL_common_flush(void) { + IS31FL_common_update_pwm_register(DRIVER_ADDR_1, 0); +#if defined(DRIVER_ADDR_2) + IS31FL_common_update_pwm_register(DRIVER_ADDR_2, 1); +# if defined(DRIVER_ADDR_3) + IS31FL_common_update_pwm_register(DRIVER_ADDR_3, 2); +# if defined(DRIVER_ADDR_4) + IS31FL_common_update_pwm_register(DRIVER_ADDR_4, 3); +# endif +# endif +#endif +} + #ifdef RGB_MATRIX_ENABLE +void IS31FL_RGB_init_drivers(void) { + i2c_init(); + + IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1); +# if defined(DRIVER_ADDR_2) + IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2); +# if defined(DRIVER_ADDR_3) + IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3); +# if defined(DRIVER_ADDR_4) + IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4); +# endif +# endif +# endif + + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { + IS31FL_RGB_set_scaling_buffer(i, true, true, true); + } + + // This actually updates the LED drivers +# ifdef ISSI_MANUAL_SCALING + IS31FL_set_manual_scaling_buffer(); +# endif + + IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0); +# if defined(DRIVER_ADDR_2) + IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1); +# if defined(DRIVER_ADDR_3) + IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2); +# if defined(DRIVER_ADDR_4) + IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif +} + // 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; @@ -186,7 +244,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 { @@ -207,8 +266,44 @@ 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_init_drivers(void) { + i2c_init(); + + IS31FL_common_init(DRIVER_ADDR_1, ISSI_SSR_1); +# if defined(DRIVER_ADDR_2) + IS31FL_common_init(DRIVER_ADDR_2, ISSI_SSR_2); +# if defined(DRIVER_ADDR_3) + IS31FL_common_init(DRIVER_ADDR_3, ISSI_SSR_3); +# if defined(DRIVER_ADDR_4) + IS31FL_common_init(DRIVER_ADDR_4, ISSI_SSR_4); +# endif +# endif +# endif + + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { + IS31FL_simple_set_scaling_buffer(i, true); + } + +// This actually updates the LED drivers +# ifdef ISSI_MANUAL_SCALING + IS31FL_set_manual_scaling_buffer(); +# endif + + IS31FL_common_update_scaling_register(DRIVER_ADDR_1, 0); +# if defined(DRIVER_ADDR_2) + IS31FL_common_update_scaling_register(DRIVER_ADDR_2, 1); +# if defined(DRIVER_ADDR_3) + IS31FL_common_update_scaling_register(DRIVER_ADDR_3, 2); +# if defined(DRIVER_ADDR_4) + IS31FL_common_update_scaling_register(DRIVER_ADDR_4, 3); +# endif +# endif +# endif +} + 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 { @@ -219,7 +314,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 18432ffc312a..10613a6eed80 100644 --- a/drivers/led/issi/is31flcommon.h +++ b/drivers/led/issi/is31flcommon.h @@ -23,39 +23,50 @@ #include #include #include "progmem.h" +#include "util.h" // Which variant header file to use -#ifdef IS31FL3742A +#if defined(LED_MATRIX_IS31FL3742A) || defined(RGB_MATRIX_IS31FL3742A) # include "is31fl3742.h" -#elif defined(IS31FL3743A) +#elif defined(LED_MATRIX_IS31FL3743A) || defined(RGB_MATRIX_IS31FL3743A) # include "is31fl3743.h" -#elif defined(IS31FL3745) +#elif defined(LED_MATRIX_IS31FL3745) || defined(RGB_MATRIX_IS31FL3745) # include "is31fl3745.h" -#elif defined(IS31FL3746A) +#elif defined(LED_MATRIX_IS31FL3746A) || defined(RGB_MATRIX_IS31FL3746A) # include "is31fl3746.h" #endif +#if defined DRIVER_ADDR_4 +# define DRIVER_COUNT 4 +#elif defined DRIVER_ADDR_3 +# define DRIVER_COUNT 3 +#elif defined DRIVER_ADDR_2 +# define DRIVER_COUNT 2 +#elif defined DRIVER_ADDR_1 +# define DRIVER_COUNT 1 +#endif + #ifdef RGB_MATRIX_ENABLE typedef struct is31_led { - uint8_t driver; + uint8_t driver : 2; uint8_t r; uint8_t g; uint8_t b; -} __attribute__((packed)) is31_led; +} 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 { - uint8_t driver; + uint8_t driver : 2; uint8_t v; -} __attribute__((packed)) is31_led; +} 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 @@ -67,13 +78,17 @@ void IS31FL_common_init(uint8_t addr, uint8_t ssr); void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index); void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index); +void IS31FL_common_flush(void); + #ifdef RGB_MATRIX_ENABLE // RGB Matrix Specific scripts +void IS31FL_RGB_init_drivers(void); void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue); void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue); #elif defined(LED_MATRIX_ENABLE) // LED Matrix Specific scripts +void IS31FL_simple_init_drivers(void); void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value); void IS31FL_simple_set_brightness(int index, uint8_t value); void IS31FL_simple_set_brigntness_all(uint8_t value); diff --git a/drivers/led/snled27351-simple.c b/drivers/led/snled27351-simple.c new file mode 100644 index 000000000000..b2054c96d54f --- /dev/null +++ b/drivers/led/snled27351-simple.c @@ -0,0 +1,266 @@ +/* Copyright 2021 @ 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 "snled27351-simple.h" +#include "i2c_master.h" + +#define SNLED27351_PWM_REGISTER_COUNT 192 +#define SNLED27351_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef SNLED27351_I2C_TIMEOUT +# define SNLED27351_I2C_TIMEOUT 100 +#endif + +#ifndef SNLED27351_I2C_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE 0 +#endif + +#ifndef SNLED27351_PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#endif + +#ifndef SNLED27351_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE \ + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[20]; + +// These buffers match the SNLED27351 PWM registers. +// The control buffers match the PG0 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in snled27351_write_pwm_buffer() but it's +// probably not worth the extra complexity. +uint8_t g_pwm_buffer[SNLED27351_DRIVER_COUNT][SNLED27351_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[SNLED27351_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[SNLED27351_DRIVER_COUNT][SNLED27351_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] = {false}; + +bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + // If the transaction fails function returns false. + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if SNLED27351_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } +#endif + return true; +} + +bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // Assumes PG1 is already selected. + // If any of the transactions fails function returns false. + // Transmit PWM registers in 12 transfers of 16 bytes. + // g_twi_transfer_buffer[] is 20 bytes + + // Iterate over the pwm_buffer contents at 16 byte intervals. + for (int i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) { + g_twi_transfer_buffer[0] = i; + // Copy the data from i to i+15. + // Device will auto-increment register for data after the first byte + // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. + for (int j = 0; j < 16; j++) { + g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + } + +#if SNLED27351_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } +#endif + } + return true; +} + +void snled27351_init_drivers(void) { + i2c_init(); + + snled27351_init(SNLED27351_I2C_ADDRESS_1); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_init(SNLED27351_I2C_ADDRESS_2); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_init(SNLED27351_I2C_ADDRESS_3); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_init(SNLED27351_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < SNLED27351_LED_COUNT; i++) { + snled27351_set_led_control_register(i, true); + } + + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_1, 0); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_2, 1); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_3, 2); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void snled27351_init(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); + // Setting internal channel pulldown/pullup + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED); + // Select number of scan phase + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL); + // Setting PWM Delay Phase + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE); + // Setting Driving/Sinking Channel Slew Rate + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE); + // Setting Iref + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0); + // Set LED CONTROL PAGE (Page 0) + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { + snled27351_write_register(addr, i, 0x00); + } + + // Set PWM PAGE (Page 1) + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { + snled27351_write_register(addr, i, 0x00); + } + + // Set CURRENT PAGE (Page 4) + uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE; + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { + snled27351_write_register(addr, i, current_tune_reg_list[i]); + } + + // Enable LEDs ON/OFF + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { + snled27351_write_register(addr, i, 0xFF); + } + + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); +} + +void snled27351_set_value(int index, uint8_t value) { + snled27351_led_t led; + if (index >= 0 && index < SNLED27351_LED_COUNT) { + memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.v] == value) { + return; + } + g_pwm_buffer[led.driver][led.v] = value; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void snled27351_set_value_all(uint8_t value) { + for (int i = 0; i < SNLED27351_LED_COUNT; i++) { + snled27351_set_value(i, value); + } +} + +void snled27351_set_led_control_register(uint8_t index, bool value) { + snled27351_led_t led; + memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led)); + + uint8_t control_register = led.v / 8; + uint8_t bit_value = led.v % 8; + + if (value) { + g_led_control_registers[led.driver][control_register] |= (1 << bit_value); + } else { + g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value); + } + + g_led_control_registers_update_required[led.driver] = true; +} + +void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + + // If any of the transactions fail we risk writing dirty PG0, + // refresh page 0 just in case. + if (!snled27351_write_pwm_buffer(addr, g_pwm_buffer[index])) { + g_led_control_registers_update_required[index] = true; + } + } + g_pwm_buffer_update_required[index] = false; +} + +void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) { + snled27351_write_register(addr, i, g_led_control_registers[index][i]); + } + } + g_led_control_registers_update_required[index] = false; +} + +void snled27351_flush(void) { + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void snled27351_sw_return_normal(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); +} + +void snled27351_sw_shutdown(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); + // Write SW Sleep Register + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE); +} diff --git a/drivers/led/snled27351-simple.h b/drivers/led/snled27351-simple.h new file mode 100644 index 000000000000..2fc62a6f0a74 --- /dev/null +++ b/drivers/led/snled27351-simple.h @@ -0,0 +1,380 @@ +/* Copyright 2021 @ 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 + +#include +#include +#include "progmem.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef CKLED2001_TIMEOUT +# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT +#endif +#ifdef CKLED2001_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE +#endif +#ifdef PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL +#endif +#ifdef CKLED2001_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE +#endif + +#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL +#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL +#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL +#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL +#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL +#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL +#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL +#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL +#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL +#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL +#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL + +#define ckled2001_led snled27351_led_t +#define g_ckled2001_leds g_snled27351_leds +// ======== + +#define SNLED27351_REG_COMMAND 0xFD +#define SNLED27351_COMMAND_LED_CONTROL 0x00 +#define SNLED27351_COMMAND_PWM 0x01 +#define SNLED27351_COMMAND_FUNCTION 0x03 +#define SNLED27351_COMMAND_CURRENT_TUNE 0x04 + +#define SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN 0x00 +#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN (0x0 << 0) +#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL (0x1 << 0) + +#define SNLED27351_FUNCTION_REG_ID 0x11 +#define SNLED27351_DRIVER_ID 0x8A + +#define SNLED27351_FUNCTION_REG_PULLDOWNUP 0x13 +#define SNLED27351_PULLDOWNUP_ALL_ENABLED 0xAA + +#define SNLED27351_FUNCTION_REG_SCAN_PHASE 0x14 +#define SNLED27351_SCAN_PHASE_12_CHANNEL 0x00 +#define SNLED27351_SCAN_PHASE_11_CHANNEL 0x01 +#define SNLED27351_SCAN_PHASE_10_CHANNEL 0x02 +#define SNLED27351_SCAN_PHASE_9_CHANNEL 0x03 +#define SNLED27351_SCAN_PHASE_8_CHANNEL 0x04 +#define SNLED27351_SCAN_PHASE_7_CHANNEL 0x05 +#define SNLED27351_SCAN_PHASE_6_CHANNEL 0x06 +#define SNLED27351_SCAN_PHASE_5_CHANNEL 0x07 +#define SNLED27351_SCAN_PHASE_4_CHANNEL 0x08 +#define SNLED27351_SCAN_PHASE_3_CHANNEL 0x09 +#define SNLED27351_SCAN_PHASE_2_CHANNEL 0x0A +#define SNLED27351_SCAN_PHASE_1_CHANNEL 0x0B + +#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1 0x15 +#define SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE (0b1 << 2) + +#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2 0x16 +#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE (0b1 << 6) +#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_ENABLE 0x17 +#define SNLED27351_OPEN_SHORT_ENABLE_SDS_ENABLE (0b1 << 6) +#define SNLED27351_OPEN_SHORT_ENABLE_ODS_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_DUTY 0x18 + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_FLAG 0x19 +#define SNLED27351_OPEN_SHORT_FLAG_OSINT_ENABLE (0b1 << 6) +#define SNLED27351_OPEN_SHORT_FLAG_ODINT_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP 0x1A +#define SNLED27351_SOFTWARE_SLEEP_ENABLE (0b1 << 1) + +// LED Control Registers +#define SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR 0x0 +#define SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR 0x17 +#define SNLED27351_LED_CONTROL_ON_OFF_LENGTH ((SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR - SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR 0x18 +#define SNLED27351_LED_CONTROL_OPEN_LAST_ADDR 0x2F +#define SNLED27351_LED_CONTROL_OPEN_LENGTH ((SNLED27351_LED_CONTROL_OPEN_LAST_ADDR - SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR 0x30 +#define SNLED27351_LED_CONTROL_SHORT_LAST_ADDR 0x47 +#define SNLED27351_LED_CONTROL_SHORT_LENGTH ((SNLED27351_LED_CONTROL_SHORT_LAST_ADDR - SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_PAGE_LENGTH 0x48 + +// LED Control Registers +#define SNLED27351_LED_PWM_FIRST_ADDR 0x00 +#define SNLED27351_LED_PWM_LAST_ADDR 0xBF +#define SNLED27351_LED_PWM_LENGTH 0xC0 + +// Current Tune Registers +#define SNLED27351_LED_CURRENT_TUNE_FIRST_ADDR 0x00 +#define SNLED27351_LED_CURRENT_TUNE_LAST_ADDR 0x0B +#define SNLED27351_LED_CURRENT_TUNE_LENGTH 0x0C + +#define SNLED27351_I2C_ADDRESS_GND 0x74 +#define SNLED27351_I2C_ADDRESS_SCL 0x75 +#define SNLED27351_I2C_ADDRESS_SDA 0x76 +#define SNLED27351_I2C_ADDRESS_VDDIO 0x77 + +#if defined(LED_MATRIX_SNLED27351) +# define SNLED27351_LED_COUNT LED_MATRIX_LED_COUNT +#endif + +#if defined(SNLED27351_I2C_ADDRESS_4) +# define SNLED27351_DRIVER_COUNT 4 +#elif defined(SNLED27351_I2C_ADDRESS_3) +# define SNLED27351_DRIVER_COUNT 3 +#elif defined(SNLED27351_I2C_ADDRESS_2) +# define SNLED27351_DRIVER_COUNT 2 +#elif defined(SNLED27351_I2C_ADDRESS_1) +# define SNLED27351_DRIVER_COUNT 1 +#endif + +typedef struct snled27351_led_t { + uint8_t driver : 2; + uint8_t v; +} PACKED snled27351_led_t; + +extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT]; + +void snled27351_init_drivers(void); +void snled27351_init(uint8_t addr); +bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void snled27351_set_value(int index, uint8_t value); +void snled27351_set_value_all(uint8_t value); + +void snled27351_set_led_control_register(uint8_t index, bool value); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index); +void snled27351_update_led_control_registers(uint8_t addr, uint8_t index); + +void snled27351_flush(void); + +void snled27351_sw_return_normal(uint8_t addr); +void snled27351_sw_shutdown(uint8_t addr); + +#define A_1 0x00 +#define A_2 0x01 +#define A_3 0x02 +#define A_4 0x03 +#define A_5 0x04 +#define A_6 0x05 +#define A_7 0x06 +#define A_8 0x07 +#define A_9 0x08 +#define A_10 0x09 +#define A_11 0x0A +#define A_12 0x0B +#define A_13 0x0C +#define A_14 0x0D +#define A_15 0x0E +#define A_16 0x0F + +#define B_1 0x10 +#define B_2 0x11 +#define B_3 0x12 +#define B_4 0x13 +#define B_5 0x14 +#define B_6 0x15 +#define B_7 0x16 +#define B_8 0x17 +#define B_9 0x18 +#define B_10 0x19 +#define B_11 0x1A +#define B_12 0x1B +#define B_13 0x1C +#define B_14 0x1D +#define B_15 0x1E +#define B_16 0x1F + +#define C_1 0x20 +#define C_2 0x21 +#define C_3 0x22 +#define C_4 0x23 +#define C_5 0x24 +#define C_6 0x25 +#define C_7 0x26 +#define C_8 0x27 +#define C_9 0x28 +#define C_10 0x29 +#define C_11 0x2A +#define C_12 0x2B +#define C_13 0x2C +#define C_14 0x2D +#define C_15 0x2E +#define C_16 0x2F + +#define D_1 0x30 +#define D_2 0x31 +#define D_3 0x32 +#define D_4 0x33 +#define D_5 0x34 +#define D_6 0x35 +#define D_7 0x36 +#define D_8 0x37 +#define D_9 0x38 +#define D_10 0x39 +#define D_11 0x3A +#define D_12 0x3B +#define D_13 0x3C +#define D_14 0x3D +#define D_15 0x3E +#define D_16 0x3F + +#define E_1 0x40 +#define E_2 0x41 +#define E_3 0x42 +#define E_4 0x43 +#define E_5 0x44 +#define E_6 0x45 +#define E_7 0x46 +#define E_8 0x47 +#define E_9 0x48 +#define E_10 0x49 +#define E_11 0x4A +#define E_12 0x4B +#define E_13 0x4C +#define E_14 0x4D +#define E_15 0x4E +#define E_16 0x4F + +#define F_1 0x50 +#define F_2 0x51 +#define F_3 0x52 +#define F_4 0x53 +#define F_5 0x54 +#define F_6 0x55 +#define F_7 0x56 +#define F_8 0x57 +#define F_9 0x58 +#define F_10 0x59 +#define F_11 0x5A +#define F_12 0x5B +#define F_13 0x5C +#define F_14 0x5D +#define F_15 0x5E +#define F_16 0x5F + +#define G_1 0x60 +#define G_2 0x61 +#define G_3 0x62 +#define G_4 0x63 +#define G_5 0x64 +#define G_6 0x65 +#define G_7 0x66 +#define G_8 0x67 +#define G_9 0x68 +#define G_10 0x69 +#define G_11 0x6A +#define G_12 0x6B +#define G_13 0x6C +#define G_14 0x6D +#define G_15 0x6E +#define G_16 0x6F + +#define H_1 0x70 +#define H_2 0x71 +#define H_3 0x72 +#define H_4 0x73 +#define H_5 0x74 +#define H_6 0x75 +#define H_7 0x76 +#define H_8 0x77 +#define H_9 0x78 +#define H_10 0x79 +#define H_11 0x7A +#define H_12 0x7B +#define H_13 0x7C +#define H_14 0x7D +#define H_15 0x7E +#define H_16 0x7F + +#define I_1 0x80 +#define I_2 0x81 +#define I_3 0x82 +#define I_4 0x83 +#define I_5 0x84 +#define I_6 0x85 +#define I_7 0x86 +#define I_8 0x87 +#define I_9 0x88 +#define I_10 0x89 +#define I_11 0x8A +#define I_12 0x8B +#define I_13 0x8C +#define I_14 0x8D +#define I_15 0x8E +#define I_16 0x8F + +#define J_1 0x90 +#define J_2 0x91 +#define J_3 0x92 +#define J_4 0x93 +#define J_5 0x94 +#define J_6 0x95 +#define J_7 0x96 +#define J_8 0x97 +#define J_9 0x98 +#define J_10 0x99 +#define J_11 0x9A +#define J_12 0x9B +#define J_13 0x9C +#define J_14 0x9D +#define J_15 0x9E +#define J_16 0x9F + +#define K_1 0xA0 +#define K_2 0xA1 +#define K_3 0xA2 +#define K_4 0xA3 +#define K_5 0xA4 +#define K_6 0xA5 +#define K_7 0xA6 +#define K_8 0xA7 +#define K_9 0xA8 +#define K_10 0xA9 +#define K_11 0xAA +#define K_12 0xAB +#define K_13 0xAC +#define K_14 0xAD +#define K_15 0xAE +#define K_16 0xAF + +#define L_1 0xB0 +#define L_2 0xB1 +#define L_3 0xB2 +#define L_4 0xB3 +#define L_5 0xB4 +#define L_6 0xB5 +#define L_7 0xB6 +#define L_8 0xB7 +#define L_9 0xB8 +#define L_10 0xB9 +#define L_11 0xBA +#define L_12 0xBB +#define L_13 0xBC +#define L_14 0xBD +#define L_15 0xBE +#define L_16 0xBF diff --git a/drivers/led/snled27351.c b/drivers/led/snled27351.c new file mode 100644 index 000000000000..71992b73224b --- /dev/null +++ b/drivers/led/snled27351.c @@ -0,0 +1,281 @@ +/* Copyright 2021 @ 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 "snled27351.h" +#include "i2c_master.h" + +#define SNLED27351_PWM_REGISTER_COUNT 192 +#define SNLED27351_LED_CONTROL_REGISTER_COUNT 24 + +#ifndef SNLED27351_I2C_TIMEOUT +# define SNLED27351_I2C_TIMEOUT 100 +#endif + +#ifndef SNLED27351_I2C_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE 0 +#endif + +#ifndef SNLED27351_PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#endif + +#ifndef SNLED27351_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE \ + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } +#endif + +// Transfer buffer for TWITransmitData() +uint8_t g_twi_transfer_buffer[65]; + +// These buffers match the SNLED27351 PWM registers. +// The control buffers match the PG0 LED On/Off registers. +// Storing them like this is optimal for I2C transfers to the registers. +// We could optimize this and take out the unused registers from these +// buffers and the transfers in snled27351_write_pwm_buffer() but it's +// probably not worth the extra complexity. +uint8_t g_pwm_buffer[SNLED27351_DRIVER_COUNT][SNLED27351_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[SNLED27351_DRIVER_COUNT] = {false}; + +uint8_t g_led_control_registers[SNLED27351_DRIVER_COUNT][SNLED27351_LED_CONTROL_REGISTER_COUNT] = {0}; +bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] = {false}; + +bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) { + // If the transaction fails function returns false. + g_twi_transfer_buffer[0] = reg; + g_twi_transfer_buffer[1] = data; + +#if SNLED27351_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } +#endif + return true; +} + +bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { + // Assumes PG1 is already selected. + // If any of the transactions fails function returns false. + // Transmit PWM registers in 3 transfers of 64 bytes. + + // Iterate over the pwm_buffer contents at 64 byte intervals. + for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 64) { + g_twi_transfer_buffer[0] = i; + // Copy the data from i to i+63. + // Device will auto-increment register for data after the first byte + // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. + for (uint8_t j = 0; j < 64; j++) { + g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + } + +#if SNLED27351_I2C_PERSISTENCE > 0 + for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } + } +#else + if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { + return false; + } +#endif + } + return true; +} + +void snled27351_init_drivers(void) { + i2c_init(); + + snled27351_init(SNLED27351_I2C_ADDRESS_1); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_init(SNLED27351_I2C_ADDRESS_2); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_init(SNLED27351_I2C_ADDRESS_3); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_init(SNLED27351_I2C_ADDRESS_4); +# endif +# endif +#endif + + for (int i = 0; i < SNLED27351_LED_COUNT; i++) { + snled27351_set_led_control_register(i, true, true, true); + } + + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_1, 0); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_2, 1); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_3, 2); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_update_led_control_registers(SNLED27351_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void snled27351_init(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); + // Setting internal channel pulldown/pullup + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_PULLDOWNUP, SNLED27351_PULLDOWNUP_ALL_ENABLED); + // Select number of scan phase + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SCAN_PHASE, SNLED27351_PHASE_CHANNEL); + // Setting PWM Delay Phase + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1, SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE); + // Setting Driving/Sinking Channel Slew Rate + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE); + // Setting Iref + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0); + // Set LED CONTROL PAGE (Page 0) + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { + snled27351_write_register(addr, i, 0x00); + } + + // Set PWM PAGE (Page 1) + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { + snled27351_write_register(addr, i, 0x00); + } + + // Set CURRENT PAGE (Page 4) + uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE; + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { + snled27351_write_register(addr, i, current_tune_reg_list[i]); + } + + // Enable LEDs ON/OFF + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { + snled27351_write_register(addr, i, 0xFF); + } + + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); +} + +void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + snled27351_led_t led; + if (index >= 0 && index < SNLED27351_LED_COUNT) { + memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led)); + + if (g_pwm_buffer[led.driver][led.r] == red && g_pwm_buffer[led.driver][led.g] == green && g_pwm_buffer[led.driver][led.b] == blue) { + return; + } + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; + } +} + +void snled27351_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (int i = 0; i < SNLED27351_LED_COUNT; i++) { + snled27351_set_color(i, red, green, blue); + } +} + +void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { + snled27351_led_t led; + memcpy_P(&led, (&g_snled27351_leds[index]), sizeof(led)); + + uint8_t control_register_r = led.r / 8; + uint8_t control_register_g = led.g / 8; + uint8_t control_register_b = led.b / 8; + uint8_t bit_r = led.r % 8; + uint8_t bit_g = led.g % 8; + uint8_t bit_b = led.b % 8; + + if (red) { + g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r); + } else { + g_led_control_registers[led.driver][control_register_r] &= ~(1 << bit_r); + } + if (green) { + g_led_control_registers[led.driver][control_register_g] |= (1 << bit_g); + } else { + g_led_control_registers[led.driver][control_register_g] &= ~(1 << bit_g); + } + if (blue) { + g_led_control_registers[led.driver][control_register_b] |= (1 << bit_b); + } else { + g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b); + } + + g_led_control_registers_update_required[led.driver] = true; +} + +void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + + // If any of the transactions fail we risk writing dirty PG0, + // refresh page 0 just in case. + if (!snled27351_write_pwm_buffer(addr, g_pwm_buffer[index])) { + g_led_control_registers_update_required[index] = true; + } + } + g_pwm_buffer_update_required[index] = false; +} + +void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) { + snled27351_write_register(addr, i, g_led_control_registers[index][i]); + } + } + g_led_control_registers_update_required[index] = false; +} + +void snled27351_flush(void) { + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_1, 0); +#if defined(SNLED27351_I2C_ADDRESS_2) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_2, 1); +# if defined(SNLED27351_I2C_ADDRESS_3) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_3, 2); +# if defined(SNLED27351_I2C_ADDRESS_4) + snled27351_update_pwm_buffers(SNLED27351_I2C_ADDRESS_4, 3); +# endif +# endif +#endif +} + +void snled27351_sw_return_normal(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); +} + +void snled27351_sw_shutdown(uint8_t addr) { + // Select to function page + snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); + // Write SW Sleep Register + snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, SNLED27351_SOFTWARE_SLEEP_ENABLE); +} diff --git a/drivers/led/snled27351.h b/drivers/led/snled27351.h new file mode 100644 index 000000000000..77337f177b77 --- /dev/null +++ b/drivers/led/snled27351.h @@ -0,0 +1,394 @@ +/* Copyright 2021 @ 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 + +#include +#include +#include "progmem.h" +#include "util.h" + +// ======== DEPRECATED DEFINES - DO NOT USE ======== +#ifdef DRIVER_ADDR_1 +# define SNLED27351_I2C_ADDRESS_1 DRIVER_ADDR_1 +#endif +#ifdef DRIVER_ADDR_2 +# define SNLED27351_I2C_ADDRESS_2 DRIVER_ADDR_2 +#endif +#ifdef DRIVER_ADDR_3 +# define SNLED27351_I2C_ADDRESS_3 DRIVER_ADDR_3 +#endif +#ifdef DRIVER_ADDR_4 +# define SNLED27351_I2C_ADDRESS_4 DRIVER_ADDR_4 +#endif +#ifdef CKLED2001_TIMEOUT +# define SNLED27351_I2C_TIMEOUT CKLED2001_TIMEOUT +#endif +#ifdef CKLED2001_PERSISTENCE +# define SNLED27351_I2C_PERSISTENCE CKLED2001_PERSISTENCE +#endif +#ifdef PHASE_CHANNEL +# define SNLED27351_PHASE_CHANNEL PHASE_CHANNEL +#endif +#ifdef CKLED2001_CURRENT_TUNE +# define SNLED27351_CURRENT_TUNE CKLED2001_CURRENT_TUNE +#endif + +#define MSKPHASE_12CHANNEL SNLED27351_SCAN_PHASE_12_CHANNEL +#define MSKPHASE_11CHANNEL SNLED27351_SCAN_PHASE_11_CHANNEL +#define MSKPHASE_10CHANNEL SNLED27351_SCAN_PHASE_10_CHANNEL +#define MSKPHASE_9CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL +#define MSKPHASE_8CHANNEL SNLED27351_SCAN_PHASE_8_CHANNEL +#define MSKPHASE_7CHANNEL SNLED27351_SCAN_PHASE_7_CHANNEL +#define MSKPHASE_6CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL +#define MSKPHASE_5CHANNEL SNLED27351_SCAN_PHASE_5_CHANNEL +#define MSKPHASE_4CHANNEL SNLED27351_SCAN_PHASE_4_CHANNEL +#define MSKPHASE_3CHANNEL SNLED27351_SCAN_PHASE_3_CHANNEL +#define MSKPHASE_2CHANNEL SNLED27351_SCAN_PHASE_2_CHANNEL +#define MSKPHASE_1CHANNEL SNLED27351_SCAN_PHASE_1_CHANNEL + +#define ckled2001_led snled27351_led_t +#define g_ckled2001_leds g_snled27351_leds +// ======== + +#define SNLED27351_REG_COMMAND 0xFD +#define SNLED27351_COMMAND_LED_CONTROL 0x00 +#define SNLED27351_COMMAND_PWM 0x01 +#define SNLED27351_COMMAND_FUNCTION 0x03 +#define SNLED27351_COMMAND_CURRENT_TUNE 0x04 + +#define SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN 0x00 +#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN (0x0 << 0) +#define SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL (0x1 << 0) + +#define SNLED27351_FUNCTION_REG_ID 0x11 +#define SNLED27351_DRIVER_ID 0x8A + +#define SNLED27351_FUNCTION_REG_PULLDOWNUP 0x13 +#define SNLED27351_PULLDOWNUP_ALL_ENABLED 0xAA + +#define SNLED27351_FUNCTION_REG_SCAN_PHASE 0x14 +#define SNLED27351_SCAN_PHASE_12_CHANNEL 0x00 +#define SNLED27351_SCAN_PHASE_11_CHANNEL 0x01 +#define SNLED27351_SCAN_PHASE_10_CHANNEL 0x02 +#define SNLED27351_SCAN_PHASE_9_CHANNEL 0x03 +#define SNLED27351_SCAN_PHASE_8_CHANNEL 0x04 +#define SNLED27351_SCAN_PHASE_7_CHANNEL 0x05 +#define SNLED27351_SCAN_PHASE_6_CHANNEL 0x06 +#define SNLED27351_SCAN_PHASE_5_CHANNEL 0x07 +#define SNLED27351_SCAN_PHASE_4_CHANNEL 0x08 +#define SNLED27351_SCAN_PHASE_3_CHANNEL 0x09 +#define SNLED27351_SCAN_PHASE_2_CHANNEL 0x0A +#define SNLED27351_SCAN_PHASE_1_CHANNEL 0x0B + +#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_1 0x15 +#define SNLED27351_SLEW_RATE_CONTROL_MODE_1_PDP_ENABLE (0b1 << 2) + +#define SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2 0x16 +#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE (0b1 << 6) +#define SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_ENABLE 0x17 +#define SNLED27351_OPEN_SHORT_ENABLE_SDS_ENABLE (0b1 << 6) +#define SNLED27351_OPEN_SHORT_ENABLE_ODS_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_DUTY 0x18 + +#define SNLED27351_FUNCTION_REG_OPEN_SHORT_FLAG 0x19 +#define SNLED27351_OPEN_SHORT_FLAG_OSINT_ENABLE (0b1 << 6) +#define SNLED27351_OPEN_SHORT_FLAG_ODINT_ENABLE (0b1 << 7) + +#define SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP 0x1A +#define SNLED27351_SOFTWARE_SLEEP_ENABLE (0b1 << 1) + +// LED Control Registers +#define SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR 0x0 +#define SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR 0x17 +#define SNLED27351_LED_CONTROL_ON_OFF_LENGTH ((SNLED27351_LED_CONTROL_ON_OFF_LAST_ADDR - SNLED27351_LED_CONTROL_ON_OFF_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR 0x18 +#define SNLED27351_LED_CONTROL_OPEN_LAST_ADDR 0x2F +#define SNLED27351_LED_CONTROL_OPEN_LENGTH ((SNLED27351_LED_CONTROL_OPEN_LAST_ADDR - SNLED27351_LED_CONTROL_OPEN_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR 0x30 +#define SNLED27351_LED_CONTROL_SHORT_LAST_ADDR 0x47 +#define SNLED27351_LED_CONTROL_SHORT_LENGTH ((SNLED27351_LED_CONTROL_SHORT_LAST_ADDR - SNLED27351_LED_CONTROL_SHORT_FIRST_ADDR) + 1) + +#define SNLED27351_LED_CONTROL_PAGE_LENGTH 0x48 + +// LED Control Registers +#define SNLED27351_LED_PWM_FIRST_ADDR 0x00 +#define SNLED27351_LED_PWM_LAST_ADDR 0xBF +#define SNLED27351_LED_PWM_LENGTH 0xC0 + +// Current Tune Registers +#define SNLED27351_LED_CURRENT_TUNE_FIRST_ADDR 0x00 +#define SNLED27351_LED_CURRENT_TUNE_LAST_ADDR 0x0B +#define SNLED27351_LED_CURRENT_TUNE_LENGTH 0x0C + +#define SNLED27351_I2C_ADDRESS_GND 0x74 +#define SNLED27351_I2C_ADDRESS_SCL 0x75 +#define SNLED27351_I2C_ADDRESS_SDA 0x76 +#define SNLED27351_I2C_ADDRESS_VDDIO 0x77 + +#if defined(RGB_MATRIX_SNLED27351) +# define SNLED27351_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + +#if defined(SNLED27351_I2C_ADDRESS_4) +# define SNLED27351_DRIVER_COUNT 4 +#elif defined(SNLED27351_I2C_ADDRESS_3) +# define SNLED27351_DRIVER_COUNT 3 +#elif defined(SNLED27351_I2C_ADDRESS_2) +# define SNLED27351_DRIVER_COUNT 2 +#elif defined(SNLED27351_I2C_ADDRESS_1) +# define SNLED27351_DRIVER_COUNT 1 +#endif + +typedef struct snled27351_led_t { + uint8_t driver : 2; + uint8_t r; + uint8_t g; + uint8_t b; +} PACKED snled27351_led_t; + +extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT]; + +void snled27351_init_drivers(void); +void snled27351_init(uint8_t addr); +bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); +bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); + +void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void snled27351_set_color_all(uint8_t red, uint8_t green, uint8_t blue); + +void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bool blue); + +// This should not be called from an interrupt +// (eg. from a timer interrupt). +// Call this while idle (in between matrix scans). +// If the buffer is dirty, it will update the driver with the buffer. +void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index); +void snled27351_update_led_control_registers(uint8_t addr, uint8_t index); + +void snled27351_flush(void); + +void snled27351_sw_return_normal(uint8_t addr); +void snled27351_sw_shutdown(uint8_t addr); + +#define A_1 0x00 +#define A_2 0x01 +#define A_3 0x02 +#define A_4 0x03 +#define A_5 0x04 +#define A_6 0x05 +#define A_7 0x06 +#define A_8 0x07 +#define A_9 0x08 +#define A_10 0x09 +#define A_11 0x0A +#define A_12 0x0B +#define A_13 0x0C +#define A_14 0x0D +#define A_15 0x0E +#define A_16 0x0F + +#define B_1 0x10 +#define B_2 0x11 +#define B_3 0x12 +#define B_4 0x13 +#define B_5 0x14 +#define B_6 0x15 +#define B_7 0x16 +#define B_8 0x17 +#define B_9 0x18 +#define B_10 0x19 +#define B_11 0x1A +#define B_12 0x1B +#define B_13 0x1C +#define B_14 0x1D +#define B_15 0x1E +#define B_16 0x1F + +#define C_1 0x20 +#define C_2 0x21 +#define C_3 0x22 +#define C_4 0x23 +#define C_5 0x24 +#define C_6 0x25 +#define C_7 0x26 +#define C_8 0x27 +#define C_9 0x28 +#define C_10 0x29 +#define C_11 0x2A +#define C_12 0x2B +#define C_13 0x2C +#define C_14 0x2D +#define C_15 0x2E +#define C_16 0x2F + +#define D_1 0x30 +#define D_2 0x31 +#define D_3 0x32 +#define D_4 0x33 +#define D_5 0x34 +#define D_6 0x35 +#define D_7 0x36 +#define D_8 0x37 +#define D_9 0x38 +#define D_10 0x39 +#define D_11 0x3A +#define D_12 0x3B +#define D_13 0x3C +#define D_14 0x3D +#define D_15 0x3E +#define D_16 0x3F + +#define E_1 0x40 +#define E_2 0x41 +#define E_3 0x42 +#define E_4 0x43 +#define E_5 0x44 +#define E_6 0x45 +#define E_7 0x46 +#define E_8 0x47 +#define E_9 0x48 +#define E_10 0x49 +#define E_11 0x4A +#define E_12 0x4B +#define E_13 0x4C +#define E_14 0x4D +#define E_15 0x4E +#define E_16 0x4F + +#define F_1 0x50 +#define F_2 0x51 +#define F_3 0x52 +#define F_4 0x53 +#define F_5 0x54 +#define F_6 0x55 +#define F_7 0x56 +#define F_8 0x57 +#define F_9 0x58 +#define F_10 0x59 +#define F_11 0x5A +#define F_12 0x5B +#define F_13 0x5C +#define F_14 0x5D +#define F_15 0x5E +#define F_16 0x5F + +#define G_1 0x60 +#define G_2 0x61 +#define G_3 0x62 +#define G_4 0x63 +#define G_5 0x64 +#define G_6 0x65 +#define G_7 0x66 +#define G_8 0x67 +#define G_9 0x68 +#define G_10 0x69 +#define G_11 0x6A +#define G_12 0x6B +#define G_13 0x6C +#define G_14 0x6D +#define G_15 0x6E +#define G_16 0x6F + +#define H_1 0x70 +#define H_2 0x71 +#define H_3 0x72 +#define H_4 0x73 +#define H_5 0x74 +#define H_6 0x75 +#define H_7 0x76 +#define H_8 0x77 +#define H_9 0x78 +#define H_10 0x79 +#define H_11 0x7A +#define H_12 0x7B +#define H_13 0x7C +#define H_14 0x7D +#define H_15 0x7E +#define H_16 0x7F + +#define I_1 0x80 +#define I_2 0x81 +#define I_3 0x82 +#define I_4 0x83 +#define I_5 0x84 +#define I_6 0x85 +#define I_7 0x86 +#define I_8 0x87 +#define I_9 0x88 +#define I_10 0x89 +#define I_11 0x8A +#define I_12 0x8B +#define I_13 0x8C +#define I_14 0x8D +#define I_15 0x8E +#define I_16 0x8F + +#define J_1 0x90 +#define J_2 0x91 +#define J_3 0x92 +#define J_4 0x93 +#define J_5 0x94 +#define J_6 0x95 +#define J_7 0x96 +#define J_8 0x97 +#define J_9 0x98 +#define J_10 0x99 +#define J_11 0x9A +#define J_12 0x9B +#define J_13 0x9C +#define J_14 0x9D +#define J_15 0x9E +#define J_16 0x9F + +#define K_1 0xA0 +#define K_2 0xA1 +#define K_3 0xA2 +#define K_4 0xA3 +#define K_5 0xA4 +#define K_6 0xA5 +#define K_7 0xA6 +#define K_8 0xA7 +#define K_9 0xA8 +#define K_10 0xA9 +#define K_11 0xAA +#define K_12 0xAB +#define K_13 0xAC +#define K_14 0xAD +#define K_15 0xAE +#define K_16 0xAF + +#define L_1 0xB0 +#define L_2 0xB1 +#define L_3 0xB2 +#define L_4 0xB3 +#define L_5 0xB4 +#define L_6 0xB5 +#define L_7 0xB6 +#define L_8 0xB7 +#define L_9 0xB8 +#define L_10 0xB9 +#define L_11 0xBA +#define L_12 0xBB +#define L_13 0xBC +#define L_14 0xBD +#define L_15 0xBE +#define L_16 0xBF diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index 8ff6e0426cb9..4a2121cd7c5c 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -19,6 +19,9 @@ along with this program. If not, see . # include "spi_master.h" #elif defined(OLED_TRANSPORT_I2C) # include "i2c_master.h" +# if defined(USE_I2C) && defined(SPLIT_KEYBOARD) +# include "keyboard.h" +# endif #endif #include "oled_driver.h" #include OLED_FONT_H @@ -448,7 +451,7 @@ static void rotate_90(const uint8_t *src, uint8_t *dest) { } } -void oled_render(void) { +void oled_render_dirty(bool all) { // Do we have work to do? oled_dirty &= OLED_ALL_BLOCKS_MASK; if (!oled_dirty || !oled_initialized || oled_scrolling) { @@ -460,7 +463,7 @@ void oled_render(void) { uint8_t update_start = 0; uint8_t num_processed = 0; - while (oled_dirty && num_processed++ < OLED_UPDATE_PROCESS_LIMIT) { // render all dirty blocks (up to the configured limit) + while (oled_dirty && (num_processed++ < OLED_UPDATE_PROCESS_LIMIT || all)) { // render all dirty blocks (up to the configured limit) // Find next dirty block while (!(oled_dirty & ((OLED_BLOCK_TYPE)1 << update_start))) { ++update_start; diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 627a3da0ba59..c3db7e6d977d 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -353,20 +353,24 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation); // Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering void oled_clear(void); -// Renders the dirty chunks of the buffer to oled display -void oled_render(void); +// Alias to oled_render_dirty to avoid a change in api. +#define oled_render() oled_render_dirty(false) + +// Renders all dirty blocks to the display at one time or a subset depending on the value of +// all. +void oled_render_dirty(bool all); // Moves cursor to character position indicated by column and line, wraps if out of bounds // Max column denoted by 'oled_max_chars()' and max lines by 'oled_max_lines()' functions void oled_set_cursor(uint8_t col, uint8_t line); // Advances the cursor to the next page, writing ' ' if true -// Wraps to the begining when out of bounds +// Wraps to the beginning when out of bounds void oled_advance_page(bool clearPageRemainder); // Moves the cursor forward 1 character length // Advance page if there is not enough room for the next character -// Wraps to the begining when out of bounds +// Wraps to the beginning when out of bounds void oled_advance_char(void); // Writes a single character to the buffer at current cursor position @@ -433,10 +437,10 @@ bool oled_off(void); // not bool is_oled_on(void); -// Sets the brightness of the display +// Sets the brightness level of the display uint8_t oled_set_brightness(uint8_t level); -// Gets the current brightness of the display +// Gets the current brightness level of the display uint8_t oled_get_brightness(void); // Basically it's oled_render, but with timeout management and oled_task_user calling! @@ -454,16 +458,16 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line); // Sets scroll speed, 0-7, fastest to slowest. Default is three. // Does not take effect until scrolling is either started or restarted // the ssd1306 supports 8 speeds with the delay -// listed below betwen each frame of the scrolling effect +// listed below between each frame of the scrolling effect // 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256 void oled_scroll_set_speed(uint8_t speed); -// Scrolls the entire display right +// Begin scrolling the entire display right // Returns true if the screen was scrolling or starts scrolling // NOTE: display contents cannot be changed while scrolling bool oled_scroll_right(void); -// Scrolls the entire display left +// Begin scrolling the entire display left // Returns true if the screen was scrolling or starts scrolling // NOTE: display contents cannot be changed while scrolling bool oled_scroll_left(void); diff --git a/drivers/painter/comms/qp_comms_dummy.c b/drivers/painter/comms/qp_comms_dummy.c new file mode 100644 index 000000000000..2ed49d223277 --- /dev/null +++ b/drivers/painter/comms/qp_comms_dummy.c @@ -0,0 +1,34 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef QUANTUM_PAINTER_DUMMY_COMMS_ENABLE + +# include "qp_comms_dummy.h" + +static bool dummy_comms_init(painter_device_t device) { + // No-op. + return true; +} + +static bool dummy_comms_start(painter_device_t device) { + // No-op. + return true; +} + +static void dummy_comms_stop(painter_device_t device) { + // No-op. +} + +uint32_t dummy_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { + // No-op. + return byte_count; +} + +painter_comms_vtable_t dummy_comms_vtable = { + // These are all effective no-op's because they're not actually needed. + .comms_init = dummy_comms_init, + .comms_start = dummy_comms_start, + .comms_stop = dummy_comms_stop, + .comms_send = dummy_comms_send}; + +#endif // QUANTUM_PAINTER_DUMMY_COMMS_ENABLE diff --git a/drivers/painter/comms/qp_comms_dummy.h b/drivers/painter/comms/qp_comms_dummy.h new file mode 100644 index 000000000000..b2d5d6eea5c2 --- /dev/null +++ b/drivers/painter/comms/qp_comms_dummy.h @@ -0,0 +1,11 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef QUANTUM_PAINTER_DUMMY_COMMS_ENABLE + +# include "qp_internal.h" + +extern painter_comms_vtable_t dummy_comms_vtable; + +#endif // QUANTUM_PAINTER_DUMMY_COMMS_ENABLE diff --git a/drivers/painter/comms/qp_comms_i2c.c b/drivers/painter/comms/qp_comms_i2c.c new file mode 100644 index 000000000000..ec45ddfb3b64 --- /dev/null +++ b/drivers/painter/comms/qp_comms_i2c.c @@ -0,0 +1,94 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef QUANTUM_PAINTER_I2C_ENABLE + +# include "i2c_master.h" +# include "qp_comms_i2c.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +static uint32_t qp_comms_i2c_send_raw(painter_device_t device, const void *data, uint32_t byte_count) { + painter_driver_t * driver = (painter_driver_t *)device; + qp_comms_i2c_config_t *comms_config = (qp_comms_i2c_config_t *)driver->comms_config; + i2c_status_t res = i2c_transmit(comms_config->chip_address << 1, data, byte_count, I2C_TIMEOUT); + if (res < 0) { + return 0; + } + return byte_count; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base I2C support + +bool qp_comms_i2c_init(painter_device_t device) { + i2c_init(); + return true; +} + +bool qp_comms_i2c_start(painter_device_t device) { + painter_driver_t * driver = (painter_driver_t *)device; + qp_comms_i2c_config_t *comms_config = (qp_comms_i2c_config_t *)driver->comms_config; + return i2c_start(comms_config->chip_address << 1) == I2C_STATUS_SUCCESS; +} + +uint32_t qp_comms_i2c_send_data(painter_device_t device, const void *data, uint32_t byte_count) { + return qp_comms_i2c_send_raw(device, data, byte_count); +} + +void qp_comms_i2c_stop(painter_device_t device) { + i2c_stop(); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Command+Data I2C support + +static const uint8_t cmd_byte = 0x00; +static const uint8_t data_byte = 0x40; + +void qp_comms_i2c_cmddata_send_command(painter_device_t device, uint8_t cmd) { + uint8_t buf[2] = {cmd_byte, cmd}; + qp_comms_i2c_send_raw(device, &buf, 2); +} + +uint32_t qp_comms_i2c_cmddata_send_data(painter_device_t device, const void *data, uint32_t byte_count) { + uint8_t buf[1 + byte_count]; + buf[0] = data_byte; + memcpy(&buf[1], data, byte_count); + if (qp_comms_i2c_send_raw(device, buf, sizeof(buf)) != sizeof(buf)) { + return 0; + } + return byte_count; +} + +void qp_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { + uint8_t buf[32]; + for (size_t i = 0; i < sequence_len;) { + uint8_t command = sequence[i]; + uint8_t delay = sequence[i + 1]; + uint8_t num_bytes = sequence[i + 2]; + buf[0] = cmd_byte; + buf[1] = command; + memcpy(&buf[2], &sequence[i + 3], num_bytes); + qp_comms_i2c_send_raw(device, buf, num_bytes + 2); + if (delay > 0) { + wait_ms(delay); + } + i += (3 + num_bytes); + } +} + +const painter_comms_with_command_vtable_t i2c_comms_cmddata_vtable = { + .base = + { + .comms_init = qp_comms_i2c_init, + .comms_start = qp_comms_i2c_start, + .comms_send = qp_comms_i2c_cmddata_send_data, + .comms_stop = qp_comms_i2c_stop, + }, + .send_command = qp_comms_i2c_cmddata_send_command, + .bulk_command_sequence = qp_comms_i2c_bulk_command_sequence, +}; + +#endif // QUANTUM_PAINTER_I2C_ENABLE diff --git a/drivers/painter/comms/qp_comms_i2c.h b/drivers/painter/comms/qp_comms_i2c.h new file mode 100644 index 000000000000..70083d6526f2 --- /dev/null +++ b/drivers/painter/comms/qp_comms_i2c.h @@ -0,0 +1,28 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef QUANTUM_PAINTER_I2C_ENABLE + +# include + +# include "gpio.h" +# include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Base I2C support + +typedef struct qp_comms_i2c_config_t { + uint8_t chip_address; +} qp_comms_i2c_config_t; + +bool qp_comms_i2c_init(painter_device_t device); +bool qp_comms_i2c_start(painter_device_t device); +uint32_t qp_comms_i2c_send_data(painter_device_t device, const void* data, uint32_t byte_count); +void qp_comms_i2c_stop(painter_device_t device); + +extern const painter_comms_with_command_vtable_t i2c_comms_cmddata_vtable; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#endif // QUANTUM_PAINTER_I2C_ENABLE diff --git a/drivers/painter/comms/qp_comms_spi.c b/drivers/painter/comms/qp_comms_spi.c index 7534e844d838..9f52bc7d1f30 100644 --- a/drivers/painter/comms/qp_comms_spi.c +++ b/drivers/painter/comms/qp_comms_spi.c @@ -105,13 +105,21 @@ void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { } void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { + painter_driver_t * driver = (painter_driver_t *)device; + qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; for (size_t i = 0; i < sequence_len;) { uint8_t command = sequence[i]; uint8_t delay = sequence[i + 1]; uint8_t num_bytes = sequence[i + 2]; qp_comms_spi_dc_reset_send_command(device, command); if (num_bytes > 0) { - qp_comms_spi_dc_reset_send_data(device, &sequence[i + 3], num_bytes); + if (comms_config->command_params_uses_command_pin) { + for (uint8_t j = 0; j < num_bytes; j++) { + qp_comms_spi_dc_reset_send_command(device, sequence[i + 3 + j]); + } + } else { + qp_comms_spi_dc_reset_send_data(device, &sequence[i + 3], num_bytes); + } } if (delay > 0) { wait_ms(delay); diff --git a/drivers/painter/comms/qp_comms_spi.h b/drivers/painter/comms/qp_comms_spi.h index b3da86d5733f..ff323c3c10e6 100644 --- a/drivers/painter/comms/qp_comms_spi.h +++ b/drivers/painter/comms/qp_comms_spi.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #ifdef QUANTUM_PAINTER_SPI_ENABLE @@ -36,6 +35,7 @@ typedef struct qp_comms_spi_dc_reset_config_t { qp_comms_spi_config_t spi_config; pin_t dc_pin; pin_t reset_pin; + bool command_params_uses_command_pin; // keep D/C held low when sending command sequences for data bytes } qp_comms_spi_dc_reset_config_t; void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd); diff --git a/drivers/painter/gc9a01/qp_gc9a01.c b/drivers/painter/gc9a01/qp_gc9a01.c index a2eb2cf57c03..fe6fa7a9d024 100644 --- a/drivers/painter/gc9a01/qp_gc9a01.c +++ b/drivers/painter/gc9a01/qp_gc9a01.c @@ -2,7 +2,6 @@ // Copyright 2023 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later -#include #include "qp_internal.h" #include "qp_comms.h" #include "qp_gc9a01.h" @@ -135,13 +134,14 @@ painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_ driver->base.offset_y = 0; // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/gc9a01/qp_gc9a01.h b/drivers/painter/gc9a01/qp_gc9a01.h index e2b193956405..31a3804b504f 100644 --- a/drivers/painter/gc9a01/qp_gc9a01.h +++ b/drivers/painter/gc9a01/qp_gc9a01.h @@ -1,6 +1,5 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/gc9a01/qp_gc9a01_opcodes.h b/drivers/painter/gc9a01/qp_gc9a01_opcodes.h index 6ff4efe7a8ac..828e42752b0c 100644 --- a/drivers/painter/gc9a01/qp_gc9a01_opcodes.h +++ b/drivers/painter/gc9a01/qp_gc9a01_opcodes.h @@ -1,6 +1,5 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/generic/qp_rgb565_surface.c b/drivers/painter/generic/qp_rgb565_surface.c deleted file mode 100644 index 9c283e06872d..000000000000 --- a/drivers/painter/generic/qp_rgb565_surface.c +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2022 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "color.h" -#include "qp_rgb565_surface.h" -#include "qp_draw.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Common - -// Device definition -typedef struct rgb565_surface_painter_device_t { - painter_driver_t base; // must be first, so it can be cast to/from the painter_device_t* type - - // The target buffer - uint16_t *buffer; - - // Manually manage the viewport for streaming pixel data to the display - uint16_t viewport_l; - uint16_t viewport_t; - uint16_t viewport_r; - uint16_t viewport_b; - - // Current write location to the display when streaming pixel data - uint16_t pixdata_x; - uint16_t pixdata_y; - - // Maintain a dirty region so we can stream only what we need - bool is_dirty; - uint16_t dirty_l; - uint16_t dirty_t; - uint16_t dirty_r; - uint16_t dirty_b; - -} rgb565_surface_painter_device_t; - -// Driver storage -rgb565_surface_painter_device_t surface_drivers[RGB565_SURFACE_NUM_DEVICES] = {0}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Helpers - -static inline void increment_pixdata_location(rgb565_surface_painter_device_t *surface) { - // Increment the X-position - surface->pixdata_x++; - - // If the x-coord has gone past the right-side edge, loop it back around and increment the y-coord - if (surface->pixdata_x > surface->viewport_r) { - surface->pixdata_x = surface->viewport_l; - surface->pixdata_y++; - } - - // If the y-coord has gone past the bottom, loop it back to the top - if (surface->pixdata_y > surface->viewport_b) { - surface->pixdata_y = surface->viewport_t; - } -} - -static inline void setpixel(rgb565_surface_painter_device_t *surface, uint16_t x, uint16_t y, uint16_t rgb565) { - // Skip messing with the dirty info if the original value already matches - if (surface->buffer[y * surface->base.panel_width + x] != rgb565) { - // Maintain dirty region - if (surface->dirty_l > x) { - surface->dirty_l = x; - } - if (surface->dirty_r < x) { - surface->dirty_r = x; - } - if (surface->dirty_t > y) { - surface->dirty_t = y; - } - if (surface->dirty_b < y) { - surface->dirty_b = y; - } - - // Always dirty after a setpixel - surface->is_dirty = true; - - // Update the pixel data in the buffer - surface->buffer[y * surface->base.panel_width + x] = rgb565; - } -} - -static inline void append_pixel(rgb565_surface_painter_device_t *surface, uint16_t rgb565) { - setpixel(surface, surface->pixdata_x, surface->pixdata_y, rgb565); - increment_pixdata_location(surface); -} - -static inline void stream_pixdata(rgb565_surface_painter_device_t *surface, const uint16_t *data, uint32_t native_pixel_count) { - for (uint32_t pixel_counter = 0; pixel_counter < native_pixel_count; ++pixel_counter) { - append_pixel(surface, data[pixel_counter]); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Driver vtable - -static bool qp_rgb565_surface_init(painter_device_t device, painter_rotation_t rotation) { - painter_driver_t * driver = (painter_driver_t *)device; - rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; - memset(surface->buffer, 0, driver->panel_width * driver->panel_height * driver->native_bits_per_pixel / 8); - return true; -} - -static bool qp_rgb565_surface_power(painter_device_t device, bool power_on) { - // No-op. - return true; -} - -static bool qp_rgb565_surface_clear(painter_device_t device) { - painter_driver_t *driver = (painter_driver_t *)device; - driver->driver_vtable->init(device, driver->rotation); // Re-init the surface - return true; -} - -static bool qp_rgb565_surface_flush(painter_device_t device) { - painter_driver_t * driver = (painter_driver_t *)device; - rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; - surface->dirty_l = surface->dirty_t = UINT16_MAX; - surface->dirty_r = surface->dirty_b = 0; - surface->is_dirty = false; - return true; -} - -static bool qp_rgb565_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { - painter_driver_t * driver = (painter_driver_t *)device; - rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; - - // Set the viewport locations - surface->viewport_l = left; - surface->viewport_t = top; - surface->viewport_r = right; - surface->viewport_b = bottom; - - // Reset the write location to the top left - surface->pixdata_x = left; - surface->pixdata_y = top; - return true; -} - -// Stream pixel data to the current write position in GRAM -static bool qp_rgb565_surface_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { - painter_driver_t * driver = (painter_driver_t *)device; - rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; - stream_pixdata(surface, (const uint16_t *)pixel_data, native_pixel_count); - return true; -} - -// Pixel colour conversion -static bool qp_rgb565_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { - for (int16_t i = 0; i < palette_size; ++i) { - RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); - uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); - palette[i].rgb565 = __builtin_bswap16(rgb565); - } - return true; -} - -// Append pixels to the target location, keyed by the pixel index -static bool qp_rgb565_surface_append_pixels_rgb565(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { - uint16_t *buf = (uint16_t *)target_buffer; - for (uint32_t i = 0; i < pixel_count; ++i) { - buf[pixel_offset + i] = palette[palette_indices[i]].rgb565; - } - return true; -} - -// Append data to the target location -static bool qp_rgb565_surface_append_pixdata(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte) { - target_buffer[pixdata_offset] = pixdata_byte; - return true; -} - -const painter_driver_vtable_t rgb565_surface_driver_vtable = { - .init = qp_rgb565_surface_init, - .power = qp_rgb565_surface_power, - .clear = qp_rgb565_surface_clear, - .flush = qp_rgb565_surface_flush, - .pixdata = qp_rgb565_surface_pixdata, - .viewport = qp_rgb565_surface_viewport, - .palette_convert = qp_rgb565_surface_palette_convert_rgb565_swapped, - .append_pixels = qp_rgb565_surface_append_pixels_rgb565, - .append_pixdata = qp_rgb565_surface_append_pixdata, -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Comms vtable - -static bool qp_rgb565_surface_comms_init(painter_device_t device) { - // No-op. - return true; -} -static bool qp_rgb565_surface_comms_start(painter_device_t device) { - // No-op. - return true; -} -static void qp_rgb565_surface_comms_stop(painter_device_t device) { - // No-op. -} -uint32_t qp_rgb565_surface_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { - // No-op. - return byte_count; -} - -painter_comms_vtable_t rgb565_surface_driver_comms_vtable = { - // These are all effective no-op's because they're not actually needed. - .comms_init = qp_rgb565_surface_comms_init, - .comms_start = qp_rgb565_surface_comms_start, - .comms_stop = qp_rgb565_surface_comms_stop, - .comms_send = qp_rgb565_surface_comms_send}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Factory function for creating a handle to an rgb565 surface - -painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer) { - for (uint32_t i = 0; i < RGB565_SURFACE_NUM_DEVICES; ++i) { - rgb565_surface_painter_device_t *driver = &surface_drivers[i]; - if (!driver->base.driver_vtable) { - driver->base.driver_vtable = &rgb565_surface_driver_vtable; - driver->base.comms_vtable = &rgb565_surface_driver_comms_vtable; - driver->base.native_bits_per_pixel = 16; // RGB565 - driver->base.panel_width = panel_width; - driver->base.panel_height = panel_height; - driver->base.rotation = QP_ROTATION_0; - driver->base.offset_x = 0; - driver->base.offset_y = 0; - driver->buffer = (uint16_t *)buffer; - return (painter_device_t)driver; - } - } - return NULL; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Drawing routine to copy out the dirty region and send it to another device - -bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y) { - painter_driver_t * surface_driver = (painter_driver_t *)surface; - rgb565_surface_painter_device_t *surface_handle = (rgb565_surface_painter_device_t *)surface_driver; - - // If we're not dirty... we're done. - if (!surface_handle->is_dirty) { - return true; - } - - // Set the target drawing area - bool ok = qp_viewport(display, x + surface_handle->dirty_l, y + surface_handle->dirty_t, x + surface_handle->dirty_r, y + surface_handle->dirty_b); - if (!ok) { - return false; - } - - // Housekeeping of the amount of pixels to transfer - uint32_t total_pixel_count = QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE / sizeof(uint16_t); - uint32_t pixel_counter = 0; - uint16_t *target_buffer = (uint16_t *)qp_internal_global_pixdata_buffer; - - // Fill the global pixdata area so that we can start transferring to the panel - for (uint16_t y = surface_handle->dirty_t; y <= surface_handle->dirty_b; ++y) { - for (uint16_t x = surface_handle->dirty_l; x <= surface_handle->dirty_r; ++x) { - // Update the target buffer - target_buffer[pixel_counter++] = surface_handle->buffer[y * surface_handle->base.panel_width + x]; - - // If we've accumulated enough data, send it - if (pixel_counter == total_pixel_count) { - ok = qp_pixdata(display, qp_internal_global_pixdata_buffer, pixel_counter); - if (!ok) { - return false; - } - // Reset the counter - pixel_counter = 0; - } - } - } - - // If there's any leftover data, send it - if (pixel_counter > 0) { - ok = qp_pixdata(display, qp_internal_global_pixdata_buffer, pixel_counter); - if (!ok) { - return false; - } - } - - // Clear the dirty info for the surface - return qp_flush(surface); -} diff --git a/drivers/painter/generic/qp_rgb565_surface.h b/drivers/painter/generic/qp_rgb565_surface.h deleted file mode 100644 index 19e919bb913c..000000000000 --- a/drivers/painter/generic/qp_rgb565_surface.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2022 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "qp_internal.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter RGB565 surface configurables (add to your keyboard's config.h) - -#ifndef RGB565_SURFACE_NUM_DEVICES -/** - * @def This controls the maximum number of surface devices that Quantum Painter can use at any one time. - * Increasing this number allows for multiple framebuffers to be used. Each requires its own RAM allocation. - */ -# define RGB565_SURFACE_NUM_DEVICES 1 -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Forward declarations - -#ifdef QUANTUM_PAINTER_RGB565_SURFACE_ENABLE -/** - * Factory method for an RGB565 surface (aka framebuffer). - * - * @param panel_width[in] the width of the display panel - * @param panel_height[in] the height of the display panel - * @param buffer[in] pointer to a preallocated buffer of size `(sizeof(uint16_t) * panel_width * panel_height)` - * @return the device handle used with all drawing routines in Quantum Painter - */ -painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); - -/** - * Helper method to draw the dirty contents of the framebuffer to the target device. - * - * After successful completion, the dirty area is reset. - * - * @param surface[in] the surface to copy from - * @param display[in] the display to copy into - * @param x[in] the x-location of the original position of the framebuffer - * @param y[in] the y-location of the original position of the framebuffer - * @return whether the draw operation completed successfully - */ -bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y); -#endif // QUANTUM_PAINTER_RGB565_SURFACE_ENABLE diff --git a/drivers/painter/generic/qp_surface.h b/drivers/painter/generic/qp_surface.h new file mode 100644 index 000000000000..a2917936492d --- /dev/null +++ b/drivers/painter/generic/qp_surface.h @@ -0,0 +1,67 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter surface helpers + +// Helper for determining buffer size required for a surface +#define SURFACE_REQUIRED_BUFFER_BYTE_SIZE(w, h, bpp) ((((w) * (h) * (bpp)) + 7) / 8) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter surface configurables (add to your keyboard's config.h) + +#ifndef SURFACE_NUM_DEVICES +/** + * @def This controls the maximum number of surface devices that Quantum Painter can use at any one time. + * Increasing this number allows for multiple framebuffers to be used. Each requires its own RAM allocation. + */ +# define SURFACE_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Forward declarations + +#ifdef QUANTUM_PAINTER_SURFACE_ENABLE + +// Surface struct +struct surface_painter_device_t; +typedef struct surface_painter_device_t surface_painter_device_t; + +/** + * Factory method for an RGB565 surface (aka framebuffer). + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param buffer[in] pointer to a preallocated uint8_t buffer of size `SURFACE_REQUIRED_BUFFER_BYTE_SIZE(panel_width, panel_height, 16)` + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_make_rgb565_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); + +/** + * Factory method for a 1bpp monochrome surface (aka framebuffer). + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param buffer[in] pointer to a preallocated uint8_t buffer of size `SURFACE_REQUIRED_BUFFER_BYTE_SIZE(panel_width, panel_height, 1)` + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_make_mono1bpp_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); + +/** + * Helper method to draw the contents of the framebuffer to the target device. + * + * After successful completion, the dirty area is reset. + * + * @param surface[in] the surface to copy from + * @param target[in] the target device to copy into + * @param x[in] the x-location of the original position of the framebuffer + * @param y[in] the y-location of the original position of the framebuffer + * @param entire_surface[in] whether the entire surface should be drawn, instead of just the dirty region + * @return whether the draw operation completed successfully + */ +bool qp_surface_draw(painter_device_t surface, painter_device_t target, uint16_t x, uint16_t y, bool entire_surface); + +#endif // QUANTUM_PAINTER_SURFACE_ENABLE diff --git a/drivers/painter/generic/qp_surface_common.c b/drivers/painter/generic/qp_surface_common.c new file mode 100644 index 000000000000..2da96c73ac77 --- /dev/null +++ b/drivers/painter/generic/qp_surface_common.c @@ -0,0 +1,141 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "color.h" +#include "qp_draw.h" +#include "qp_surface_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver storage + +surface_painter_device_t surface_drivers[SURFACE_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +void qp_surface_increment_pixdata_location(surface_viewport_data_t *viewport) { + // Increment the X-position + viewport->pixdata_x++; + + // If the x-coord has gone past the right-side edge, loop it back around and increment the y-coord + if (viewport->pixdata_x > viewport->viewport_r) { + viewport->pixdata_x = viewport->viewport_l; + viewport->pixdata_y++; + } + + // If the y-coord has gone past the bottom, loop it back to the top + if (viewport->pixdata_y > viewport->viewport_b) { + viewport->pixdata_y = viewport->viewport_t; + } +} + +void qp_surface_update_dirty(surface_dirty_data_t *dirty, uint16_t x, uint16_t y) { + // Maintain dirty region + if (dirty->l > x) { + dirty->l = x; + dirty->is_dirty = true; + } + if (dirty->r < x) { + dirty->r = x; + dirty->is_dirty = true; + } + if (dirty->t > y) { + dirty->t = y; + dirty->is_dirty = true; + } + if (dirty->b < y) { + dirty->b = y; + dirty->is_dirty = true; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +bool qp_surface_init(painter_device_t device, painter_rotation_t rotation) { + painter_driver_t * driver = (painter_driver_t *)device; + surface_painter_device_t *surface = (surface_painter_device_t *)driver; + memset(surface->buffer, 0, SURFACE_REQUIRED_BUFFER_BYTE_SIZE(driver->panel_width, driver->panel_height, driver->native_bits_per_pixel)); + + surface->dirty.l = 0; + surface->dirty.t = 0; + surface->dirty.r = surface->base.panel_width - 1; + surface->dirty.b = surface->base.panel_height - 1; + surface->dirty.is_dirty = true; + + return true; +} + +bool qp_surface_power(painter_device_t device, bool power_on) { + // No-op. + return true; +} + +bool qp_surface_clear(painter_device_t device) { + painter_driver_t *driver = (painter_driver_t *)device; + driver->driver_vtable->init(device, driver->rotation); // Re-init the surface + return true; +} + +bool qp_surface_flush(painter_device_t device) { + painter_driver_t * driver = (painter_driver_t *)device; + surface_painter_device_t *surface = (surface_painter_device_t *)driver; + surface->dirty.l = surface->dirty.t = UINT16_MAX; + surface->dirty.r = surface->dirty.b = 0; + surface->dirty.is_dirty = false; + return true; +} + +bool qp_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + painter_driver_t * driver = (painter_driver_t *)device; + surface_painter_device_t *surface = (surface_painter_device_t *)driver; + + // Set the viewport locations + surface->viewport.viewport_l = left; + surface->viewport.viewport_t = top; + surface->viewport.viewport_r = right; + surface->viewport.viewport_b = bottom; + + // Reset the write location to the top left + surface->viewport.pixdata_x = left; + surface->viewport.pixdata_y = top; + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Drawing routine to copy out the dirty region and send it to another device + +bool qp_surface_draw(painter_device_t surface, painter_device_t target, uint16_t x, uint16_t y, bool entire_surface) { + painter_driver_t * surface_driver = (painter_driver_t *)surface; + surface_painter_device_t *surface_handle = (surface_painter_device_t *)surface_driver; + painter_driver_t * target_driver = (painter_driver_t *)target; + + // If we're not dirty... we're done. + if (!surface_handle->dirty.is_dirty) { + qp_dprintf("qp_surface_draw: ok (not dirty, skipping)\n"); + return true; + } + + // If we have incompatible bit depths, drop out + if (surface_driver->native_bits_per_pixel != target_driver->native_bits_per_pixel) { + qp_dprintf("qp_surface_draw: fail (incompatible bpp: surface=%d, target=%d)\n", (int)surface_driver->native_bits_per_pixel, (int)target_driver->native_bits_per_pixel); + return false; + } + + // Offload to the pixdata transfer function + surface_painter_driver_vtable_t *vtable = (surface_painter_driver_vtable_t *)surface_driver->driver_vtable; + bool ok = vtable->target_pixdata_transfer(surface_driver, target_driver, x, y, entire_surface); + if (!ok) { + qp_dprintf("qp_surface_draw: fail (could not transfer pixel data)\n"); + return false; + } + + // Clear the dirty info for the surface + ok = qp_flush(surface); + if (!ok) { + qp_dprintf("qp_surface_draw: fail (could not flush)\n"); + return false; + } + qp_dprintf("qp_surface_draw: ok\n"); + return true; +} diff --git a/drivers/painter/generic/qp_surface_internal.h b/drivers/painter/generic/qp_surface_internal.h new file mode 100644 index 000000000000..71f82e924d14 --- /dev/null +++ b/drivers/painter/generic/qp_surface_internal.h @@ -0,0 +1,119 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef QUANTUM_PAINTER_SURFACE_ENABLE + +# include "qp_surface.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Internal declarations + +// Surface vtable +typedef struct surface_painter_driver_vtable_t { + painter_driver_vtable_t base; // must be first, so it can be cast to/from the painter_driver_vtable_t* type + + bool (*target_pixdata_transfer)(painter_driver_t *surface_driver, painter_driver_t *target_driver, uint16_t x, uint16_t y, bool entire_surface); +} surface_painter_driver_vtable_t; + +typedef struct surface_dirty_data_t { + bool is_dirty; + uint16_t l; + uint16_t t; + uint16_t r; + uint16_t b; +} surface_dirty_data_t; + +typedef struct surface_viewport_data_t { + // Manually manage the viewport for streaming pixel data to the display + uint16_t viewport_l; + uint16_t viewport_t; + uint16_t viewport_r; + uint16_t viewport_b; + + // Current write location to the display when streaming pixel data + uint16_t pixdata_x; + uint16_t pixdata_y; +} surface_viewport_data_t; + +// Surface struct +typedef struct surface_painter_device_t { + painter_driver_t base; // must be first, so it can be cast to/from the painter_device_t* type + + // The target buffer + union { + void * buffer; + uint8_t * u8buffer; + uint16_t *u16buffer; + }; + + // Manually manage the viewport for streaming pixel data to the display + surface_viewport_data_t viewport; + + // Maintain a dirty region so we can stream only what we need + surface_dirty_data_t dirty; +} surface_painter_device_t; + +/** + * Factory method for an RGB565 surface (aka framebuffer). Accepts an external device table. + * + * @param device_table[in] the table of devices to use for instantiation + * @param device_table_len[in] the length of the table of devices + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param buffer[in] pointer to a preallocated uint8_t buffer of size `SURFACE_REQUIRED_BUFFER_BYTE_SIZE(panel_width, panel_height, 16)` + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_make_rgb565_surface_advanced(surface_painter_device_t *device_table, size_t device_table_len, uint16_t panel_width, uint16_t panel_height, void *buffer); + +/** + * Factory method for a 1bpp monochrome surface (aka framebuffer). + * + * @param device_table[in] the table of devices to use for instantiation + * @param device_table_len[in] the length of the table of devices + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param buffer[in] pointer to a preallocated uint8_t buffer of size `SURFACE_REQUIRED_BUFFER_BYTE_SIZE(panel_width, panel_height, 16)` + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_make_mono1bpp_surface_advanced(surface_painter_device_t *device_table, size_t device_table_len, uint16_t panel_width, uint16_t panel_height, void *buffer); + +// Driver storage +extern surface_painter_device_t surface_drivers[SURFACE_NUM_DEVICES]; + +// Surface common APIs +bool qp_surface_init(painter_device_t device, painter_rotation_t rotation); +bool qp_surface_power(painter_device_t device, bool power_on); +bool qp_surface_clear(painter_device_t device); +bool qp_surface_flush(painter_device_t device); +bool qp_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); +void qp_surface_increment_pixdata_location(surface_viewport_data_t *viewport); +void qp_surface_update_dirty(surface_dirty_data_t *dirty, uint16_t x, uint16_t y); + +#endif // QUANTUM_PAINTER_SURFACE_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Factory functions for creating a handle to a surface + +#define SURFACE_FACTORY_FUNCTION_IMPL(function_name, vtable, bpp) \ + painter_device_t(function_name##_advanced)(surface_painter_device_t * device_table, size_t device_table_len, uint16_t panel_width, uint16_t panel_height, void *buffer) { \ + for (uint32_t i = 0; i < device_table_len; ++i) { \ + surface_painter_device_t *driver = &device_table[i]; \ + if (!driver->base.driver_vtable) { \ + driver->base.driver_vtable = (painter_driver_vtable_t *)&(vtable); \ + driver->base.native_bits_per_pixel = (bpp); \ + driver->base.comms_vtable = &dummy_comms_vtable; \ + driver->base.panel_width = panel_width; \ + driver->base.panel_height = panel_height; \ + driver->base.rotation = QP_ROTATION_0; \ + driver->base.offset_x = 0; \ + driver->base.offset_y = 0; \ + driver->buffer = buffer; \ + return (painter_device_t)driver; \ + } \ + } \ + return NULL; \ + } \ + painter_device_t(function_name)(uint16_t panel_width, uint16_t panel_height, void *buffer) { \ + return (function_name##_advanced)(surface_drivers, SURFACE_NUM_DEVICES, panel_width, panel_height, buffer); \ + } diff --git a/drivers/painter/generic/qp_surface_mono1bpp.c b/drivers/painter/generic/qp_surface_mono1bpp.c new file mode 100644 index 000000000000..c66b56519da4 --- /dev/null +++ b/drivers/painter/generic/qp_surface_mono1bpp.c @@ -0,0 +1,113 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef QUANTUM_PAINTER_SURFACE_ENABLE + +# include "color.h" +# include "qp_draw.h" +# include "qp_surface_internal.h" +# include "qp_comms_dummy.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Surface driver impl: mono1bpp + +static inline void setpixel_mono1bpp(surface_painter_device_t *surface, uint16_t x, uint16_t y, bool mono_pixel) { + uint16_t w = surface->base.panel_width; + uint16_t h = surface->base.panel_height; + + // Drop out if it's off-screen + if (x >= w || y >= h) { + return; + } + + // Figure out which location needs to be updated + uint32_t pixel_num = y * w + x; + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + bool curr_val = (surface->u8buffer[byte_offset] & (1 << bit_offset)) ? true : false; + + // Skip messing with the dirty info if the original value already matches + if (curr_val != mono_pixel) { + // Update the dirty region + qp_surface_update_dirty(&surface->dirty, x, y); + + // Update the pixel data in the buffer + if (mono_pixel) { + surface->u8buffer[byte_offset] |= (1 << bit_offset); + } else { + surface->u8buffer[byte_offset] &= ~(1 << bit_offset); + } + } +} + +static inline void append_pixel_mono1bpp(surface_painter_device_t *surface, bool mono_pixel) { + setpixel_mono1bpp(surface, surface->viewport.pixdata_x, surface->viewport.pixdata_y, mono_pixel); + qp_surface_increment_pixdata_location(&surface->viewport); +} + +static inline void stream_pixdata_mono1bpp(surface_painter_device_t *surface, const uint8_t *data, uint32_t native_pixel_count) { + for (uint32_t pixel_counter = 0; pixel_counter < native_pixel_count; ++pixel_counter) { + uint32_t byte_offset = pixel_counter / 8; + uint8_t bit_offset = pixel_counter % 8; + append_pixel_mono1bpp(surface, (data[byte_offset] & (1 << bit_offset)) ? true : false); + } +} + +// Stream pixel data to the current write position in GRAM +static bool qp_surface_pixdata_mono1bpp(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + painter_driver_t * driver = (painter_driver_t *)device; + surface_painter_device_t *surface = (surface_painter_device_t *)driver; + stream_pixdata_mono1bpp(surface, (const uint8_t *)pixel_data, native_pixel_count); + return true; +} + +// Pixel colour conversion +static bool qp_surface_palette_convert_mono1bpp(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { + for (int16_t i = 0; i < palette_size; ++i) { + palette[i].mono = (palette[i].hsv888.v > 127) ? 1 : 0; + } + return true; +} + +// Append pixels to the target location, keyed by the pixel index +static bool qp_surface_append_pixels_mono1bpp(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { + for (uint32_t i = 0; i < pixel_count; ++i) { + uint32_t pixel_num = pixel_offset + i; + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + if (palette[palette_indices[i]].mono) { + target_buffer[byte_offset] |= (1 << bit_offset); + } else { + target_buffer[byte_offset] &= ~(1 << bit_offset); + } + } + return true; +} + +static bool mono1bpp_target_pixdata_transfer(painter_driver_t *surface_driver, painter_driver_t *target_driver, uint16_t x, uint16_t y, bool entire_surface) { + return false; // Not yet supported. +} + +static bool qp_surface_append_pixdata_mono1bpp(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte) { + return false; // Just use 1bpp images. +} + +const surface_painter_driver_vtable_t mono1bpp_surface_driver_vtable = { + .base = + { + .init = qp_surface_init, + .power = qp_surface_power, + .clear = qp_surface_clear, + .flush = qp_surface_flush, + .pixdata = qp_surface_pixdata_mono1bpp, + .viewport = qp_surface_viewport, + .palette_convert = qp_surface_palette_convert_mono1bpp, + .append_pixels = qp_surface_append_pixels_mono1bpp, + .append_pixdata = qp_surface_append_pixdata_mono1bpp, + }, + .target_pixdata_transfer = mono1bpp_target_pixdata_transfer, +}; + +SURFACE_FACTORY_FUNCTION_IMPL(qp_make_mono1bpp_surface, mono1bpp_surface_driver_vtable, 1); + +#endif // QUANTUM_PAINTER_SURFACE_ENABLE diff --git a/drivers/painter/generic/qp_surface_rgb565.c b/drivers/painter/generic/qp_surface_rgb565.c new file mode 100644 index 000000000000..8883ed541d82 --- /dev/null +++ b/drivers/painter/generic/qp_surface_rgb565.c @@ -0,0 +1,145 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef QUANTUM_PAINTER_SURFACE_ENABLE + +# include "color.h" +# include "qp_draw.h" +# include "qp_surface_internal.h" +# include "qp_comms_dummy.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Surface driver impl: rgb565 + +static inline void setpixel_rgb565(surface_painter_device_t *surface, uint16_t x, uint16_t y, uint16_t rgb565) { + uint16_t w = surface->base.panel_width; + uint16_t h = surface->base.panel_height; + + // Drop out if it's off-screen + if (x >= w || y >= h) { + return; + } + + // Skip messing with the dirty info if the original value already matches + if (surface->u16buffer[y * w + x] != rgb565) { + // Update the dirty region + qp_surface_update_dirty(&surface->dirty, x, y); + + // Update the pixel data in the buffer + surface->u16buffer[y * w + x] = rgb565; + } +} + +static inline void append_pixel_rgb565(surface_painter_device_t *surface, uint16_t rgb565) { + setpixel_rgb565(surface, surface->viewport.pixdata_x, surface->viewport.pixdata_y, rgb565); + qp_surface_increment_pixdata_location(&surface->viewport); +} + +static inline void stream_pixdata_rgb565(surface_painter_device_t *surface, const uint16_t *data, uint32_t native_pixel_count) { + for (uint32_t pixel_counter = 0; pixel_counter < native_pixel_count; ++pixel_counter) { + append_pixel_rgb565(surface, data[pixel_counter]); + } +} + +// Stream pixel data to the current write position in GRAM +static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + painter_driver_t * driver = (painter_driver_t *)device; + surface_painter_device_t *surface = (surface_painter_device_t *)driver; + stream_pixdata_rgb565(surface, (const uint16_t *)pixel_data, native_pixel_count); + return true; +} + +// Pixel colour conversion +static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { + for (int16_t i = 0; i < palette_size; ++i) { + RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); + palette[i].rgb565 = __builtin_bswap16(rgb565); + } + return true; +} + +// Append pixels to the target location, keyed by the pixel index +static bool qp_surface_append_pixels_rgb565(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { + uint16_t *buf = (uint16_t *)target_buffer; + for (uint32_t i = 0; i < pixel_count; ++i) { + buf[pixel_offset + i] = palette[palette_indices[i]].rgb565; + } + return true; +} + +static bool rgb565_target_pixdata_transfer(painter_driver_t *surface_driver, painter_driver_t *target_driver, uint16_t x, uint16_t y, bool entire_surface) { + surface_painter_device_t *surface_handle = (surface_painter_device_t *)surface_driver; + + uint16_t l = entire_surface ? 0 : surface_handle->dirty.l; + uint16_t t = entire_surface ? 0 : surface_handle->dirty.t; + uint16_t r = entire_surface ? (surface_handle->base.panel_width - 1) : surface_handle->dirty.r; + uint16_t b = entire_surface ? (surface_handle->base.panel_height - 1) : surface_handle->dirty.b; + + // Set the target drawing area + bool ok = qp_viewport((painter_device_t)target_driver, x + l, y + t, x + r, y + b); + if (!ok) { + qp_dprintf("rgb565_target_pixdata_transfer: fail (could not set target viewport)\n"); + return false; + } + + // Housekeeping of the amount of pixels to transfer + uint32_t total_pixel_count = (8 * QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE) / surface_driver->native_bits_per_pixel; + uint32_t pixel_counter = 0; + uint16_t *target_buffer = (uint16_t *)qp_internal_global_pixdata_buffer; + + // Fill the global pixdata area so that we can start transferring to the panel + for (uint16_t y = t; y <= b; ++y) { + for (uint16_t x = l; x <= r; ++x) { + // Update the target buffer + target_buffer[pixel_counter++] = surface_handle->u16buffer[y * surface_handle->base.panel_width + x]; + + // If we've accumulated enough data, send it + if (pixel_counter == total_pixel_count) { + ok = qp_pixdata((painter_device_t)target_driver, qp_internal_global_pixdata_buffer, pixel_counter); + if (!ok) { + qp_dprintf("rgb565_target_pixdata_transfer: fail (could not stream pixdata to target)\n"); + return false; + } + // Reset the counter + pixel_counter = 0; + } + } + } + + // If there's any leftover data, send it + if (pixel_counter > 0) { + ok = qp_pixdata((painter_device_t)target_driver, qp_internal_global_pixdata_buffer, pixel_counter); + if (!ok) { + qp_dprintf("rgb565_target_pixdata_transfer: fail (could not stream pixdata to target)\n"); + return false; + } + } + + return true; +} + +static bool qp_surface_append_pixdata_rgb565(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte) { + target_buffer[pixdata_offset] = pixdata_byte; + return true; +} + +const surface_painter_driver_vtable_t rgb565_surface_driver_vtable = { + .base = + { + .init = qp_surface_init, + .power = qp_surface_power, + .clear = qp_surface_clear, + .flush = qp_surface_flush, + .pixdata = qp_surface_pixdata_rgb565, + .viewport = qp_surface_viewport, + .palette_convert = qp_surface_palette_convert_rgb565_swapped, + .append_pixels = qp_surface_append_pixels_rgb565, + .append_pixdata = qp_surface_append_pixdata_rgb565, + }, + .target_pixdata_transfer = rgb565_target_pixdata_transfer, +}; + +SURFACE_FACTORY_FUNCTION_IMPL(qp_make_rgb565_surface, rgb565_surface_driver_vtable, 16); + +#endif // QUANTUM_PAINTER_SURFACE_ENABLE diff --git a/drivers/painter/ili9xxx/qp_ili9163.c b/drivers/painter/ili9xxx/qp_ili9163.c index a75be5790486..7f439dc317ab 100644 --- a/drivers/painter/ili9xxx/qp_ili9163.c +++ b/drivers/painter/ili9xxx/qp_ili9163.c @@ -103,13 +103,14 @@ painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel driver->base.native_bits_per_pixel = 16; // RGB565 // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/ili9xxx/qp_ili9163.h b/drivers/painter/ili9xxx/qp_ili9163.h index 88d23629a92a..a9b3befd48a4 100644 --- a/drivers/painter/ili9xxx/qp_ili9163.h +++ b/drivers/painter/ili9xxx/qp_ili9163.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/ili9xxx/qp_ili9341.c b/drivers/painter/ili9xxx/qp_ili9341.c index 4130271f71b4..a101b292aa04 100644 --- a/drivers/painter/ili9xxx/qp_ili9341.c +++ b/drivers/painter/ili9xxx/qp_ili9341.c @@ -110,13 +110,14 @@ painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel driver->base.offset_y = 0; // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/ili9xxx/qp_ili9341.h b/drivers/painter/ili9xxx/qp_ili9341.h index 28b0152a84cb..d850aba1146a 100644 --- a/drivers/painter/ili9xxx/qp_ili9341.h +++ b/drivers/painter/ili9xxx/qp_ili9341.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/ili9xxx/qp_ili9488.c b/drivers/painter/ili9xxx/qp_ili9488.c index a8da52132e0f..63deaf5f2e99 100644 --- a/drivers/painter/ili9xxx/qp_ili9488.c +++ b/drivers/painter/ili9xxx/qp_ili9488.c @@ -103,13 +103,14 @@ painter_device_t qp_ili9488_make_spi_device(uint16_t panel_width, uint16_t panel driver->base.offset_y = 0; // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/ili9xxx/qp_ili9488.h b/drivers/painter/ili9xxx/qp_ili9488.h index 21b8f0332280..da56f1090fd0 100644 --- a/drivers/painter/ili9xxx/qp_ili9488.h +++ b/drivers/painter/ili9xxx/qp_ili9488.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h index 47bb70364898..f57e638e0348 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/painter/oled_panel/qp_oled_panel.c b/drivers/painter/oled_panel/qp_oled_panel.c new file mode 100644 index 000000000000..eefee3f13f5c --- /dev/null +++ b/drivers/painter/oled_panel/qp_oled_panel.c @@ -0,0 +1,195 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "color.h" +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_draw.h" +#include "qp_oled_panel.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter API implementations + +// Power control +bool qp_oled_panel_power(painter_device_t device, bool power_on) { + painter_driver_t * driver = (painter_driver_t *)device; + oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; + qp_comms_command(device, power_on ? vtable->opcodes.display_on : vtable->opcodes.display_off); + return true; +} + +// Screen clear +bool qp_oled_panel_clear(painter_device_t device) { + painter_driver_t *driver = (painter_driver_t *)device; + driver->driver_vtable->init(device, driver->rotation); // Re-init the display + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Surface passthru +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +bool qp_oled_panel_passthru_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + oled_panel_painter_device_t *driver = (oled_panel_painter_device_t *)device; + return driver->surface.base.validate_ok && driver->surface.base.driver_vtable->pixdata(&driver->surface.base, pixel_data, native_pixel_count); +} + +bool qp_oled_panel_passthru_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + oled_panel_painter_device_t *driver = (oled_panel_painter_device_t *)device; + return driver->surface.base.validate_ok && driver->surface.base.driver_vtable->viewport(&driver->surface.base, left, top, right, bottom); +} + +bool qp_oled_panel_passthru_palette_convert(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { + oled_panel_painter_device_t *driver = (oled_panel_painter_device_t *)device; + return driver->surface.base.validate_ok && driver->surface.base.driver_vtable->palette_convert(&driver->surface.base, palette_size, palette); +} + +bool qp_oled_panel_passthru_append_pixels(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { + oled_panel_painter_device_t *driver = (oled_panel_painter_device_t *)device; + return driver->surface.base.validate_ok && driver->surface.base.driver_vtable->append_pixels(&driver->surface.base, target_buffer, palette, pixel_offset, pixel_count, palette_indices); +} + +bool qp_oled_panel_passthru_append_pixdata(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte) { + oled_panel_painter_device_t *driver = (oled_panel_painter_device_t *)device; + return driver->surface.base.validate_ok && driver->surface.base.driver_vtable->append_pixdata(&driver->surface.base, target_buffer, pixdata_offset, pixdata_byte); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Flush helpers +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void qp_oled_panel_page_column_flush_rot0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { + painter_driver_t * driver = (painter_driver_t *)device; + oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; + + // TODO: account for offset_x/y in base driver + int min_page = dirty->t / 8; + int max_page = dirty->b / 8; + int min_column = dirty->l; + int max_column = dirty->r; + + for (int page = min_page; page <= max_page; ++page) { + int cols_required = max_column - min_column + 1; + uint8_t column_data[cols_required]; + memset(column_data, 0, cols_required); + for (int x = min_column; x <= max_column; ++x) { + uint16_t data_offset = x - min_column; + for (int y = 0; y < 8; ++y) { + uint32_t pixel_num = ((page * 8) + y) * driver->panel_width + x; + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + column_data[data_offset] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << y; + } + } + + int actual_page = page; + int start_column = min_column; + qp_comms_command(device, vtable->opcodes.set_page | actual_page); + qp_comms_command(device, vtable->opcodes.set_column_lsb | (start_column & 0x0F)); + qp_comms_command(device, vtable->opcodes.set_column_msb | (start_column & 0xF0) >> 4); + qp_comms_send(device, column_data, cols_required); + } +} + +void qp_oled_panel_page_column_flush_rot90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { + painter_driver_t * driver = (painter_driver_t *)device; + oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; + + // TODO: account for offset_x/y in base driver + int num_columns = driver->panel_width; + int min_page = dirty->l / 8; + int max_page = dirty->r / 8; + int min_column = dirty->t; + int max_column = dirty->b; + + for (int page = min_page; page <= max_page; ++page) { + int cols_required = max_column - min_column + 1; + uint8_t column_data[cols_required]; + memset(column_data, 0, cols_required); + for (int y = min_column; y <= max_column; ++y) { + uint16_t data_offset = cols_required - 1 - (y - min_column); + for (int x = 0; x < 8; ++x) { + uint32_t pixel_num = y * driver->panel_height + ((page * 8) + x); + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + column_data[data_offset] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << x; + } + } + + int actual_page = page; + int start_column = num_columns - 1 - max_column; + qp_comms_command(device, vtable->opcodes.set_page | actual_page); + qp_comms_command(device, vtable->opcodes.set_column_lsb | (start_column & 0x0F)); + qp_comms_command(device, vtable->opcodes.set_column_msb | (start_column & 0xF0) >> 4); + qp_comms_send(device, column_data, cols_required); + } +} + +void qp_oled_panel_page_column_flush_rot180(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { + painter_driver_t * driver = (painter_driver_t *)device; + oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; + + // TODO: account for offset_x/y in base driver + int num_pages = driver->panel_height / 8; + int num_columns = driver->panel_width; + int min_page = dirty->t / 8; + int max_page = dirty->b / 8; + int min_column = dirty->l; + int max_column = dirty->r; + + for (int page = min_page; page <= max_page; ++page) { + int cols_required = max_column - min_column + 1; + uint8_t column_data[cols_required]; + memset(column_data, 0, cols_required); + for (int x = min_column; x <= max_column; ++x) { + uint16_t data_offset = cols_required - 1 - (x - min_column); + for (int y = 0; y < 8; ++y) { + uint32_t pixel_num = ((page * 8) + y) * driver->panel_width + x; + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + column_data[data_offset] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << (7 - y); + } + } + + int actual_page = num_pages - 1 - page; + int start_column = num_columns - 1 - max_column; + qp_comms_command(device, vtable->opcodes.set_page | actual_page); + qp_comms_command(device, vtable->opcodes.set_column_lsb | (start_column & 0x0F)); + qp_comms_command(device, vtable->opcodes.set_column_msb | (start_column & 0xF0) >> 4); + qp_comms_send(device, column_data, cols_required); + } +} + +void qp_oled_panel_page_column_flush_rot270(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { + painter_driver_t * driver = (painter_driver_t *)device; + oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; + + // TODO: account for offset_x/y in base driver + int num_pages = driver->panel_height / 8; + int min_page = dirty->l / 8; + int max_page = dirty->r / 8; + int min_column = dirty->t; + int max_column = dirty->b; + + for (int page = min_page; page <= max_page; ++page) { + int cols_required = max_column - min_column + 1; + uint8_t column_data[cols_required]; + memset(column_data, 0, cols_required); + for (int y = min_column; y <= max_column; ++y) { + uint16_t data_offset = y - min_column; + for (int x = 0; x < 8; ++x) { + uint32_t pixel_num = y * driver->panel_height + ((page * 8) + x); + uint32_t byte_offset = pixel_num / 8; + uint8_t bit_offset = pixel_num % 8; + column_data[data_offset] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << (7 - x); + } + } + + int actual_page = num_pages - 1 - page; + int start_column = min_column; + qp_comms_command(device, vtable->opcodes.set_page | actual_page); + qp_comms_command(device, vtable->opcodes.set_column_lsb | (start_column & 0x0F)); + qp_comms_command(device, vtable->opcodes.set_column_msb | (start_column & 0xF0) >> 4); + qp_comms_send(device, column_data, cols_required); + } +} diff --git a/drivers/painter/oled_panel/qp_oled_panel.h b/drivers/painter/oled_panel/qp_oled_panel.h new file mode 100644 index 000000000000..ccc7ab92048c --- /dev/null +++ b/drivers/painter/oled_panel/qp_oled_panel.h @@ -0,0 +1,68 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "color.h" +#include "qp_internal.h" +#include "qp_surface_internal.h" + +#ifdef QUANTUM_PAINTER_SPI_ENABLE +# include "qp_comms_spi.h" +#endif // QUANTUM_PAINTER_SPI_ENABLE + +#ifdef QUANTUM_PAINTER_I2C_ENABLE +# include "qp_comms_i2c.h" +#endif // QUANTUM_PAINTER_I2C_ENABLE + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common OLED panel implementation + +// Driver vtable with extras +typedef struct oled_panel_painter_driver_vtable_t { + painter_driver_vtable_t base; // must be first, so it can be cast to/from the painter_driver_vtable_t* type + + // Opcodes for normal display operation + struct { + uint8_t display_on; + uint8_t display_off; + uint8_t set_page; + uint8_t set_column_lsb; + uint8_t set_column_msb; + } opcodes; +} oled_panel_painter_driver_vtable_t; + +// Device definition +typedef struct oled_panel_painter_device_t { + painter_driver_t base; // must be first, so it can be cast to/from the painter_device_t* type + + union { +#ifdef QUANTUM_PAINTER_SPI_ENABLE + // SPI-based configurables + qp_comms_spi_dc_reset_config_t spi_dc_reset_config; +#endif // QUANTUM_PAINTER_SPI_ENABLE +#ifdef QUANTUM_PAINTER_I2C_ENABLE + // I2C-based configurables + qp_comms_i2c_config_t i2c_config; +#endif // QUANTUM_PAINTER_I2C_ENABLE + }; + + surface_painter_device_t surface; +} oled_panel_painter_device_t; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Forward declarations for injecting into concrete driver vtables + +bool qp_oled_panel_power(painter_device_t device, bool power_on); +bool qp_oled_panel_clear(painter_device_t device); + +bool qp_oled_panel_passthru_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); +bool qp_oled_panel_passthru_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); +bool qp_oled_panel_passthru_palette_convert(painter_device_t device, int16_t palette_size, qp_pixel_t *palette); +bool qp_oled_panel_passthru_append_pixels(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices); +bool qp_oled_panel_passthru_append_pixdata(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte); + +// Helpers for flushing data from the dirty region to the correct location on the OLED +void qp_oled_panel_page_column_flush_rot0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer); +void qp_oled_panel_page_column_flush_rot90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer); +void qp_oled_panel_page_column_flush_rot180(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer); +void qp_oled_panel_page_column_flush_rot270(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer); diff --git a/drivers/painter/sh1106/qp_sh1106.c b/drivers/painter/sh1106/qp_sh1106.c new file mode 100644 index 000000000000..7cb6e398fac5 --- /dev/null +++ b/drivers/painter/sh1106/qp_sh1106.c @@ -0,0 +1,206 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_internal.h" +#include "qp_comms.h" +#include "qp_oled_panel.h" +#include "qp_sh1106.h" +#include "qp_sh1106_opcodes.h" +#include "qp_surface.h" +#include "qp_surface_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver storage +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +typedef struct sh1106_device_t { + oled_panel_painter_device_t oled; + + uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(128, 64, 1)]; +} sh1106_device_t; + +static sh1106_device_t sh1106_drivers[SH1106_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter API implementations + +// Initialisation +__attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotation_t rotation) { + sh1106_device_t *driver = (sh1106_device_t *)device; + + // Change the surface geometry based on the panel rotation + if (rotation == QP_ROTATION_90 || rotation == QP_ROTATION_270) { + driver->oled.surface.base.panel_width = driver->oled.base.panel_height; + driver->oled.surface.base.panel_height = driver->oled.base.panel_width; + } else { + driver->oled.surface.base.panel_width = driver->oled.base.panel_width; + driver->oled.surface.base.panel_height = driver->oled.base.panel_height; + } + + // Init the internal surface + if (!qp_init(&driver->oled.surface.base, QP_ROTATION_0)) { + qp_dprintf("Failed to init internal surface in qp_sh1106_init\n"); + return false; + } + + // clang-format off + const uint8_t sh1106_init_sequence[] = { + // Command, Delay, N, Data[N] + SH1106_SET_MUX_RATIO, 0, 1, 0x3F, + SH1106_DISPLAY_OFFSET, 0, 1, 0x00, + SH1106_DISPLAY_START_LINE, 0, 0, + SH1106_SET_SEGMENT_REMAP_INV, 0, 0, + SH1106_COM_SCAN_DIR_DEC, 0, 0, + SH1106_COM_PADS_HW_CFG, 0, 1, 0x12, + SH1106_SET_CONTRAST, 0, 1, 0x7F, + SH1106_ALL_ON_RESUME, 0, 0, + SH1106_NON_INVERTING_DISPLAY, 0, 0, + SH1106_SET_OSC_DIVFREQ, 0, 1, 0x80, + SH1106_SET_CHARGE_PUMP, 0, 1, 0x14, + SH1106_DISPLAY_ON, 0, 0, + }; + // clang-format on + + qp_comms_bulk_command_sequence(device, sh1106_init_sequence, sizeof(sh1106_init_sequence)); + return true; +} + +// Screen flush +bool qp_sh1106_flush(painter_device_t device) { + sh1106_device_t *driver = (sh1106_device_t *)device; + + if (!driver->oled.surface.dirty.is_dirty) { + return true; + } + + switch (driver->oled.base.rotation) { + default: + case QP_ROTATION_0: + qp_oled_panel_page_column_flush_rot0(device, &driver->oled.surface.dirty, driver->framebuffer); + break; + case QP_ROTATION_90: + qp_oled_panel_page_column_flush_rot90(device, &driver->oled.surface.dirty, driver->framebuffer); + break; + case QP_ROTATION_180: + qp_oled_panel_page_column_flush_rot180(device, &driver->oled.surface.dirty, driver->framebuffer); + break; + case QP_ROTATION_270: + qp_oled_panel_page_column_flush_rot270(device, &driver->oled.surface.dirty, driver->framebuffer); + break; + } + + // Clear the dirty area + qp_flush(&driver->oled.surface); + + return true; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +const oled_panel_painter_driver_vtable_t sh1106_driver_vtable = { + .base = + { + .init = qp_sh1106_init, + .power = qp_oled_panel_power, + .clear = qp_oled_panel_clear, + .flush = qp_sh1106_flush, + .pixdata = qp_oled_panel_passthru_pixdata, + .viewport = qp_oled_panel_passthru_viewport, + .palette_convert = qp_oled_panel_passthru_palette_convert, + .append_pixels = qp_oled_panel_passthru_append_pixels, + .append_pixdata = qp_oled_panel_passthru_append_pixdata, + }, + .opcodes = + { + .display_on = SH1106_DISPLAY_ON, + .display_off = SH1106_DISPLAY_OFF, + .set_page = SH1106_PAGE_ADDR, + .set_column_lsb = SH1106_SETCOLUMN_LSB, + .set_column_msb = SH1106_SETCOLUMN_MSB, + }, +}; + +#ifdef QUANTUM_PAINTER_SH1106_SPI_ENABLE +// Factory function for creating a handle to the SH1106 device +painter_device_t qp_sh1106_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) { + for (uint32_t i = 0; i < SH1106_NUM_DEVICES; ++i) { + sh1106_device_t *driver = &sh1106_drivers[i]; + if (!driver->oled.base.driver_vtable) { + painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); + if (!surface) { + return NULL; + } + + // Setup the OLED device + driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&sh1106_driver_vtable; + driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable; + driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono + driver->oled.base.panel_width = panel_width; + driver->oled.base.panel_height = panel_height; + driver->oled.base.rotation = QP_ROTATION_0; + driver->oled.base.offset_x = 0; + driver->oled.base.offset_y = 0; + + // SPI and other pin configuration + driver->oled.base.comms_config = &driver->oled.spi_dc_reset_config; + driver->oled.spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->oled.spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->oled.spi_dc_reset_config.spi_config.lsb_first = false; + driver->oled.spi_dc_reset_config.spi_config.mode = spi_mode; + driver->oled.spi_dc_reset_config.dc_pin = dc_pin; + driver->oled.spi_dc_reset_config.reset_pin = reset_pin; + driver->oled.spi_dc_reset_config.command_params_uses_command_pin = true; + + if (!qp_internal_register_device((painter_device_t)driver)) { + memset(driver, 0, sizeof(sh1106_device_t)); + return NULL; + } + + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_SH1106_SPI_ENABLE + +#ifdef QUANTUM_PAINTER_SH1106_I2C_ENABLE +// Factory function for creating a handle to the SH1106 device +painter_device_t qp_sh1106_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address) { + for (uint32_t i = 0; i < SH1106_NUM_DEVICES; ++i) { + sh1106_device_t *driver = &sh1106_drivers[i]; + if (!driver->oled.base.driver_vtable) { + // Instantiate the surface, intentional swap of width/high due to transpose + painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer); + if (!surface) { + return NULL; + } + + // Setup the OLED device + driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&sh1106_driver_vtable; + driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&i2c_comms_cmddata_vtable; + driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono + driver->oled.base.panel_width = panel_width; + driver->oled.base.panel_height = panel_height; + driver->oled.base.rotation = QP_ROTATION_0; + driver->oled.base.offset_x = 0; + driver->oled.base.offset_y = 0; + + // I2C configuration + driver->oled.base.comms_config = &driver->oled.i2c_config; + driver->oled.i2c_config.chip_address = i2c_address; + + if (!qp_internal_register_device((painter_device_t)driver)) { + memset(driver, 0, sizeof(sh1106_device_t)); + return NULL; + } + + return (painter_device_t)driver; + } + } + return NULL; +} + +#endif // QUANTUM_PAINTER_SH1106_SPI_ENABLE diff --git a/drivers/painter/sh1106/qp_sh1106.h b/drivers/painter/sh1106/qp_sh1106.h new file mode 100644 index 000000000000..6c325dba4ba1 --- /dev/null +++ b/drivers/painter/sh1106/qp_sh1106.h @@ -0,0 +1,66 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "gpio.h" +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter SH1106 configurables (add to your keyboard's config.h) + +#if defined(QUANTUM_PAINTER_SH1106_SPI_ENABLE) && !defined(SH1106_NUM_SPI_DEVICES) +/** + * @def This controls the maximum number of SPI SH1106 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define SH1106_NUM_SPI_DEVICES 1 +#else +# define SH1106_NUM_SPI_DEVICES 0 +#endif + +#if defined(QUANTUM_PAINTER_SH1106_I2C_ENABLE) && !defined(SH1106_NUM_I2C_DEVICES) +/** + * @def This controls the maximum number of I2C SH1106 devices that Quantum Painter can communicate with at any one time. + * Increasing this number allows for multiple displays to be used. + */ +# define SH1106_NUM_I2C_DEVICES 1 +#else +# define SH1106_NUM_I2C_DEVICES 0 +#endif + +#define SH1106_NUM_DEVICES ((SH1106_NUM_SPI_DEVICES) + (SH1106_NUM_I2C_DEVICES)) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter SH1106 device factories + +#ifdef QUANTUM_PAINTER_SH1106_SPI_ENABLE + +/** + * Factory method for an SH1106 SPI LCD device. + * + * @param panel_width[in] the width of the display in pixels (usually 128) + * @param panel_height[in] the height of the display in pixels (usually 64) + * @param chip_select_pin[in] the GPIO pin used for SPI chip select + * @param dc_pin[in] the GPIO pin used for D/C control + * @param reset_pin[in] the GPIO pin used for RST + * @param spi_divisor[in] the SPI divisor to use when communicating with the display + * @param spi_mode[in] the SPI mode to use when communicating with the display + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_sh1106_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); + +#endif // QUANTUM_PAINTER_SH1106_SPI_ENABLE + +#ifdef QUANTUM_PAINTER_SH1106_I2C_ENABLE + +/** + * Factory method for an SH1106 I2C LCD device. + * + * @param panel_width[in] the width of the display in pixels (usually 128) + * @param panel_height[in] the height of the display in pixels (usually 64) + * @param i2c_address[in] the I2C address to use + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_sh1106_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address); + +#endif // QUANTUM_PAINTER_SH1106_I2C_ENABLE diff --git a/drivers/painter/sh1106/qp_sh1106_opcodes.h b/drivers/painter/sh1106/qp_sh1106_opcodes.h new file mode 100644 index 000000000000..a2e100d7702c --- /dev/null +++ b/drivers/painter/sh1106/qp_sh1106_opcodes.h @@ -0,0 +1,26 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define SH1106_DISPLAY_ON 0xAF +#define SH1106_DISPLAY_OFF 0xAE +#define SH1106_SET_OSC_DIVFREQ 0xD5 +#define SH1106_SET_MUX_RATIO 0xA8 +#define SH1106_DISPLAY_OFFSET 0xD3 +#define SH1106_DISPLAY_START_LINE 0x40 +#define SH1106_SET_CHARGE_PUMP 0x8D +#define SH1106_SET_SEGMENT_REMAP_NORMAL 0xA0 +#define SH1106_SET_SEGMENT_REMAP_INV 0xA1 +#define SH1106_COM_SCAN_DIR_INC 0xC0 +#define SH1106_COM_SCAN_DIR_DEC 0xC8 +#define SH1106_COM_PADS_HW_CFG 0xDA +#define SH1106_SET_CONTRAST 0x81 +#define SH1106_SET_PRECHARGE_PERIOD 0xD9 +#define SH1106_VCOM_DETECT 0xDB +#define SH1106_ALL_ON_RESUME 0xA4 +#define SH1106_NON_INVERTING_DISPLAY 0xA6 +#define SH1106_DEACTIVATE_SCROLL 0x2E + +#define SH1106_SETCOLUMN_LSB 0x00 +#define SH1106_SETCOLUMN_MSB 0x10 +#define SH1106_PAGE_ADDR 0xB0 diff --git a/drivers/painter/ssd1351/qp_ssd1351.c b/drivers/painter/ssd1351/qp_ssd1351.c index 434b7f032781..3270a362c2f1 100644 --- a/drivers/painter/ssd1351/qp_ssd1351.c +++ b/drivers/painter/ssd1351/qp_ssd1351.c @@ -107,13 +107,14 @@ painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel driver->base.native_bits_per_pixel = 16; // RGB565 // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/ssd1351/qp_ssd1351.h b/drivers/painter/ssd1351/qp_ssd1351.h index 0df34f204d5c..0045c4926b88 100644 --- a/drivers/painter/ssd1351/qp_ssd1351.h +++ b/drivers/painter/ssd1351/qp_ssd1351.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/ssd1351/qp_ssd1351_opcodes.h b/drivers/painter/ssd1351/qp_ssd1351_opcodes.h index 48ed2a3a7c2c..ca8e2bf77eb8 100644 --- a/drivers/painter/ssd1351/qp_ssd1351_opcodes.h +++ b/drivers/painter/ssd1351/qp_ssd1351_opcodes.h @@ -1,6 +1,5 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/st77xx/qp_st7735.c b/drivers/painter/st77xx/qp_st7735.c index 98baf400abfb..1db0d01dcbcd 100644 --- a/drivers/painter/st77xx/qp_st7735.c +++ b/drivers/painter/st77xx/qp_st7735.c @@ -58,6 +58,8 @@ __attribute__((weak)) bool qp_st7735_init(painter_device_t device, painter_rotat ST77XX_SET_PIX_FMT, 0, 1, 0x55, ST77XX_CMD_INVERT_OFF, 0, 0, ST77XX_CMD_NORMAL_ON, 0, 0, + ST7735_SET_PGAMMA, 0, 16, 0x02, 0x1C, 0x07, 0x12, 0x37, 0x32, 0x29, 0x2D, 0x29, 0x25, 0x2B, 0x39, 0x00, 0x01, 0x03, 0x10, + ST7735_SET_NGAMMA, 0, 16, 0x03, 0x1D, 0x07, 0x06, 0x2E, 0x2C, 0x29, 0x2D, 0x2E, 0x2E, 0x37, 0x3F, 0x00, 0x00, 0x02, 0x10, ST77XX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on @@ -127,13 +129,14 @@ painter_device_t qp_st7735_make_spi_device(uint16_t panel_width, uint16_t panel_ driver->base.native_bits_per_pixel = 16; // RGB565 // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/st77xx/qp_st7735.h b/drivers/painter/st77xx/qp_st7735.h index a9ce16bef199..e65b7ca70607 100644 --- a/drivers/painter/st77xx/qp_st7735.h +++ b/drivers/painter/st77xx/qp_st7735.h @@ -2,7 +2,6 @@ // Copyright 2021 Nick Brassel (@tzarc) // Copyright 2022 David Hoelscher (@customMK) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" @@ -42,4 +41,4 @@ * @return the device handle used with all drawing routines in Quantum Painter */ painter_device_t qp_st7735_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -#endif // QUANTUM_PAINTER_ST7735_SPI_ENABLE \ No newline at end of file +#endif // QUANTUM_PAINTER_ST7735_SPI_ENABLE diff --git a/drivers/painter/st77xx/qp_st7735_opcodes.h b/drivers/painter/st77xx/qp_st7735_opcodes.h index 816e32f3d763..f390d113c5da 100644 --- a/drivers/painter/st77xx/qp_st7735_opcodes.h +++ b/drivers/painter/st77xx/qp_st7735_opcodes.h @@ -1,6 +1,5 @@ // Copyright 2022 David Hoelscher (@customMK) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/st77xx/qp_st7789.c b/drivers/painter/st77xx/qp_st7789.c index f9065f5178b0..855a9cc0c86c 100644 --- a/drivers/painter/st77xx/qp_st7789.c +++ b/drivers/painter/st77xx/qp_st7789.c @@ -126,13 +126,14 @@ painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_ driver->base.native_bits_per_pixel = 16; // RGB565 // SPI and other pin configuration - driver->base.comms_config = &driver->spi_dc_reset_config; - driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; - driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; - driver->spi_dc_reset_config.spi_config.lsb_first = false; - driver->spi_dc_reset_config.spi_config.mode = spi_mode; - driver->spi_dc_reset_config.dc_pin = dc_pin; - driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->base.comms_config = &driver->spi_dc_reset_config; + driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin; + driver->spi_dc_reset_config.spi_config.divisor = spi_divisor; + driver->spi_dc_reset_config.spi_config.lsb_first = false; + driver->spi_dc_reset_config.spi_config.mode = spi_mode; + driver->spi_dc_reset_config.dc_pin = dc_pin; + driver->spi_dc_reset_config.reset_pin = reset_pin; + driver->spi_dc_reset_config.command_params_uses_command_pin = false; if (!qp_internal_register_device((painter_device_t)driver)) { memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t)); diff --git a/drivers/painter/st77xx/qp_st7789.h b/drivers/painter/st77xx/qp_st7789.h index ec61f5d70b7e..03d618cae416 100644 --- a/drivers/painter/st77xx/qp_st7789.h +++ b/drivers/painter/st77xx/qp_st7789.h @@ -1,7 +1,6 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once #include "gpio.h" diff --git a/drivers/painter/st77xx/qp_st7789_opcodes.h b/drivers/painter/st77xx/qp_st7789_opcodes.h index b5baba718469..4b46f994b481 100644 --- a/drivers/painter/st77xx/qp_st7789_opcodes.h +++ b/drivers/painter/st77xx/qp_st7789_opcodes.h @@ -1,6 +1,5 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/st77xx/qp_st77xx_opcodes.h b/drivers/painter/st77xx/qp_st77xx_opcodes.h index 131378d8328e..c01e2b21e62d 100644 --- a/drivers/painter/st77xx/qp_st77xx_opcodes.h +++ b/drivers/painter/st77xx/qp_st77xx_opcodes.h @@ -1,6 +1,5 @@ // Copyright 2021 Paul Cotter (@gr1mr3aver) // SPDX-License-Identifier: GPL-2.0-or-later - #pragma once //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/tft_panel/qp_tft_panel.h b/drivers/painter/tft_panel/qp_tft_panel.h index 67168645b7e2..3b184f2eba97 100644 --- a/drivers/painter/tft_panel/qp_tft_panel.h +++ b/drivers/painter/tft_panel/qp_tft_panel.h @@ -1,5 +1,6 @@ // Copyright 2021 Nick Brassel (@tzarc) // SPDX-License-Identifier: GPL-2.0-or-later +#pragma once #include "color.h" #include "qp_internal.h" diff --git a/drivers/ps2/ps2_mouse.c b/drivers/ps2/ps2_mouse.c index d6911d66f214..88c9bdcebef0 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; @@ -266,6 +265,7 @@ static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report) { SCROLL_SENT, } scroll_state = SCROLL_NONE; static uint16_t scroll_button_time = 0; + static int16_t scroll_x, scroll_y; if (PS2_MOUSE_SCROLL_BTN_MASK == (mouse_report->buttons & (PS2_MOUSE_SCROLL_BTN_MASK))) { // All scroll buttons are pressed @@ -273,13 +273,19 @@ static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report) { if (scroll_state == SCROLL_NONE) { scroll_button_time = timer_read(); scroll_state = SCROLL_BTN; + scroll_x = 0; + scroll_y = 0; } // If the mouse has moved, update the report to scroll instead of move the mouse if (mouse_report->x || mouse_report->y) { - scroll_state = SCROLL_SENT; - mouse_report->v = -mouse_report->y / (PS2_MOUSE_SCROLL_DIVISOR_V); - mouse_report->h = mouse_report->x / (PS2_MOUSE_SCROLL_DIVISOR_H); + scroll_state = SCROLL_SENT; + scroll_y += mouse_report->y; + scroll_x += mouse_report->x; + mouse_report->v = -scroll_y / (PS2_MOUSE_SCROLL_DIVISOR_V); + mouse_report->h = scroll_x / (PS2_MOUSE_SCROLL_DIVISOR_H); + scroll_y += (mouse_report->v * (PS2_MOUSE_SCROLL_DIVISOR_V)); + scroll_x -= (mouse_report->h * (PS2_MOUSE_SCROLL_DIVISOR_H)); mouse_report->x = 0; mouse_report->y = 0; #ifdef PS2_MOUSE_INVERT_H diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c new file mode 100644 index 000000000000..521f558b5f31 --- /dev/null +++ b/drivers/sensors/azoteq_iqs5xx.c @@ -0,0 +1,315 @@ +// Copyright 2023 Dasky (@daskygit) +// Copyright 2023 George Norton (@george-norton) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "azoteq_iqs5xx.h" +#include "pointing_device_internal.h" +#include "wait.h" + +#ifndef AZOTEQ_IQS5XX_ADDRESS +# define AZOTEQ_IQS5XX_ADDRESS (0x74 << 1) +#endif +#ifndef AZOTEQ_IQS5XX_TIMEOUT_MS +# define AZOTEQ_IQS5XX_TIMEOUT_MS 10 +#endif + +#define AZOTEQ_IQS5XX_REG_PRODUCT_NUMBER 0x0000 +#define AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME 0x000C +#define AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1 0x0432 +#define AZOTEQ_IQS5XX_REG_REPORT_RATE_ACTIVE 0x057A +#define AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0 0x058E +#define AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1 0x058F +#define AZOTEQ_IQS5XX_REG_X_RESOLUTION 0x066E +#define AZOTEQ_IQS5XX_REG_XY_CONFIG_0 0x0669 +#define AZOTEQ_IQS5XX_REG_Y_RESOLUTION 0x0670 +#define AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES 0x06B7 +#define AZOTEQ_IQS5XX_REG_END_COMMS 0xEEEE + +// Gesture configuration +#ifndef AZOTEQ_IQS5XX_TAP_ENABLE +# define AZOTEQ_IQS5XX_TAP_ENABLE true +#endif +#ifndef AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE +# define AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE false +#endif +#ifndef AZOTEQ_IQS5XX_TWO_FINGER_TAP_ENABLE +# define AZOTEQ_IQS5XX_TWO_FINGER_TAP_ENABLE true +#endif +#ifndef AZOTEQ_IQS5XX_SCROLL_ENABLE +# define AZOTEQ_IQS5XX_SCROLL_ENABLE true +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_X_ENABLE +# define AZOTEQ_IQS5XX_SWIPE_X_ENABLE false +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_Y_ENABLE +# define AZOTEQ_IQS5XX_SWIPE_Y_ENABLE false +#endif +#ifndef AZOTEQ_IQS5XX_ZOOM_ENABLE +# define AZOTEQ_IQS5XX_ZOOM_ENABLE false +#endif +#ifndef AZOTEQ_IQS5XX_TAP_TIME +# define AZOTEQ_IQS5XX_TAP_TIME 0x96 +#endif +#ifndef AZOTEQ_IQS5XX_TAP_DISTANCE +# define AZOTEQ_IQS5XX_TAP_DISTANCE 0x19 +#endif +#ifndef AZOTEQ_IQS5XX_HOLD_TIME +# define AZOTEQ_IQS5XX_HOLD_TIME 0x12C +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_INITIAL_TIME +# define AZOTEQ_IQS5XX_SWIPE_INITIAL_TIME 0x64 // 0x96 +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_INITIAL_DISTANCE +# define AZOTEQ_IQS5XX_SWIPE_INITIAL_DISTANCE 0x12C +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_TIME +# define AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_TIME 0x0 +#endif +#ifndef AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_DISTANCE +# define AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_DISTANCE 0x7D0 +#endif +#ifndef AZOTEQ_IQS5XX_SCROLL_INITIAL_DISTANCE +# define AZOTEQ_IQS5XX_SCROLL_INITIAL_DISTANCE 0x32 +#endif +#ifndef AZOTEQ_IQS5XX_ZOOM_INITIAL_DISTANCE +# define AZOTEQ_IQS5XX_ZOOM_INITIAL_DISTANCE 0x32 +#endif +#ifndef AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE +# define AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE 0x19 +#endif + +#if defined(AZOTEQ_IQS5XX_TPS43) +# define AZOTEQ_IQS5XX_WIDTH_MM 43 +# define AZOTEQ_IQS5XX_HEIGHT_MM 40 +# define AZOTEQ_IQS5XX_RESOLUTION_X 2048 +# define AZOTEQ_IQS5XX_RESOLUTION_Y 1792 +#elif defined(AZOTEQ_IQS5XX_TPS65) +# define AZOTEQ_IQS5XX_WIDTH_MM 65 +# define AZOTEQ_IQS5XX_HEIGHT_MM 49 +# define AZOTEQ_IQS5XX_RESOLUTION_X 3072 +# define AZOTEQ_IQS5XX_RESOLUTION_Y 2048 +#elif !defined(AZOTEQ_IQS5XX_WIDTH_MM) && !defined(AZOTEQ_IQS5XX_HEIGHT_MM) +# error "You must define one of the available azoteq trackpads or specify at least the width and height" +#endif + +#define DIVIDE_UNSIGNED_ROUND(numerator, denominator) (((numerator) + ((denominator) / 2)) / (denominator)) +#define AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_X(inch) (DIVIDE_UNSIGNED_ROUND((inch) * (uint32_t)AZOTEQ_IQS5XX_WIDTH_MM * 10, 254)) +#define AZOTEQ_IQS5XX_RESOLUTION_X_TO_INCH(px) (DIVIDE_UNSIGNED_ROUND((px) * (uint32_t)254, AZOTEQ_IQS5XX_WIDTH_MM * 10)) +#define AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_Y(inch) (DIVIDE_UNSIGNED_ROUND((inch) * (uint32_t)AZOTEQ_IQS5XX_HEIGHT_MM * 10, 254)) +#define AZOTEQ_IQS5XX_RESOLUTION_Y_TO_INCH(px) (DIVIDE_UNSIGNED_ROUND((px) * (uint32_t)254, AZOTEQ_IQS5XX_HEIGHT_MM * 10)) + +static uint16_t azoteq_iqs5xx_product_number = AZOTEQ_IQS5XX_UNKNOWN; + +static struct { + uint16_t resolution_x; + uint16_t resolution_y; +} azoteq_iqs5xx_device_resolution_t; + +i2c_status_t azoteq_iqs5xx_wake(void) { + uint8_t data = 0; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)&data, sizeof(data), 1); + i2c_stop(); + wait_us(150); + return status; +} +i2c_status_t azoteq_iqs5xx_end_session(void) { + const uint8_t END_BYTE = 1; // any data + return i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_END_COMMS, &END_BYTE, 1, AZOTEQ_IQS5XX_TIMEOUT_MS); +} + +i2c_status_t azoteq_iqs5xx_get_base_data(azoteq_iqs5xx_base_data_t *base_data) { + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PREVIOUS_CYCLE_TIME, (uint8_t *)base_data, 10, AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_get_report_rate(azoteq_iqs5xx_report_rate_t *report_rate, azoteq_iqs5xx_charging_modes_t mode, bool end_session) { + if (mode > AZOTEQ_IQS5XX_LP2) { + pd_dprintf("IQS5XX - Invalid mode for get report rate.\n"); + return I2C_STATUS_ERROR; + } + uint16_t selected_reg = AZOTEQ_IQS5XX_REG_REPORT_RATE_ACTIVE + (2 * mode); + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS); + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_set_report_rate(uint16_t report_rate_ms, azoteq_iqs5xx_charging_modes_t mode, bool end_session) { + if (mode > AZOTEQ_IQS5XX_LP2) { + pd_dprintf("IQS5XX - Invalid mode for set report rate.\n"); + return I2C_STATUS_ERROR; + } + uint16_t selected_reg = AZOTEQ_IQS5XX_REG_REPORT_RATE_ACTIVE + (2 * mode); + azoteq_iqs5xx_report_rate_t report_rate = {0}; + report_rate.h = (uint8_t)((report_rate_ms >> 8) & 0xFF); + report_rate.l = (uint8_t)(report_rate_ms & 0xFF); + i2c_status_t status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, selected_reg, (uint8_t *)&report_rate, 2, AZOTEQ_IQS5XX_TIMEOUT_MS); + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_set_reati(bool enabled, bool end_session) { + azoteq_iqs5xx_system_config_0_t config = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + config.reati = enabled; + status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_set_event_mode(bool enabled, bool end_session) { + azoteq_iqs5xx_system_config_1_t config = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + config.event_mode = enabled; + config.touch_event = true; + config.tp_event = true; + config.prox_event = false; + config.snap_event = false; + config.reati_event = false; + config.alp_prox_event = false; + config.gesture_event = true; + status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONFIG_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_config_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_set_gesture_config(bool end_session) { + azoteq_iqs5xx_gesture_config_t config = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + pd_dprintf("azo scroll: %d\n", config.multi_finger_gestures.scroll); + if (status == I2C_STATUS_SUCCESS) { + config.single_finger_gestures.single_tap = AZOTEQ_IQS5XX_TAP_ENABLE; + config.single_finger_gestures.press_and_hold = AZOTEQ_IQS5XX_PRESS_AND_HOLD_ENABLE; + config.single_finger_gestures.swipe_x_plus = AZOTEQ_IQS5XX_SWIPE_X_ENABLE; + config.single_finger_gestures.swipe_x_minus = AZOTEQ_IQS5XX_SWIPE_X_ENABLE; + config.single_finger_gestures.swipe_y_plus = AZOTEQ_IQS5XX_SWIPE_Y_ENABLE; + config.single_finger_gestures.swipe_y_minus = AZOTEQ_IQS5XX_SWIPE_Y_ENABLE; + config.multi_finger_gestures.two_finger_tap = AZOTEQ_IQS5XX_TWO_FINGER_TAP_ENABLE; + config.multi_finger_gestures.scroll = AZOTEQ_IQS5XX_SCROLL_ENABLE; + config.multi_finger_gestures.zoom = AZOTEQ_IQS5XX_ZOOM_ENABLE; + config.tap_time = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_TAP_TIME); + config.tap_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_TAP_DISTANCE); + config.hold_time = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_HOLD_TIME); + config.swipe_initial_time = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SWIPE_INITIAL_TIME); + config.swipe_initial_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SWIPE_INITIAL_DISTANCE); + config.swipe_consecutive_time = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_TIME); + config.swipe_consecutive_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SWIPE_CONSECUTIVE_DISTANCE); + config.scroll_initial_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_SCROLL_INITIAL_DISTANCE); + config.zoom_initial_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_ZOOM_INITIAL_DISTANCE); + config.zoom_consecutive_distance = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(AZOTEQ_IQS5XX_ZOOM_CONSECUTIVE_DISTANCE); + status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SINGLE_FINGER_GESTURES, (uint8_t *)&config, sizeof(azoteq_iqs5xx_gesture_config_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_set_xy_config(bool flip_x, bool flip_y, bool switch_xy, bool palm_reject, bool end_session) { + azoteq_iqs5xx_xy_config_0_t config = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + if (flip_x) { + config.flip_x = !config.flip_x; + } + if (flip_y) { + config.flip_y = !config.flip_y; + } + if (switch_xy) { + config.switch_xy_axis = !config.switch_xy_axis; + } + config.palm_reject = palm_reject; + status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_XY_CONFIG_0, (uint8_t *)&config, sizeof(azoteq_iqs5xx_xy_config_0_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +i2c_status_t azoteq_iqs5xx_reset_suspend(bool reset, bool suspend, bool end_session) { + azoteq_iqs5xx_system_control_1_t config = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + config.reset = reset; + config.suspend = suspend; + status = i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_SYSTEM_CONTROL_1, (uint8_t *)&config, sizeof(azoteq_iqs5xx_system_control_1_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } + if (end_session) { + azoteq_iqs5xx_end_session(); + } + return status; +} + +void azoteq_iqs5xx_set_cpi(uint16_t cpi) { + if (azoteq_iqs5xx_product_number != AZOTEQ_IQS5XX_UNKNOWN) { + azoteq_iqs5xx_resolution_t resolution = {0}; + resolution.x_resolution = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(MIN(azoteq_iqs5xx_device_resolution_t.resolution_x, AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_X(cpi))); + resolution.y_resolution = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(MIN(azoteq_iqs5xx_device_resolution_t.resolution_y, AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_Y(cpi))); + i2c_writeReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + } +} + +uint16_t azoteq_iqs5xx_get_cpi(void) { + if (azoteq_iqs5xx_product_number != AZOTEQ_IQS5XX_UNKNOWN) { + azoteq_iqs5xx_resolution_t resolution = {0}; + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_X_RESOLUTION, (uint8_t *)&resolution, sizeof(azoteq_iqs5xx_resolution_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + return AZOTEQ_IQS5XX_RESOLUTION_X_TO_INCH(AZOTEQ_IQS5XX_SWAP_H_L_BYTES(resolution.x_resolution)); + } + } + return 0; +} + +uint16_t azoteq_iqs5xx_get_product(void) { + i2c_status_t status = i2c_readReg16(AZOTEQ_IQS5XX_ADDRESS, AZOTEQ_IQS5XX_REG_PRODUCT_NUMBER, (uint8_t *)&azoteq_iqs5xx_product_number, sizeof(uint16_t), AZOTEQ_IQS5XX_TIMEOUT_MS); + if (status == I2C_STATUS_SUCCESS) { + azoteq_iqs5xx_product_number = AZOTEQ_IQS5XX_SWAP_H_L_BYTES(azoteq_iqs5xx_product_number); + } + pd_dprintf("AZOTEQ: Product number %u\n", azoteq_iqs5xx_product_number); + return azoteq_iqs5xx_product_number; +} + +void azoteq_iqs5xx_setup_resolution(void) { +#if !defined(AZOTEQ_IQS5XX_RESOLUTION_X) && !defined(AZOTEQ_IQS5XX_RESOLUTION_Y) + switch (azoteq_iqs5xx_product_number) { + case AZOTEQ_IQS550: + azoteq_iqs5xx_device_resolution_t.resolution_x = 3584; + azoteq_iqs5xx_device_resolution_t.resolution_y = 2304; + break; + case AZOTEQ_IQS572: + azoteq_iqs5xx_device_resolution_t.resolution_x = 2048; + azoteq_iqs5xx_device_resolution_t.resolution_y = 1792; + break; + case AZOTEQ_IQS525: + azoteq_iqs5xx_device_resolution_t.resolution_x = 1280; + azoteq_iqs5xx_device_resolution_t.resolution_y = 768; + break; + default: + // shouldn't be here + azoteq_iqs5xx_device_resolution_t.resolution_x = 0; + azoteq_iqs5xx_device_resolution_t.resolution_y = 0; + break; + } +#endif +#ifdef AZOTEQ_IQS5XX_RESOLUTION_X + azoteq_iqs5xx_device_resolution_t.resolution_x = AZOTEQ_IQS5XX_RESOLUTION_X; +#endif +#ifdef AZOTEQ_IQS5XX_RESOLUTION_Y + azoteq_iqs5xx_device_resolution_t.resolution_y = AZOTEQ_IQS5XX_RESOLUTION_Y; +#endif +} diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h new file mode 100644 index 000000000000..704ec2bab3bd --- /dev/null +++ b/drivers/sensors/azoteq_iqs5xx.h @@ -0,0 +1,193 @@ +// Copyright 2023 Dasky (@daskygit) +// Copyright 2023 George Norton (@george-norton) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "i2c_master.h" +#include "pointing_device.h" +#include "util.h" + +typedef enum { + AZOTEQ_IQS5XX_UNKNOWN, + AZOTEQ_IQS550 = 40, + AZOTEQ_IQS525 = 52, + AZOTEQ_IQS572 = 58, +} azoteq_iqs5xx_product_numbers_t; +typedef enum { + AZOTEQ_IQS5XX_ACTIVE, + AZOTEQ_IQS5XX_IDLE_TOUCH, + AZOTEQ_IQS5XX_IDLE, + AZOTEQ_IQS5XX_LP1, + AZOTEQ_IQS5XX_LP2, +} azoteq_iqs5xx_charging_modes_t; + +typedef struct { + uint8_t h : 8; + uint8_t l : 8; +} azoteq_iqs5xx_report_rate_t; + +typedef struct PACKED { + bool single_tap : 1; // Single tap gesture status + bool press_and_hold : 1; // Press and hold gesture status + bool swipe_x_neg : 1; // Swipe in negative X direction status + bool swipe_x_pos : 1; // Swipe in positive X direction status + bool swipe_y_pos : 1; // Swipe in positive Y direction status + bool swipe_y_neg : 1; // Swipe in negative Y direction status + uint8_t _unused : 2; // unused +} azoteq_iqs5xx_gesture_events_0_t; + +typedef struct PACKED { + bool two_finger_tap : 1; // Two finger tap gesture status + bool scroll : 1; // Scroll status + bool zoom : 1; // Zoom gesture status + uint8_t _unused : 5; // unused +} azoteq_iqs5xx_gesture_events_1_t; + +typedef struct PACKED { + azoteq_iqs5xx_charging_modes_t charging_mode : 3; // Indicates current mode + bool ati_error : 1; // + bool reati_occurred : 1; // + bool alp_ati_error : 1; // + bool alp_reati_occurred : 1; // + bool show_reset : 1; // +} azoteq_iqs5xx_system_info_0_t; + +typedef struct PACKED { + bool tp_movement : 1; // + bool palm_detect : 1; // Palm detect status + bool too_many_fingers : 1; // Total finger status + bool rr_missed : 1; // Report rate status + bool snap_toggle : 1; // Change in any snap channel status + bool switch_state : 1; // Status of input pin SW_IN + uint8_t _unused : 2; // unused +} azoteq_iqs5xx_system_info_1_t; + +typedef struct { + uint8_t h : 8; + uint8_t l : 8; +} azoteq_iqs5xx_relative_xy_t; + +typedef struct { + uint8_t previous_cycle_time; + azoteq_iqs5xx_gesture_events_0_t gesture_events_0; + azoteq_iqs5xx_gesture_events_1_t gesture_events_1; + azoteq_iqs5xx_system_info_0_t system_info_0; + azoteq_iqs5xx_system_info_1_t system_info_1; + uint8_t number_of_fingers; + azoteq_iqs5xx_relative_xy_t x; + azoteq_iqs5xx_relative_xy_t y; +} azoteq_iqs5xx_base_data_t; + +_Static_assert(sizeof(azoteq_iqs5xx_base_data_t) == 10, "azoteq_iqs5xx_basic_report_t should be 10 bytes"); + +typedef struct { + uint8_t number_of_fingers; + azoteq_iqs5xx_relative_xy_t x; + azoteq_iqs5xx_relative_xy_t y; +} azoteq_iqs5xx_report_data_t; + +_Static_assert(sizeof(azoteq_iqs5xx_report_data_t) == 5, "azoteq_iqs5xx_report_data_t should be 5 bytes"); + +typedef struct PACKED { + bool sw_input : 1; + bool sw_input_select : 1; + bool reati : 1; + bool alp_reati : 1; + bool sw_input_event : 1; + bool wdt : 1; + bool setup_complete : 1; + bool manual_control : 1; +} azoteq_iqs5xx_system_config_0_t; + +typedef struct PACKED { + bool event_mode : 1; + bool gesture_event : 1; + bool tp_event : 1; + bool reati_event : 1; + bool alp_prox_event : 1; + bool snap_event : 1; + bool touch_event : 1; + bool prox_event : 1; +} azoteq_iqs5xx_system_config_1_t; + +typedef struct PACKED { + bool flip_x : 1; + bool flip_y : 1; + bool switch_xy_axis : 1; + bool palm_reject : 1; + uint8_t _unused : 4; +} azoteq_iqs5xx_xy_config_0_t; + +typedef struct PACKED { + bool suspend : 1; + bool reset : 1; + int8_t _unused : 6; +} azoteq_iqs5xx_system_control_1_t; + +typedef struct PACKED { + bool single_tap : 1; + bool press_and_hold : 1; + bool swipe_x_minus : 1; + bool swipe_x_plus : 1; + bool swipe_y_plus : 1; + bool swipe_y_minus : 1; + int8_t _unused : 2; +} azoteq_iqs5xx_single_finger_gesture_enable_t; + +typedef struct PACKED { + bool two_finger_tap : 1; + bool scroll : 1; + bool zoom : 1; + int8_t _unused : 5; +} azoteq_iqs5xx_multi_finger_gesture_enable_t; + +typedef struct PACKED { + azoteq_iqs5xx_single_finger_gesture_enable_t single_finger_gestures; + azoteq_iqs5xx_multi_finger_gesture_enable_t multi_finger_gestures; + uint16_t tap_time; + uint16_t tap_distance; + uint16_t hold_time; + uint16_t swipe_initial_time; + uint16_t swipe_initial_distance; + uint16_t swipe_consecutive_time; + uint16_t swipe_consecutive_distance; + int8_t swipe_angle; + uint16_t scroll_initial_distance; + int8_t scroll_angle; + uint16_t zoom_initial_distance; + uint16_t zoom_consecutive_distance; +} azoteq_iqs5xx_gesture_config_t; + +_Static_assert(sizeof(azoteq_iqs5xx_gesture_config_t) == 24, "azoteq_iqs5xx_gesture_config_t should be 24 bytes"); + +typedef struct { + uint16_t x_resolution; + uint16_t y_resolution; +} azoteq_iqs5xx_resolution_t; + +#define AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(h, l) ((int16_t)(h << 8) | l) +#define AZOTEQ_IQS5XX_SWAP_H_L_BYTES(b) ((uint16_t)((b & 0xff) << 8) | (b >> 8)) + +#ifndef AZOTEQ_IQS5XX_REPORT_RATE +# define AZOTEQ_IQS5XX_REPORT_RATE 10 +#endif +#if !defined(POINTING_DEVICE_TASK_THROTTLE_MS) && !defined(POINTING_DEVICE_MOTION_PIN) +# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE +#endif + +void azoteq_iqs5xx_init(void); +i2c_status_t azoteq_iqs5xx_wake(void); +report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report); +i2c_status_t azoteq_iqs5xx_get_report_rate(azoteq_iqs5xx_report_rate_t *report_rate, azoteq_iqs5xx_charging_modes_t mode, bool end_session); +i2c_status_t azoteq_iqs5xx_set_report_rate(uint16_t report_rate_ms, azoteq_iqs5xx_charging_modes_t mode, bool end_session); +i2c_status_t azoteq_iqs5xx_set_event_mode(bool enabled, bool end_session); +i2c_status_t azoteq_iqs5xx_set_reati(bool enabled, bool end_session); +i2c_status_t azoteq_iqs5xx_set_gesture_config(bool end_session); +i2c_status_t azoteq_iqs5xx_set_xy_config(bool flip_x, bool flip_y, bool switch_xy, bool palm_reject, bool end_session); +i2c_status_t azoteq_iqs5xx_reset_suspend(bool reset, bool suspend, bool end_session); +i2c_status_t azoteq_iqs5xx_get_base_data(azoteq_iqs5xx_base_data_t *base_data); +void azoteq_iqs5xx_set_cpi(uint16_t cpi); +uint16_t azoteq_iqs5xx_get_cpi(void); +uint16_t azoteq_iqs5xx_get_product(void); +void azoteq_iqs5xx_setup_resolution(void); diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c index a4648ef425b0..69a584f4e144 100644 --- a/drivers/sensors/pmw3320.c +++ b/drivers/sensors/pmw3320.c @@ -178,7 +178,7 @@ uint16_t pmw3320_get_cpi(void) { } void pmw3320_set_cpi(uint16_t cpi) { - uint8_t cpival = constrain((cpi / PMW3320_CPI_STEP) - 1U, 0, (PMW3320_CPI_MAX / PMW3320_CPI_STEP) - 1U); + uint8_t cpival = constrain((cpi / PMW3320_CPI_STEP), (PMW3320_CPI_MIN / PMW3320_CPI_STEP), (PMW3320_CPI_MAX / PMW3320_CPI_STEP)) - 1U; // Fifth bit is probably a control bit. // PMW3320 datasheet don't have any info on this, so this is a pure guess. pmw3320_write_reg(REG_Resolution, 0x20 | cpival); diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c index 81dca002e2df..a7dc687f50de 100644 --- a/drivers/sensors/pmw3360.c +++ b/drivers/sensors/pmw3360.c @@ -23,7 +23,7 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) { return; } - uint8_t cpival = CONSTRAIN((cpi / PMW33XX_CPI_STEP) - 1, 0, (PMW33XX_CPI_MAX / PMW33XX_CPI_STEP) - 1U); + uint8_t cpival = CONSTRAIN((cpi / PMW33XX_CPI_STEP), (PMW33XX_CPI_MIN / PMW33XX_CPI_STEP), (PMW33XX_CPI_MAX / PMW33XX_CPI_STEP)) - 1U; pmw33xx_write(sensor, REG_Config1, cpival); } diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index c5781a5ffe03..10e578edac6a 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -22,7 +22,7 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) { return; } - uint16_t cpival = CONSTRAIN((cpi / PMW33XX_CPI_STEP) - 1, 0, (PMW33XX_CPI_MAX / PMW33XX_CPI_STEP) - 1U); + uint16_t cpival = CONSTRAIN((cpi / PMW33XX_CPI_STEP), (PMW33XX_CPI_MIN / PMW33XX_CPI_STEP), (PMW33XX_CPI_MAX / PMW33XX_CPI_STEP)) - 1U; // Sets upper byte first for more consistent setting of cpi pmw33xx_write(sensor, REG_Resolution_H, (cpival >> 8) & 0xFF); pmw33xx_write(sensor, REG_Resolution_L, cpival & 0xFF); diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 88523b8420ac..b30ee3d59667 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/drivers/ws2812.h b/drivers/ws2812.h index 8750b0110eef..1527df23d371 100644 --- a/drivers/ws2812.h +++ b/drivers/ws2812.h @@ -73,4 +73,4 @@ * - Send out the LED data * - Wait 50us to reset the LEDs */ -void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds); +void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds); diff --git a/keyboards/0_sixty/keymaps/ven0mtr0n/keymap.c b/keyboards/0_sixty/keymaps/ven0mtr0n/keymap.c deleted file mode 100644 index f1869cd22826..000000000000 --- a/keyboards/0_sixty/keymaps/ven0mtr0n/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2020 Vinam Arora - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum zero_sixty_layers { - _DEFAULT, - _L1, - _L2, - _L3, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_DEFAULT] = LAYOUT_1x2uC( /* qwerty */ - 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_ENT , - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL , - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT , - KC_LGUI, MO(_L3), MO(_L2), KC_LALT, MO(_L1), KC_SPC, MO(_L1), KC_RALT, MO(_L2), MO(_L3), KC_RGUI -), - -[_L1] = LAYOUT_1x2uC( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, KC_LBRC, KC_LT, KC_GT, KC_RBRC, KC_TILD, KC_PIPE, KC_GRV, KC_QUOT, KC_DQUO, KC_PGUP, _______ , - _______, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGDN, _______ , - _______, KC_APP, _______, _______, _______, _______, KC_EQL, KC_UNDS, KC_MINS, KC_PLUS, KC_BSLS, _______ , - _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______ -), - -[_L2] = LAYOUT_1x2uC( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ , - _______, _______, _______, _______, _______, KC_VOLU, _______, KC_7, KC_8, KC_9, KC_F11, _______ , - _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_4, KC_5, KC_6, KC_F12, _______ , - _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MUTE, KC_1, KC_2, KC_3, KC_PSCR, _______ , - _______, _______, KC_CAPS, _______, _______, _______, KC_0, _______, KC_CAPS, _______, _______ -), - -[_L3] = LAYOUT_1x2uC( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______ , - _______, _______, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -}; diff --git a/keyboards/0_sixty/keymaps/ven0mtr0n/readme.md b/keyboards/0_sixty/keymaps/ven0mtr0n/readme.md deleted file mode 100644 index 584faadf79cc..000000000000 --- a/keyboards/0_sixty/keymaps/ven0mtr0n/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Keymap used by vinam. Keeps changing ofcourse :3 \ No newline at end of file diff --git a/keyboards/0_sixty/keymaps/ven0mtr0n/rules.mk b/keyboards/0_sixty/keymaps/ven0mtr0n/rules.mk deleted file mode 100644 index 6c605daecf53..000000000000 --- a/keyboards/0_sixty/keymaps/ven0mtr0n/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = yes diff --git a/keyboards/0_sixty/underglow/config.h b/keyboards/0_sixty/underglow/config.h index 6efe6e18cdb1..0d5edf494ea8 100644 --- a/keyboards/0_sixty/underglow/config.h +++ b/keyboards/0_sixty/underglow/config.h @@ -16,21 +16,6 @@ #pragma once - -/* underglow */ -#define RGBLED_NUM 24 -#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 -#define RGBLIGHT - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/0_sixty/underglow/info.json b/keyboards/0_sixty/underglow/info.json index 24914915616a..6227591f4458 100644 --- a/keyboards/0_sixty/underglow/info.json +++ b/keyboards/0_sixty/underglow/info.json @@ -10,6 +10,19 @@ "pin": "B6" }, "rgblight": { - "max_brightness": 185 + "led_count": 24, + "max_brightness": 185, + "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 + } } } diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h index cf4ea821bf44..9527d6abae21 100644 --- a/keyboards/0xcb/1337/config.h +++ b/keyboards/0xcb/1337/config.h @@ -18,23 +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 -#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 /* default setup after eeprom reset */ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2 #define RGBLIGHT_DEFAULT_HUE 152 diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json index a0b04ba7df50..30b806aedc73 100644 --- a/keyboards/0xcb/1337/info.json +++ b/keyboards/0xcb/1337/info.json @@ -18,9 +18,30 @@ {"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, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/0xcb/1337/keymaps/conor/keymap.c b/keyboards/0xcb/1337/keymaps/conor/keymap.c deleted file mode 100644 index 2064537df11f..000000000000 --- a/keyboards/0xcb/1337/keymaps/conor/keymap.c +++ /dev/null @@ -1,186 +0,0 @@ -/* -Copyright 2021 0xCB - Conor Burns - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H -// clang-format off -enum layer_names { - _HOME, - _MISC, - _RGB, - _BLED -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_HOME] = LAYOUT( - KC_MPRV, KC_MNXT, KC_MPLY, - KC_PGUP, KC_PGDN, TO(3), - KC_HOME, KC_END, TO(1) -), -[_MISC] = LAYOUT( - _______, _______, _______, - _______, _______, TO(0), - _______, _______, TO(2) -), -[_RGB] = LAYOUT( - RGB_HUI, RGB_HUD, RGB_MOD, - RGB_SAI, RGB_SAD, TO(1), - RGB_SPI, RGB_SPD, TO(3) -), -[_BLED] = LAYOUT( - BL_STEP, BL_BRTG, BL_TOGG, - BL_ON, BL_OFF, TO(2), - BL_UP, BL_DOWN, TO(0) -) -}; -// clang-format on - -/* rotary encoder (SW3) - add more else if blocks for more granular layer control */ -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (IS_LAYER_ON(_RGB)) { - #ifdef RGBLIGHT_ENABLE - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } - #endif - } else if (IS_LAYER_ON(_BLED)) { - if (clockwise) { - backlight_increase(); - } else { - backlight_decrease(); - } - } else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} -#endif - -/* oled stuff :) */ -#ifdef OLED_ENABLE -uint16_t startup_timer; - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - startup_timer = timer_read(); - return rotation; -} - -static void render_logo(void) { - static const char PROGMEM raw_logo[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0, - 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0, - 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - oled_write_raw_P(raw_logo, sizeof(raw_logo)); -} -static void render_logo_font(void) { - static const char PROGMEM qmk_logo[] = { - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xCB, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0x9C, 0x9D, 0xCB, 0xCB, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xCB, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xBB, 0xBC, 0xBD, 0xBE, 0xCB, - 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xCB, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xDB, 0xDC, 0xDD, 0xDE, 0xCB, - 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xCB, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00 - }; - - oled_write_P(qmk_logo, false); -} -/* Shows the name of the current layer and locks for the host (CAPS etc.) */ -static void render_info(void) { - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _HOME: - oled_write_ln_P(PSTR("HOME"), false); - break; - case _MISC: - oled_write_ln_P(PSTR("MISC"), false); - break; - case _RGB: - oled_write_ln_P(PSTR("RGB"), false); - break; - case _BLED: - oled_write_ln_P(PSTR("Backlight"), false); - break; - default: - oled_write_ln_P(PSTR("Undefined"), false); - } - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); -} -static void render_rgbled_status(bool) { - char string[4]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { - uint16_t m = rgblight_get_mode(); - string[3] = '\0'; - string[2] = '0' + m % 10; - string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; - string[0] = m / 10 ? '0' + m / 10 : ' '; - oled_write_P(PSTR("Conf:"), false); - oled_write(string, false); - uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP; - string[3] = '\0'; - string[2] = '0' + h % 10; - string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; - string[0] = h / 10 ? '0' + h / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP; - string[3] = '\0'; - string[2] = '0' + s % 10; - string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; - string[0] = s / 10 ? '0' + s / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP; - string[3] = '\0'; - string[2] = '0' + v % 10; - string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; - string[0] = v / 10 ? '0' + v / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); - } else { - oled_write_ln_P(PSTR("\n"), false); - } -} -bool oled_task_user(void) { - static bool finished_timer = false; - if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { - render_logo(); - } else { - if (!finished_timer) { - oled_clear(); - finished_timer = true; - } - render_info(); - render_rgbled_status(true); - render_logo_font(); - } - return false; -} -#endif diff --git a/keyboards/0xcb/1337/keymaps/jakob/keymap.c b/keyboards/0xcb/1337/keymaps/jakob/keymap.c deleted file mode 100644 index 4f73a1d9fdf5..000000000000 --- a/keyboards/0xcb/1337/keymaps/jakob/keymap.c +++ /dev/null @@ -1,186 +0,0 @@ -/* -Copyright 2021 0xCB - Conor Burns - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H -// clang-format off -enum layer_names { - _HOME, - _MISC, - _RGB, - _BLED -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_HOME] = LAYOUT( - KC_MPRV, KC_MNXT, KC_MPLY, - KC_PGUP, KC_PGDN, TO(3), - KC_HOME, KC_END, TO(1) -), -[_MISC] = LAYOUT( - _______, _______, _______, - _______, _______, TO(0), - _______, _______, TO(2) -), -[_RGB] = LAYOUT( - RGB_HUI, RGB_HUD, RGB_MOD, - RGB_SAI, RGB_SAD, TO(1), - RGB_SPI, RGB_SPD, TO(3) -), -[_BLED] = LAYOUT( - BL_STEP, BL_BRTG, BL_TOGG, - BL_ON, BL_OFF, TO(2), - BL_UP, BL_DOWN, TO(0) -) -}; -// clang-format on - -/* rotary encoder (SW3) - add more else if blocks for more granular layer control */ -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (IS_LAYER_ON(_RGB)) { - #ifdef RGBLIGHT_ENABLE - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } - #endif - } else if (IS_LAYER_ON(_BLED)) { - if (clockwise) { - backlight_increase(); - } else { - backlight_decrease(); - } - } else { - if (clockwise) { - tap_code16(C(A(KC_UP))); - } else { - tap_code16(C(A(KC_DOWN))); - } - } - return true; -} -#endif - -/* oled stuff :) */ -#ifdef OLED_ENABLE -uint16_t startup_timer; - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - startup_timer = timer_read(); - return rotation; -} - -static void render_logo(void) { - static const char PROGMEM raw_logo[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0, - 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0, - 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - oled_write_raw_P(raw_logo, sizeof(raw_logo)); -} -static void render_logo_font(void) { - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, - 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, - 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00 - }; - - oled_write_P(qmk_logo, false); -} -/* Shows the name of the current layer and locks for the host (CAPS etc.) */ -static void render_info(void) { - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _HOME: - oled_write_ln_P(PSTR("HOME"), false); - break; - case _MISC: - oled_write_ln_P(PSTR("MISC"), false); - break; - case _RGB: - oled_write_ln_P(PSTR("RGB"), false); - break; - case _BLED: - oled_write_ln_P(PSTR("Backlight"), false); - break; - default: - oled_write_ln_P(PSTR("Undefined"), false); - } - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); -} -static void render_rgbled_status(bool) { - char string[4]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { - uint16_t m = rgblight_get_mode(); - string[3] = '\0'; - string[2] = '0' + m % 10; - string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; - string[0] = m / 10 ? '0' + m / 10 : ' '; - oled_write_P(PSTR("Conf:"), false); - oled_write(string, false); - uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP; - string[3] = '\0'; - string[2] = '0' + h % 10; - string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; - string[0] = h / 10 ? '0' + h / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP; - string[3] = '\0'; - string[2] = '0' + s % 10; - string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; - string[0] = s / 10 ? '0' + s / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP; - string[3] = '\0'; - string[2] = '0' + v % 10; - string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; - string[0] = v / 10 ? '0' + v / 10 : ' '; - oled_write_P(PSTR(","), false); - oled_write(string, false); - oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); - } else { - oled_write_ln_P(PSTR("\n"), false); - } -} -bool oled_task_user(void) { - static bool finished_timer = false; - if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { - render_logo(); - } else { - if (!finished_timer) { - oled_clear(); - finished_timer = true; - } - render_info(); - render_rgbled_status(true); - render_logo_font(); - } - return false; -} -#endif diff --git a/keyboards/0xcb/1337/rules.mk b/keyboards/0xcb/1337/rules.mk index 77dd67f53f8a..60cbfd4df605 100644 --- a/keyboards/0xcb/1337/rules.mk +++ b/keyboards/0xcb/1337/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/splaytoraid/config.h b/keyboards/0xcb/splaytoraid/config.h index 2f2eb82fee34..00674eea11cb 100644 --- a/keyboards/0xcb/splaytoraid/config.h +++ b/keyboards/0xcb/splaytoraid/config.h @@ -8,7 +8,6 @@ #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING #define RGB_MATRIX_DEFAULT_HUE 152 #define RGB_MATRIX_DEFAULT_SAT 232 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_SPD 50 #define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json index 5b7334ff9d25..c218d1ff781c 100644 --- a/keyboards/0xcb/splaytoraid/info.json +++ b/keyboards/0xcb/splaytoraid/info.json @@ -36,7 +36,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 2], "x": 0, "y": 0}, {"flags": 4, "matrix": [1, 0], "x": 20, "y": 0}, diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/config.h b/keyboards/0xcb/splaytoraid/keymaps/pi/config.h deleted file mode 100644 index 1786ae776db4..000000000000 --- a/keyboards/0xcb/splaytoraid/keymaps/pi/config.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier) -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#pragma once - -#define TAPPING_TERM 180 - -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE - - -#ifdef COMBO_ENABLE - #define COMBO_TERM 20 - #define COMBO_ONLY_FROM_LAYER 0 -#endif - -#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c deleted file mode 100644 index 07036b7245e3..000000000000 --- a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c +++ /dev/null @@ -1,300 +0,0 @@ -// Copyright 2023 Dreipunkteinsvier (@dreipunkteinsvier) -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -#include QMK_KEYBOARD_H -#include -#include - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ D E F I N I T I O N S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -enum splaytoraid40_layers { - _QWERTY, - _COLEMAK, - _NAVIGATION, - _MEDIA, - _NUMBERS, - _FUNCTION, -}; - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e k e y c o d e s │ -// └───────────────────────────────────────────────────────────┘ - -enum custom_keycodes { - COLEMAK = SAFE_RANGE, - QWERTY -}; - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e m a c r o n a m e s │ -// └───────────────────────────────────────────────────────────┘ - -// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐ -#define HM_A LGUI_T(KC_A) -#define HM_S LALT_T(KC_S) -#define HM_D LCTL_T(KC_D) -#define HM_F LSFT_T(KC_F) -#define HM_G RALT_T(KC_G) - -// RIGHT HAND HOME ROW MODS ├──────────────────────────────────┐ -#define HM_H RALT_T(KC_H) -#define HM_J RSFT_T(KC_J) -#define HM_K LCTL_T(KC_K) -#define HM_L LALT_T(KC_L) -#define HM_SCLN LGUI_T(KC_SCLN) - -// CTRL + ARROWS ├─────────────────────────────────────────────┐ -#define CT_LEFT LCTL(KC_LEFT) -#define CT_DOWN LCTL(KC_DOWN) -#define CT_UP LCTL(KC_UP) -#define CT_RGHT LCTL(KC_RGHT) - -// THUMB KEY LAYER TAPS ├──────────────────────────────────────┐ -#define TB_TAB LT(_MEDIA, KC_TAB) -#define TB_ENT LT(_NAVIGATION, KC_ENT) -#define TB_SPC LT(_NUMBERS, KC_SPC) -#define TB_BSPC LT(_FUNCTION, KC_BSPC) - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e c o m b o s │ -// └───────────────────────────────────────────────────────────┘ -// vertical combos for umlauts -const uint16_t PROGMEM ae_combo[] = {KC_Q, HM_A, COMBO_END}; -const uint16_t PROGMEM ss_combo[] = {KC_W, HM_S, COMBO_END}; -const uint16_t PROGMEM ue_combo[] = {KC_U, HM_J, COMBO_END}; -const uint16_t PROGMEM oe_combo[] = {KC_O, HM_L, COMBO_END}; -// horizontal combos for mods -const uint16_t PROGMEM del_combo[] = {HM_H, HM_J, COMBO_END}; -const uint16_t PROGMEM bsp_combo[] = {HM_J, HM_K, COMBO_END}; -const uint16_t PROGMEM ent_combo[] = {HM_K, HM_L, COMBO_END}; -const uint16_t PROGMEM tab_combo[] = {HM_F, HM_D, COMBO_END}; -const uint16_t PROGMEM esc_combo[] = {HM_D, HM_S, COMBO_END}; - -combo_t key_combos[] = { - COMBO(ae_combo, RALT(KC_Q)), - COMBO(ss_combo, RALT(KC_S)), - COMBO(ue_combo, RALT(KC_Y)), - COMBO(oe_combo, RALT(KC_P)), - COMBO(del_combo, KC_DEL), - COMBO(bsp_combo, KC_BSPC), - COMBO(ent_combo, KC_ENT), - COMBO(tab_combo, KC_TAB), - COMBO(esc_combo, KC_ESC) -}; - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ K E Y M A P S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ q w e r t y │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ 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 │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_QWERTY] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - HM_A, HM_S, HM_D, HM_F, HM_G, HM_H, HM_J, HM_K, HM_L, HM_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_ESC, TB_TAB, TB_ENT, KC_MPLY, TB_SPC, TB_BSPC, KC_DEL - ), - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - ┌───────────────────────────────────────────────────────────┐ - │ c o l e m a k │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ 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 │ TAB │ ENTER │ │ SPACE │ BSPACE │ DEL │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_COLEMAK] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - 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_ESC, TB_TAB, TB_ENT, _______, TB_SPC, TB_BSPC, KC_DEL - ), - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ n a v i g a t i o n │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ │ │ │ │ { │ ╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū │ } │ CTRL ← │ CTRL ↓ │ CTRL ↑ │ CTRL → │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī │╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ│ ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ │ │ │ │ ( ├─â•Ŋ ╰─â”Ī ) │ ← │ ↓ │ ↑ │ → │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī╭────────â•Ū╭────────â•Ū├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ │ │ │ │ [ ││ ││ ││ ] │ HOME │ PG↓ │ PG↑ │ END │ - └─────────â”ī─────────┾─────────┾─────────┾─────────┾╰────────â•Ŋ╰────────â•Ŋ┾─────────┾─────────┾─────────┾─────────â”ī─────────┘ - │ │ │ │ │ │ │ │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_NAVIGATION] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - _______, _______, _______, _______, KC_LCBR, KC_RCBR, CT_LEFT, CT_DOWN, CT_UP, CT_RGHT, - KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, - _______, _______, _______, _______, _______, _______, _______ - ), - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ m e d i a & s y m b o l │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ _ │ & │ * │ ( │ ) │ ╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū │ │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī │╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ│ ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ + │ $ │ % │ ^ │ " ├─â•Ŋ ╰─â”Ī │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī╭────────â•Ū╭────────â•Ū├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ ~ │ ! │ @ │ # │ | ││ ││ ││ │ │ │ │ │ - └─────────â”ī─────────┾─────────┾─────────┾─────────┾╰────────â•Ŋ╰────────â•Ŋ┾─────────┾─────────┾─────────┾─────────â”ī─────────┘ - │ │ │ │ │ │ │ │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_MEDIA] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_UNDS, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, - KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_DQUO, RGB_M_P, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, QWERTY, COLEMAK, _______, _______, QK_BOOTLOADER, - _______, _______, _______, _______, _______, _______, _______ - ), - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ n u m b e r s │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ - │ 7 │ 8 │ 9 │ 0 │ ╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū │ │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī │╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ│ ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ = │ 4 │ 5 │ 6 │ ' ├─â•Ŋ ╰─â”Ī │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī╭────────â•Ū╭────────â•Ū├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ ` │ 1 │ 2 │ 3 │ \ ││ ││ ││ │ │ │ │ │ - └─────────â”ī─────────┾─────────┾─────────┾─────────┾╰────────â•Ŋ╰────────â•Ŋ┾─────────┾─────────┾─────────┾─────────â”ī─────────┘ - │ │ │ │ │ │ │ │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_NUMBERS] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_MINS, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, - KC_EQL, KC_4, KC_5, KC_6, KC_QUOT, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI, - KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ f u n t i o n │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ F12 │ F7 │ F8 │ F9 │ PRT SCR │ ╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū │ │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī │╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ│ ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ F11 │ F4 │ F5 │ F6 │ ├─â•Ŋ ╰─â”Ī │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī╭────────â•Ū╭────────â•Ū├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ F10 │ F1 │ F2 │ F3 │ INS ││ ││ ││ │ │ │ │ │ - └─────────â”ī─────────┾─────────┾─────────┾─────────┾╰────────â•Ŋ╰────────â•Ŋ┾─────────┾─────────┾─────────┾─────────â”ī─────────┘ - │ │ │ │ │ │ │ │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ - - [_FUNCTION] = LAYOUT_36( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, _______, _______, _______, _______, _______, - KC_F11, KC_F4, KC_F5, KC_F6, _______, KC_RALT, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI, - KC_F10, KC_F1, KC_F2, KC_F3, KC_INS, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) - - /* - ╹━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â•ļ - - ┌───────────────────────────────────────────────────────────┐ - │ t e m p l a t e │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┮─────────┮─────────┮─────────┮─────────┐ ┌─────────┮─────────┮─────────┮─────────┮─────────┐ - │ │ │ │ │ │ ╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū╭â•Ū │ │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī │╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ╰â•Ŋ│ ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ │ │ │ │ ├─â•Ŋ ╰─â”Ī │ │ │ │ │ - ├─────────┾─────────┾─────────┾─────────┾─────────â”Ī╭────────â•Ū╭────────â•Ū├─────────┾─────────┾─────────┾─────────┾─────────â”Ī - │ │ │ │ │ ││ ││ ││ │ │ │ │ │ - └─────────â”ī─────────┾─────────┾─────────┾─────────┾╰────────â•Ŋ╰────────â•Ŋ┾─────────┾─────────┾─────────┾─────────â”ī─────────┘ - │ │ │ │ │ │ │ │ - └─────────â”ī─────────â”ī─────────┘ └─────────â”ī─────────â”ī─────────┘ */ -/* - [_TEMPLATE] = LAYOUT_saegewerk( - //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - )*/ -}; - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ D I E S U N D D A S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ -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 the 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_UNDS: - case KC_LSFT: - case KC_RSFT: - return true; - - default: - return false; // Deactivate Caps Word. - } -} - -// ┌───────────────────────────────────────────────────────────┐ -// │ e n c o d e r │ -// └───────────────────────────────────────────────────────────┘ - -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_COLEMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_MEDIA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUMBERS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk deleted file mode 100644 index 0d3e8aa3a902..000000000000 --- a/keyboards/0xcb/splaytoraid/keymaps/pi/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -COMBO_ENABLE = yes -CAPS_WORD_ENABLE = yes -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h index 10b1f88216f1..179c84088bb3 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 7a678a01942a..97f5e53cadb9 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/static/keymaps/bongocat/keymap.c b/keyboards/0xcb/static/keymaps/bongocat/keymap.c deleted file mode 100644 index 144b8daaa41e..000000000000 --- a/keyboards/0xcb/static/keymaps/bongocat/keymap.c +++ /dev/null @@ -1,298 +0,0 @@ -/* -Copyright 2021 0xCB - Conor Burns - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H -// clang-format off -enum my_keycodes { - WPM = SAFE_RANGE, -}; -enum layer_names { - _HOME, - _FN2, - _FN3, - _FN4 -}; -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_HOME] = LAYOUT_all( - KC_MPLY, - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) -), -[_FN2] = LAYOUT_all( - QK_BOOT, - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -[_FN3] = LAYOUT_all( - EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, - _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -[_FN4] = LAYOUT_all( - _______, - WPM, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______, - _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -}; -// clang-format on -/* WPM toggle key bongocat hehe */ -bool wpm = false; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case WPM: - if (record->event.pressed) { - wpm = !wpm; - } - return false; - default: - return true; - } -} -/*layer switcher */ -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _FN2, _FN3, _FN4); - return state; -} -/* rotary encoder (MX12) - add different functions for layers here */ -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (IS_LAYER_ON(_FN4)) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (IS_LAYER_ON(_FN3)) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (IS_LAYER_ON(_FN2)) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} -#endif - -/* oled stuff :) */ -#ifdef OLED_ENABLE -#define IDLE_FRAMES 5 -#define IDLE_SPEED 20 // below this wpm value your animation will idle -#define TAP_FRAMES 2 -#define TAP_SPEED 40 // above this wpm value typing animation to trigger -#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms -#define ANIM_SIZE 636 // number of bytes in array - -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; -uint8_t current_tap_frame = 0; - -uint16_t startup_timer = 0; - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - startup_timer = timer_read(); - return rotation; -} -static void render_logo(void) { - static const char PROGMEM raw_logo[] = { - 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0, - 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0, - 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0, - 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2, - }; - oled_write_raw_P(raw_logo, sizeof(raw_logo)); -} -/* Shows the name of the current layer and locks for the host (CAPS etc.) */ -static void render_layer(void) { - led_t led_state = host_keyboard_led_state(); - // clang-format off - static const char PROGMEM logo[][3][7] = { - {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */ - {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */ - {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */ - {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */ - {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */ - {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */ - }; - // clang-format on - oled_set_cursor(0, 0); - oled_write_P(logo[0][0], false); - oled_set_cursor(0, 3); - oled_write_P(logo[3][0], false); - switch (get_highest_layer(layer_state)) { - case _HOME: - oled_set_cursor(0, 1); - oled_write_P(logo[1][0], false); - oled_set_cursor(0, 2); - oled_write_P(logo[2][0], false); - break; - case _FN2: - oled_set_cursor(0, 1); - oled_write_P(logo[4][0], false); - oled_set_cursor(0, 2); - oled_write_P(logo[5][0], false); - break; - case _FN3: - oled_set_cursor(0, 1); - oled_write_P(logo[4][1], false); - oled_set_cursor(0, 2); - oled_write_P(logo[5][1], false); - break; - case _FN4: - oled_set_cursor(0, 1); - oled_write_P(logo[4][2], false); - oled_set_cursor(0, 2); - oled_write_P(logo[5][2], false); - break; - default: - oled_set_cursor(0, 1); - oled_write_P(PSTR(" "), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR(" "), false); - } - oled_set_cursor(8, 0); - oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false); - oled_set_cursor(8, 1); - oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false); - oled_set_cursor(8, 2); - oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false); - oled_set_cursor(8, 3); - oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false); - - oled_set_cursor(16, 0); - oled_write_P(logo[0][2], false); - oled_set_cursor(16, 1); - oled_write_P(logo[1][2], false); - oled_set_cursor(16, 2); - oled_write_P(logo[2][2], false); - oled_set_cursor(16, 3); - oled_write_P(logo[3][2], false); - - /* Fill empty space to clear animation */ - oled_set_cursor(4, 0); - oled_write_P(PSTR(" "), false); - oled_set_cursor(4, 1); - oled_write_P(PSTR(" "), false); - oled_set_cursor(4, 2); - oled_write_P(PSTR(" "), false); - oled_set_cursor(4, 3); - oled_write_P(PSTR(" "), false); - - oled_set_cursor(14, 0); - oled_write_P(PSTR(" "), false); - oled_set_cursor(14, 1); - oled_write_P(PSTR(" "), false); - oled_set_cursor(14, 2); - oled_write_P(PSTR(" "), false); - oled_set_cursor(14, 3); - oled_write_P(PSTR(" "), false); -} - -static void render_cat(void) { - static const char PROGMEM idle[IDLE_FRAMES][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; - static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - }; - - void animation_phase(void) { - 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)], ANIM_SIZE); - } - if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { - oled_write_raw_P(prep[0], ANIM_SIZE); - } - 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)], ANIM_SIZE); - } - } - if (get_current_wpm() != 000) { - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - anim_sleep = timer_read32(); - } else { - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } -} - -bool oled_task_user(void) { - static bool finished_timer = false; - if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) { - render_logo(); - } else { - if (!finished_timer) { - oled_clear(); - finished_timer = true; - } - if (wpm) { - render_cat(); - oled_set_cursor(0, 0); - char string[10]; - uint16_t m = get_current_wpm(); - string[3] = '\0'; - string[2] = '0' + m % 10; - string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; - string[0] = m / 10 ? '0' + m / 10 : ' '; - oled_write_P(PSTR("WPM:"), false); - oled_write(string, false); - } else { - render_layer(); - } - } - return false; -} -#endif - -/* Resets via on eep reset - thank you drashna! */ -void eeconfig_init_kb(void) { - via_eeprom_set_valid(false); - via_init(); - eeconfig_init_user(); -} diff --git a/keyboards/0xcb/static/keymaps/bongocat/rules.mk b/keyboards/0xcb/static/keymaps/bongocat/rules.mk deleted file mode 100644 index d03b5f1ca758..000000000000 --- a/keyboards/0xcb/static/keymaps/bongocat/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/0xcb/static/rules.mk b/keyboards/0xcb/static/rules.mk index 24ff2f2cfd1f..fe8dabeab7ec 100644 --- a/keyboards/0xcb/static/rules.mk +++ b/keyboards/0xcb/static/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/tutelpad/config.h b/keyboards/0xcb/tutelpad/config.h index f64205d126e5..6b9c1274a81a 100644 --- a/keyboards/0xcb/tutelpad/config.h +++ b/keyboards/0xcb/tutelpad/config.h @@ -16,24 +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 -#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 - #define OLED_TIMEOUT 20000 // Turns off OLED after said amount of milliseconds #define OLED_BRIGHTNESS 128 #define OLED_DISPLAY_128X64 diff --git a/keyboards/0xcb/tutelpad/info.json b/keyboards/0xcb/tutelpad/info.json index 79fdf0af4581..e4c7fce98abf 100644 --- a/keyboards/0xcb/tutelpad/info.json +++ b/keyboards/0xcb/tutelpad/info.json @@ -11,6 +11,23 @@ "bootmagic": { "matrix": [1, 0] }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/0xcb/tutelpad/rules.mk b/keyboards/0xcb/tutelpad/rules.mk index 9cc3b02a2279..f06d31c5f13b 100644 --- a/keyboards/0xcb/tutelpad/rules.mk +++ b/keyboards/0xcb/tutelpad/rules.mk @@ -10,6 +10,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h index ae376dfa5318..e3b721179297 100644 --- a/keyboards/10bleoledhub/config.h +++ b/keyboards/10bleoledhub/config.h @@ -16,20 +16,4 @@ along with this program. If not, see .*/ #pragma once -#define SSD1306OLED - -#define RGBLED_NUM 4 - -#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 - - #define OLED_FONT_H "./lib/glcdfont.c" diff --git a/keyboards/10bleoledhub/info.json b/keyboards/10bleoledhub/info.json index 9b536e0677f1..17ebcaf4587d 100644 --- a/keyboards/10bleoledhub/info.json +++ b/keyboards/10bleoledhub/info.json @@ -8,6 +8,24 @@ "pid": "0x7C99", "device_version": "0.0.1" }, + "bluetooth": { + "driver": "bluefruit_le" + }, + "rgblight": { + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk index e30794f68e65..12bfe122d620 100644 --- a/keyboards/10bleoledhub/rules.mk +++ b/keyboards/10bleoledhub/rules.mk @@ -14,7 +14,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h index afdc6d4baabe..0d0cd3712a76 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 090e93b94bdc..34f33d505953 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/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h index e64f49ee0aa3..29d684ac0815 100644 --- a/keyboards/1k/keymaps/default/rgblite.h +++ b/keyboards/1k/keymaps/default/rgblite.h @@ -7,7 +7,7 @@ #include "color.h" static inline void rgblite_setrgb(RGB rgb) { - LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; + rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; ws2812_setleds(leds, RGBLED_NUM); } diff --git a/keyboards/1k/keymaps/media/keymap.c b/keyboards/1k/keymaps/media/keymap.c deleted file mode 100644 index 6fd3eb92dea7..000000000000 --- a/keyboards/1k/keymaps/media/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "rgblite.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_1x1( - KC_MUTE - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - rgblite_increase_hue(); - } - return true; -} - -void keyboard_post_init_user(void) { - rgblite_increase_hue(); -} diff --git a/keyboards/1k/keymaps/media/rgblite.h b/keyboards/1k/keymaps/media/rgblite.h deleted file mode 100644 index e64f49ee0aa3..000000000000 --- a/keyboards/1k/keymaps/media/rgblite.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "ws2812.h" -#include "color.h" - -static inline void rgblite_setrgb(RGB rgb) { - LED_TYPE leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; - ws2812_setleds(leds, RGBLED_NUM); -} - -static void rgblite_increase_hue(void) { - static uint8_t state = 0; - - HSV hsv = { 255, 255, 255 }; - hsv.h = state; - state = (state + 8) % 256; - - rgblite_setrgb(hsv_to_rgb(hsv)); - -} diff --git a/keyboards/1k/keymaps/media/rules.mk b/keyboards/1k/keymaps/media/rules.mk deleted file mode 100644 index 76db8f131e89..000000000000 --- a/keyboards/1k/keymaps/media/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -WS2812_DRIVER_REQUIRED = yes -SRC += color.c -EXTRAKEY_ENABLE = yes diff --git a/keyboards/1k/keymaps/tap_dance/config.h b/keyboards/1k/keymaps/tap_dance/config.h deleted file mode 100644 index bd0163e4475c..000000000000 --- a/keyboards/1k/keymaps/tap_dance/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define TAPPING_TERM 500 -#define PERMISSIVE_HOLD diff --git a/keyboards/1k/keymaps/tap_dance/keymap.c b/keyboards/1k/keymaps/tap_dance/keymap.c deleted file mode 100644 index 104492497891..000000000000 --- a/keyboards/1k/keymaps/tap_dance/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Makoto Kurauchi (@MakotoKurauchi) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _BASE = 0, -}; - -enum { - TD_AB = 0 -}; - -tap_dance_action_t tap_dance_actions[] = { - [TD_AB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_B) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_ortho_1x1( - TD(TD_AB) - ) -}; diff --git a/keyboards/1k/keymaps/tap_dance/rules.mk b/keyboards/1k/keymaps/tap_dance/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/1k/keymaps/tap_dance/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index bc0d7f0c4bcf..d876570c808e 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #pragma once -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/1upkeyboards/1up60hse/info.json b/keyboards/1upkeyboards/1up60hse/info.json index 475a93512374..ffc2d4d76574 100644 --- a/keyboards/1upkeyboards/1up60hse/info.json +++ b/keyboards/1upkeyboards/1up60hse/info.json @@ -18,6 +18,24 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "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 + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/config.h b/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/config.h deleted file mode 100644 index 65293382cf69..000000000000 --- a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 Chuck "@vosechu" Lauer Vose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c deleted file mode 100644 index eeca330838ab..000000000000 --- a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2018 Chuck "@vosechu" Lauer Vose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 SPACEFN LT(1, KC_SPC) -#define CTL_GRV CTL_T(KC_GRV) -#define ALT_TAB ALT_T(KC_TAB) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS , KC_EQL , KC_BSPC , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC , KC_BSLS , - KC_CAPS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , KC_ENT , - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT , - CTL_GRV , ALT_TAB , KC_LGUI , SPACEFN , KC_RALT , KC_RGUI , MO(1) , KC_RCTL - ), - - [1] = LAYOUT_60_ansi( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_DEL , - KC_TRNS , KC_TRNS , KC_UP , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_PSCR , KC_SCRL , KC_PAUS , KC_TRNS , - KC_TRNS , KC_LEFT , KC_DOWN , KC_RGHT , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_INS , KC_HOME , KC_PGUP , KC_TRNS , - KC_TRNS , KC_VOLU , KC_VOLD , KC_MUTE , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_END , KC_PGDN , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , MO(2) , KC_TRNS , KC_TRNS - ), - - [2] = LAYOUT_60_ansi( - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , QK_BOOT, - BL_TOGG , BL_UP , BL_DOWN , BL_STEP , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , - RGB_TOG , RGB_MOD , RGB_HUI , RGB_SAI , RGB_VAI , RGB_SPI , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , KC_TRNS , KC_TRNS , KC_TRNS , - KC_TRNS , RGB_RMOD , RGB_HUD , RGB_SAD , RGB_VAD , RGB_SPD , RGB_M_SN , RGB_M_K , RGB_M_X , RGB_M_G , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS - ) -}; diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/readme.md b/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/readme.md deleted file mode 100644 index 97e9453b7c9d..000000000000 --- a/keyboards/1upkeyboards/1up60hse/keymaps/vosechu/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# 1up60hse keymap made by vosechu - -Tweaks from default - -* Add in SpaceFN so arrows are reachable with just left hand (leaving right free for mousing). -* Also add tab/grv under the alt/ctrl keys to make those easier to reach. diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h index aeda8afd3381..eddf290b4c3f 100644 --- a/keyboards/1upkeyboards/1up60hte/config.h +++ b/keyboards/1upkeyboards/1up60hte/config.h @@ -23,18 +23,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 712999df3256..99275bf251b6 100644 --- a/keyboards/1upkeyboards/1up60hte/info.json +++ b/keyboards/1upkeyboards/1up60hte/info.json @@ -20,6 +20,23 @@ "caps_lock": "B6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c deleted file mode 100644 index 197c449122fe..000000000000 --- a/keyboards/1upkeyboards/1up60hte/keymaps/badger/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2020 Dan White - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "badger.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY_MAC] = LAYOUT_tsangan( - 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, - MOVE_MAC, KC_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, CFG_MAC, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, ADJUST, KC_RALT, KC_RGUI), - - [_MOVE_MAC] = LAYOUT_tsangan( - MAC_FRC, MM_LEFT, MM_RGHT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_0, IJ_TOP, IJ_BOTT, _______, _______, - KC_BACK, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, _______, WD_BACK, KC_HOME, KC_END, WD_FRWD, IJ_BACK, IJ_FWD, KC_NEXT, - _______, MM_LH, MM_MAX, MM_RH, IJ_FIND, IJ_IMPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CM_RIGHT, CM_DOWN, _______, - _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, IJ_IMPH, _______, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_QWERTY_LINUX] = LAYOUT_tsangan( - 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, - MOVE, KC_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, CFG_LNX, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, ADJUST, KC_RALT, KC_RGUI), - - [_MOVE_LINUX] = LAYOUT_tsangan( - KC_GRV, VD_1, VD_2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, - _______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, - _______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_ADJUST] = LAYOUT_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_WREF, KC_MSTP, KC_MPLY, KC_PGUP, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_CAPS, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, KC_WSCH, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_CONFIG] = LAYOUT_tsangan( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - _______, NK_ON, NK_OFF, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, GE_SWAP, GE_NORM, DB_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, - _______, DF_1, DF_2, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______) -}; diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h index 8bbb646e40d0..5f360813239b 100644 --- a/keyboards/1upkeyboards/1up60rgb/config.h +++ b/keyboards/1upkeyboards/1up60rgb/config.h @@ -5,18 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 ee6914a4e595..0d288916cc41 100644 --- a/keyboards/1upkeyboards/1up60rgb/info.json +++ b/keyboards/1upkeyboards/1up60rgb/info.json @@ -17,6 +17,23 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c deleted file mode 100644 index 214316cd6572..000000000000 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/badger/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2020 Dan White -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "badger.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY_MAC] = LAYOUT_60_ansi_tsangan_split_rshift( - 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, - MOVE_MAC, KC_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, CFG_MAC, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, ADJUST, KC_RALT, KC_RGUI), - - [_MOVE_MAC] = LAYOUT_60_ansi_tsangan_split_rshift( - MAC_FRC, MM_LEFT, MM_RGHT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_0, IJ_TOP, IJ_BOTT, KC_DEL, - KC_BACK, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, _______, WD_BACK, KC_HOME, KC_END, WD_FRWD, IJ_BACK, IJ_FWD, KC_NEXT, - _______, MM_LH, MM_MAX, MM_RH, IJ_FIND, IJ_IMPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CM_RIGHT, CM_DOWN, _______, - _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, IJ_IMPH, _______, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_QWERTY_LINUX] = LAYOUT_60_ansi_tsangan_split_rshift( - 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, - MOVE, KC_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, CFG_LNX, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, ADJUST, KC_LALT, KC_RGUI), - - [_MOVE_LINUX] = LAYOUT_60_ansi_tsangan_split_rshift( - KC_GRV, VD_1, VD_2, VD_3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, - _______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, - _______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_ADJUST] = LAYOUT_60_ansi_tsangan_split_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_DEL, - _______, _______, _______, _______, KC_WREF, KC_MSTP, KC_MPLY, KC_PGUP, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, DF_1, DF_2, KC_CAPS, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, KC_WSCH, _______, _______, - _______, _______, _______, _______, _______, _______, _______), - - [_CONFIG] = LAYOUT_60_ansi_tsangan_split_rshift( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, NK_ON, NK_OFF, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, GE_SWAP, GE_NORM, DB_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, - _______, LAG_SWP, LAG_NRM, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______) -}; - diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c index 15b7c9faa71b..5792f51ca82e 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 fd6087a23882..20783c22cba6 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/mdyevimnav/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/mdyevimnav/keymap.c deleted file mode 100644 index f78af99bf6a1..000000000000 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/mdyevimnav/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - * Layer 0 - * ,-----------------------------------------------------------------------------------------. - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Esc | a | s | d | f | g | h | j | k | l | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | z | x | c | v | b | n | m | , | . | / | Shift | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | L1 | Alt | space | Alt | Sup | L1 | Ctrl | - * \-----------------------------------------------------------------------------------------/ - * - */ - 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_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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, - KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), - -/* - * Layer 1 - * ,-----------------------------------------------------------------------------------------. - * | | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10 | f11 | f12 | Del | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | Ins | | Paus| | | Prnt | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | L | D | U | R | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Hom | PDn | PUp | End | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | - * \-----------------------------------------------------------------------------------------/ - * - */ - 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_INS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, KC_PSCR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, 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_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c deleted file mode 100644 index d0c47c526da6..000000000000 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -//****************************************************************************// -// raffle's keymap for the 1up60rgb. // -// emulates my pok3r layout and adds RGB control + firmware reset/debug // -// layers // -//****************************************************************************// - -//************************ dependencies + definitions ************************// -#include QMK_KEYBOARD_H - -// create names for layers -enum layers { - _typing, - _raise, - _rgb, - _adjust -}; - -// define layer mods -#define RAISE MO(_raise) -#define RGB MO(_rgb) - -// define mod masks for making multi-key macros -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) -#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) -#define MODS_ALT_MASK (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) - -//********************************** Layers **********************************// -// define layers -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // typing layer to handle basic typing - [_typing] = 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_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_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, - RAISE, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, RGB, KC_RCTL - ), - // raise layer to handle function & nav keys - [_raise] = LAYOUT_all - ( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_LSCR, KC_PAUSE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_APP, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - // rgb layer for pretty backlight colors - [_rgb] = LAYOUT_all - ( - RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_VAI, RGB_HUD, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, RGB_SAI, RGB_VAD,RGB_SAD, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ), - // adjust to handle firmware debug + reset mode - [_adjust] = LAYOUT_all - ( - QK_BOOT, DB_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ) -}; - -//***************************** Function bodies *****************************// -// enable tri-layer state for _raise + _rgb = _adjust -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)) { - 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 { - - } - -} diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/readme.md b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/readme.md deleted file mode 100644 index c462c206acea..000000000000 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -## raffle's keymap -The default keymap is just enough to get started. This keymap adds a pok3r-like -raise layer, backlight RGB control layer, and firmware reset/debug adjust layer -for ANSI layouts. - -In the default layer, the following modifications are made (using standard ANSI -keys for LHS): - -- `CAPS` = `LCTRL` -- `LCTRL` = `RAISE` -- `APP` = `RGB` -- `LCTRL` + `APP` (`RAISE` + `RGB`) = `ADJUST` -- `GRV` = `ESC` - -Additionally, the pok3r's `SHIFT` + `ESC` for `~` is maintained (with either `SHIFT`). - -### Raise Layer -Emulates standard pok3r layout (without the onboard macro keys) - -Highlights: - -- `IJKL` for arrow keys -- `H`/`N` for `HOME`/`END` -- `U`/`P` for `PGUP`/`PGDN` -- `1` - `=` for `F1` - `F12` -- `Y` for calculator - -Other standard keys from the pok3r layout are carried over. See the keymap or -the pok3r documentation for details. - -### RGB Layer -Uses navigation keys from `RAISE` layer for RGB adjustment - -- `I`/`K` for Value (brightness) Increase/Decrease -- `U`/`P` for Hue (color) Increase/Decrease -- `H`/`N` for Saturation Incrase/Decrease -- `GRV` to toggle RGB on/off -- `1`-`9` to activate QMK's predefined RGB animations - -### Adjust Layer - -- `GRV` activates firmware reset for flashing -- `1` enters debug mode diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c index a45947de54b0..5cc922788590 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 000000000000..4431ef6bdbcf --- /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 000000000000..c6a371808250 --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/info.json @@ -0,0 +1,97 @@ +{ + "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": { + "driver": "vendor", + "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 000000000000..86e3f440feee --- /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/atlantis/ps17/keymaps/multimedia/rules.mk b/keyboards/1upkeyboards/1upocarina/keymaps/default/rules.mk similarity index 100% rename from keyboards/atlantis/ps17/keymaps/multimedia/rules.mk rename to keyboards/1upkeyboards/1upocarina/keymaps/default/rules.mk diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c new file mode 100644 index 000000000000..86e3f440feee --- /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 000000000000..bf70b1f3e09f --- /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 000000000000..280c9f01d6df --- /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/handwired/jscotto/scotto36/rules.mk b/keyboards/1upkeyboards/1upocarina/rules.mk similarity index 100% rename from keyboards/handwired/jscotto/scotto36/rules.mk rename to keyboards/1upkeyboards/1upocarina/rules.mk diff --git a/keyboards/1upkeyboards/1upslider8/1upslider8.c b/keyboards/1upkeyboards/1upslider8/1upslider8.c new file mode 100644 index 000000000000..e6d6698ee9b7 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/1upslider8.c @@ -0,0 +1,400 @@ +/* Copyright 2022 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#include "analog.h" +#include "qmk_midi.h" + +#include "quantum.h" +#include "quantum/midi/midi.h" +#include "quantum/midi/midi_device.h" + +uint8_t divisor = 0; +void slider(void) { + if (divisor++) { // only run the slider function 1/256 times it's called + return; + } + midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3)); + uprintf("%d string", analogReadPin(SLIDER_PIN)); +} + +void housekeeping_task_kb(void) { + slider(); + housekeeping_task_user(); +} + +static uint32_t oled_logo_timer = 0; +static bool clear_logo = true; +static const char PROGMEM my_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, + 0xE0, 0xF0, 0x70, 0x70, 0x70, 0x70, + 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x63, 0xE7, 0xE7, 0xCE, 0xCE, + 0xCE, 0xCE, 0xFC, 0xFC, 0x78, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC1, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 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, + 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 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, + 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, 0x00, 0x1F, 0x1F, 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, + 0xFC, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C, + 0x1C, 0x3C, 0xF8, 0xF8, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x70, + 0x70, 0x70, 0x70, 0x78, 0x3F, 0x3F, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0xF0, 0xF0, 0x70, 0x70, 0x70, 0x70, + 0x70, 0x70, 0x70, 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, 0xCE, 0xCE, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0xC1, 0xC1, 0xC1, + 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0x39, 0x39, 0x79, 0xF9, 0xF9, + 0xDF, 0x9F, 0x0F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x07, 0x07, 0x06, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1C, 0xBE, + 0xFF, 0x63, 0x63, 0xFF, 0xBE, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x1F, + 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + + +static const char PROGMEM ou_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFC, 0xFC, 0xCF, 0xCF, + 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, + 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0x03, 0x03, 0xF3, 0xF3, 0x03, 0x03, + 0x0C, 0x0C, 0xFC, 0xFC, 0x00, 0x00, + 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, + 0xFF, 0xFF, 0xF0, 0xF0, 0xC3, 0xC3, + 0xC0, 0xC0, 0xF0, 0xF0, 0xFF, 0xFF, + 0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFC, + 0x0C, 0x0C, 0x0F, 0x0F, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + + +static char PROGMEM caps_on[] = { + 0x00, 0x00, 0x00, 0xF8, 0x04, 0x04, + 0x04, 0x88, 0x00, 0x00, 0xE0, 0x58, + 0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0x24, 0x18, 0x00, 0x00, + 0x98, 0x24, 0x24, 0x24, 0xC8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF1, + 0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC0, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static char PROGMEM caps_off[] = { + 0x00, 0x00, 0x00, 0xF8, 0x04, 0x04, + 0x04, 0x88, 0x00, 0x00, 0xE0, 0x58, + 0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0x24, 0x18, 0x00, 0x00, + 0x98, 0x24, 0x24, 0x24, 0xC8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x31, + 0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC0, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM num_on[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, + 0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0xFC, 0x18, 0x60, 0x80, + 0x60, 0x18, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0xF0, 0xF1, 0xF1, + 0xF1, 0xF0, 0xF0, 0xF0, 0xE1, 0xC0, + 0x80, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM num_off[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, + 0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0xFC, 0x18, 0x60, 0x80, + 0x60, 0x18, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0x70, 0x31, 0x31, + 0x31, 0x30, 0x70, 0xF0, 0xE1, 0xC0, + 0x80, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM scrl_on[] = { + 0x00, 0x00, 0x00, 0x98, 0x24, 0x24, + 0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04, + 0x04, 0x04, 0x88, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0xE4, 0x18, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x80, + 0xC0, 0xE1, 0xF1, 0xF1, 0xF0, 0xF0, + 0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC1, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM scrl_off[] = { + 0x00, 0x00, 0x00, 0x98, 0x24, 0x24, + 0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04, + 0x04, 0x04, 0x88, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0xE4, 0x18, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x80, + 0xC0, 0xE1, 0xF1, 0x71, 0x30, 0x30, + 0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC1, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static void render_oled(void) { + const int combined_size = sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off) + sizeof(scrl_off); + char combined[combined_size]; + led_t led_state = host_keyboard_led_state(); + + memcpy_P(combined, ou_logo, sizeof(ou_logo)); + + if (led_state.caps_lock) { + memcpy_P(combined + sizeof(ou_logo), caps_on, sizeof(caps_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo), caps_off, sizeof(caps_off)); + } + + if (led_state.num_lock) { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_on, sizeof(num_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_off, sizeof(num_off)); + } + + if (led_state.scroll_lock) { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_on, sizeof(scrl_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_off, sizeof(scrl_off)); + } + + oled_write_raw_P(combined, sizeof(combined)); +} + +void render_logo(void) { + oled_write_raw_P(my_logo, sizeof(my_logo)); +} + +void clear_screen(void) { + if (clear_logo){ + for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) { + for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) { + oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j); + } + } + clear_logo = false; + } +} + +#define MIDI_CONTROL_CHANGE 0xB0 + +MidiDevice _midi_device; + +void midi_callback(uint8_t cable, uint8_t *midi_data, uint16_t length) { + // Check if this is a MIDI CC message on channel 2 + if ((midi_data[0] & 0xF0) == MIDI_CONTROL_CHANGE && midi_data[0] & (0x0F == 1)) { + uprintf("%s string", midi_data ); + // ... + } +} + +void slider8_cc_callback(struct _midi_device *dev, uint8_t cable, uint8_t code_index, uint8_t value) { + midi_callback(MIDI_CONTROL_CHANGE, &value, 1); +} + +void init_timer(void){ + oled_logo_timer = timer_read32(); +}; + +void keyboard_post_init_kb(void) { + init_timer(); + + keyboard_post_init_user(); +} + +void matrix_init_kb(void) { + midi_register_cc_callback(&_midi_device, slider8_cc_callback); + matrix_init_user(); +} + +#ifndef SHOW_LOGO +# define SHOW_LOGO 5000 +#endif +bool oled_task_kb(void) { + if (!oled_task_user()) { return false; } + if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){ + render_logo(); + }else{ + clear_screen(); + render_oled(); + } + return false; +} diff --git a/keyboards/1upkeyboards/1upslider8/config.h b/keyboards/1upkeyboards/1upslider8/config.h new file mode 100644 index 000000000000..059d16f3fab0 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/config.h @@ -0,0 +1,29 @@ +/* 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 I2C1_SCL_PIN GP11 +#define I2C1_SDA_PIN GP10 +#define OLED_BRIGHTNESS 128 + +#define SLIDER_PIN GP28 +#define MIDI_ADVANCED + +#define RGB_MATRIX_LED_COUNT 8 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/1upslider8/halconf.h b/keyboards/1upkeyboards/1upslider8/halconf.h new file mode 100644 index 000000000000..bc09e4db56dc --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 ziptyze +// SPDX-License-Identifier: GPL-2.0-or-later#pragma once + +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_ADC TRUE + +#include_next diff --git a/keyboards/1upkeyboards/1upslider8/info.json b/keyboards/1upkeyboards/1upslider8/info.json new file mode 100644 index 000000000000..f2fe65106076 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/info.json @@ -0,0 +1,115 @@ +{ + "manufacturer": "1upkeyboards", + "keyboard_name": "1upslider8", + "maintainer": "ziptyze", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x5611", + "vid": "0x6F75" + }, + "dynamic_keymap": { + "layer_count": 10 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "oled": true, + "midi":true, + "rgb_matrix": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP21", + "pin_b": "GP22" + } + ] + }, + "matrix_pins": { + "direct": [ + ["GP27", "GP17", "GP18", "GP19", "GP20", "GP15", "GP14", "GP13", "GP16"] + ] + }, + "bootmagic": { + "matrix": [0, 1] + }, + "ws2812": { + "pin": "GP26", + "driver": "vendor" + }, + "rgb_matrix": { + "animations": { + "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, + "typing_heatmap": 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": 4, "matrix": [0, 1], "x": 28, "y": 16 }, + { "flags": 4, "matrix": [0, 2], "x": 84, "y": 16 }, + { "flags": 4, "matrix": [0, 3], "x": 140, "y": 16 }, + { "flags": 4, "matrix": [0, 4], "x": 196, "y": 16 }, + { "flags": 4, "matrix": [0, 5], "x": 28, "y": 48 }, + { "flags": 4, "matrix": [0, 6], "x": 84, "y": 48 }, + { "flags": 4, "matrix": [0, 7], "x": 140, "y": 48 }, + { "flags": 4, "matrix": [0, 8], "x": 196, "y": 48 } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "enc", "matrix": [0, 0], "x": 3, "y": 0 }, + { "label": "1", "matrix": [0, 1], "x": 0, "y": 1 }, + { "label": "2", "matrix": [0, 2], "x": 1, "y": 1 }, + { "label": "3", "matrix": [0, 3], "x": 2, "y": 1 }, + { "label": "4", "matrix": [0, 4], "x": 3, "y": 1 }, + { "label": "5", "matrix": [0, 5], "x": 0, "y": 2 }, + { "label": "6", "matrix": [0, 6], "x": 1, "y": 2 }, + { "label": "7", "matrix": [0, 7], "x": 2, "y": 2 }, + { "label": "8", "matrix": [0, 8], "x": 3, "y": 2 } + ] + } + } +} diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c new file mode 100644 index 000000000000..9e39f9d3e381 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2022 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + RGB_TOG, + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk similarity index 100% rename from keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/rules.mk rename to keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c new file mode 100644 index 000000000000..4178e7de58db --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2023 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + RGB_TOG, + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk new file mode 100644 index 000000000000..15a5eaf11a11 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes + +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upslider8/mcuconf.h b/keyboards/1upkeyboards/1upslider8/mcuconf.h new file mode 100644 index 000000000000..df9ddc79ad64 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2023 ziptyze +// SPDX-License-Identifier: GPL-2.0-or-later#pragma once + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#undef RP_ADC_USE_ADC1 +#define RP_I2C_USE_I2C1 TRUE +#define RP_ADC_USE_ADC1 TRUE diff --git a/keyboards/1upkeyboards/1upslider8/readme.md b/keyboards/1upkeyboards/1upslider8/readme.md new file mode 100644 index 000000000000..d1ad304b463f --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/readme.md @@ -0,0 +1,27 @@ +# slider8 + +![slider8](https://i.imgur.com/AiVQySnh.jpg) + + +This keyboard is the slider8 from 1upkeyboards.com, a small macropad with an oled, slide potentiometer, rotary encoder, and 8 switches in a 2x4 ortholinear arrangement with per-key in-switch rgb leds. + +The slide potentiometer presents to the computer as a midi device and will need a seperate program to map to device control. + +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/1upslider8:default + +Flashing example for this keyboard: + + make 1upkeyboards/1upslider8: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 top left key and plug in the keyboard +* **Physical reset button**: Hold down the button on the pi pico and plug in the keyboard diff --git a/keyboards/1upkeyboards/1upslider8/rules.mk b/keyboards/1upkeyboards/1upslider8/rules.mk new file mode 100644 index 000000000000..cc588202788d --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/rules.mk @@ -0,0 +1 @@ +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/1upkeyboards/1upsuper16v3/config.h b/keyboards/1upkeyboards/1upsuper16v3/config.h new file mode 100644 index 000000000000..41e1679d4887 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/config.h @@ -0,0 +1,22 @@ +/* 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 48 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/1upsuper16v3/info.json b/keyboards/1upkeyboards/1upsuper16v3/info.json new file mode 100644 index 000000000000..b11654a9424a --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/info.json @@ -0,0 +1,164 @@ +{ + "manufacturer": "1upkeyboards", + "keyboard_name": "1upsuper16v3", + "maintainer": "ziptyze", + "bootloader": "rp2040", + "dynamic_keymap": { + "layer_count": 10 + }, + "encoder": { + "rotary": [ + {"pin_a": "GP20", "pin_b": "GP21"}, + {"pin_a": "GP25", "pin_b": "GP26"}, + {"pin_a": "GP2", "pin_b": "GP3"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["GP23", "GP24", "GP4", "GP5"], + ["GP19", "GP27", "GP1", "GP8"], + ["GP18", "GP28", "GP0", "GP9"], + ["GP17", "GP16", "GP15", "GP11"] + ] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "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_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": 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 + }, + "driver": "ws2812", + "layout": [ + {"x": 99, "y": 1, "flags": 2}, + {"x": 70, "y": 1, "flags": 2}, + {"x": 42, "y": 1, "flags": 2}, + {"x": 14, "y": 1, "flags": 2}, + {"x": 4, "y": 4, "flags": 2}, + {"x": 4, "y": 12, "flags": 2}, + {"matrix": [0, 0], "x": 28, "y": 8, "flags": 4}, + {"matrix": [0, 1], "x": 84, "y": 8, "flags": 4}, + {"x": 4, "y": 20, "flags": 2}, + {"x": 4, "y": 28, "flags": 2}, + {"matrix": [1, 0], "x": 28, "y": 24, "flags": 4}, + {"matrix": [1, 1], "x": 84, "y": 24, "flags": 4}, + {"x": 4, "y": 36, "flags": 2}, + {"x": 4, "y": 44, "flags": 2}, + {"matrix": [2, 0], "x": 28, "y": 40, "flags": 4}, + {"matrix": [2, 1], "x": 84, "y": 40, "flags": 4}, + {"x": 4, "y": 52, "flags": 2}, + {"x": 4, "y": 60, "flags": 2}, + {"x": 14, "y": 63, "flags": 2}, + {"matrix": [3, 0], "x": 28, "y": 56, "flags": 4}, + {"x": 42, "y": 63, "flags": 2}, + {"x": 70, "y": 63, "flags": 2}, + {"matrix": [3, 1], "x": 84, "y": 56, "flags": 4}, + {"x": 99, "y": 63, "flags": 2}, + {"x": 126, "y": 63, "flags": 2}, + {"matrix": [3, 2], "x": 140, "y": 56, "flags": 4}, + {"x": 154, "y": 63, "flags": 2}, + {"x": 182, "y": 63, "flags": 2}, + {"matrix": [3, 3], "x": 196, "y": 56, "flags": 4}, + {"x": 210, "y": 63, "flags": 2}, + {"x": 220, "y": 60, "flags": 2}, + {"x": 220, "y": 52, "flags": 2}, + {"x": 220, "y": 44, "flags": 2}, + {"matrix": [2, 3], "x": 196, "y": 40, "flags": 4}, + {"matrix": [2, 2], "x": 140, "y": 40, "flags": 4}, + {"x": 220, "y": 36, "flags": 2}, + {"x": 220, "y": 28, "flags": 2}, + {"matrix": [1, 3], "x": 196, "y": 24, "flags": 4}, + {"matrix": [1, 2], "x": 140, "y": 24, "flags": 4}, + {"x": 220, "y": 20, "flags": 2}, + {"x": 220, "y": 12, "flags": 2}, + {"matrix": [0, 3], "x": 196, "y": 8, "flags": 4}, + {"matrix": [0, 2], "x": 140, "y": 8, "flags": 4}, + {"x": 220, "y": 4, "flags": 2}, + {"x": 210, "y": 1, "flags": 2}, + {"x": 182, "y": 1, "flags": 2}, + {"x": 154, "y": 1, "flags": 2}, + {"x": 126, "y": 1, "flags": 2} + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x5610", + "vid": "0x6F75" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "community_layouts": ["ortho_4x4"], + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"label": "00", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "01", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "02", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "10", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "11", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "12", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "13", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "20", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "21", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "22", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "23", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "30", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "31", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "32", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "33", "matrix": [3, 3], "x": 3, "y": 3} + ] + } + } +} diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..e7be96bd8132 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_ortho_4x4( + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk similarity index 100% rename from keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk rename to keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c new file mode 100644 index 000000000000..e7be96bd8132 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_ortho_4x4( + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk new file mode 100644 index 000000000000..bf70b1f3e09f --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/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/1upsuper16v3/readme.md b/keyboards/1upkeyboards/1upsuper16v3/readme.md new file mode 100644 index 000000000000..516459083226 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/readme.md @@ -0,0 +1,22 @@ +# 1upSuper16v3 + +This keyboard is the Super16v3 from 1upkeyboards, a 4x4 macropad with the option for up to four encoders in the top row. Notable features include in-switch per-key addressable RGB LEDs and thirty two 1mm underglow RGB LEDs; for bright and smooth lighting effects. The Super16v3 utilises an rp2040 microcontroller, wired using direct pins. + +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/1upsuper16v3:default + +Flashing example for this keyboard: + + make 1upkeyboards/1upsuper16v3: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. For this keyboard it is the top left button +* **Physical reset button**: Hold the button on the back of the PCB and plug in the keyboard diff --git a/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk rename to keyboards/1upkeyboards/1upsuper16v3/rules.mk diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json index 695d5cb9b799..c7028f4a4e36 100644 --- a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json +++ b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json index ebd5d6493167..6b89f2c2ab48 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json index 3ee2e738f17b..f19ef235d515 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json +++ b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json @@ -40,7 +40,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, diff --git a/keyboards/1upkeyboards/pi40/rules.mk b/keyboards/1upkeyboards/pi40/rules.mk index e858deae6aa3..3451f44976a2 100644 --- a/keyboards/1upkeyboards/pi40/rules.mk +++ b/keyboards/1upkeyboards/pi40/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 DEFAULT_FOLDER = 1upkeyboards/pi40/mit_v1_0 diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json index 1880c78d44e5..17345284cac8 100644 --- a/keyboards/1upkeyboards/pi50/info.json +++ b/keyboards/1upkeyboards/pi50/info.json @@ -38,7 +38,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "max_brightness": 150, "animations": { "solid_color": true, diff --git a/keyboards/1upkeyboards/pi60/config.h b/keyboards/1upkeyboards/pi60/config.h index 8940acb0041f..6bbbb2293c0b 100644 --- a/keyboards/1upkeyboards/pi60/config.h +++ b/keyboards/1upkeyboards/pi60/config.h @@ -3,8 +3,6 @@ #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 10 - #define RGB_MATRIX_LED_COUNT 21 //#define RGB_MATRIX_FRAMEBUFFER_EFFECTS //#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json index f599446e20e8..4d0d21ea250a 100644 --- a/keyboards/1upkeyboards/pi60/info.json +++ b/keyboards/1upkeyboards/pi60/info.json @@ -11,6 +11,9 @@ "vid": "0x6F75" }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 10 + }, "features": { "audio": false, "backlight": false, @@ -41,7 +44,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 17, "y": 50}, {"flags": 2, "x": 37, "y": 50}, @@ -66,8 +69,19 @@ {"flags": 2, "x": 20, "y": 13} ] }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_ansi_arrow", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { - "LAYOUT_60_ansi": { + "LAYOUT_all": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -138,6 +152,777 @@ {"label": "Menu", "matrix": [4, 13], "x": 13, "y": 4}, {"label": "RCtrl", "matrix": [4, 14], "x": 14, "y": 4} ] + }, + "LAYOUT_60_ansi": { + "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "matrix": [2, 15], "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": "LShift", "matrix": [3, 15], "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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "FN", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_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": "BS", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Caps", "matrix": [2, 15], "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": "LShift", "matrix": [3, 15], "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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "FN", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "matrix": [2, 15], "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": "LShift", "matrix": [3, 15], "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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.5}, + {"label": "LGui", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "LAlt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "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": "BS", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Caps", "matrix": [2, 15], "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": "LShift", "matrix": [3, 15], "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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.5}, + {"label": "LGui", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "LAlt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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": "BS", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Caps", "matrix": [2, 15], "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": "LShift", "matrix": [3, 15], "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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LGui", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "LAlt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_ansi_arrow": { + "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], "w": 1.5, "x": 0, "y": 1}, + {"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], "w": 1.5, "x": 13.5, "y": 1}, + + {"label": "Caps", "matrix": [2, 15], "w": 1.75, "x": 0, "y": 2}, + {"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": "LShift", "matrix": [3, 15], "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, "w": 1.75}, + {"label": "RShift", "matrix": [3, 12], "x": 13, "y": 3}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4}, + {"label": "Mid1U", "matrix": [4, 12], "x": 12, "y": 4}, + {"label": "Menu", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 14, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "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": "Caps", "matrix": [2, 15], "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": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "LShift", "matrix": [3, 15], "x": 0, "y": 3, "w": 1.25}, + {"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}, + {"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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "FN", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_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": "BS", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Caps", "matrix": [2, 15], "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": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "LShift", "matrix": [3, 15], "x": 0, "y": 3, "w": 1.25}, + {"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}, + {"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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "FN", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_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": "Caps", "matrix": [2, 15], "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": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "LShift", "matrix": [3, 15], "x": 0, "y": 3, "w": 1.25}, + {"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}, + {"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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.5}, + {"label": "LGui", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "LAlt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"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": "BS", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Caps", "matrix": [2, 15], "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": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "LShift", "matrix": [3, 15], "x": 0, "y": 3, "w": 1.25}, + {"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}, + {"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": "RShift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.5}, + {"label": "LGui", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "LAlt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 13], "x": 12.5, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_arrow": { + "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], "w": 1.5, "x": 0, "y": 1}, + {"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, 15], "w": 1.75, "x": 0, "y": 2}, + {"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": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "LShift", "matrix": [3, 15], "x": 0, "y": 3, "w": 1.25}, + {"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}, + {"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, "w": 1.75}, + {"label": "RShift", "matrix": [3, 12], "x": 13, "y": 3}, + {"label": "FN", "matrix": [3, 14], "x": 14, "y": 3}, + + {"label": "LCtrl", "matrix": [4, 15], "x": 0, "y": 4, "w": 1.25}, + {"label": "LGui", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "LAlt", "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": "RAlt", "matrix": [4, 10], "x": 10, "y": 4}, + {"label": "FN", "matrix": [4, 11], "x": 11, "y": 4}, + {"label": "Mid1U", "matrix": [4, 12], "x": 12, "y": 4}, + {"label": "Menu", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "RCtrl", "matrix": [4, 14], "x": 14, "y": 4} + ] } } } diff --git a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c index acf9ce1adb38..8a83e83b5297 100644 --- a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, @@ -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_TRNS, KC_APP, KC_RCTL ), - [1] = LAYOUT_60_ansi( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, @@ -34,7 +34,7 @@ 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 ), - [2] = LAYOUT_60_ansi( + [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -42,7 +42,7 @@ 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 ), - [3] = LAYOUT_60_ansi( + [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, diff --git a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c index 80f9d3a9f6b4..e9af7a7138b0 100644 --- a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, @@ -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_TRNS, KC_APP, KC_RCTL ), - [1] = LAYOUT_60_ansi( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, @@ -34,7 +34,7 @@ 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 ), - [2] = LAYOUT_60_ansi( + [2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -42,7 +42,7 @@ 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 ), - [3] = LAYOUT_60_ansi( + [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, @@ -50,7 +50,7 @@ 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 ), - [4] = LAYOUT_60_ansi( + [4] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -58,7 +58,7 @@ 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 ), - [5] = LAYOUT_60_ansi( + [5] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -66,7 +66,7 @@ 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 ), - [6] = LAYOUT_60_ansi( + [6] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -74,7 +74,7 @@ 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 ), - [7] = LAYOUT_60_ansi( + [7] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -82,7 +82,7 @@ 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 ), - [8] = LAYOUT_60_ansi( + [8] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -90,7 +90,7 @@ 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 ), - [9] = LAYOUT_60_ansi( + [9] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/1upkeyboards/pi60/matrix_diagram.md b/keyboards/1upkeyboards/pi60/matrix_diagram.md new file mode 100644 index 000000000000..2300245bdb9f --- /dev/null +++ b/keyboards/1upkeyboards/pi60/matrix_diagram.md @@ -0,0 +1,60 @@ +# Matrix Diagram for 1upkeyboards pi60 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ ─ Switch or Encoder +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī ┌─────┐ ┌─────┐ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ │1D │ │1D │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ┌──â”ī┐2D │ ISO Enter ┌──â”ī┮────â”Ī 1u/1.25u Split Enter ┌──â”ī─┮───â”Ī 1.25u/1u Split Enter +│2F │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ │2C │2D │ │2C │2D │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───┮───â”Ī └───â”ī────┘ └───â”ī────┘ └────â”ī───┘ +│3F │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │─┐ +└────â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──────â”ī───â”ī───┘ │ +┌────────┐ ┌───┮──────┮───┐ │ +│3F │ 2.25u LShift 1u/1.75u/1u RShift │3B │3C │3E │─┾─ Switch or Encoder +└────────┘ └───â”ī──────â”ī───┘ │ + ┌───┐ ┌───┮───┐ │ + 1u/0.75u Gap/1u/1u RShift │3B │ │3C │3E │─┘ + └───┘ └───â”ī───┘ + +[Bottom Rows]──────────────────────────────────────────────── +────────────────────[6u & 6.25u Spacebar]──────────────────── +┌────┮────┮────┮────────────────────────┮────┮────┮────┮────┐ +│4F │41 │42 │46 │4A │4B │4D │4E │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ +┌─────┮───┮────┮──────────┮────┮────────┮────┮────┮───┮─────┐ +│4F │41 │42 │44 │46 │48 │4A │4B │4D │4E │ +└─────â”ī───â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────â”ī───â”ī─────┘ + ┌────────┮────┮──────────┮───┮───┮───┮───┮───┐ + │44 │46 │48 │4A │4B │4C │4D │4E │ + └────────â”ī────â”ī──────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ + ┌───────────────────────┮───┮─────┮────┮────┐ + │46 │4A │4B │4D │4E │ + └───────────────────────â”ī───â”ī─────â”ī────â”ī────┘ + ┌───┮─────┮───┮─────┐ + │4A │4B │4D │4E │ + └───â”ī─────â”ī───â”ī─────┘ + +────────────────────────[7u Spacebar]──────────────────────── +┌────┮────┮─────┮───────────────────────────┮───┮───┮───┮───┐ +│4F │41 │42 │46 │4B │4C │4D │4E │ +└────â”ī────â”ī─────â”ī───────────────────────────â”ī───â”ī───â”ī───â”ī───┘ +┌─────┮───┮─────┮──────────┮─────┮──────────┮─────┮────┮────┐ +│4F │41 │42 │44 │46 │48 │4B │4D │4E │ +└─────â”ī───â”ī─────â”ī──────────â”ī─────â”ī──────────â”ī─────â”ī────â”ī────┘ + ┌───────────┮───┮───────────┮─────┮───┮─────┐ + │44 │46 │48 │4B │4D │4E │ + └───────────â”ī───â”ī───────────â”ī─────â”ī───â”ī─────┘ + └─ Switch or Encoder + +───────────────────────[10u Spacebar]──────────────────────── +┌────┮────┮───────────────────────────────────────┮────┮────┐ +│4F │41 │46 │4D │4E │ +└────â”ī────â”ī───────────────────────────────────────â”ī────â”ī────┘ +┌─────┮───┮───────────────────────────────────────┮───┮─────┐ +│4F │41 │46 │4D │4E │ +└─────â”ī───â”ī───────────────────────────────────────â”ī───â”ī─────┘ +``` diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h index 02100955e4af..b7c4d5e8bc87 100644 --- a/keyboards/1upkeyboards/pi60_hse/config.h +++ b/keyboards/1upkeyboards/pi60_hse/config.h @@ -3,10 +3,7 @@ #pragma once - -#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/pi60_hse/info.json b/keyboards/1upkeyboards/pi60_hse/info.json index 01b02369751f..5b3e6b35e56e 100644 --- a/keyboards/1upkeyboards/pi60_hse/info.json +++ b/keyboards/1upkeyboards/pi60_hse/info.json @@ -11,6 +11,9 @@ "vid": "0x6F75" }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 10 + }, "features": { "audio": false, "backlight": false, @@ -32,7 +35,7 @@ "rows": ["GP4", "GP3", "GP2", "GP1", "GP0", "GP21"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 98, "y": 51}, {"flags": 2, "x": 68, "y": 51}, diff --git a/keyboards/1upkeyboards/pi60_rgb/info.json b/keyboards/1upkeyboards/pi60_rgb/info.json index d78705352a99..68634f4da1f7 100644 --- a/keyboards/1upkeyboards/pi60_rgb/info.json +++ b/keyboards/1upkeyboards/pi60_rgb/info.json @@ -38,7 +38,7 @@ "enabled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [5, 5], "x": 103, "y": 58}, {"flags": 1, "matrix": [5, 10], "x": 159, "y": 58}, diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index 8102cbda4c13..7a5c6e0e8336 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -17,24 +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 -# 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 -# 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 -# elif defined RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT 16 +# ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // reacts to keyreleases (instead of keypresses) // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json index 923f536ac8b4..6d63921f1b9a 100644 --- a/keyboards/1upkeyboards/super16/info.json +++ b/keyboards/1upkeyboards/super16/info.json @@ -11,8 +11,26 @@ "ws2812": { "pin": "D3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "C6", "F6", "F7"], diff --git a/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c b/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c deleted file mode 100644 index 5988a7cf0ee6..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/15game/keymap.c +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright 2020 Sam Reinehr - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 my_keycodes { - K00 = SAFE_RANGE, - K01, - K02, - K03, - K04, - K05, - K06, - K07, - K08, - K09, - K10, - K11, - K12, - K13, - K14, - K15, -}; -/* just a simple way to give each key a unique code */ -//clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT_ortho_4x4( - K00, K01, K02, K03, - K04, K05, K06, K07, - K08, K09, K10, K11, - K12, K13, K14, K15 - ) -}; -/* flags describing current free square/0 */ -uint8_t current = 0; -/* r g and b describe the colors for the initial map, -currently blank for free, and evenly spaced hues with maximum sat/value */ -const uint8_t r[16] = { - 0x00, 0xFF, 0xFF, 0xFF, - 0xCC, 0x66, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x66, 0xCC, 0xFF, 0xFF -}; -const uint8_t g[16] = { - 0x00, 0x00, 0x66, 0xCC, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xCC, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x00 -}; -const uint8_t b[16] = { - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x66, - 0xCC, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xCC, 0x66 -}; -/* pos contains the current positions, could technically be compressed to 4 bits per, but not worth it - index into pos is the position we're looking at, output is the tile that is currently there */ -uint8_t tiles[16] = { - 0, 1, 2, 3, - 4, 5, 6, 7, - 8, 9, 10, 11, - 12, 13, 14, 15 -}; -/* default led array for super 16 has them in a snake, so we must do some remapping/flipping of the 2nd and 4th rows */ -uint8_t remap[16] = { - 0, 1, 2, 3, - 7, 6, 5, 4, - 8, 9, 10, 11, - 15, 14, 13, 12 -}; -//clang-format on -/* function to refresh the led coloring with the positions with current tiles */ -void refresh_leds(void) { - for (uint8_t index = 0; index < 16; ++index) { - uint8_t tile = tiles[index]; - setrgb(r[tile], g[tile], b[tile], (LED_TYPE *)&led[remap[index]]); - } - rgblight_set(); -} -void keyboard_post_init_user(void) { - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_enable_noeeprom(); - refresh_leds(); -} -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t offset = keycode - K00; - uint8_t x = offset & 0x03; - uint8_t y = (offset & 0x0C) >> 2; - /* if the adjacent space exists and is empty, */ - if ((x > 0 && 0 == tiles[offset - 1]) || (y > 0 && 0 == tiles[offset - 4]) || (x < 3 && 0 == tiles[offset + 1]) || (y < 3 && 0 == tiles[offset + 4])) { - /* set the currently blank tile to this tile, and make this one blank */ - tiles[current] = tiles[offset]; - tiles[offset] = 0; - current = offset; - } - refresh_leds(); - return false; -} diff --git a/keyboards/1upkeyboards/super16/keymaps/15game/readme.md b/keyboards/1upkeyboards/super16/keymaps/15game/readme.md deleted file mode 100644 index ede6bdd15228..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/15game/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Trying to put a game that plays like the 15 puzzle on the super16 -The 15/16 puzzle consists of a grid where one space is free, and adjacent spaces can be swapped with the free space -* future planned features: -* fix the start at red -* have a cute animation play when the puzzle is solved diff --git a/keyboards/1upkeyboards/super16/keymaps/15game/rules.mk b/keyboards/1upkeyboards/super16/keymaps/15game/rules.mk deleted file mode 100644 index 03198637f175..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/15game/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_ENABLE = yes -RGB_MATRIX_ENABLE = no diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/ahk_companion.ahk b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/ahk_companion.ahk deleted file mode 100644 index becab49e5cc5..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/ahk_companion.ahk +++ /dev/null @@ -1,104 +0,0 @@ -#Persistent -#SingleInstance force - -;================================================================= -; Macro Pad Shortcuts ; -;================================================================= - -;================================================================= -; Layer 0 -;;================================================================= -;Row 1 - -F13::Send a -F14::Send b -F15::Send c -F16::Send d - -;Row 2 - -F17::Send e -F18::Send f -F19::Send g -F20::Send h - -;Row 3 - -F21::Send i -F22::Send j -F23::Send k -F24::Send l - - -;================================================================= -; Layer 1 -;;================================================================= -;Row 1 - -!F13::Send m -!F14::Send n -!F15::Send o -!F16::Send p - -;Row 2 - -!F17::Send q -!F18::Send r -!F19::Send s -!F20::Send t - -;Row 3 - -!F21::Send u -!F22::Send v -!F23::Send w -!F24::Send x - - -;================================================================= -; Layer 2 -;;================================================================= -;Row 1 - -+F13::Send y -+F14::Send z -+F15::Send A -+F16::Send B - -;Row 2 - -+F17::Send C -+F18::Send D -+F19::Send E -+F20::Send F - -;Row 3 - -+F21::Send G -+F22::Send H -+F23::Send I -+F24::Send J - -;================================================================= -; Layer 3 -;;================================================================= -;Row 1 - -^F13::Send K -^F14::Send L -^F15::Send M -^F16::Send N - -;Row 2 - -^F17::Send O -^F18::Send P -^F19::Send Q -^F20::Send R - -;Row 3 - -^F21::Send S -^F22::Send T -^F23::Send U -^F24::Send V diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/config.h b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/config.h deleted file mode 100644 index 3b7fd81d698f..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/config.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -// Time out one shot layers after 3 seconds -#define ONESHOT_TIMEOUT 3000 - -#define RGBLED_NUM 16 - -// Undef and redefine default brightness to half of 255 -#undef RGBLIGHT_LIMIT_VAL -#define RGBLIGHT_LIMIT_VAL 128 - -//Define a preview timeout for RGB reviews -#define PREVIEW_TIMEOUT 5000 -#define TAPPING_TERM 200 - -// Enable Light Layers implementation -#define RGBLIGHT_LAYERS -// Allow Light Layers to override RGB off configuration -#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c deleted file mode 100644 index a326abcf832a..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/keymap.c +++ /dev/null @@ -1,136 +0,0 @@ -#include QMK_KEYBOARD_H - -#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) -static uint32_t rgb_preview_timer = 0; -#endif -extern rgblight_config_t rgblight_config; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4) - [0] = LAYOUT_ortho_4x4( - KC_F13, KC_F14, KC_F15, KC_F16, - KC_F17, KC_F18, KC_F19, KC_F20, - KC_F21, KC_F22, KC_F23, KC_F24, - OSL(1), OSL(2), OSL(3), TG(4) //Transparent to let you go between layers - ), - - [1] = LAYOUT_ortho_4x4( - LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16), - LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20), - LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 2 - Shift + Function Key Layer - [2] = LAYOUT_ortho_4x4( - LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16), - LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20), - LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 3 - Control + Function Key - [3] = LAYOUT_ortho_4x4( - LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16), - LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20), - LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 4 - Multimedia - [4] = LAYOUT_ortho_4x4( - KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, - KC_NO, KC_NO, KC_NO, KC_MUTE, - KC_NO, QK_BOOT, EE_CLR, KC_VOLD, - TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 5 - Keyboard Lights, Programming and Special Functions - [5] = LAYOUT_ortho_4x4( - RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, - RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, - RGB_TOG, EE_CLR, QK_BOOT, KC_LSFT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), -}; - -const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_ORANGE} - ); -const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_GREEN} - ); -const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_RED} - ); -const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_BLUE} - ); -const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_WHITE} - ); -const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_TEAL} - ); -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_layer0_layer, - my_layer1_layer, - my_layer2_layer, - my_layer3_layer, - my_layer4_layer, - my_layer5_layer - ); - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void post_process_record_user(uint16_t keycode, keyrecord_t *record) { - // Allow for a preview of changes when modifying RGB -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) - switch (keycode) { - case RGB_TOG ... QK_VELOCIKEY_TOGGLE: - for (uint8_t i = 0; i < RGBLIGHT_MAX_LAYERS; i++) { - rgblight_set_layer_state(i, false); - } - rgb_preview_timer = timer_read32(); - break; - } -# endif - return; -} - -//Set the appropriate layer color -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(1, layer_state_cmp(state, 1)); - rgblight_set_layer_state(2, layer_state_cmp(state, 2)); - rgblight_set_layer_state(3, layer_state_cmp(state, 3)); - rgblight_set_layer_state(4, layer_state_cmp(state, 4)); - rgblight_set_layer_state(5, layer_state_cmp(state, 5)); - return state; -} - -void keyboard_post_init_user(void) { - //Enable the LED layers - rgblight_layers = my_rgb_layers; - layer_state_set_user(layer_state); -} - -void matrix_scan_user(void) { -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) - // Allow preview for - if (rgb_preview_timer && TIMER_DIFF_32(timer_read32(), rgb_preview_timer) > PREVIEW_TIMEOUT) { - rgb_preview_timer = 0; - default_layer_state_set_user(default_layer_state); - layer_state_set_user(layer_state); - led_update_user((led_t) host_keyboard_leds()); - } -# endif -} - -//EEPROM Reset Function -void eeconfig_init_user(void) { - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(HSV_ORANGE); // Set it to orange by default -} - diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/readme.md b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/readme.md deleted file mode 100644 index 7a0107c994cb..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -## AutoHotKey Companion ## - -### Overview ### -AutoHotKey Companion Keymap for 1upkeyboards Super16 is designed be a quick and easy way to get started with AutoHotKey and to provide a foundation for customizing your own macropad. I chose the Super16 because it provided an easy way (RGB) to identify what layer I was on with a quick glance or peripheral vision. The F13 to F24 keys were selected as they are rarely used so you won't run into conflicts with existing application shortcuts and AutoHotKey recognizes them without any issues. - -Same functionality can be accomplished with other similar applications on the host system like Keyboard Maestro, AutoIt, etc. - -* AutoHotKey(Windows) -* AutoIT (Windows) -* Keyboard Maestro(Mac) -* AutoKey(Linux) - -This keymap allows for a total of 48 Function/Macro keys that are accessible within 2 sequential key presses (or more when extended with your own code and additional layers) - -### Alternate Implementations ### -I chose to use QMK OSL (One Shot Layer) functionality to avoid having to hold a key while selecting the next key and to have my layers always go back to the default layer as the starting point. This also helps me avoid having to cognitively remember what layer I am on. - -If persistent behavior is prefered, OSL can be swapped for TG which will toggle the layer on/off with a key press instead of clearing the layer once the Function key is pressed. This is useful if a layer contains several keys that need to be used in sequence. I also added a OSL timeout of 3 seconds, so that if the key is not pressed within 3 seconds the layer will go back to default. This can be adjusted in the config.h file by increasing 3000 to a desired value: `#define ONESHOT_TIMEOUT 3000` - - - - -### Layers ### - -While the first 5 layers are accessible with only 1 key press at most, the 5th (less frequently used) layer is accessed by first going to the 4th layer, which makes the TG(5) button available on the bottom left. Space for additional 2 more layer toggles is available on the 2 middle buttons on the bottom row. Please refer to the layer diagrams. - - -* Layer 0 (Base Layer) - the default layer and functions like sending the F13 to F24 keys along with the bottom row to activate another 4 layers. - - ![Image of Base Layer ](https://i.imgur.com/0LhityX.png) - -* Layer 1 (Alt Layer) - Equivalent to Alt+Fxx key being pressed - - ![Image of Layer 1 ](https://i.imgur.com/ZblqLZt.png) - -* Layer 2 (Shift Layer) - Equivalent to Shift+Fxx key being pressed - - ![Image of Layer 2 ](https://i.imgur.com/ZQHwLC0.png) - -* Layer 3 (Control Layer) - Equivalent to Ctrl+Fxx key being pressed - - ![Image of Layer 3 ](https://i.imgur.com/JkM8bqV.png) - -* Layer 4 (Config Layer) - Layer for multimedia. You can replace the KC_TRNS on this layer in keymap.c to TG(x) to enable additional layers. - - ![Image of Layer 4 ](https://i.imgur.com/srDp5Lv.png) - -* Layer 5 (RGB Control/QMK) - RGB control layer and Quantum functions (Reset, EEPROM Reset, ) - - ![Image of Layer 5 ](https://i.imgur.com/Os3n8dx.png) - -### Host Configuration ### - -Once the keymap has been flashed to the Super16, you can download the accompanying AutoHotKey file or create your own and have it start automatically either via a Windows Task or another way. Using AutoHotKey allows adjustment of functionality of the buttons without the need to change your map and reflash the macropad every time. -Starting the AHK file can be done either by: -* Creating a Windows Task -* Adding the AHK to the startup folder -* Launch manually diff --git a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/rules.mk b/keyboards/1upkeyboards/super16/keymaps/ahk_companion/rules.mk deleted file mode 100644 index b5bd51b3270e..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/ahk_companion/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes diff --git a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/config.h b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/config.h deleted file mode 100644 index 3d03512888b8..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/config.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -// Time out one shot layers after 3 seconds -#define ONESHOT_TIMEOUT 3000 - -#define RGBLED_NUM 16 - - -// Undef and redefine default brightness to half of 255 -#undef RGBLIGHT_LIMIT_VAL -#define RGBLIGHT_LIMIT_VAL 128 - -#define TAPPING_TERM 200 diff --git a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c deleted file mode 100644 index 514b8b7a73c8..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c +++ /dev/null @@ -1,127 +0,0 @@ -#include QMK_KEYBOARD_H - -uint16_t copy_paste_timer; -uint16_t enter_timer; - -extern rgblight_config_t rgblight_config; - -// Define custom keycodes -enum my_keycodes { - KC_CCCV = SAFE_RANGE, - KC_2ENTER -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3,4) - [0] = LAYOUT_ortho_4x4( - KC_F13, KC_F14, KC_F15, KC_F16, - KC_F17, KC_CCCV, KC_F19, KC_F20, - KC_F21, KC_F22, KC_F23, KC_2ENTER, - OSL(1), OSL(2), OSL(3), TG(4) //Transparent to let you go between layers - ), - - [1] = LAYOUT_ortho_4x4( - LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16), - LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20), - LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 2 - Shift + Function Key Layer - [2] = LAYOUT_ortho_4x4( - LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16), - LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20), - LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 3 - Control + Function Key - [3] = LAYOUT_ortho_4x4( - LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16), - LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20), - LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 4 - Keyboard Lights. Programming and Special Functions - [4] = LAYOUT_ortho_4x4( - KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, - RGB_TOG, RGB_MOD, RGB_RMOD, KC_MUTE, - TO(0), QK_BOOT, EE_CLR, KC_VOLD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_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)); - } - } return true; - case KC_2ENTER: - if (record->event.pressed) { - enter_timer = timer_read(); - } else { - if (timer_elapsed(enter_timer) > TAPPING_TERM) { // Hold, shift+enter - tap_code16(LSFT(KC_ENTER)); - } else { // Tap, enter - tap_code16(KC_F24); - } - } - return true; - default: - return true; - } -} - - -void keyboard_post_init_user(void) { - //Enable the LED layers - layer_state_set_user(layer_state); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_sethsv_noeeprom(HSV_WHITE); - switch(get_highest_layer(state)) { - case 1: - // Green - rgblight_enable_noeeprom(); - rgblight_sethsv_noeeprom(HSV_GREEN); - break; - case 2: - // Red - rgblight_enable_noeeprom(); - rgblight_sethsv_noeeprom(HSV_RED); - break; - case 3: - // Blue - rgblight_enable_noeeprom(); - rgblight_sethsv_noeeprom(HSV_BLUE); - break; - case 4: - // Orange - rgblight_enable_noeeprom(); -// rgblight_sethsv_noeeprom(HSV_PURPLE); - rgblight_sethsv_noeeprom(HSV_ORANGE); - break; - default: - // White - //Read RGB Light State - rgblight_config.raw = eeconfig_read_rgblight(); - //If enabled, set white - if (rgblight_config.enable) { - rgblight_sethsv_noeeprom(HSV_WHITE); - } else { //Otherwise go back to disabled - rgblight_disable_noeeprom(); - } - break; -} -return state; -} \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/readme.md b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/readme.md deleted file mode 100644 index 5ae101b53590..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Nick B's Super16 keymap - -A modification of the default keymap to include layer indicators with RGB -* Added a time out of 3 seconds to 1 shot layers -* Reduced brightness to half to reduce power draw -* Added a one key copy/paste keycode diff --git a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/rules.mk b/keyboards/1upkeyboards/super16/keymaps/nblyumberg/rules.mk deleted file mode 100644 index b5bd51b3270e..000000000000 --- a/keyboards/1upkeyboards/super16/keymaps/nblyumberg/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes diff --git a/keyboards/1upkeyboards/super16v2/info.json b/keyboards/1upkeyboards/super16v2/info.json index 39a8eefcc416..c4bdc441eeda 100644 --- a/keyboards/1upkeyboards/super16v2/info.json +++ b/keyboards/1upkeyboards/super16v2/info.json @@ -12,7 +12,7 @@ "pin": "B5" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D6", "C2", "D0"], diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c deleted file mode 100644 index 8888fe35e43b..000000000000 --- a/keyboards/1upkeyboards/super16v2/keymaps/mouse/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2022 MechMerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_4x4( /* Base */ - KC_TRNS, KC_DELETE, KC_BACKSPACE, KC_MUTE, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PSLS, - MO(1), KC_P0, KC_PDOT, KC_BTN3 - ), - - [1] = LAYOUT_ortho_4x4( /* Fn Layer */ - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, - RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT - ), -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - tap_code_delay(KC_MS_RIGHT, 10); - } else { - tap_code_delay(KC_MS_LEFT, 10); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - tap_code_delay(KC_AUDIO_VOL_UP, 10); - } else { - tap_code_delay(KC_AUDIO_VOL_DOWN, 10); - } - } - return false; -} \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md b/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md deleted file mode 100644 index e229fcba7409..000000000000 --- a/keyboards/1upkeyboards/super16v2/keymaps/mouse/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for Super 16 V2 diff --git a/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/keymap.c deleted file mode 100644 index 5305d0ad051f..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - num, - extra, - mouse -}; - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [num] = LAYOUT_numpad_4x4( - KC_P7, KC_P8, KC_P9, LT(extra, KC_PPLS), - KC_P4, KC_P5, KC_P6, - KC_P1, KC_P2, KC_P3, KC_PENT, - LT(mouse, KC_P0), KC_DOT - ), - - [extra] = LAYOUT_numpad_4x4( - KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, - KC_BSPC, KC_EXECUTE, KC_DEL, - KC_LPRN, KC_RPRN, KC_PEQL, KC_PENT, - KC_TAB, KC_NUM - ), - - -[mouse] = LAYOUT_numpad_4x4( - KC_WH_D, KC_MS_U, KC_WH_U, LT(extra, KC_PPLS), - KC_MS_L, KC_MS_D, KC_MS_R, - KC_BTN1, KC_BTN2, KC_BTN3, KC_PENT, - KC_TRNS, KC_DOT - ) - - - - -}; - diff --git a/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/readme.md b/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/readme.md deleted file mode 100644 index aabcf82c6115..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/dlaroe/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Dale's keymap for the Sweet16 - -I wanted to reuse a standard numpad keyset and have the full functionality of an larger numpad with a nod to Excel functionality. diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h deleted file mode 100644 index 161b46c814ec..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -/* tap dance stuff*/ -#undef TAPPING_TERM -#define TAPPING_TERM 500 -#define PERMISSIVE_HOLD - -#define TAPPING_TOGGLE 2 - -#define EXAMPLESTRING1 "tapdance_1" -#define EXAMPLESTRING2 "tapdance_2" -#define EXAMPLESTRING3 "tapdance_3" -#define EXAMPLESTRING4 "tapdance_4" - -#undef RGBLED_NUM -#define RGBLED_NUM 16 diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c deleted file mode 100644 index 2e7505ec1c69..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c +++ /dev/null @@ -1,215 +0,0 @@ -/* -tap danc eis turned on in the rules now... -*/ -#include QMK_KEYBOARD_H - -#define _EMOJI 0 -#define _TAPLAND 1 -#define _LEDCNTL 2 - -enum custom_keycodes { - SHRUG, - DISFACE, - FU, - TFLIP, - TFLIP2, - SAD_EYES, - TPUT, - HAPPYFACE, - HEARTFACE, - CLOUD, - CHANFACE, - CMDCLEAR -}; -//Tap Dance Declarations -enum { - TD_EXAMPLE1 = 0, - TD_EXAMPLE2, - TD_EXAMPLE3, - TD_EXAMPLE4 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* EMOJI Pad - * ,-------------------------------. - * |TFLIP | TFlIP2|DISFACE| FU | - * |------+-------+-------+--------| - * | CLOUD| | | CLEAR | - * |------+-------+-------+--------| - * |SHRUG |DISFACE| HRTFAC| HAPPYF | - * |------+-------+-------+--------| - * | ENTER| |LEDCNTR| tapland| - * `-------------------------------' - */ - //purple - [_EMOJI] = LAYOUT_ortho_4x4( - TFLIP, TFLIP2, KC_NO, FU , - CLOUD, KC_NO, KC_NO, CMDCLEAR, - SHRUG, DISFACE, HEARTFACE, HAPPYFACE, - KC_ENT, RGB_TOG, MO(_LEDCNTL), MO(_TAPLAND) - ), - - /* TapLand // - * ,-------------------------------. - * | str1 | str2 | str3 | str4 | - * |------+-------+-------+--------| - * | | | | | - * |------+-------+-------+--------| - * | | | | | - * |------+-------+-------+--------| - * | | | | | - * `-------------------------------' - */ - //blue - [_TAPLAND] = LAYOUT_ortho_4x4( - TD(TD_EXAMPLE1), TD(TD_EXAMPLE2), TD(TD_EXAMPLE3), TD(TD_EXAMPLE4), - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO - ), - /* LEDControl Pad - * ,-------------------------------. - * | snake|breathe|rainbow|gradient| - * |------+-------+-------+--------| - * | xmas | Val+ | Sat+ | HUE+ | - * |------+-------+-------+--------| - * |kngrdr| Val- | Sat- | HUE- | - * |------+-------+-------+--------| - * | swirl| PLAIN | | ON/OFF | - * `-------------------------------' - */ - //blue - [_LEDCNTL] = LAYOUT_ortho_4x4( - RGB_M_SN, RGB_M_B, RGB_M_R, RGB_M_G, - RGB_M_X, RGB_VAI, RGB_SAI, RGB_HUI, - RGB_M_K, RGB_VAD, RGB_SAD, RGB_HUD, - RGB_M_SW, RGB_M_P, KC_NO, RGB_TOG - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case CLOUD: - if(record->event.pressed){ - send_unicode_string("(ãĢ◕â€ŋ◕)ãĢ"); - } - return false; - break; - case FU: - if(record->event.pressed){ - SEND_STRING("t(-_-t)"); - } - return false; - break; - case HAPPYFACE: - if(record->event.pressed){ - send_unicode_string("ʘâ€ŋʘ"); - } - return false; - break; - case CMDCLEAR: - if (record->event.pressed) { - register_code(KC_LGUI); - tap_code(KC_A); - unregister_code(KC_LGUI); - tap_code(KC_DEL); - } - return false; - break; - case SHRUG: - if (record->event.pressed) { - send_unicode_string("ÂŊ\\_(ツ)_/ÂŊ"); - } - return false; - break; - case HEARTFACE: - if(record->event.pressed){ - send_unicode_string("â™Ĩâ€ŋâ™Ĩ"); - } - return false; - break; - case DISFACE: - if(record->event.pressed){ - send_unicode_string("āē _āē "); - } - return false; - break; - case TFLIP: - if(record->event.pressed){ - send_unicode_string("(â•Ŋ°□°)â•Ŋ ïļĩ â”ŧ━â”ŧ"); - } - return false; - break; - case TFLIP2: - if(record->event.pressed){ - send_unicode_string("â”ŧ━â”ŧïļĩ \\(°□°)/ ïļĩ â”ŧ━â”ŧ"); - } - return false; - break; - } - } - return true; -} - - -/* tap dance time */ -void tdexample1(tap_dance_state_t *state, void *user_data) { - if (state->count >= 2) { - SEND_STRING(EXAMPLESTRING1); - reset_tap_dance (state); - } -} -void tdexample2(tap_dance_state_t *state, void *user_data) { - if (state->count >= 2) { - SEND_STRING(EXAMPLESTRING2); - reset_tap_dance (state); - } -} -void tdexample3(tap_dance_state_t *state, void *user_data) { - if (state->count >= 2) { - SEND_STRING(EXAMPLESTRING3); - reset_tap_dance (state); - } -} -void tdexample4(tap_dance_state_t *state, void *user_data) { - if (state->count >= 2) { - SEND_STRING(EXAMPLESTRING4); - reset_tap_dance (state); - } -} - -tap_dance_action_t tap_dance_actions[] = { - [TD_EXAMPLE1] = ACTION_TAP_DANCE_FN(tdexample1), - [TD_EXAMPLE2] = ACTION_TAP_DANCE_FN(tdexample2), - [TD_EXAMPLE3] = ACTION_TAP_DANCE_FN(tdexample3), - [TD_EXAMPLE4] = ACTION_TAP_DANCE_FN(tdexample4) -}; - -// Runs just one time when the keyboard initializes. -void matrix_scan_user(void) { - static bool has_ran_yet; - if (!has_ran_yet) { - has_ran_yet = true; - rgblight_setrgb (16, 0, 16); - } -} -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _TAPLAND: - rgblight_setrgb(0, 16, 0); //green - break; - case _LEDCNTL: - rgblight_setrgb(0, 0, 16); //blue - break; - case _EMOJI: - rgblight_setrgb (16, 0, 16); //purple - break; - - default: // for any other layers, or the default layer - rgblight_setrgb (16, 0, 16); //purple - break; - } - return state; -} diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/readme.md b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/readme.md deleted file mode 100644 index 7a3b8c8e4429..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ridingtraffic's examples -=== -This keymap has many features: -3 layers -Momentary layer switching -16 pixel neopixel -Unicode Enabled -Tap dance enabled - -The rgb also updates depending on what layer you are on, and then flips back when done. diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/rules.mk b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/rules.mk deleted file mode 100644 index de441755318e..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -# turning on tap dance -TAP_DANCE_ENABLE = yes -RGBLIGHT_ENABLE = yes -MOUSEKEY_ENABLE = no -UNICODE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/sweet16/keymaps/sebas/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/sebas/keymap.c deleted file mode 100644 index 05cdc0cfb6cd..000000000000 --- a/keyboards/1upkeyboards/sweet16/keymaps/sebas/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -#include QMK_KEYBOARD_H -#define ALT TG(_FUNC) - -enum layers { - _KEYP, - _FUNC -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_KEYP]=LAYOUT_ortho_4x4( - KC_P7, KC_P8, KC_P9, ALT, - KC_P4, KC_P5, KC_P6, KC_PAST, - KC_P1, KC_P2, KC_P3, KC_PMNS, - KC_P0, KC_PDOT, KC_PENT, KC_PPLS -), -[_FUNC]=LAYOUT_ortho_4x4( - KC_MPRV, KC_MPLY, KC_MNXT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, - KC_INS, KC_HOME, KC_PGUP, XXXXXXX, - KC_DEL, KC_END, KC_PGDN, XXXXXXX -) -}; diff --git a/keyboards/1upkeyboards/sweet16/v1/config.h b/keyboards/1upkeyboards/sweet16/v1/config.h index bed2edc0a668..c0ffe0213744 100644 --- a/keyboards/1upkeyboards/sweet16/v1/config.h +++ b/keyboards/1upkeyboards/sweet16/v1/config.h @@ -5,19 +5,3 @@ # define LED_CAPS_LOCK_PIN D5 // TXLED # define LED_PIN_ON_STATE 0 #endif - -/* Underglow options */ -#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 -#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 cb82e7fcfb37..bbecccae0206 100644 --- a/keyboards/1upkeyboards/sweet16/v1/info.json +++ b/keyboards/1upkeyboards/sweet16/v1/info.json @@ -3,6 +3,23 @@ "pid": "0x0161", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h index 88687335de7b..e4609962f1f8 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h @@ -16,10 +16,7 @@ #pragma once - -#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/1upkeyboards/sweet16v2/kb2040/info.json b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json index b8705866c87a..928c8106bf98 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json @@ -33,6 +33,9 @@ "rows": ["GP26", "GP1", "GP18", "GP5"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 10 + }, "encoder": { "enabled": true, "rotary": [ @@ -41,7 +44,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h index f773468d8f1e..e4609962f1f8 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h @@ -16,9 +16,6 @@ #pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 10 - #define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json index fa98b70fbc8b..87f2f3574c42 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json @@ -31,6 +31,9 @@ "rows": ["D1", "B5", "B4", "E6"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 10 + }, "encoder": { "enabled": true, "rotary": [ @@ -39,7 +42,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h index 2c3ca34c5ec1..0d7a5de56056 100644 --- a/keyboards/25keys/aleth42/rev0/config.h +++ b/keyboards/25keys/aleth42/rev0/config.h @@ -17,22 +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 -# 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 - /* 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/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/info.json index f3741a80b148..675c741bf52a 100644 --- a/keyboards/25keys/aleth42/rev0/info.json +++ b/keyboards/25keys/aleth42/rev0/info.json @@ -13,6 +13,24 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "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 + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h index a97ab1ea4986..0d7a5de56056 100644 --- a/keyboards/25keys/aleth42/rev1/config.h +++ b/keyboards/25keys/aleth42/rev1/config.h @@ -17,22 +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 -# 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 - /* 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/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/info.json index 562020388953..fd4b07fe3ee2 100644 --- a/keyboards/25keys/aleth42/rev1/info.json +++ b/keyboards/25keys/aleth42/rev1/info.json @@ -13,6 +13,24 @@ {"pin_a": "F5", "pin_b": "F6"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h index 07d9ab9b67df..915e161e8bdc 100644 --- a/keyboards/25keys/cassette42/config.h +++ b/keyboards/25keys/cassette42/config.h @@ -17,20 +17,4 @@ 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 -# 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 - #define OLED_FONT_H "keyboards/25keys/cassette42/common/glcdfont.c" diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/info.json index 01701aedeb67..38a73368f635 100644 --- a/keyboards/25keys/cassette42/info.json +++ b/keyboards/25keys/cassette42/info.json @@ -14,6 +14,24 @@ {"pin_a": "B3", "pin_b": "B1"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/25keys/cassette42/rules.mk b/keyboards/25keys/cassette42/rules.mk index eaeebeff07fa..f8febbdec8d1 100644 --- a/keyboards/25keys/cassette42/rules.mk +++ b/keyboards/25keys/cassette42/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 SRC += ./common/oled_helper.c diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json index 1efe467be974..235024231680 100644 --- a/keyboards/25keys/zinc/info.json +++ b/keyboards/25keys/zinc/info.json @@ -8,7 +8,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "atmega32u4", "bootloader": "caterina" diff --git a/keyboards/25keys/zinc/keymaps/ginjake/config.h b/keyboards/25keys/zinc/keymaps/ginjake/config.h deleted file mode 100644 index 2185dc9ebe4c..000000000000 --- a/keyboards/25keys/zinc/keymaps/ginjake/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2018 monksoffunk -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c deleted file mode 100644 index b7d0e5c93a1d..000000000000 --- a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c +++ /dev/null @@ -1,368 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -rgblight_config_t RGB_current_config; -#endif - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, - BACKLIT, - KANA, - EISU, - RGBRST, - AQOURS, //ã‚ĩãƒģシãƒĢã‚ĪãƒģãīãĢかãīかãƒĒマド -}; - -#ifdef RGBLIGHT_ENABLE - //9č‰ēãŦåĪ‰åŒ–するLEDãŪHSV各パãƒĐãƒĄãƒžã‚ŋ - int aqours_h[] = { 26, 340, 150, 0, 199, 220, 53, 265, 322}; - int aqours_s[] = {255, 165, 255, 255, 255, 350, 255, 255, 255}; - int aqours_v[] = {255, 255, 255, 255, 255, 255, 255, 255, 255}; - const int NEXT_COLOR_TIME = 2400; //æŽĄãŪč‰ēãŦ切りæ›ŋわるãūでãŪ時間 - const int NEXT_CHANGE_TARGET_TIME = 100; //æŽĄãŪキマãŦč‰ēが䞝播するãūでãŪ時間 - bool aqours_mode = false; - int aqours_next_color_timer_count = 0; - int aqours_num = 0; - int target_col = 0; - - //keyãŪmatrixãŪä―į―ŪãĻLEDãŪį•Šå·ã‚’įīãĨける - int combined_key_to_led[] = - { - 0,1,2,3,4,5, - 11,10,9,8,7,6, - 12,13,14,15,16,17, - 23,22,21,20,19,18 - }; -#endif - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -//Macros -#define M_SAMPLE M(KC_SAMPLEMACRO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc |ADJUST| Win | Alt |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| - * `-----------------------------------------' `-----------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_ESC, ADJUST, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Colemak - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| - * `-----------------------------------------' `-----------------------------------------' - */ - [_COLEMAK] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_ESC, ADJUST, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| - * `-----------------------------------------' `-----------------------------------------' - */ - [_DVORAK] = LAYOUT_ortho_4x12( - 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_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - KC_ESC, ADJUST, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | - | _ | + | { | } | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | Home | End | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------' `-----------------------------------------' - */ - [_LOWER] = LAYOUT_ortho_4x12( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, _______, _______, _______, _______, KC_MINS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------' `-----------------------------------------' - */ - [_RAISE] = LAYOUT_ortho_4x12( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * |AQOURS|RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | MODE | HUE- | SAT- | VAL- | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | EISU | EISU | EISU | | KANA | KANA | Home |PageDn|PageUp| End | - * `-----------------------------------------' `-----------------------------------------' - */ - [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, - AQOURS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS, - _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KC_HOME, KC_PGDN, KC_PGUP, KC_END - ) -}; - -// define variables for reactive RGB -bool TOG_STATUS = false; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); - #endif - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(16); - #endif - } - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); // revert RGB to initial mode prior to RGB mode change - #endif - TOG_STATUS = false; - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(15); - #endif - } - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); // revert RGB to initial mode prior to RGB mode change - #endif - layer_off(_RAISE); - TOG_STATUS = false; - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode_noeeprom(RGB_current_config.mode); - rgblight_step(); - RGB_current_config.mode = rgblight_config.mode; - } - #endif - return false; - break; - - case EISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case AQOURS: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - aqours_mode = !aqours_mode; - } - #endif - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_config = rgblight_config; - } - #endif - break; - } - return true; -} - -#ifdef RGBLIGHT_ENABLE - - void aqours_led(void) { - aqours_next_color_timer_count++; - //äļ€åŪšé–“隔でč‰ēがåĪ‰åŒ– - if (aqours_next_color_timer_count > NEXT_COLOR_TIME) { - aqours_num++; - aqours_next_color_timer_count = 0; - target_col = 0; - if (aqours_num == ARRAY_SIZE(aqours_h)) { - aqours_num = 0; - } - } - - //キマæŊŽãŦ時間å·Ūでč‰ēがåĪ‰åŒ–しãĶいく - if (aqours_next_color_timer_count % NEXT_CHANGE_TARGET_TIME == 0) { - if (target_col < MATRIX_COLS) { - sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[target_col]); - sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[11 - target_col]); - sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[12 + target_col]); - sethsv(aqours_h[aqours_num], aqours_s[aqours_num], aqours_v[aqours_num], (LED_TYPE *)&led[23 - target_col]); - target_col++; - rgblight_set(); - } - } - } -#endif - -void matrix_scan_user(void) { - #ifdef RGBLIGHT_ENABLE - if (aqours_mode) { - aqours_led(); - } - #endif -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - rgblight_init(); - RGB_current_config = rgblight_config; - #endif -} diff --git a/keyboards/25keys/zinc/keymaps/ginjake/readme_jp.md b/keyboards/25keys/zinc/keymaps/ginjake/readme_jp.md deleted file mode 100644 index dfedb37c15c1..000000000000 --- a/keyboards/25keys/zinc/keymaps/ginjake/readme_jp.md +++ /dev/null @@ -1,123 +0,0 @@ -# The Default Zinc Layout -## 配列 - -### Qwerty配列 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Esc | Fn | Alt | Win |Lower |Space | | Space| Raise| Left | Down | Up | Right| - `------------------------------------------ ------------------------------------------' -``` - -### Colemak - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| - `------------------------------------------ ------------------------------------------' -``` - -### Dvorak - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right| - `-----------------------------------------' `-----------------------------------------' -``` - - -## ã‚ģãƒģパã‚ĪãƒŦãŪäŧ•æ–đ - -ã‚ģãƒģパã‚ĪãƒŦãŊ、qmk_firmware ãŪトップデã‚Ģノã‚ŊãƒˆãƒŠã§čĄŒã„ãūす。 - -``` -$ cd qmk_firmware -``` -qmk_firmwareでãŊ各キマボマドãŪã‚ģãƒģパã‚ĪãƒŦãŊ、`<キマボマド名>:<キママップ名>`ãĻいう指åŪšã§čĄŒã„ãūす。 - -``` -$ make zinc:default -``` - -キマボマドãļãŪæ›ļきčūžãŋãūで同時ãŦčĄŒã†ãŦãŊäļ‹čĻ˜ãŪようãŦ`:avrdude`をäŧ˜ã‘ãūす。 - -``` -$ make zinc:default:avrdude -``` - -ã‚ģãƒģパã‚ĪãƒŦįĩæžœãĻäļ­é–“į”Ÿæˆį‰ĐをæķˆåŽŧしたいå ī合ãŊäŧĨäļ‹ãŪようãŦしãūす。 - -``` -$ make zinc:default:clean -``` - -## ã‚Ŧã‚đã‚ŋマã‚Īã‚š - -ã‚ģマãƒģドãƒĐã‚Īãƒģからりプショãƒģを指åŪšã—ãĶビãƒŦドするこãĻが凚æĨãūす。 - -``` -# Zinc keyboard 'default' keymap: convenient command line option -make ZINC= zinc:defualt -# option= back | under | na | ios -# ex. -# make ZINC=under zinc:defualt -# make ZINC=under,ios zinc:defualt -# make ZINC=back zinc:default -# make ZINC=back,na zinc:default -# make ZINC=back,ios zinc:default -``` - -あるいãŊ`qmk_firmware/keyboards/zinc/rev1/keymaps/default/rules.mk` ãŪäŧĨäļ‹ãŪéƒĻ分をį›īæŽĨį·Ļ集しãĶæĐŸčƒ―ã‚’æœ‰åŠđ化しãĶください。 - -``` -# Zinc keyboard customize -LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - - -``` - -## RGB backlight を有åŠđãŦする - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -``` -LED_BACK_ENABLE = yes # LED backlight (Enable SK6812mini backlight) -``` - - -## RGB Underglow を有åŠđãŦする - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -``` -LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) -``` - - -## iPad/iPhoneã‚ĩポマトを有åŠđãŦする。 - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -RBG Underglow や RGBバッã‚ŊãƒĐã‚ĪトãŪ辝åšĶを抑えãĶ、iPad, iPhone ãŦもæŽĨįķšã§ãã‚‹ã‚ˆã†ãŦおりãūす。 - -``` -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` \ No newline at end of file diff --git a/keyboards/25keys/zinc/keymaps/ginjake/rules.mk b/keyboards/25keys/zinc/keymaps/ginjake/rules.mk deleted file mode 100644 index 4bbd3e582ce0..000000000000 --- a/keyboards/25keys/zinc/keymaps/ginjake/rules.mk +++ /dev/null @@ -1,112 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -LTO_ENABLE = no # if firmware size over limit, try this option - -define ZINC_CUSTOMISE_MSG - $(info Zinc customize) - $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) - $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) - $(info - LED_RGB_CONT=$(LED_RGB_CONT)) - $(info - LED_ANIMATION=$(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) -endef - -# Zinc keyboard customize -LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) -LED_BOTH_ENABLE = no # LED backlight and underglow -LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. -#### Do not enable these with audio at the same time. - -### Zinc keyboard 'default' keymap: convenient command line option -## make ZINC= zinc:defualt -## option= back | under | both | cont | na | ios -## ex. -## make ZINC=under zinc:defualt -## make ZINC=under,ios zinc:defualt -## make ZINC=back zinc:default -## make ZINC=back,na zinc:default -## make ZINC=back,ios zinc:default - -ifneq ($(strip $(ZINC)),) - ifeq ($(findstring back,$(ZINC)), back) - LED_BACK_ENABLE = yes - endif - ifeq ($(findstring under,$(ZINC)), under) - LED_UNDERGLOW_ENABLE = yes - endif - ifeq ($(findstring both,$(ZINC)), both) - LED_BOTH_ENABLE = yes - endif - ifeq ($(findstring cont,$(ZINC)), cont) - LED_RGB_CONT = yes - endif - ifeq ($(findstring na,$(ZINC)), na) - LED_ANIMATIONS = no - endif - ifeq ($(findstring ios,$(ZINC)), ios) - IOS_DEVICE_ENABLE = yes - endif - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(info ) -endif - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - OPT_DEFS += -DRGBLED_BOTH - $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) - else - OPT_DEFS += -DRGBLED_BACK - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_ENABLE = yes -else - RGBLIGHT_ENABLE = no -endif - -ifeq ($(strip $(LED_BOTH_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BOTH -endif - -ifeq ($(strip $(LED_RGB_CONT)), yes) - OPT_DEFS += -DRGBLED_CONT -endif - -ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS -endif - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - - -# Uncomment these for debugging -# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) -# $(info -- OPT_DEFS=$(OPT_DEFS)) -# $(info ) diff --git a/keyboards/25keys/zinc/keymaps/monks/config.h b/keyboards/25keys/zinc/keymaps/monks/config.h deleted file mode 100644 index 2185dc9ebe4c..000000000000 --- a/keyboards/25keys/zinc/keymaps/monks/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2018 monksoffunk -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/25keys/zinc/keymaps/monks/keymap.c b/keyboards/25keys/zinc/keymaps/monks/keymap.c deleted file mode 100644 index 5c15fb48ca6e..000000000000 --- a/keyboards/25keys/zinc/keymaps/monks/keymap.c +++ /dev/null @@ -1,256 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -rgblight_config_t RGB_current_config; -#endif - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, - BACKLIT, - KANA, - EISU, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - - -//Macros -#define M_SAMPLE M(KC_SAMPLEMACRO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc |ADJUST| Alt | GUI |LOWER |Space | | Space| RAISE| KANA | Left | Down | Right| - * `-----------------------------------------' `-----------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_ESC, ADJUST, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | - | _ | + | { | } | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | UP | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * `-----------------------------------------' `-----------------------------------------' - */ - [_LOWER] = LAYOUT_ortho_4x12( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, _______, _______, _______, _______, KC_MINS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | ? | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------' `-----------------------------------------' - */ - [_RAISE] = LAYOUT_ortho_4x12( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, S(KC_SLSH), _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST| | | | | | | | | | Ins | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | MODE | HUE- | SAT- | VAL- | | | | | | |PageUp| | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End | - * `-----------------------------------------' `-----------------------------------------' - */ - [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS, - _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END - ) -}; - -// define variables for reactive RGB -bool TOG_STATUS = false; - - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); - #endif - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(16); - #endif - } - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); // revert RGB to initial mode prior to RGB mode change - #endif - TOG_STATUS = false; - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(15); - #endif - } - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGB_current_config.mode); // revert RGB to initial mode prior to RGB mode change - #endif - layer_off(_RAISE); - TOG_STATUS = false; - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode_noeeprom(RGB_current_config.mode); - rgblight_step(); - RGB_current_config.mode = rgblight_config.mode; - } - #endif - return false; - break; - - case EISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_config = rgblight_config; - } - #endif - break; - } - return true; -} - - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - rgblight_init(); - RGB_current_config = rgblight_config; - #endif -} diff --git a/keyboards/25keys/zinc/keymaps/monks/readme_jp.md b/keyboards/25keys/zinc/keymaps/monks/readme_jp.md deleted file mode 100644 index e518eb7696df..000000000000 --- a/keyboards/25keys/zinc/keymaps/monks/readme_jp.md +++ /dev/null @@ -1,103 +0,0 @@ -# monksoffunk's personal zinc Layout -## 配列 - -### Qwerty配列 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Esc |ADJUST| Alt | GUI |LOWER |Space | | Space| RAISE| KANA | Left | Down | Right| - `------------------------------------------ ------------------------------------------' -``` - -KANAキマをį‹ŽįŦ‹ã•ã›ã€UPキマをLOWERïž‹ã‚đãƒĐッシãƒĨãŦå―“ãĶãĶいãūす。そãŪãŧかデフã‚ĐãƒŦトからノã‚ĪãƒĪマをかおりいじãĢãĶいãūす。 -ãūた、RGB LEDがã‚Ēãƒģã‚ģãƒĄãƒģトしãĶありãūすãŪで、åŪŸčĢ…しãĶいおいå ī合ãŊã‚―ãƒžã‚đをčĶ‹ãĶéĐåŪœã‚ģãƒĄãƒģトã‚Ēã‚ĶトしãĶください。 - -## ã‚ģãƒģパã‚ĪãƒŦãŪäŧ•æ–đ - -ã‚ģãƒģパã‚ĪãƒŦãŊ、qmk_firmware ãŪトップデã‚Ģノã‚ŊãƒˆãƒŠã§čĄŒã„ãūす。 - -``` -$ cd qmk_firmware -``` -qmk_firmwareでãŊ各キマボマドãŪã‚ģãƒģパã‚ĪãƒŦãŊ、`<キマボマド名>:<キママップ名>`ãĻいう指åŪšã§čĄŒã„ãūす。 - -``` -$ make zinc:monks -``` - -キマボマドãļãŪæ›ļきčūžãŋãūで同時ãŦčĄŒã†ãŦãŊäļ‹čĻ˜ãŪようãŦ`:avrdude`をäŧ˜ã‘ãūす。 - -``` -$ make zinc:monks:avrdude -``` - -ã‚ģãƒģパã‚ĪãƒŦįĩæžœãĻäļ­é–“į”Ÿæˆį‰ĐをæķˆåŽŧしたいå ī合ãŊäŧĨäļ‹ãŪようãŦしãūす。 - -``` -$ make zinc:monks:clean -``` - -おお、avrdudeでãŊおくQMK ToolboxGUIツマãƒŦをä―ŋうæ–đæģ•ã‚‚ありãūす。 - -https://github.com/qmk/qmk_toolbox/releases - -そãŪå ī合ãŊ、$ make zinc:monksでビãƒŦドした成果į‰ĐをQMK Toolboxから指åŪšã—ãĶください。 - -## ã‚Ŧã‚đã‚ŋマã‚Īã‚š - -ã‚ģマãƒģドãƒĐã‚Īãƒģからりプショãƒģを指åŪšã—ãĶビãƒŦドするこãĻが凚æĨãūす。 - -``` -# Zinc keyboard 'monks' keymap: convenient command line option -make ZINC= zinc:monks -# option= back | under | na | ios -# ex. -# make ZINC=under zinc:monks -# make ZINC=under,ios zinc:monks -# make ZINC=back zinc:monks -# make ZINC=back,na zinc:monks -# make ZINC=back,ios zinc:monks -``` - -あるいãŊ`qmk_firmware/keyboards/zinc/rev1/keymaps/monks/rules.mk` ãŪäŧĨäļ‹ãŪéƒĻ分をį·Ļ集しãĶæĐŸčƒ―ã‚’æœ‰åŠđ化しãĶください。 - -``` -# Zinc keyboard customize -LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - - -``` - -## RGB backlight を有åŠđãŦする - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -``` -LED_BACK_ENABLE = yes # LED backlight (Enable SK6812mini backlight) -``` - - -## RGB Underglow を有åŠđãŦする - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -``` -LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight) -``` - - -## iPad/iPhoneã‚ĩポマトを有åŠđãŦする。 - -rules.mk ãŪäļ‹čĻ˜ãŪéƒĻ分をį·Ļ集しãĶ no を yes ãŦåĪ‰æ›īしãĶください。 -RBG Underglow や RGBバッã‚ŊãƒĐã‚ĪトãŪ辝åšĶを抑えãĶ、iPad, iPhone ãŦもæŽĨįķšã§ãã‚‹ã‚ˆã†ãŦおりãūす。 - -``` -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` diff --git a/keyboards/25keys/zinc/keymaps/monks/rules.mk b/keyboards/25keys/zinc/keymaps/monks/rules.mk deleted file mode 100644 index d37d2b6d1faf..000000000000 --- a/keyboards/25keys/zinc/keymaps/monks/rules.mk +++ /dev/null @@ -1,111 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -LTO_ENABLE = no # if firmware size over limit, try this option - -define ZINC_CUSTOMISE_MSG - $(info Zinc customize) - $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) - $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) - $(info - LED_RGB_CONT=$(LED_RGB_CONT)) - $(info - LED_ANIMATION=$(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) -endef - -# Zinc keyboard customize -LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) -LED_BOTH_ENABLE = no # LED backlight and underglow -LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. -#### Do not enable these with audio at the same time. - -### Zinc keyboard 'default' keymap: convenient command line option -## make ZINC= zinc:defualt -## option= back | under | both | cont | na | ios -## ex. -## make ZINC=under zinc:defualt -## make ZINC=under,ios zinc:defualt -## make ZINC=back zinc:default -## make ZINC=back,na zinc:default -## make ZINC=back,ios zinc:default - -ifneq ($(strip $(ZINC)),) - ifeq ($(findstring back,$(ZINC)), back) - LED_BACK_ENABLE = yes - endif - ifeq ($(findstring under,$(ZINC)), under) - LED_UNDERGLOW_ENABLE = yes - endif - ifeq ($(findstring both,$(ZINC)), both) - LED_BOTH_ENABLE = yes - endif - ifeq ($(findstring cont,$(ZINC)), cont) - LED_RGB_CONT = yes - endif - ifeq ($(findstring na,$(ZINC)), na) - LED_ANIMATIONS = no - endif - ifeq ($(findstring ios,$(ZINC)), ios) - IOS_DEVICE_ENABLE = yes - endif - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(info ) -endif - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - OPT_DEFS += -DRGBLED_BOTH - $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) - else - OPT_DEFS += -DRGBLED_BACK - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_ENABLE = yes -else - RGBLIGHT_ENABLE = no -endif - -ifeq ($(strip $(LED_BOTH_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BOTH -endif - -ifeq ($(strip $(LED_RGB_CONT)), yes) - OPT_DEFS += -DRGBLED_CONT -endif - -ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS -endif - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# Uncomment these for debugging -# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) -# $(info -- OPT_DEFS=$(OPT_DEFS)) -# $(info ) diff --git a/keyboards/25keys/zinc/keymaps/toshi0383/config.h b/keyboards/25keys/zinc/keymaps/toshi0383/config.h deleted file mode 100644 index 0d53d44247d5..000000000000 --- a/keyboards/25keys/zinc/keymaps/toshi0383/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2019 Toshihiro Suzuki -Copyright 2018 monksoffunk -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c b/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c deleted file mode 100644 index c6b90a3a9970..000000000000 --- a/keyboards/25keys/zinc/keymaps/toshi0383/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -#include QMK_KEYBOARD_H - -extern uint8_t is_master; - -enum layer_names { - _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_ortho_4x12( - 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, SFT_T(KC_SCLN), KC_RGUI, - KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RCTL, KC_DOT, KC_RALT, RGUI(KC_RSFT), - KC_LGUI, KC_LALT, _______, _______, LOWER, KC_ENT, KC_ENT, RAISE, _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT_ortho_4x12( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, RCMD(RALT(KC_O)), RCMD(RALT(KC_L)), _______, - _______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE, - KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______, - _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_RGUI, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_ortho_4x12( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, KC_COLN, KC_SCLN, KC_DQT, KC_QUOT, KC_BSLS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_LGUI, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, RCMD(LALT(KC_1)), RCMD(LALT(KC_2)), RCMD(LALT(KC_3)), RCMD(LALT(KC_4)), RCMD(LALT(KC_5)), RCMD(LALT(KC_6)), RCMD(LALT(KC_7)), RCMD(LALT(KC_0)), - RGB_SAI, RGB_HUI, RGB_MOD, _______, RGB_TOG, RGB_VAI, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, _______, _______, - KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, QK_BOOT, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/25keys/zinc/keymaps/toshi0383/rules.mk b/keyboards/25keys/zinc/keymaps/toshi0383/rules.mk deleted file mode 100644 index 8fe697932e01..000000000000 --- a/keyboards/25keys/zinc/keymaps/toshi0383/rules.mk +++ /dev/null @@ -1,130 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -LTO_ENABLE = no # if firmware size over limit, try this option - -define ZINC_CUSTOMISE_MSG - $(info Zinc customize) - $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) - $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE)) - $(info - LED_RGB_CONT=$(LED_RGB_CONT)) - $(info - RGB_MATRIX=$(RGB_MATRIX)) - $(info - LED_ANIMATION=$(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE)) -endef - -# Zinc keyboard customize -LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight) -LED_BOTH_ENABLE = no # LED backlight and underglow -LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc -RGB_MATRIX = no # RGB LED Matrix -RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. -#### Do not enable these with audio at the same time. - -### Zinc keyboard 'default' keymap: convenient command line option -## make ZINC= zinc:defualt -## option= back | under | both | cont | matrix | na | ios -## ex. -## make ZINC=under zinc:defualt -## make ZINC=under,ios zinc:defualt -## make ZINC=back zinc:default -## make ZINC=back,na zinc:default -## make ZINC=back,ios zinc:default - -ifneq ($(strip $(ZINC)),) - ifeq ($(findstring back,$(ZINC)), back) - LED_BACK_ENABLE = yes - endif - ifeq ($(findstring under,$(ZINC)), under) - LED_UNDERGLOW_ENABLE = yes - endif - ifeq ($(findstring both,$(ZINC)), both) - LED_BOTH_ENABLE = yes - endif - ifeq ($(findstring cont,$(ZINC)), cont) - LED_RGB_CONT = yes - endif - ifeq ($(findstring matrix,$(ZINC)), matrix) - RGB_MATRIX = yes - endif - ifeq ($(findstring right,$(ZINC)), right) - RGB_MATRIX_SPLIT_RIGHT = yes - endif - ifeq ($(findstring na,$(ZINC)), na) - LED_ANIMATIONS = no - endif - ifeq ($(findstring ios,$(ZINC)), ios) - IOS_DEVICE_ENABLE = yes - endif - $(eval $(call ZINC_CUSTOMISE_MSG)) - $(info ) -endif - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - OPT_DEFS += -DRGBLED_BOTH - $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE) - else - OPT_DEFS += -DRGBLED_BACK - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_ENABLE = yes -else - RGBLIGHT_ENABLE = no -endif - -ifeq ($(strip $(LED_BOTH_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BOTH -endif - -ifeq ($(strip $(LED_RGB_CONT)), yes) - OPT_DEFS += -DRGBLED_CONT -endif - -ifeq ($(strip $(RGB_MATRIX)), yes) - RGBLIGHT_ENABLE = no - RGB_MATRIX_ENABLE = yes -endif - -ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS -endif - -ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes) - OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT -endif - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - - -# Uncomment these for debugging -# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE)) -# $(info -- OPT_DEFS=$(OPT_DEFS)) -# $(info ) diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h index e4b0d02f753e..27755e64c6a5 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 46692f6e4d12..47fb1f2e98e2 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 15857d3b0b30..3d51de9e4c16 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 e4b0d02f753e..27755e64c6a5 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 4db1d049107b..1ab2fb7e38f3 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 15857d3b0b30..3d51de9e4c16 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 a4088e49256d..5f360813239b 100644 --- a/keyboards/2key2crawl/config.h +++ b/keyboards/2key2crawl/config.h @@ -5,18 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -#ifdef RGBLIGHT_ENABLE -# 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 -#define RGBLED_NUM 3 -#endif diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json index 1752531ba17f..b8644a071293 100644 --- a/keyboards/2key2crawl/info.json +++ b/keyboards/2key2crawl/info.json @@ -18,6 +18,21 @@ {"pin_a": "D0", "pin_b": "D1", "resolution": 1} ] }, + "rgblight": { + "led_count": 3, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/2key2crawl/keymaps/tabs/keymap.c b/keyboards/2key2crawl/keymaps/tabs/keymap.c deleted file mode 100644 index 9066c3f2e6de..000000000000 --- a/keyboards/2key2crawl/keymaps/tabs/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER), - -}; - -void matrix_init_user(void) { - debug_config.matrix = 1; - debug_config.keyboard = 1; - debug_config.enable = 1; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code16(C(KC_T)); - } else { - tap_code16(C(KC_W)); - } - } - return true; -} diff --git a/keyboards/2key2crawl/keymaps/vol/keymap.c b/keyboards/2key2crawl/keymaps/vol/keymap.c deleted file mode 100644 index a45d3f778980..000000000000 --- a/keyboards/2key2crawl/keymaps/vol/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER), - -}; - -void matrix_init_user(void) { - debug_config.matrix = 1; - debug_config.keyboard = 1; - debug_config.enable = 1; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} diff --git a/keyboards/3keyecosystem/2key2/info.json b/keyboards/3keyecosystem/2key2/info.json index f2d712072ea9..35cc3ee3c455 100644 --- a/keyboards/3keyecosystem/2key2/info.json +++ b/keyboards/3keyecosystem/2key2/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "D7"], diff --git a/keyboards/3w6/keymaps/helltm/combos.def b/keyboards/3w6/keymaps/helltm/combos.def deleted file mode 100644 index 49b95e5eb246..000000000000 --- a/keyboards/3w6/keymaps/helltm/combos.def +++ /dev/null @@ -1,18 +0,0 @@ -CB(open_round_brackets_combo, KC_LPRN, KC_R, KC_T) -CB(open_square_brackets_combo, KC_LBRC, KC_F, KC_G) -CB(open_curly_brackets_combo, KC_LCBR, KC_V, KC_B) -CB(close_round_brackets_combo, KC_RPRN, KC_Y, KC_U) -CB(close_square_brackets_combo, KC_RBRC, KC_H, KC_J) -CB(close_curly_brackets_combo, KC_RCBR, KC_N, KC_M) - -CB(esc_combo, KC_ESC, KC_Q, KC_A) -CB(tab_combo, KC_TAB, KC_A, LSFT_T(KC_Z)) - -CB(single_quote_combo, KC_QUOT, KC_P, KC_SCLN) -CB(double_quote_combo, KC_DQUO, KC_SCLN, RSFT_T(KC_SLSH)) - -CB(plus_combo, KC_PLUS, KC_T, KC_G) -CB(asterisk_combo, KC_ASTR, KC_G, KC_B) - -CB(minus_combo, KC_MINS, KC_Y, KC_H) -CB(equal_combo, KC_EQL, KC_H, KC_N) diff --git a/keyboards/3w6/keymaps/helltm/combos.h b/keyboards/3w6/keymaps/helltm/combos.h deleted file mode 100644 index 99173ecb2207..000000000000 --- a/keyboards/3w6/keymaps/helltm/combos.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2021 HellSingCoder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 CB(name, action, ...) C_##name, -enum user_combos { -#include "combos.def" -}; -#undef CB - -#define CB(name, action, ...) const uint16_t PROGMEM name##_combo[] = {__VA_ARGS__, COMBO_END}; -#include "combos.def" -#undef CB - -combo_t key_combos[] = { -#define CB(name, action, ...) COMBO(name##_combo, action), -#include "combos.def" -#undef CB -}; diff --git a/keyboards/3w6/keymaps/helltm/config.h b/keyboards/3w6/keymaps/helltm/config.h deleted file mode 100644 index 9ccb616a03f7..000000000000 --- a/keyboards/3w6/keymaps/helltm/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 HellSingCoder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* Combo timer */ -#define COMBO_TERM 15 diff --git a/keyboards/3w6/keymaps/helltm/keymap.c b/keyboards/3w6/keymaps/helltm/keymap.c deleted file mode 100644 index a87c7c75a929..000000000000 --- a/keyboards/3w6/keymaps/helltm/keymap.c +++ /dev/null @@ -1,168 +0,0 @@ -/* Copyright 2021 HellSingCoder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#ifdef COMBO_ENABLE -# include "combos.h" -#endif - -enum layers -{ - _ALPHA_QWERTY = 0, - _SYM, - _NAV, - _NUM, -}; - -enum custom_keycodes { - KC_THUMB_SWAP, -}; - -/* Space Enter swap */ -bool swap_space_enter = false; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* - * QWERTY - * - * _____________________ _____________________ - * __|__ | | __|__ - * _____ | | v v | | _____ - * .-----| E |-----._____ _____.-----| I |-----. - * .-----| W |_____| R | T | __ ( ) __ | Y | U |_____| O |-----. - * __ | Q |-----| D |-----|_____| __|--> + - <--|__ |_____|-----| K |-----| P | __ - * ESC <--|__ |-----| S |_____| F | G | [ ] | H | J |_____| L |-----| __|--> ' - * __ | A |-----| C |-----|_____| __ __ |_____|-----| , < |-----| ; : | __ - * TAB <--|__ |-----| X |_____| V | B | __|--> * { } = <--|__ | N | M |_____| . > |-----| __|--> " - * | Z |-----' '-----|_____| |_____|-----' '-----| / ? | - * '-----' .-----. _____ .-.._ _..-. _____ .-----. '-----' - * | | WIN ||CTRL | / / \ \ | BSp || Del | | - * SHIFT '-----':_____|/ ENT / \ SPC \|_____:'-----' SHIFT - * | '--.._/ \_..--' | | - * NUM NAV SYM - */ - [_ALPHA_QWERTY] = 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 , - LSFT_T(KC_Z), KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , RSFT_T(KC_SLSH), - LT(_NUM, KC_LGUI), KC_LCTL, KC_ENT, KC_SPC, LT(_NAV, KC_BSPC), LT(_SYM, KC_DEL) - ), - - /* - * Symbols - * _____ _____ - * .-----| # |-----._____ _____.-----| * |-----. - * .-----| @ |_____| $ | % | | ^ | & |_____| ( |-----. - * | ! |-----| |-----|_____| |_____|-----| [ { |-----| ) | - * |-----| |_____| | | | { | } |_____| ] } |-----| - * | ` ~ |-----| |-----|_____| |_____|-----| |-----| ' " | - * |-----| |_____| | | | - _ | = + |_____| | |-----| - * | ~ |-----' '-----|_____| |_____|-----' '-----| \ | | - * '-----' .-----. _____ .-.._ _..-. _____ .-----. '-----' - * SHIFT | ||CTRL | / / \ \ | BSp || | SHIFT - * '-----':_____|/ ENT / \ SPC \|_____:'-----' - * '--.._/ \_..--' - */ - [_SYM] = LAYOUT( - KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN , - KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_QUOT , - LSFT_T(KC_TILD), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL , XXXXXXX, KC_PIPE, RSFT_T(KC_BSLS), - XXXXXXX, _______, _______, _______, KC_BSPC, XXXXXXX - ), - - /* - * Navigation - * _____ _____ - * .-----|Mute |-----._____ _____.-----| Up |-----. - * .-----|VDown|_____| VUp | | | |PDown|_____| PUp |-----. - * | Esc |-----|Play |-----|_____| |_____|-----|Down |-----| BSp | - * |-----|Prev |_____|Next | | |Home |Left |_____|Right|-----| - * | Tab |-----|Stop |-----|_____| |_____|-----| |-----| ' " | - * |-----| |_____| | | | | |_____| End |-----| - * | CPS |-----' '-----|_____| |_____|-----' '-----| Del | - * '-----' .-----. _____ .-.._ _..-. _____ .-----. '-----' - * SHIFT | ||CTRL | / / \ \ | BSp || | SHIFT - * '-----':_____|/ ENT / \ SPC \|_____:'-----' - * '--.._/ \_..--' - */ - [_NAV] = LAYOUT( - KC_ESC , KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP , KC_PGUP, KC_BSPC, - KC_TAB , KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUOT, - LSFT_T(KC_CAPS), XXXXXXX, KC_MSTP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END , RSFT_T(KC_DEL) , - XXXXXXX, _______, _______, _______, KC_BSPC, XXXXXXX - ), - - /* - * Numbers - * _____ _____ - * .-----| 3 |-----._____ _____.-----| 8 |-----. - * .-----| 2 |_____| 4 | 5 | | 6 | 7 |_____| 9 |-----. - * | 1 |-----| F3 |-----|_____| |_____|-----| F8 |-----| 0 | - * |-----| F2 |_____| F4 | F5 | | F6 | F7 |_____| F9 |-----| - * | F1 |-----| Scr |-----|_____| |_____|-----| |-----| F10 | - * |-----| TMg |_____| |Swap | | | |_____| F11 |-----| - * |Shift|-----' '-----|_____| |_____|-----' '-----| F12 | - * '-----' .-----. _____ .-.._ _..-. _____ .-----. '-----' - * | ||CTRL | / / \ \ | BSp || | SHIFT - * '-----':_____|/ ENT / \ SPC \|_____:'-----' - * '--.._/ \_..--' - */ - [_NUM] = LAYOUT( - KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , - KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , - KC_LSFT, LCA(KC_DEL), SWIN(KC_S), XXXXXXX, KC_THUMB_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11 , RSFT_T(KC_F12) , - XXXXXXX, _______, _______, _______, KC_BSPC, XXXXXXX - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - - /* Space Enter swap */ - case KC_THUMB_SWAP: - if (record->event.pressed) { - unregister_code(KC_SPC); - unregister_code(KC_ENT); - swap_space_enter = !swap_space_enter; - } - return false; - break; - - case KC_ENT: - if (swap_space_enter) { - if (record->event.pressed) { - register_code(KC_SPC); - } else { - unregister_code(KC_SPC); - } - return false; - } - break; - case KC_SPC: - if (swap_space_enter) { - if (record->event.pressed) { - register_code(KC_ENT); - } else { - unregister_code(KC_ENT); - } - return false; - } - break; - } - return true; -} diff --git a/keyboards/3w6/keymaps/helltm/rules.mk b/keyboards/3w6/keymaps/helltm/rules.mk deleted file mode 100644 index df85626f5f1f..000000000000 --- a/keyboards/3w6/keymaps/helltm/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Combos -COMBO_ENABLE = yes diff --git a/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h b/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index fb567ad7d3a4..000000000000 --- a/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 weteor - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- - -#pragma once - -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - K32, K33, K34, K35, K36, K37 \ -) diff --git a/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index 74df5e0fe120..000000000000 --- a/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2021 weteor - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- diff --git a/keyboards/3w6/rev1/rules.mk b/keyboards/3w6/rev1/rules.mk index 2194870d6b94..b7988ce4f55b 100644 --- a/keyboards/3w6/rev1/rules.mk +++ b/keyboards/3w6/rev1/rules.mk @@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes LTO_ENABLE = no SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/3w6/rev2/rules.mk b/keyboards/3w6/rev2/rules.mk index 2194870d6b94..b7988ce4f55b 100644 --- a/keyboards/3w6/rev2/rules.mk +++ b/keyboards/3w6/rev2/rules.mk @@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes LTO_ENABLE = no SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/40percentclub/25/keymaps/macro/keymap.c b/keyboards/40percentclub/25/keymaps/macro/keymap.c deleted file mode 100644 index 9e7b1ba61f27..000000000000 --- a/keyboards/40percentclub/25/keymaps/macro/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_macro( - KC_ESC, KC_1, KC_2, KC_3, KC_4, - KC_GRV, KC_Q, KC_W, KC_E, KC_R, - KC_TAB, KC_A, KC_S, KC_D, KC_F, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC - ), -}; diff --git a/keyboards/40percentclub/25/keymaps/macro/readme.md b/keyboards/40percentclub/25/keymaps/macro/readme.md deleted file mode 100644 index 6645f93dd88d..000000000000 --- a/keyboards/40percentclub/25/keymaps/macro/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default macro keymap for 25 diff --git a/keyboards/40percentclub/4pack/info.json b/keyboards/40percentclub/4pack/info.json index 9709807612c0..31d455988338 100644 --- a/keyboards/40percentclub/4pack/info.json +++ b/keyboards/40percentclub/4pack/info.json @@ -9,6 +9,7 @@ "device_version": "0.0.1" }, "backlight": { + "driver": "timer", "pins": ["F6", "F7"] }, "processor": "atmega32u4", diff --git a/keyboards/40percentclub/6lit/keymaps/macro/keymap.c b/keyboards/40percentclub/6lit/keymaps/macro/keymap.c deleted file mode 100644 index f9b0be32e1bc..000000000000 --- a/keyboards/40percentclub/6lit/keymaps/macro/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_macro( /* Base */ - KC_F19, KC_F20, KC_F21, - KC_F22, KC_F23, KC_F24 - ), -}; diff --git a/keyboards/40percentclub/6lit/keymaps/macro/readme.md b/keyboards/40percentclub/6lit/keymaps/macro/readme.md deleted file mode 100644 index 9f883b821c8d..000000000000 --- a/keyboards/40percentclub/6lit/keymaps/macro/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default single board macro keymap for 6lit diff --git a/keyboards/40percentclub/foobar/keymaps/macro/keymap.c b/keyboards/40percentclub/foobar/keymaps/macro/keymap.c deleted file mode 100644 index 8eb092938734..000000000000 --- a/keyboards/40percentclub/foobar/keymaps/macro/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_macro( /* Base */ - KC_F13, KC_F14, KC_F15, KC_F16, KC_INT1, - KC_F17, KC_F18, KC_F19, KC_F20, KC_INT2, - KC_F21, KC_F22, KC_F23, KC_F14, KC_INT5 - ), -}; diff --git a/keyboards/40percentclub/foobar/keymaps/macro/readme.md b/keyboards/40percentclub/foobar/keymaps/macro/readme.md deleted file mode 100644 index 4cc59e7e5d35..000000000000 --- a/keyboards/40percentclub/foobar/keymaps/macro/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default single board macro keymap for foobar diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c index ab2a1fa1c141..f4d3032857ce 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/itsaferbie/config.h b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/config.h deleted file mode 100644 index f6c6117726b4..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/config.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#undef WS2812_DI_PIN -#undef RGBLED_NUM -#define WS2812_DI_PIN D2 -# 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 -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c deleted file mode 100644 index 3eeb5694f703..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c +++ /dev/null @@ -1,145 +0,0 @@ -#include QMK_KEYBOARD_H - -extern rgblight_config_t rgblight_config; -extern keymap_config_t keymap_config; - -#define _PS 0 // This is the Photoshop Layer -#define _AI 1 // This is the Illustrator Layer -#define _PR 2 // This is the Premier Layer -#define _XD 3 // This is the Experience Design Layer - -enum custom_keycodes { - PS = SAFE_RANGE, - AI, - PR, - MACRO_0, -}; - -#define PS TO(0) -#define AI TO(1) -#define PR TO(2) -#define XD TO(3) - -// Mix of Photoshop, Illustrator, Premiere, and Experience Design shortcuts. -#define SAVE LCTL(KC_S) -#define OPEN LCTL(KC_O) -#define COPY LCTL(KC_C) -#define PAST LCTL(KC_V) -#define CUNDO LCTL(LALT(KC_Z)) -#define INVERT LCTL(LSFT(KC_I)) -#define NLAYER LSFT(LCTL(KC_N)) -#define UNDO LCTL(KC_Z) -#define TRANS LCTL(KC_T) -#define ALIGNL LCTL(LSFT(KC_L)) -#define ALIGNC LCTL(LSFT(KC_C)) -#define ALIGNR LCTL(LSFT(KC_R)) -#define BRINGF LCTL(KC_RBRC) -#define BRINGB LCTL(KC_LBRC) - -// Illustrator layer shortcuts. -#define SHAPE LSFT(KC_M) -#define RULER LCTL(LALT(KC_R)) - -// Premiere layer shortcuts. -#define REDO LCTL(LSFT(KC_Z)) -#define EXPORT LCTL(KC_M) -#define IMPORT LCTL(KC_I) -#define PCOPY LCTL(KC_V) -#define PPASTE LCTL(LSFT(KC_V)) - -// Experience Design layer shortcuts. (can be used with others too.) -#define NEW LCTL(KC_N) -#define LOCK LCTL(KC_L) -#define SYMB LCTL(KC_K) -#define HIDE LCTL(KC_SCLN) -#define REPEAT LCTL(KC_R) -#define MASK LCTL(LSFT(KC_M)) -#define GROUP LCTL(KC_G) -#define UNGRP LCTL(LSFT(KC_G)) -#define VIEW LCTL(KC_TAB) -#define HORZ LSFT(KC_C) -#define VERT LSFT(KC_M) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - // Photoshop layer - [_PS] = LAYOUT_ortho_3x10( - SAVE, KC_W, KC_E, KC_T, KC_U, KC_I, KC_P, INVERT, CUNDO, NLAYER, - UNDO, KC_H, KC_L, TRANS, ALIGNL, ALIGNC, ALIGNR, BRINGB, BRINGF, OPEN, - KC_LSFT, COPY, PAST, KC_Z, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, AI - ), - - // Illustrator layer - [_AI] = LAYOUT_ortho_3x10( - _______, MACRO_0, RULER, _______, KC_G, _______, _______, KC_Q, KC_MINS, KC_PLUS, - _______, _______, _______, KC_E, _______, _______, _______, SHAPE, KC_O, OPEN, - _______, _______, _______, _______, _______, _______, _______, KC_M, KC_SLSH, PR - ), - - // Premiere layer - [_PR] = LAYOUT_ortho_3x10( - _______, KC_Q, KC_W, KC_I, KC_O, KC_P, IMPORT, EXPORT, KC_MINS, KC_EQL, - _______, REDO, KC_D, KC_F, KC_H, KC_M, KC_ENT, KC_LBRC, KC_RBRC, OPEN, - _______, PCOPY, PPASTE, KC_SPC, KC_Z, KC_C, KC_V, KC_LEFT, KC_RIGHT, XD - ), - - // Experience Design layer - [_XD] = LAYOUT_ortho_3x10( - _______, KC_E, KC_R, KC_T, KC_P, KC_A, KC_L, KC_V, KC_DEL, NEW, - _______, REDO, GROUP, UNGRP, VIEW, HORZ, VERT, KC_Z, KC_ENT, OPEN, - _______, KC_LCTL, COPY, PAST, SYMB, LOCK, MASK, HIDE, REPEAT, PS - ), - -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -void matrix_init_user(void) { - rgblight_enable(); -} - -void matrix_scan_user(void) { - #ifdef RGBLIGHT_ENABLE - - static uint8_t old_layer = 255; - uint8_t new_layer = get_highest_layer(layer_state); - - // Color of the Icons. - if (old_layer != new_layer) { - switch (new_layer) { - case _PS: - // #31C5F0 - rgblight_setrgb(49, 197, 240); - break; - case _AI: - // #FF8011 - rgblight_setrgb(255, 128, 17); - break; - case _PR: - // #E788FF - rgblight_setrgb(231, 136, 255); - break; - case _XD: - // #FF2BC2 - rgblight_setrgb(255, 43, 194); - break; - } - old_layer = new_layer; - } - #endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case MACRO_0: - // Save for Web Macro. - SEND_STRING(SS_LSFT(SS_LALT(SS_LCTL("s")))); - return false; - } - } - return true; -}; diff --git a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/rules.mk b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/rules.mk deleted file mode 100644 index b359ca2874cc..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -BACKLIGHT_ENABLE = yes -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes diff --git a/keyboards/40percentclub/gherkin/keymaps/michel/config.h b/keyboards/40percentclub/gherkin/keymaps/michel/config.h deleted file mode 100644 index 2105fa65b52a..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/michel/config.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#undef WS2812_DI_PIN -#undef RGBLED_NUM -#define WS2812_DI_PIN D3 -# 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 -#define RGBLED_NUM 10 - -/* Make layout upside down = USB port on left side */ -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 } -#define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B4 } diff --git a/keyboards/40percentclub/gherkin/keymaps/michel/keymap.c b/keyboards/40percentclub/gherkin/keymaps/michel/keymap.c deleted file mode 100644 index dc2c1333998f..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/michel/keymap.c +++ /dev/null @@ -1,8 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x10(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(1, KC_ENT), LSFT_T(KC_Z), LALT_T(KC_X), LGUI_T(KC_C), KC_V, KC_BSPC, KC_SPC, RGUI_T(KC_B), LT(3, KC_N), LT(2, KC_M), KC_RSFT), - [1] = LAYOUT_ortho_3x10(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT), - [2] = LAYOUT_ortho_3x10(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_NO, KC_SCLN, KC_NO, KC_QUOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT), - [3] = LAYOUT_ortho_3x10(KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/40percentclub/gherkin/keymaps/michel/rules.mk b/keyboards/40percentclub/gherkin/keymaps/michel/rules.mk deleted file mode 100644 index 77b529c0e720..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/michel/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -BACKLIGHT_ENABLE = no -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/config.h b/keyboards/40percentclub/gherkin/keymaps/midi/config.h deleted file mode 100644 index 4a9607e5b4fd..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/midi/config.h +++ /dev/null @@ -1,24 +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 - -#undef TAPPING_TERM -#define TAPPING_TERM 190 - -#define MUSIC_MASK (keycode != KC_NO) -#define MIDI_ADVANCED diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c b/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c deleted file mode 100644 index b1ded193fe68..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/midi/keymap.c +++ /dev/null @@ -1,115 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_number { - _IONIAN = 0, - _DORIAN, - _PHRYGIAN, - _LYDIAN, - _MIXOLYDIAN, - _AEOLIAN, - _LOCRIAN, - _MENU -}; - -enum custom_keycodes { - IONIAN = SAFE_RANGE, - DORIAN, - PHRYGIAN, - LYDIAN, - MIXOLYDIAN, - AEOLIAN, - LOCRIAN, -}; - -#define MENU MO(_MENU) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_IONIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, MI_OCTD, MI_OCTU, - MI_D1, MI_G1, MI_C2, MI_F2, MI_B2, MI_E3, MI_A3, MI_D4, MI_TRSD, MI_TRSU, - MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_B3, MI_E4, MI_SUST, MENU - ), - - [_DORIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_As1, MI_Ds2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______, - MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_A3, MI_D4, _______, _______, - MI_Ds1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______ - ), - - [_PHRYGIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_G3, MI_C4, _______, _______, - MI_Cs1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______, - MI_Ds1, MI_Gs1, MI_Cs2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______ - ), - - [_LYDIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_Fs1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______, - MI_D1, MI_G1, MI_C2, MI_Fs2, MI_B2, MI_E3, MI_A3, MI_D4, _______, _______, - MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_Fs3, MI_B3, MI_E4, _______, _______ - ), - - [_MIXOLYDIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_As1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______, - MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_E3, MI_A3, MI_D4, _______, _______, - MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_E4, _______, _______ - ), - - [_AEOLIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_D3, MI_G3, MI_C4, _______, _______, - MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_D4, _______, _______, - MI_Ds1, MI_Gs1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______ - ), - - [_LOCRIAN] = LAYOUT_ortho_3x10( - MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_Fs3, MI_C4, _______, _______, - MI_Cs1, MI_Fs1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______, - MI_Ds1, MI_Gs1, MI_Cs2, MI_Fs2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______ - ), - - [_MENU] = LAYOUT_ortho_3x10( - IONIAN, LYDIAN, LOCRIAN, _______, _______, _______, _______, _______, _______, _______, - DORIAN, MIXOLYDIAN, _______, _______, _______, _______, _______, _______, _______, _______, - PHRYGIAN, AEOLIAN, _______, _______, _______, _______, _______, _______, QK_BOOT, _______ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case IONIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_IONIAN); - } - break; - case DORIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_DORIAN); - } - break; - case PHRYGIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_PHRYGIAN); - } - break; - case LYDIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_LYDIAN); - } - break; - case MIXOLYDIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_MIXOLYDIAN); - } - break; - case AEOLIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_AEOLIAN); - } - break; - case LOCRIAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_LOCRIAN); - } - break; - } - return true; -} diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/readme.md b/keyboards/40percentclub/gherkin/keymaps/midi/readme.md deleted file mode 100644 index f8fad08dc85c..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/midi/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -### Gherkin Midi -A gherkin midi layout that should cover most midi note playing needs. - -A 3x8 grid of notes written bottom left to right upwards as notes for the selected mode, with octave and transpose note controls at the top. Menu accesses other mode layouts, persisted to keyboard settings, and a reset for firmware programming. - -Modes are set by pressing Menu and their corresponding note from the C Ionian layout. That is, for Aeolian, press Menu and A 1. For Phrygian, press Menu and E 1. - -#### Keyboard Default Layout -![](https://i.imgur.com/VNc0GsI.jpg) - -Keyboard Editor Gist [link](https://gist.github.com/scottsheffield/c57859fe1a85d703f5387bf8ce41028c) - -#### Glamour Shot -![](https://i.imgur.com/B3Q4JoU.jpg) \ No newline at end of file diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk b/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk deleted file mode 100644 index a7e93c234126..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no -MIDI_ENABLE = yes diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h deleted file mode 100644 index 5a295a06ca9b..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#undef MANUFACTURER -#define MANUFACTURER "Some Guy" diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c deleted file mode 100644 index 40c11739fb63..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c +++ /dev/null @@ -1,250 +0,0 @@ -#include QMK_KEYBOARD_H -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif - -extern keymap_config_t keymap_config; - -//Tap Dance Declarations -enum { - TD_Z_LCTL = 0, - TD_X_LGUI = 1, - TD_C_LALT = 2, - TD_A_TAB = 3, - TD_Q_ESC = 4, -}; - -//Friendly Layer Names -enum gherkin_layers { - _QWERTY, - _SONGS, - _NUMBERS, - _SYMBOLS, - _PLOVER, - _ADJUST -}; - -// custom keycodes -enum gherkin_keycodes { - QWERTY = SAFE_RANGE, - NUMBERS, - SYMBOLS, - SONGS, - PLOVER, - BACKLIT, - MACSLEEP, - EXT_PLV -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_ortho_3x10( - TD(TD_Q_ESC), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - TD(TD_A_TAB), LT(_SYMBOLS,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_ADJUST,KC_SPC), - TD(TD_Z_LCTL), TD(TD_X_LGUI), TD(TD_C_LALT), KC_V, KC_B, LT(_NUMBERS, KC_N), KC_M, KC_COMM, KC_DOT, SFT_T(KC_ENT) - ), - [_NUMBERS] = LAYOUT_ortho_3x10( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_HOME, KC_PGDN, KC_PGUP, KC_END , - KC_F7, KC_F8, KC_F9, KC_F10, LT(_ADJUST,KC_F11), _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - [_SYMBOLS] = LAYOUT_ortho_3x10( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_GRV, _______, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, KC_MINS, KC_EQL , KC_SCLN, KC_QUOT, - KC_TILD, MO(_ADJUST), XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, KC_UNDS, KC_PLUS, S(KC_SCLN), S(KC_QUOT) - ), - [_PLOVER] = LAYOUT_ortho_3x10( - KC_Q, KC_W, KC_E, KC_R, KC_1, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - EXT_PLV, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX - ), - [_ADJUST] = LAYOUT_ortho_3x10( - QK_BOOT, _______, _______, _______, _______, QWERTY, NUMBERS, SYMBOLS, PLOVER, SONGS, - AU_PREV, AU_NEXT, MU_ON, MU_OFF, _______, _______, _______, _______, MACSLEEP, _______, - BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#ifdef AUDIO_ENABLE - -float tone_startup[][2] = SONG(STARTUP_SOUND); -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_plover[][2] = SONG(PLOVER_SOUND); -float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); - -float tone_goodbye[][2] = SONG(GOODBYE_SOUND); -#endif - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - persistant_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case NUMBERS: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - persistant_default_layer_set(1UL<<_NUMBERS); - } - return false; - break; - case SYMBOLS: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - persistant_default_layer_set(1UL<<_SYMBOLS); - } - return false; - break; - case PLOVER: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - stop_all_notes(); - PLAY_SONG(tone_plover); - #endif - layer_off(_NUMBERS); - layer_off(_SYMBOLS); - layer_off(_ADJUST); - layer_on(_PLOVER); - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keymap_config.nkro = 1; - eeconfig_update_keymap(keymap_config.raw); - } - return false; - break; - case EXT_PLV: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_plover_gb); - #endif - layer_off(_PLOVER); - } - return false; - break; - case MACSLEEP: - if (record->event.pressed) { - // ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_PWR); - register_code(KC_RSFT); - register_code(KC_RCTL); - register_code(KC_PWR); - unregister_code(KC_PWR); - unregister_code(KC_RCTL); - unregister_code(KC_RSFT); - } - return false; - break; - case BACKLIT: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - return false; - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif -} - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick - PLAY_SONG(tone_startup); -} - -void shutdown_user(void) -{ - PLAY_SONG(tone_goodbye); - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif - -void matrix_scan_user(void) { -} - -//Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - //Tap once for Esc, twice for Caps Lock - [TD_Z_LCTL] = ACTION_TAP_DANCE_DOUBLE(KC_Z, KC_LCTL), - [TD_X_LGUI] = ACTION_TAP_DANCE_DOUBLE(KC_X, KC_LGUI), - [TD_C_LALT] = ACTION_TAP_DANCE_DOUBLE(KC_C, KC_LALT), - [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/gherkin/keymaps/mjt/rules.mk b/keyboards/40percentclub/gherkin/keymaps/mjt/rules.mk deleted file mode 100644 index 3a35ae3b302f..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/mjt/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -AUDIO_ENABLE = yes # Audio output on port C6 -TAP_DANCE_ENABLE = yes diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h b/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h deleted file mode 100644 index 0df91ad92524..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -/* Make layout the right way: - * - USB port on left side - * - Switches facing the correct way - */ -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 } -#define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B4 } - -// Set the mouse settings to a comfortable speed/accuracy trade-off -// Assume the screen refresh rate is 60 Htz or higher -// The default is 50. This makes the mouse ~3 times faster and more accurate -#define MOUSEKEY_INTERVAL 16 -// The default is 20. Since we made the mouse about 3 times faster with the previous setting, -// give it more time to accelerate to max speed to retain precise control over short distances. -#define MOUSEKEY_TIME_TO_MAX 40 -// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive -#define MOUSEKEY_DELAY 100 -// It makes sense to use the same delay for the mouseweel -#define MOUSEKEY_WHEEL_DELAY 100 -// The default is 100 -#define MOUSEKEY_WHEEL_INTERVAL 50 -// The default is 40 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 - -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD -#define QUICK_TAP_TERM 0 diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json b/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json deleted file mode 100644 index 139421c44c01..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json +++ /dev/null @@ -1 +0,0 @@ -{"version":1,"notes":"My awesome keymap","documentation":"\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"40percentclub/gherkin","keymap":"pierrec83","layout":"LAYOUT_ortho_3x10","layers":[["KC_Q","KC_D","KC_R","KC_W","KC_B","KC_J","KC_F","KC_U","KC_P","KC_BSPC","LSFT_T(KC_A)","LT(5,KC_S)","LT(1,KC_H)","LT(3,KC_T)","KC_G","KC_Y","LT(4,KC_N)","LT(2,KC_E)","LT(6,KC_O)","LSFT_T(KC_I)","KC_Z","KC_X","KC_M","KC_C","KC_V","LT(7,KC_SPC)","KC_L","LALT_T(KC_COMM)","LCTL_T(KC_DOT)","KC_K"],["KC_TRNS","ANY(LCTL(LSFT(KC_C)))","KC_PGUP","ANY(LCTL(LSFT(KC_V)))","KC_TRNS","KC_TRNS","KC_BTN1","KC_WH_U","KC_BTN2","KC_TRNS","KC_TRNS","KC_BTN2","KC_NO","KC_BTN1","KC_TRNS","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_U","KC_MS_R","KC_TRNS","KC_TRNS","KC_PGDN","KC_TRNS","KC_TRNS","KC_TRNS","KC_MPRV","KC_WH_D","KC_MNXT","TG(1)"],["KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","BL_BRTG","BL_UP","KC_WH_U","KC_TRNS","KC_TRNS","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_TRNS","BL_TOGG","KC_LGUI","KC_NO","LCTL(KC_LALT)","LCA(KC_LSFT)","KC_TRNS","KC_HOME","KC_PGDN","KC_END","KC_TRNS","BL_STEP","BL_DOWN","KC_WH_D","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UNDS","KC_PIPE","KC_QUOT","KC_TRNS","KC_CIRC","KC_ASTR","KC_AMPR","KC_NO","KC_TRNS","KC_HASH","KC_TILD","KC_SLSH","KC_DQUO","KC_DLR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MINS","KC_BSLS","KC_GRV","KC_TRNS"],["KC_TRNS","KC_COLN","KC_LT","KC_GT","KC_SCLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_LPRN","KC_RPRN","KC_AT","KC_TRNS","KC_NO","KC_EQL","KC_PLUS","KC_PERC","KC_TRNS","KC_EXLM","KC_LBRC","KC_RBRC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F7","KC_F8","KC_F9","KC_F10","KC_LCTL","KC_NO","KC_LALT","LCTL(KC_LALT)","KC_TRNS","KC_TRNS","KC_F4","KC_F5","KC_F6","KC_F11","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F12"],["KC_PSLS","KC_7","KC_8","KC_9","KC_PPLS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_0","KC_4","KC_5","KC_6","KC_PMNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_PAST","KC_1","KC_2","KC_3","KC_PEQL","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["LT(8,KC_TRNS)","KC_ESC","KC_COLN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_DEL","KC_TRNS","KC_PERC","KC_SLSH","KC_ENT","KC_EXLM","KC_TRNS","KC_LGUI","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_TRNS","RALT(KC_TRNS)","RCTL(KC_TRNS)","TG(1)"],["KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","EE_CLR","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","QK_BOOT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"Anonymous"} \ No newline at end of file diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md b/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md deleted file mode 100644 index 0ade64b34634..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -@pierrec83's keymap for the gherkin -=== - -A usable keymap for the gherkin's 30 keys layout, somewhat in sync with my Kyria keymap. - -This keymap is more or less an adaptation of my Kyria keymap which sacrifices some convenience but retains most functionality. - -Features ---- -* Mouse keys with constants tuned so the keyboard usable for me as my sole pointing device -* Homerow layers activation -* Minimal side-index motion thanks to workman base layer and similar principles in other layers -* Two symbol layers, both activated with one homerow key and either another key on the same hand's homerow or a key from the other hand -* Mousing around, including left and right clicking can be done either one-handed or fully on the homerow with both hands -* Easy chaining of common command line or vim patterns, such as `~/`, `()`, `ESC : w ENTER` etc. -* Common OS shortcuts like switching workspaces on gnome or MacOS easily accessible (for the shortcuts I use. This may not apply to others) - -Instructions to update the keymap ---- - -For now, I am still more comfortable updating the keymap through the qmk configurator as I don't trust myself to manually keep comments describing the keymap in sync with the code itself. This means that my keymap.c is generated and not really readable. For a readble view of my keymap, one must import keymap.json into [qmk configurator](https://config.qmk.fm) and use the web UI or print it. - -To update the keymap, -* Load keymap.json into qmk configurator -* Perform any edits -* Export the keymap. This should save a json file in `~/Downloads/pierrec83.json` or equivalent for your OS -* From the root of qmk_firmware, move the keymap to its destination: -``` -mv ~/Downloads/pierrec83.json keyboards/40percentclub/gherkin/keymaps/pierrec83/keymap.json -``` -* Flash the firmware (for instance, if left hand is plugged): -``` -qmk flash -kb 40percentclub/gherkin -km pierrec83 -``` - -Author ---- -I am @pierrec83 on Twitter, @pierrechevalier83 on github. I chose the shorter nickname for my keymap. diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk b/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk deleted file mode 100644 index bd518d8f273f..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BACKLIGHT_ENABLE = yes diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/config.h b/keyboards/40percentclub/gherkin/keymaps/steno/config.h deleted file mode 100644 index 20a8f7844a96..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/steno/config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#define NO_ACTION_LAYER -#define NO_ACTION_TAPPING -#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c b/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c deleted file mode 100644 index 5f78ba1cde28..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/steno/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_steno.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_3x10( - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , - STN_NUM, STN_NUM, STN_A, STN_O, STN_NUM, STN_E, STN_U, STN_NUM, STN_NUM, STN_NUM), -}; - -void matrix_init_user(void) { - steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT -} \ No newline at end of file diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/readme.md b/keyboards/40percentclub/gherkin/keymaps/steno/readme.md deleted file mode 100644 index 6536ed7aba4c..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/steno/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Gherkin Steno - -This is a stenography-only keymap. It boots by default into GeminiPR mode. All the excess stuff is stripped away (I'd remove normal keyboard support if I could). - -> Note: The number bar has been moved to the bottom row in all the left-over spaces. - - | S | T | P | H | * | F | P | L | T | D | - | S | K | W | R | * | R | B | G | S | Z | - | # | # | A | O | # | E | U | # | # | # | diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk b/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk deleted file mode 100644 index 1210452d86f3..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER - -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = no diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h deleted file mode 100644 index c97c9c2f4b3e..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -// bootloader (first top leftmost key) -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 1 - - -// Behaviors That Can Be Configured - - -#define TAPPING_TERM 250 - // how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too - -#define PERMISSIVE_HOLD - // makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM - -#define QUICK_TAP_TERM 0 - // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap) - // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) - - -/* - #define TAPPING_TERM_PER_KEY - // enables handling for per key TAPPING_TERM settings - #define RETRO_TAPPING - // tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release - #define TAPPING_TOGGLE 2 - // how many taps before triggering the toggle - #define LEADER_TIMEOUT 300 - // how long before the leader key times out - // If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. - #define LEADER_PER_KEY_TIMING - // sets the timer for leader key chords to run on each key press rather than overall - #define LEADER_KEY_STRICT_KEY_PROCESSING - // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. - #define ONESHOT_TIMEOUT 300 - // how long before oneshot times out - #define ONESHOT_TAP_TOGGLE 2 - // how many taps before oneshot toggle is triggered - #define COMBO_TERM 200 - // how long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. - #define TAP_CODE_DELAY 100 - // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. - #define TAP_HOLD_CAPS_DELAY 80 - // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. -*/ diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c b/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c deleted file mode 100644 index 3516c7a0c3ee..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c +++ /dev/null @@ -1,238 +0,0 @@ -/* Copyright 2019 Stefano Marago' - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -/* - * The 25% SuperMicro keyboard: a pure - full features - "Alpha 26" keymap on Gherkin, compatible also with 28 and 30 keys layouts - * See https://github.com/stevexyz/qmk_firmware/blob/master/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md for more information - */ - - -#include QMK_KEYBOARD_H - -enum layers { - LAYER_HOME, // home base layer - LAYER_FUNC, // function keys and cursors - LAYER_NUMSYM, // numbers and other characters - LAYER_SYST, // media, mouse and other system keys - LAYER_ARROWPAD, - LAYER_NUMPAD, - LAYER_MEDIAPAD, -}; - -enum custom_keycodes { - CK_TRIPLEZERO = SAFE_RANGE, -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - * LEGEND: - * - * ,--------------------------------. - * | Top row: shifted character | - * | Central row: standard char | - * | Bottom row: hold modifier | - * `--------------------------------' - * - * "____" means free to be assigned - * - */ - -/* Qwerty Home Layer - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | Q | W | E | R | T | Y | U | I | O | P | - * | ____ | ____ | ____ | ____ | ____ | FnNav|NumSym| Alt | Ctrl | Shift| - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * | A | S | D | F | G | H | J | K | L | Enter| - * | Shift| FnNav|NumSym| AltGr| OSkey| OSkey| AltGr| FnNav|NumSym| Shift| - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | Z | X | C | V | B | N | M | Space| - * | Ctrl | Alt | FnNav|NumSym| Shift| Alt | Ctrl | Shift| - * '-------------------------------------------------------' - */ - [LAYER_HOME] = LAYOUT_ortho_3x10( - LT(LAYER_ARROWPAD, KC_Q), LT(LAYER_NUMPAD, KC_W), LT(LAYER_MEDIAPAD, KC_E), KC_R, KC_T, LT(LAYER_FUNC, KC_Y), LT(LAYER_NUMSYM, KC_U), MT(MOD_LALT, KC_I), MT(MOD_RCTL, KC_O), MT(MOD_RSFT, KC_P), - MT(MOD_LSFT, KC_A), LT(LAYER_FUNC, KC_S), LT(LAYER_NUMSYM, KC_D), MT(MOD_RALT, KC_F), MT(MOD_LGUI, KC_G), MT(MOD_RGUI, KC_H), MT(MOD_RALT, KC_J), LT(LAYER_FUNC, KC_K), LT(LAYER_NUMSYM, KC_L), MT(MOD_RSFT, KC_ENT), - KC_DOWN, MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(LAYER_FUNC, KC_C), LT(LAYER_NUMSYM, KC_V), MT(MOD_LSFT, KC_B), MT(MOD_LALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_RSFT, KC_SPC), KC_BSPC - ), - -/* Function and Navigation Layer - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | - * | ____ | ____ | ____ | ____ | ____ | ____ |SysLay| Alt | Ctrl | Shift| - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * | ESC | Home | PgDn | PgUp | End | Left | Down | Up | Right|Backsp| - * | Shift| ____ |SysLay| AltGr| OSkey| OSkey| AltGr| ____ |SysLay| Shift| - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | F11 | F12 | | Space|PrnScr|ScrLck|Pause |Backsp| - * | Ctrl | Alt | ____ |SysLay| Shift| Alt | Ctrl | Shift| - * '-------------------------------------------------------' - */ - [LAYER_FUNC] = LAYOUT_ortho_3x10( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, LT(LAYER_SYST, KC_F7), MT(MOD_LALT, KC_F8), MT(MOD_RCTL,KC_F9), MT(MOD_RSFT, KC_F10), - MT(MOD_LSFT, KC_ESC), KC_HOME, LT(LAYER_SYST, KC_PGDN), MT(MOD_RALT, KC_PGUP), MT(MOD_LGUI, KC_END), MT(MOD_RGUI, KC_LEFT), MT(MOD_RALT, KC_DOWN), KC_UP, LT(LAYER_SYST, KC_RGHT), MT(MOD_RSFT, KC_BSPC), - KC_DOWN, MT(KC_LCTL, KC_F11), MT(KC_LALT, KC_F12), KC_NO, LT(LAYER_SYST, KC_SPACE), MT(KC_LSFT, KC_PSCR), MT(KC_LALT, KC_SCRL), MT(KC_RCTL, KC_PAUS), MT(MOD_RSFT, KC_BSPC), KC_UP - ), - -/* Number and Symbols Layer - * ,---------------------------------------------------------------------. - * | ! | @ | # | $ | % | ^ | & | * | ( | ) | - * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - * | ____ | ____ | ____ | ____ | ____ |SysLay| ____ | Alt | Ctrl | Shift| - * |------+------+------+------+-------------+------+------+------+------| - * | | ~ | _ | + | { | } | | | : | " | | - * | TAB | ` | - | = | [ | ] | \ | ; | ' | Del | - * | Shift|SysLay| ____ | AltGr| OSkey| OSkey| AltGr|SysLay| ____ | Shift| - * ' -----+------+------+------+------+------|------+------+------+------' - * | | | | | < | > | ? | | - * |BackSp| Del | Enter| | , | . | / | Enter| - * | Ctrl | Alt |SysLay| ____ | Shift| Alt | Ctrl | Shift| - * '-------------------------------------------------------' - */ - [LAYER_NUMSYM] = LAYOUT_ortho_3x10( - KC_1, KC_2, KC_3, KC_4, KC_5, LT(LAYER_SYST, KC_6), KC_7, MT(MOD_LALT, KC_8), MT(MOD_RCTL,KC_9), MT(MOD_RSFT, KC_0), - MT(MOD_LSFT, KC_TAB), LT(LAYER_SYST, KC_GRV), KC_MINS, MT(MOD_RALT, KC_EQL), MT(MOD_LGUI, KC_LBRC), MT(MOD_RGUI, KC_RBRC), MT(MOD_RALT, KC_BSLS), LT(LAYER_SYST, KC_SCLN), KC_QUOT, MT(MOD_RSFT, KC_DEL), - KC_LEFT, MT(KC_LCTL, KC_BSPC), MT(KC_LALT, KC_DEL), LT(LAYER_SYST, KC_ENT), KC_NO, MT(MOD_LSFT, KC_COMM), MT(MOD_LALT, KC_DOT), MT(MOD_RCTL, KC_SLSH), MT(MOD_RSFT, KC_ENT), KC_RGHT - ), - -/* System Layer - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | Play | Stop | Prev | Next |MsBtn1|MsLeft|MSDown| MsUp |MsRigh|MsBtn2| - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift| - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * |Backsp| Mute | Vol- | Vol+ |MsWhlD| Left | Down | Up | Right|Backsp| - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | ____ | ____ | Enter| Space| Mute | Vol- | Vol+ | Space| - * | Ctrl | Alt | ____ | ____ | Shift| Alt | Ctrl | ____ | - * '-------------------------------------------------------' - */ - [LAYER_SYST] = LAYOUT_ortho_3x10( - KC_MPLY, KC_STOP, KC_MPRV, KC_MNXT, KC_MS_BTN1, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, MT(MOD_RSFT, KC_MS_BTN2), - KC_BSPC, KC_DEL, KC_PGDN, KC_PGUP, KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BSPC, - KC_PGDN, MT(KC_LCTL, KC_CAPS), MT(KC_LALT, KC_INS), KC_ENT, KC_SPC, MT(MOD_RSFT, KC_MUTE), MT(MOD_LALT, KC_VOLD), MT(MOD_RCTL, KC_VOLU), KC_SPC, KC_PGUP - ), - - /* ArrowPad (mod su Q) /------mouse-------\ /-----cursor-------\ - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | | | |MsBtn1| MsUp |MsBtn2| Home | Up | PgUp |Backsp| - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * | | | |MsLeft|MsDown|MsRigh| Left | Down | Right| Enter| - * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | | |MsWhlU|MsDown|MsWhlD| End | PgDn | PgDn | - * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ | - * '-------------------------------------------------------' - */ - [LAYER_ARROWPAD] = LAYOUT_ortho_3x10( - KC_NO, KC_NO, KC_NO, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_HOME, KC_UP, KC_PGUP, KC_BSPC, - KC_LSFT, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - XXXXXXX, KC_LCTL, KC_LALT, KC_MS_WH_UP, KC_MS_DOWN, KC_MS_WH_DOWN, KC_END, KC_PGDN, KC_PGDN, XXXXXXX - ), - -/* NumPad (mod su W) - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | | | 3 | * | - |Backsp| 7 | 8 | 9 | 0 | - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * | | | / | = | + | . | 4 | 5 | 6 | Enter| - * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | | | | Tab | , | 1 | 2 | 3 | - * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ | - * '-------------------------------------------------------' - */ - [LAYER_NUMPAD] = LAYOUT_ortho_3x10( - KC_NO, KC_NO, KC_3, KC_KP_ASTERISK, KC_KP_MINUS, KC_BSPC, KC_7, KC_8, KC_9, KC_0, - KC_LSFT, KC_NO, KC_KP_SLASH, KC_KP_EQUAL, KC_KP_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ENT, - XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_TAB, KC_COMM, KC_1, KC_2, KC_3, XXXXXXX - ), - - /* MediaPad (mod su E) - * ,---------------------------------------------------------------------. - * | | | | | | | | | | | - * | | | | | | | | Vol+ | | | - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * |------+------+------+------+-------------+------+------+------+------| - * | | | | | | | | | | | - * | | | | | | | Prev | Play | Next | | - * | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | - * '------+------+------+------+------+------|------+------+------+------' - * | | | | | | | | | - * | | | | | | Mute | Vol- | | - * | Ctrl | Alt | ____ | ____ | ____ | ____ | ____ | ____ | - * '-------------------------------------------------------' - */ - [LAYER_MEDIAPAD] = LAYOUT_ortho_3x10( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, - XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_NO, XXXXXXX - ), - -}; - - -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_led_state().num_lock) { - tap_code(KC_NUM_LOCK); - } -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case CK_TRIPLEZERO: - if (record->event.pressed) { - SEND_STRING("000"); - } // else { when released } - break; - } - return true; -}; - -void keyboard_pre_init_user(void) { - // Set our LED pins as output - setPinOutput(D5); - setPinOutput(B0); -} - -bool led_update_user(led_t led_state) { - writePin(D5, !led_state.num_lock); - writePin(B0, !led_state.caps_lock); - return false; // prevent keyboard from processing state -} diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md b/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md deleted file mode 100644 index 8fe7a60679e2..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# The 25% SuperMicro keyboard -## A full featured keymap on Gherkin compatible with a pure "Alpha 26" layout - -With this configuration the "SuperMicro" layout first experimented on the plank-like jj40 is being ported to a more proper board, and with the last changes, this layout has been made compatible also to a "26 keys" one. So you can now choose to leave all 30 keys on the keyboard, or remove the two on the bottom line corners to have the "old" and comfortable 28 keys layout, or remove also space and enter to have the simplest "pure alpha" one! And even the intermediate 27 keys one is an interesting compatible option! - -This keymap is for a generic usage, trying to avoid as much gimmick as possible (considering the number of keys) and retain muscle memory from people used to the standard Qwerty 104 keys one. Functions and numbers (with related symbols) are on the first row as expected; other examples of design coherency include the symbols on the central row laid out in the same order as you'll find on a standard full keyboard, and the cursor movement aligned to the common unix vi standard ("hjkl", and for symmetry "sdfg" for home/pgdn/pgup/end). I've personally used this layout for months on my home PC in parallel to my portable work PC. - -Relying just on the alphabetic keys this layout can be also very easily ported and tested on any qmk supported keyboard (ok, butterstick excluded). - -The image below explains the main layers activated respectively with F, N or both modifiers pressed together. In addition to them there are available 5 layers that can be personalized as needed or completely removed without losing any functionality; three of them are currently setup in the default keymap for cursors/mouse, numpad and media (activated with q, w and e respectively). - -![layers](https://github.com/stevexyz/qmk_firmware/blob/master/keyboards/40percentclub/gherkin/keymaps/stevexyz/newlayout26272830.jpg) - -![prototype](https://github.com/stevexyz/qmk_firmware/blob/master/keyboards/40percentclub/gherkin/keymaps/stevexyz/gherkin28.jpeg) - -Happy hacking! -_Stefano diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk b/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk deleted file mode 100644 index b693b8e30592..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Build Options (yes/no) -# -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 -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -TAP_DANCE_ENABLE = no -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend (it uses the same timer as BACKLIGHT_ENABLE) - -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h deleted file mode 100644 index 271f48d0011b..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -// place overrides here diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c deleted file mode 100644 index 111264c37822..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_steno.h" - -#define ST_BOLT QK_STENO_BOLT -#define ST_GEM QK_STENO_GEMINI - -enum keyboard_layers { - _QWERTY, - _RAISE, - _LOWER, - _PLOVER, - _ADJUST -}; - -#define ADJ_Z LT(_ADJUST, KC_Z) -#define RS_BSPC LT(_RAISE, KC_BSPC) -#define LW_SPC LT(_LOWER, KC_SPC) -#define MO_ADJ MO(_ADJUST) -#define TG_PLV TG(_PLOVER) -#define OS_LCTL OSM(MOD_LCTL) -#define OS_LALT OSM(MOD_LALT) -#define OS_LGUI OSM(MOD_LGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_ortho_3x10( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_RSFT, - ADJ_Z, KC_X, KC_C, KC_V, RS_BSPC, LW_SPC, KC_B, KC_N, KC_M, KC_ENT - ), - - [_RAISE] = LAYOUT_ortho_3x10( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_ESC, KC_MINS, KC_EQL, _______, KC_LBRC, KC_RBRC, _______, KC_QUOT, KC_SCLN, _______, - OS_LCTL, OS_LGUI, OS_LALT, KC_GRV, _______, KC_TAB, KC_BSLS, KC_COMM, KC_DOT, KC_SLSH - ), - - [_LOWER] = LAYOUT_ortho_3x10( - KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, - KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, - KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, OS_LALT, OS_LGUI, OS_LCTL, KC_CAPS - ), - - [_PLOVER] = LAYOUT_ortho_3x10( - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, - MO_ADJ, STN_NUM, STN_A, STN_O, STN_NUM, STN_E, STN_U, STN_NUM, STN_NUM, XXXXXXX - ), - - [_ADJUST] = LAYOUT_ortho_3x10( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ST_BOLT, ST_GEM, TG_PLV, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT - ), - -}; diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/rules.mk b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/rules.mk deleted file mode 100644 index a64c606ae754..000000000000 --- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h deleted file mode 100644 index be51c48d8afa..000000000000 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2019 Boy_314 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define PERMISSIVE_HOLD -#define TAPPING_TERM 200 diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c deleted file mode 100644 index 128802ca597d..000000000000 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c +++ /dev/null @@ -1,173 +0,0 @@ -/* Copyright 2019 Boy_314 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_SWAP_LAYERS = 0 -}; - -enum layers { - _DVORAK, - _QWERTY, - _LOWER, - _RAISE, -}; - -enum halfnhalf_keycodes { - NEWTAB = SAFE_RANGE, - ALTF4, - CLSTAB, - PRVWIN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* DVORAK - * ,-------------------------------------------------------------------------------------------------. - * |Tab |' |, |. |P |Y |Brght+|= |F |G |C |R |L |Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |CtlCps|A |O |E |U |I |Brght-|Ctrl+F|D |H |T |N |S |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |LShift|; |Q |J |K |X |LAlt |- |B |M |W |V |Z |RShift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |TD Swap Layer| |Space | - * `-------------' `-------------' - */ - [_DVORAK] = LAYOUT(/* Base Dvorak */ - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BRIU, KC_EQL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, - LCTL_T(KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_BRID, LCTL(KC_F), KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT, - SC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_MINS, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC, - TD(TD_SWAP_LAYERS), KC_SPC - ), - - /* QWERTY - * ,-------------------------------------------------------------------------------------------------. - * |Tab |Q |W |E |R |T |Brght+|' |Y |U |I |O |P |Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |CtlCps|A |S |D |F |G |Brght-|Ctrl+F|H |J |K |L |; |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |LShift|Z |X |C |V |B |LAlt |- |N |M |, |. |/ |RShift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |TD Swap Layer| |Space | - * `-------------' `-------------' - */ - [_QWERTY] = LAYOUT(/* Base Qwerty */ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BRIU, KC_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LCTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_BRID, LCTL(KC_F), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_MINS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - TD(TD_SWAP_LAYERS), KC_SPC - ), - - /* LOWER - * ,-------------------------------------------------------------------------------------------------. - * |Esc |1 |2 |3 |4 |5 | | |6 |7 |8 |9 |0 |/ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Caps |F1 |F2 |F3 |F4 |F5 |F6 |Vol Up|Play |_ |+ |{ |} || | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | |F7 |F8 |F9 |F10 |F11 |F12 |Vol Dn|Next |Home |PgDn |PgUp |End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | - * `-------------' `-------------' - */ - [_LOWER] = LAYOUT(/* Numbers, Function Row, Media Control, Shifted Symbols, Dvorak Slash Key */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, - KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_VOLU, KC_MPLY, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_MNXT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, - KC_TRNS, KC_TRNS - ), - - /* RAISE - * ,-------------------------------------------------------------------------------------------------. - * |Reset | | |Up | | | |PRVWIN|CLSTAB| | | | |Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |` | |Left |Down |Right | | |NEWTAB|ALTF4 |- |= |[ |] |\ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | |! |@ |# |$ |% | | |^ |& |* |( |) | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | - * `-------------' `-------------' - */ - [_RAISE] = LAYOUT(/* Arrows, Shifted Numbers, Symbols, Delete, Macros */ - QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, PRVWIN, CLSTAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, - KC_GRV, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, NEWTAB, ALTF4, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_TRNS, KC_TRNS - ) -}; - -void tap_dance_choose_layer (tap_dance_state_t *state, void *user_data) { - switch (state->count) { - case 1: - layer_on(_LOWER); - break; - case 2: - layer_on(_RAISE); - break; - } -} - -void tap_dance_choose_layer_reset (tap_dance_state_t *state, void *user_data) { - switch (state->count) { - case 1: - layer_off(_LOWER); - break; - case 2: - layer_off(_RAISE); - break; - case 3: - if (get_highest_layer(default_layer_state) == _DVORAK) { - set_single_persistent_default_layer(_QWERTY); - } - else if (get_highest_layer(default_layer_state) == _QWERTY) { - set_single_persistent_default_layer(_DVORAK); - } - break; - } -} - -tap_dance_action_t tap_dance_actions[] = { - [TD_SWAP_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_choose_layer, tap_dance_choose_layer_reset) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // Control + T - case NEWTAB: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("t")); - } - break; - // Alt + F4 - case ALTF4: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT)SS_TAP(X_F4)SS_UP(X_LALT)); - } - break; - // Control + W - case CLSTAB: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("w")); - } - break; - // Control + Shift + N - case PRVWIN: - if (record->event.pressed) { - SEND_STRING(SS_LCTL(SS_LSFT("n"))); - } - break; - } - return true; -} diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/readme.md b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/readme.md deleted file mode 100644 index 9eff08b5ea43..000000000000 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# Boy_314's keymap for half_n_half -# Currently only supports DVORAK. QWERTY Support is on the TODO list. \ No newline at end of file diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/rules.mk b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/rules.mk deleted file mode 100644 index 59c7ccf82752..000000000000 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -TAP_DANCE_ENABLE = yes # Enable Tap Dance -NKRO_ENABLE = yes # USB Nkey Rollover - -# Enable generic behavior for split boards -SPLIT_KEYBOARD = yes \ No newline at end of file diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h index e388bc970567..5f360813239b 100644 --- a/keyboards/40percentclub/luddite/config.h +++ b/keyboards/40percentclub/luddite/config.h @@ -5,19 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -# 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 -#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 eb5c0e4a9d7c..a8c8c13b2a5f 100644 --- a/keyboards/40percentclub/luddite/info.json +++ b/keyboards/40percentclub/luddite/info.json @@ -17,6 +17,21 @@ "pin": "B5", "levels": 4 }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/config.h b/keyboards/40percentclub/mf68/keymaps/68keys/config.h deleted file mode 100644 index 66e7bbed9935..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/config.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -/* USB Device descriptor parameter */ -#undef VENDOR_ID -#undef PRODUCT_ID -#undef DEVICE_VER -#undef MANUFACTURER -#undef PRODUCT -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0068 -#define MANUFACTURER "68Keys.io" -#define PRODUCT "The 68Keys.io Keyboard" diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c b/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c deleted file mode 100644 index 0227f26937b4..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c +++ /dev/null @@ -1,11 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_68_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_ESC, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/readme.md b/keyboards/40percentclub/mf68/keymaps/68keys/readme.md deleted file mode 100644 index 4b7cdf125913..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# 68Keys.io - -Custom [68Keys.io](https://68keys.io) DIY keyboard. - -Keymap Maintainer: [sbstjn](https://sbstjn.com) -Hardware Supported: mf68 -Hardware Availability: [DIY Guide](https://68keys.io) - -Make example for this keyboard (after setting up your build environment): - -```bash -$ > cd qmk_firmware/ -$ > make 40percentclub/mf68:68keys -``` - -Example of flashing this keyboard: - -```bash -$ > cd qmk_firmware/ -$ > make 40percentclub/mf68:68keys:avrdude -``` - -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/40percentclub/mf68/keymaps/68keys/rules.mk b/keyboards/40percentclub/mf68/keymaps/68keys/rules.mk deleted file mode 100644 index 96ce13fe73fe..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -BOOTLOADER = atmel-dfu - -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -BACKLIGHT_ENABLE = no diff --git a/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c b/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c deleted file mode 100644 index 793fb336b0cd..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c +++ /dev/null @@ -1,144 +0,0 @@ -/* -Copyright 2020 Andy Jack - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY, - _L1, - _L2 -}; - -#define CTL_ESC LCTL_T(KC_ESC) - -/* these key combos are mapped to shell commands in my .keylaunchrc */ -#define MUT_IN LALT(KC_F10) -#define MUT_OUT LALT(KC_F11) -#define MUT_MIC LALT(KC_F12) -#define SCN_LCK LCTL(KC_SCRL) - -extern keymap_config_t keymap_config; - -enum custom_keycodes { - AJ_FN = SAFE_RANGE, - AJ_RCTL, - AJ_MSWP, - AJ_MLCK, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_68_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN, - CTL_ESC, KC_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, AJ_FN, AJ_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_L1] = LAYOUT_68_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_BSPC, KC_VOLU, KC_HOME, - _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, MUT_IN , MUT_OUT, MUT_MIC, _______, _______, BL_STEP, _______, KC_VOLD, KC_END, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, SCN_LCK, _______, _______, _______, - _______, _______, _______, _______, KC_BTN3, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE, - _______, AJ_MLCK, AJ_MSWP, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT - ), - [_L2] = LAYOUT_68_ansi( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_VOLU, KC_HOME, - _______, _______, _______, KC_UP, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_VOLD, KC_END, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT - ) -}; -// clang-format on - -static bool aj_fn_down = false; -static bool aj_rctl_down = false; -static uint8_t keycode_for_aj_rctl; - -/* My version of: - https://www.reddit.com/r/olkb/comments/8eticz/how_to_activate_a_layer_with_a_combination/dxygw0f/ -* AJ_FN by itself turns on layer 1 -* AJ_RCTL by itself acts as a control key -* pressing FN and RCTL together, in any order, turns on layer 2 -*/ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case AJ_FN: - if (record->event.pressed) { - if (aj_rctl_down) { - layer_on(_L2); - } else { - layer_on(_L1); - } - aj_fn_down = true; - } else { - layer_off(_L1); - layer_off(_L2); - aj_fn_down = false; - } - return false; - break; - case AJ_RCTL: - if (record->event.pressed) { - if (aj_fn_down) { - layer_on(_L2); - } else { - register_code(keycode_for_aj_rctl); - } - aj_rctl_down = true; - } else { - layer_off(_L2); - unregister_code(keycode_for_aj_rctl); - aj_rctl_down = false; - } - return false; - break; - case AJ_MSWP: - case AJ_MLCK: - if (record->event.pressed) { - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - switch (keycode) { - case AJ_MSWP: - keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui; - keymap_config.swap_ralt_rgui = keymap_config.swap_lalt_lgui; - keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL; - break; - case AJ_MLCK: - keymap_config.no_gui = !keymap_config.no_gui; - break; - } - eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // clear to prevent stuck keys - } - return false; - break; - } - return true; -} - -void keyboard_post_init_user(void) { - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL; - eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // clear to prevent stuck keys -} diff --git a/keyboards/40percentclub/mf68/keymaps/andyjack/readme.md b/keyboards/40percentclub/mf68/keymaps/andyjack/readme.md deleted file mode 100644 index 17a9d9e90fdc..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/andyjack/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -## Customizations from the `default` keymap - -* caps lock is left ctrl / press & release for escape -* keyboard LED brightness control - Fn + ] (same as default) -* bootmagic: - * ability to swap keys - for moving between mac and win/linux - * for win/linux - keys are as labeled in layer 0; AJ_RCTL is right ctl - * for mac: - * LALT and LGUI swapped - * RALT key sends RGUI code - * AJ_RCTL key sends RALT code - * layer 2 access via Fn + AJ_RCTL pressed in any order - * regardless of swapped state - * ability to disable left gui -* Fn + v sends a middle mouse click - nice for pasting the mouse selection in - linux - I always mess up and scroll while clicking - * note: the mouse cursor has to be placed at the insert point -* mapping some Fn + key combinations to program launch shortcuts - - diff --git a/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk b/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk deleted file mode 100644 index a124bde758d5..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -MOUSEKEY_ENABLE = yes -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h deleted file mode 100644 index 50c64b4b51d7..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Dan's Magicforce 68 (MF68) QMK Keyboard - * Copyright (C) Dan - * - * This file is part of Dan's MF68 QMK Keyboard. - * - * Dan's MF68 QMK Keyboard is free software: you can 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. - * - * Dan's MF68 QMK Keyboard is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Dan's MF68 QMK Keyboard. If not, see . - */ - -#pragma once - -#undef MANUFACTURER -#define MANUFACTURER "Dan" - -#undef PRODUCT -#define PRODUCT "Magicforce 68 QMK" - -#undef BACKLIGHT_LEVELS -#define BACKLIGHT_LEVELS 20 - -// Disable backlight breathing -#undef BACKLIGHT_BREATHING - -// Set USB polling rate to 1000 Hz -#define USB_POLLING_INTERVAL_MS 1 - -// Enable NKRO on boot -#define FORCE_NKRO - -// Backlight idle timeout in seconds -#define BACKLIGHT_IDLE_TIMEOUT 1200 \ No newline at end of file diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c deleted file mode 100644 index c3e359e24ea5..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Dan's Magicforce 68 (MF68) QMK Keyboard - * Copyright (C) Dan - * - * This file is part of Dan's MF68 QMK Keyboard. - * - * Dan's MF68 QMK Keyboard is free software: you can 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. - * - * Dan's MF68 QMK Keyboard is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Dan's MF68 QMK Keyboard. If not, see . - */ - -#include QMK_KEYBOARD_H - -#define KC_FN1 MO(_FN) -#define KC_FN2 LT(_FN, KC_CAPS) - -#define KC_BLUP BL_UP // Backlight increase -#define KC_BLDN BL_DOWN // Backlight decrease -#define KC_BLTOG BL_TOGG // Backlight toggle -#define KC_REC1 DM_REC1 // Record macro 1 -#define KC_PLY1 DM_PLY1 // Play macro 1 -#define KC_REC2 DM_REC2 // Record macro 2 -#define KC_PLY2 DM_PLY2 // Play macro 1 -#define KC_RSTP DM_RSTP // Stop macro recording - -enum { - _QWERTY, - _FN -}; - -/* ┏━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━━━━━┓ ┏━━━━â”ģ━━━━┓ - ┃Esc ┃ 1! ┃ 2@ ┃ 3# ┃ 4$ ┃ 5% ┃ 6^ ┃ 7& ┃ 8* ┃ 9( ┃ 0) ┃ -_ ┃ =+ ┃ ←─ ┃ ┃Ins ┃PgUp┃ - â”Ģ━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━━━━━â”Ŧ â”Ģ━━━━╋━━━━â”Ŧ - ┃ Tab ┃ Q ┃ W ┃ E ┃ R ┃ T ┃ Y ┃ U ┃ I ┃ O ┃ P ┃ [{ ┃ ]} ┃ \| ┃ ┃Del ┃PgDn┃ - â”Ģ━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━â”Ŧ ┗━━━━â”ŧ━━━━┛ - ┃ Caps ┃ A ┃ S ┃ D ┃ F ┃ G ┃ H ┃ J ┃ K ┃ L ┃ ;: ┃ '" ┃ Enter ┃ Magicforce - â”Ģ━━━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━━━━â”Ŧ ┏━━━━┓ - ┃ Shift ┃ Z ┃ X ┃ C ┃ V ┃ B ┃ N ┃ M ┃ ,< ┃ .> ┃ /? ┃ Shift ┃ ┃ ↑ ┃ Dan - â”Ģ━━━━━â”ģ━━━━â”ŧâ”ģ━━━â”ŧ━â”ģ━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━â”ģâ”ŧ━━━━╋━━━━â”ŧâ”ģ━━━━━â”ģ━━â”ģ━━â”ŧ━╋━━━━╋━━━━┓ - ┃Ctrl ┃ GUI ┃ Alt ┃ ━━━━━ ┃ Alt ┃ Fn ┃Ctrl ┃ ┃ ← ┃ ↓ ┃ → ┃ - ┗━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━┛ ┗━━━━â”ŧ━━━━â”ŧ━━━━┛ */ - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_68_ansi( /* Default layer - ┏━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━━━━━┓ ┏━━━━â”ģ━━━━┓ */ - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS,KC_EQL , KC_BSPC , KC_INS ,KC_PGUP, /* - â”Ģ━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━━━━━â”Ŧ â”Ģ━━━━╋━━━━â”Ŧ */ - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_LBRC,KC_RBRC, KC_BSLS , KC_DEL ,KC_PGDN, /* - â”Ģ━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━â”Ŧ ┗━━━━â”ŧ━━━━┛ */ - KC_FN2 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER , /* - â”Ģ━━━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━━━━â”Ŧ ┏━━━━┓ */ - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_RSFT , KC_UP , /* - â”Ģ━━━━━â”ģ━━━━â”ŧâ”ģ━━━â”ŧ━â”ģ━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━â”ģâ”ŧ━━━━╋━━━━â”ŧâ”ģ━━━━━â”ģ━━â”ģ━━â”ŧ━╋━━━━╋━━━━┓ */ - KC_LCTL ,KC_LGUI ,KC_LALT , KC_SPACE ,KC_RALT , KC_FN1 ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT /* - ┗━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━┛ ┗━━━━â”ŧ━━━━â”ŧ━━━━┛ */), - -[_FN] = LAYOUT_68_ansi( /* FN & CAPS layer - ┏━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━━━━━┓ ┏━━━━â”ģ━━━━┓ */ - 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_RSTP , KC_PSCR,KC_HOME, /* - â”ĢEsc â”ŧ 1! â”ŧ 2@ â”ŧ 3# â”ŧ 4$ â”ŧ 5% â”ŧ 6^ â”ŧ 7& â”ŧ 8* â”ŧ 9( â”ŧ 0) â”ŧ -_ â”ŧ =+ â”ŧ━â”ģ━ ←─ ━â”Ŧ â”ĢIns ╋PgUpâ”Ŧ */ - _______ ,KC_PLY1,KC_PLY2,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_BLDN,KC_BLUP,KC_BLTOG ,KC_TRNS ,KC_END , /* - â”Ģ Tab ━â”ŧ Q ━â”ŧ W ━â”ŧ E ━â”ŧ R ━â”ŧ T ━â”ŧ Y ━â”ŧ U ━â”ŧ I ━â”ŧ O ━â”ŧ P ━â”ŧ [{ â”ŧ ]} â”ŧ━ \| ━â”Ŧ ┗Del â”ŧPgDn┛ */ - _______ ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS, KC_TRNS , /* - â”Ģ━ Caps ━â”ŧ A ━â”ŧ S ━â”ŧ D ━â”ŧ F ━â”ŧ G ━â”ŧ H ━â”ŧ J ━â”ŧ K ━â”ŧ L ━â”ŧ ;: â”ŧ '" â”ŧ━ Enter ━â”Ŧ ┏━━━━┓ */ - _______ ,KC_REC1,KC_REC2,KC_TRNS,KC_TRNS,KC_MSTP,KC_TRNS,KC_MUTE, KC_1 , KC_2 , KC_3 ,KC_TRNS , KC_VOLU, /* - â”Ģ━━ Shift ━â”ŧ Z ━â”ŧ X ━â”ŧ C ━â”ŧ V ━â”ŧ B ━â”ŧ N ━â”ŧ M ━â”ŧ ,< â”ŧ .> ╋ /? â”ŧâ”ģ━━ Shift ━━â”ŧ━╋ ↑ ━╋━━━━┓ */ - _______,KC_TRNS ,KC_TRNS , KC_MPLY , KC_0 ,KC_TRNS ,KC_TRNS , KC_MPRV,KC_VOLD,KC_MNXT /* - ┗Ctrl â”ŧ GUI â”ŧ Alt â”ŧ━━━━━━━━━━━━ Space ━━━━━━━━━━━━â”ŧ Alt â”ŧ Fn ━â”ŧCtrl ┛ ┗ ← ━â”ŧ ↓ ━â”ŧ → ━┛ */) -}; -// clang-format on - -// Initialization code -// ------------------- - -void keyboard_post_init_user(void) { - backlight_level(2); -} - -// Custom backlight driver -// ----------------------- - -// http://jared.geek.nz/2013/feb/linear-led-pwm -float cie1931(float x) { - x *= 100.0 / BACKLIGHT_LEVELS; - float y; - - if (x < 8) { - y = x / 902.3; - } else { - y = (x + 16.0) / 116.0; - y = y * y * y; - } - - return round(y * 255); -} - -void backlight_init_ports(void) { - setPinOutput(BACKLIGHT_PIN); - writePinLow(BACKLIGHT_PIN); - - TCCR1A = _BV(COM1A1) | _BV(WGM11); - TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); - - ICR1 = 0xFFU; // Set PWM levels to 255 (enables high-frequency PWM) -} - -void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) { - level = BACKLIGHT_LEVELS; - } - - if (level == 0) { - TCCR1A &= ~(_BV(COM1A1)); // Disable PWM - } else { - TCCR1A |= _BV(COM1A1); // Enable PWM - } - - OCR1A = cie1931(level); -} - -// Custom macro hooks -// ------------------ - -// Redefine with lower delay -void led_blink(void) { - backlight_toggle(); - wait_ms(25); - backlight_toggle(); -} - -void dynamic_macro_record_start_user(int8_t direction) { - led_blink(); -} - -void dynamic_macro_play_user(int8_t direction) { - led_blink(); -} - -void dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record) { - led_blink(); -} - -void dynamic_macro_record_end_user(int8_t direction) { - led_blink(); -} - -// Custom Caps Lock backlight behaviour -// ------------------------------------ - -void led_set_user(uint8_t usb_led) { - // 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); - - if (prev_is_caps_on != is_caps_on) { - prev_is_caps_on = is_caps_on; - - if (is_caps_on) { - backlight_set(BACKLIGHT_LEVELS / 2); - } else { - if (is_backlight_enabled()) { - backlight_set(get_backlight_level()); - } else { - backlight_set(0); - } - } - } - - // Turn on the Pro Micro's on-board LEDs for Caps Lock - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - // Set to low - setPinOutput(B0); - writePinLow(B0); - setPinOutput(D5); - writePinLow(D5); - } else { - // Set to Hi-Z - setPinInput(B0); - setPinInput(D5); - } -} - -// Backlight idle timeout feature -// ------------------------------ - -static uint32_t timer; -static bool is_idle; - -void matrix_scan_user(void) { - // Check the timer only if the keyboard is not idle - if (!is_idle) { - if (timer_elapsed32(timer) >= (uint32_t) BACKLIGHT_IDLE_TIMEOUT * 1000) { - is_idle = true; - - // Both backlight_level and backlight_level_noeeprom modify the global backlight config (not useful) - // Instead, use backlight_set in order to restore the current backlight level later on - backlight_set(0); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // Reset timer on each keypress - timer = timer_read32(); - - // Enable backlight back only when keyboard is idling (which implies the backlight was turned off previously) - if (is_idle) { - is_idle = false; - - // Set back the original backlight level only if it is actually enabled globally - if (is_backlight_enabled()) { - // The current backlight level can be obtained with get_backlight_level - backlight_set(get_backlight_level()); - } - } - - return true; -} diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/readme.md b/keyboards/40percentclub/mf68/keymaps/delivrance/readme.md deleted file mode 100644 index 158235b5ef30..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# Dan's Magicforce 68 (MF68) QMK Keyboard - -> https://github.com/delivrance - -``` -┏━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━â”ģ━━━━━━━━┓ ┏━━━━â”ģ━━━━┓ -┃Esc ┃ 1! ┃ 2@ ┃ 3# ┃ 4$ ┃ 5% ┃ 6^ ┃ 7& ┃ 8* ┃ 9( ┃ 0) ┃ -_ ┃ =+ ┃ ←─ ┃ ┃Ins ┃PgUp┃ -â”Ģ━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━━━━━â”Ŧ â”Ģ━━━━╋━━━━â”Ŧ -┃ Tab ┃ Q ┃ W ┃ E ┃ R ┃ T ┃ Y ┃ U ┃ I ┃ O ┃ P ┃ [{ ┃ ]} ┃ \| ┃ ┃Del ┃PgDn┃ -â”Ģ━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━â”Ŧ ┗━━━━â”ŧ━━━━┛ -┃ Caps ┃ A ┃ S ┃ D ┃ F ┃ G ┃ H ┃ J ┃ K ┃ L ┃ ;: ┃ '" ┃ Enter ┃ Magicforce -â”Ģ━━━━━━━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━â”ģ━━â”ŧ━━━━━━━━━â”Ŧ ┏━━━━┓ -┃ Shift ┃ Z ┃ X ┃ C ┃ V ┃ B ┃ N ┃ M ┃ ,< ┃ .> ┃ /? ┃ Shift ┃ ┃ ↑ ┃ Dan -â”Ģ━━━━━â”ģ━━━━â”ŧâ”ģ━━━â”ŧ━â”ģ━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━━â”ŧ━━━â”ģâ”ŧ━━━━╋━━━━â”ŧâ”ģ━━━━━â”ģ━━â”ģ━━â”ŧ━╋━━━━╋━━━━┓ -┃Ctrl ┃ GUI ┃ Alt ┃ ━━━━━ ┃ Alt ┃ Fn ┃Ctrl ┃ ┃ ← ┃ ↓ ┃ → ┃ -┗━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━â”ŧ━━━━━â”ŧ━━━━━â”ŧ━━━━━┛ ┗━━━━â”ŧ━━━━â”ŧ━━━━┛ -``` - -## Features - -- Right ALT and FN keys swapped. -- USB Polling rate set to 1000 Hz (1 ms). -- Dynamic macros enabled (2 macros). -- Transient EEPROM to avoid wearing (r/w from/to RAM). -- NKRO enabled on boot (up to 248 keys at once). -- CAPS LOCK key used as alias to the FN key. -- Pro Micro's on-board LEDs used for CAPS LOCK status. -- Backlight also used as CAPS LOCK status indicator. -- Both Grave and Tilde characters embedded in ESC. -- Media control keys and extra number keys (numpad). -- Flicker-free backlight thanks to high-frequency PWM mode. -- Linear backlight brightness intensity (better for human eyes). -- Backlight turns off automatically after 20 minutes idle. -- Backlight brightness levels set to 20 (5% steps) + 1 (off). -- Backlight breathing completely disabled. -- Link Time Optimizations to reduce compiled size. -- QMK Terminal enabled for fun (pretty useless in practice). -- Performing ~1550 matrix scans per second. diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk b/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk deleted file mode 100644 index 3d056cb71bc3..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -BACKLIGHT_DRIVER = custom -NKRO_ENABLE = yes -DYNAMIC_MACRO_ENABLE = yes - -# Use RAM (fake EEPROM, transient) instead of real EEPROM -EEPROM_DRIVER = transient - -# LTO: Link Time Optimizations. Reduce compiled size -LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/config.h b/keyboards/40percentclub/mf68/keymaps/emdarcher/config.h deleted file mode 100644 index e1a6eb1a2b0c..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define GRAVE_ESC_ALT_OVERRIDE diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c b/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c deleted file mode 100644 index ea659979ea86..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QWERTY 0 -#define _FN1 1 -#define _FN2 2 -#define X0 LT(_FN2, KC_CAPS) -#define X1 MO(_FN1) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default layer */ - [_QWERTY] = LAYOUT_68_ansi( - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS, KC_EQL, KC_BSPC, KC_INS ,KC_PGUP, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_LBRC,KC_RBRC, KC_BSLS, KC_DEL ,KC_PGDN, - X0 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER, - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_RSFT, KC_UP , - KC_LCTL ,KC_LALT ,KC_LGUI , KC_SPACE , X1 ,KC_RALT ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT - ), - /* FN Layer */ - [_FN1] = LAYOUT_68_ansi( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , KC_BSPC, KC_VOLU,KC_HOME, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______, KC_VOLD,KC_END, - X0 ,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MFFD, _______, - _______ ,_______,_______,KC_MSTP,KC_MPRV,KC_MNXT,KC_MPLY,KC_VOLD,KC_VOLU,KC_MUTE,_______, _______, _______, - _______ ,_______ ,_______ , _______, _______,_______,_______, _______,_______,_______ - ), - - /* CAPS LOCK layer */ - [_FN2] = LAYOUT_68_ansi( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , KC_BSPC, KC_VOLU,KC_HOME, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_VOLD,KC_END, - _______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,_______,_______, _______, - _______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, - _______ ,_______ ,_______ , _______, _______,_______,_______, _______,_______,_______ - ) -}; - - - -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)){ - //set led pins to low - setPinOutput(B0); - writePinLow(B0); - setPinOutput(D5); - writePinLow(D5); - } else { - //set to Hi-Z - setPinInput(B0); - setPinInput(D5); - } -} diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/readme.md b/keyboards/40percentclub/mf68/keymaps/emdarcher/readme.md deleted file mode 100644 index 75d6d0317c9b..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# emdarcher's MF68 Layout - -A layout mostly based off the factory layout, but with some modifications. Designed for use in a MAC or Unix environment, and has some VIM inspiration. - -- Utilizes the Pro Micro's on board LED's to show the CAPS LOCK status. -- Added Caps Lock for an extra FN layer with VIM like control on hjlk keys. -- Made the ESC key use GESC for functionality for Grave and Tilde with shift or GUI modifiers. -- Added Print Screen, Scroll Lock, and Pause keys on P,[,] keys to add Mac screen brightness control. - * On Mac, Scroll Lock is Brightness Down and Pause is Brightness Up, so with this FN+[ = brighness down, FN+] = brightness up -- Has Mac Fast-forward and Rewind keys mapped for changing media tracks. FN+; = Rewind, FN+' = Fast-forward -- Moved LGUI to the default MAC Command key position. - -Note: By default, this keymap doesn't utilize the backlighting. diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/rules.mk b/keyboards/40percentclub/mf68/keymaps/emdarcher/rules.mk deleted file mode 100644 index 79cbc11ef96e..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ - -BACKLIGHT_ENABLE = no - diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h b/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h deleted file mode 100644 index 1e87c64a7ebb..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/config.h +++ /dev/null @@ -1,36 +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 - - -/* Overrides for Feather 32u4 Bluefruit */ - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#define MATRIX_ROW_PINS { D1, D0, C6, D7, B5, B6, B7, D6 } -#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, D2, D3 } diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c b/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c deleted file mode 100644 index 0002263de517..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QWERTY 0 -#define _FN1 1 -#define _FN2 2 -#define KC_X0 LT(_FN2, KC_GRV) -#define KC_X1 MO(_FN1) -#define KC_X2 BL_STEP - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_68_ansi( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS,KC_EQL , KC_BSPC , KC_INS ,KC_PGUP, - /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| |----`----| */ - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_LBRC,KC_RBRC, KC_BSLS , KC_DEL ,KC_PGDN, - /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| `----`----' */ - KC_X0 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER , - /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| ,----. */ - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_RSFT , KC_UP , - /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */ - KC_LCTL ,KC_LGUI ,KC_LALT , KC_SPACE , KC_X1 ,KC_RALT ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT - /*`-----+-----+-----+------------------------------+------+-----+-----' `----+----+----' */ - ), - - [_FN1] = LAYOUT_68_ansi( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , KC_BSPC , KC_VOLU,KC_HOME, - /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - KC_TRNS,KC_TRNS,KC_TRNS, KC_UP ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_X2 , KC_TRNS, KC_VOLD,KC_END, - /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, - /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_MUTE, - /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV,KC_MPLY,KC_MNXT - /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ - ), - - [_FN2] = LAYOUT_68_ansi( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , KC_BSPC , KC_VOLU,KC_HOME, - /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - KC_TRNS,KC_TRNS,KC_TRNS, KC_UP ,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_VOLD,KC_END, - /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS,KC_TRNS, KC_TRNS, - /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_0 , KC_1 , KC_2 , KC_3 ,KC_TRNS, KC_TRNS, KC_MUTE, - /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV,KC_MPLY,KC_MNXT - /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ - ) -}; diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/readme.md b/keyboards/40percentclub/mf68/keymaps/mf68_ble/readme.md deleted file mode 100644 index e590ae3e6db4..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# mf68_ble - -![mf68_ble](https://i.imgur.com/zuTyy7k.jpg) -=== - -Magicforce 68 with [replacement PCB](https://github.com/di0ib/tmk_keyboard/tree/master/keyboard/mf68) designed by [di0ib](https://github.com/di0ib). - -Keyboard Maintainer: QMK Community -Hardware Supported: [Feather 32u4 Bluefruit](https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/) -Please note: This is 32u4 and not M0 -Hardware Availability: [PCB files](https://github.com/di0ib/tmk_keyboard/tree/master/keyboard/mf68/pcb) -[MF68 thicc case files](https://github.com/harshitgoel96/mf68-case-thicc) -Story ------ - -The story and the idea behind this mod is available on [my reddit post](https://www.reddit.com/r/MechanicalKeyboards/comments/7eiiht/guide_i_built_a_bluetooth_enabled_magicforce68_no/) - -Wiring ------- - -Below is how you wire the Feather to PCB - -![wire map](https://i.imgur.com/zYOjlTA.png) - -Make example for this keyboard (after setting up your build environment): - - make 40percentclub/mf68:mf68_ble - -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/40percentclub/mf68/keymaps/mf68_ble/rules.mk b/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk deleted file mode 100644 index 975c58188334..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Processor frequency -F_CPU = 8000000 - -# Build Options -# change yes to no to disable -# -BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE -BACKLIGHT_ENABLE = no diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h deleted file mode 100644 index 8641d6a37f88..000000000000 --- a/keyboards/40percentclub/nano/config.h +++ /dev/null @@ -1,31 +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 - -/* ws2812 RGB LED */ -# 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 -#define RGBLED_NUM 6 // Number of LEDs diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json index 21e5c2d1d2bb..4cfd3a9a295c 100644 --- a/keyboards/40percentclub/nano/info.json +++ b/keyboards/40percentclub/nano/info.json @@ -8,6 +8,21 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/40percentclub/nano/keymaps/drashna/config.h b/keyboards/40percentclub/nano/keymaps/drashna/config.h deleted file mode 100644 index 411ee8a81bb4..000000000000 --- a/keyboards/40percentclub/nano/keymaps/drashna/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 ANALOG_JOYSTICK_X_AXIS_PIN B4 -#define ANALOG_JOYSTICK_Y_AXIS_PIN B5 - -#define ANALOG_JOYSTICK_CLICK_PIN E6 diff --git a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c deleted file mode 100644 index 04da4d16ec8e..000000000000 --- a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" -#include "analog.h" -#include "pointing_device.h" - -#define KC_X0 LT(_FN, KC_ESC) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_VOLU, KC_MPLY, KC_MPRV, QK_BOOT, - KC_VOLD, KC_MUTE, KC_MNXT, QK_BOOT - ), - -}; -// clang-format on diff --git a/keyboards/40percentclub/nano/keymaps/drashna/rules.mk b/keyboards/40percentclub/nano/keymaps/drashna/rules.mk deleted file mode 100644 index aa7966a8b589..000000000000 --- a/keyboards/40percentclub/nano/keymaps/drashna/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = analog_joystick -RGBLIGHT_ENABLE = no -CONSOLE_ENABLE = no - -BOOTLOADER = qmk-dfu diff --git a/keyboards/40percentclub/nano/keymaps/spooka/config.h b/keyboards/40percentclub/nano/keymaps/spooka/config.h deleted file mode 100644 index e00505cd8bef..000000000000 --- a/keyboards/40percentclub/nano/keymaps/spooka/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2018 Danny Nguyen - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#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 -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/40percentclub/nano/keymaps/spooka/keymap.c b/keyboards/40percentclub/nano/keymaps/spooka/keymap.c deleted file mode 100644 index 7908794fe013..000000000000 --- a/keyboards/40percentclub/nano/keymaps/spooka/keymap.c +++ /dev/null @@ -1,10 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _MAIN 0 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT( - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD - ) -}; diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h index 57981dd27ff8..0fe9b9df213c 100644 --- a/keyboards/40percentclub/nori/config.h +++ b/keyboards/40percentclub/nori/config.h @@ -16,22 +16,6 @@ #pragma once -// enable RGB underglow -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/40percentclub/nori/info.json b/keyboards/40percentclub/nori/info.json index b58ee84edc8d..214d1da2a09e 100644 --- a/keyboards/40percentclub/nori/info.json +++ b/keyboards/40percentclub/nori/info.json @@ -16,6 +16,23 @@ "backlight": { "pin": "B5" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/40percentclub/nori/keymaps/macro/config.h b/keyboards/40percentclub/nori/keymaps/macro/config.h deleted file mode 100644 index 03f34d3f5175..000000000000 --- a/keyboards/40percentclub/nori/keymaps/macro/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#undef RGBLED_NUM -#define RGBLED_NUM 4 diff --git a/keyboards/40percentclub/nori/keymaps/macro/keymap.c b/keyboards/40percentclub/nori/keymaps/macro/keymap.c deleted file mode 100644 index fcb1c3dc83e2..000000000000 --- a/keyboards/40percentclub/nori/keymaps/macro/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_4x4( /* Base */ - KC_INT1, KC_INT2, KC_INT3, KC_INT5, - KC_F13, KC_F14, KC_F15, KC_F16, - KC_F17, KC_F18, KC_F19, KC_F20, - KC_F21, KC_F22, KC_F23, KC_F24 - ), -}; diff --git a/keyboards/40percentclub/nori/keymaps/macro/readme.md b/keyboards/40percentclub/nori/keymaps/macro/readme.md deleted file mode 100644 index de2324248ac7..000000000000 --- a/keyboards/40percentclub/nori/keymaps/macro/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default single board macro keymap for nori diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/config.h b/keyboards/40percentclub/nori/keymaps/wings_36key/config.h deleted file mode 100644 index 0ac12473e046..000000000000 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2018 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RETRO_TAPPING_PER_KEY -#define TAPPING_TERM_PER_KEY - -#define COMBO_TERM 40 // time out for combos in ms -#define TAPPING_TERM 200 // time out for tap-hold in ms diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c b/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c deleted file mode 100644 index fc6b19ff3c6d..000000000000 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum custom_layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -#define _ESC MT(MOD_LGUI, KC_ESC) // escape on tap, gui on hold -#define _SFT MT(MOD_LSFT, KC_ENT) // enter on tap, shift on hold -#define _SPC MT(MOD_LCTL, KC_SPC) // space on tap, ctrl on hold - -const uint16_t PROGMEM df_tab[] = {KC_D, KC_F, COMBO_END}; -const uint16_t PROGMEM jk_alt[] = {KC_J, KC_K, COMBO_END}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* 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 |Raise | | |Lower |Space |Delete| | | - * .-----------------------------------------------------------------------------------. - * esc on tap, gui on hold - * enter on tap, shift on hold - * space on tap, ctl on hold - */ -[_QWERTY] = LAYOUT_ortho_4x12( - KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - XXXXXXX, XXXXXXX, _ESC, _SFT, RAISE, XXXXXXX, XXXXXXX, LOWER, _SPC, KC_BSPC, XXXXXXX, XXXXXXX -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ` | ! | @ | # | $ | | | % | ^ | & | * | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ~ | | | [ | ] | { | | | } | ( | ) | " | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | |Shift | + | = | - | _ | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |RAISE | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_4x12( - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, XXXXXXX, XXXXXXX, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_BSLS, - KC_TILD, KC_PIPE, KC_LBRC, KC_RBRC, KC_LCBR, XXXXXXX, XXXXXXX, KC_RCBR, KC_LPRN, KC_RPRN, KC_DQUO, KC_QUOT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_PLUS, KC_EQL, KC_MINS, KC_UNDS, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | | | | GUI | SFT | CTL | ALT | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | F6 | F7 | F8 | F9 | F10 | | | F11 | F12 | | | Esc | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | |Lower |Space |Delete| | | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_4x12( - KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, KC_LSFT, KC_LCTL, KC_LALT, - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_ESC, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, _SPC, KC_BSPC, XXXXXXX, XXXXXXX -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * |PntSrn| | | PgUp |BrtUp | | | Mute |VolDw |VolUp |Ply/Ps|QK_BOOT | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | PgDw |BrtDw | | | Left | Down | Up |Right | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | Prev | Next | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_4x12( - KC_PSCR, XXXXXXX, XXXXXXX, KC_PGUP, KC_BRIU, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, QK_BOOT, - XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_BRID, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MNXT, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -) -}; - -combo_t key_combos[] = { - COMBO(df_tab, KC_TAB), - COMBO(jk_alt, KC_LALT), -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case _SFT: - return TAPPING_TERM - 100; - default: - return TAPPING_TERM; - } -} diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/readme.md b/keyboards/40percentclub/nori/keymaps/wings_36key/readme.md deleted file mode 100644 index 16eb6d9e112d..000000000000 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# 36 Key QWERTY Layout - -Offers more hand seperation with a 2 key gap down the middle of the board. diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/rules.mk b/keyboards/40percentclub/nori/keymaps/wings_36key/rules.mk deleted file mode 100644 index 446213032eee..000000000000 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/rules.mk +++ /dev/null @@ -1 +0,0 @@ -COMBO_ENABLE = yes # Custom chords diff --git a/keyboards/40percentclub/sixpack/info.json b/keyboards/40percentclub/sixpack/info.json index 3483c7d4df65..cd4864fbd127 100644 --- a/keyboards/40percentclub/sixpack/info.json +++ b/keyboards/40percentclub/sixpack/info.json @@ -9,6 +9,7 @@ "device_version": "10.0.1" }, "backlight": { + "driver": "timer", "pins": ["F4", "F5"], "levels": 6, "breathing": true diff --git a/keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c b/keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c deleted file mode 100644 index 4164620b5cc5..000000000000 --- a/keyboards/40percentclub/sixpack/keymaps/fkeys/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2020 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Tap Dance declarations -enum { - F13F19, - F14F20, - F15F21, - F16F22, - F17F23, - F18F24, -}; - -// Tap Dance definitions -tap_dance_action_t tap_dance_actions[] = { - // Tap once for F13 to F18, twice for F19 to F24 - [F13F19] = ACTION_TAP_DANCE_DOUBLE(KC_F13, KC_F19), [F14F20] = ACTION_TAP_DANCE_DOUBLE(KC_F14, KC_F20), [F15F21] = ACTION_TAP_DANCE_DOUBLE(KC_F15, KC_F21), - [F16F22] = ACTION_TAP_DANCE_DOUBLE(KC_F16, KC_F22), [F17F23] = ACTION_TAP_DANCE_DOUBLE(KC_F17, KC_F23), [F18F24] = ACTION_TAP_DANCE_DOUBLE(KC_F18, KC_F24) -}; - -// Add tap dance item in place of a key code -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* 2x3 layout - * .-----------------------------. - * | F13/F19 | D14/F20 | F15/F21 | - * |---------+---------+---------+ - * | F16/F22 | D17/F23 | F18/F24 | - * '-----------------------------' - */ - - [0] = LAYOUT_ortho_2x3(/* F13 to F24 */ - TD(F13F19), TD(F14F20), TD(F15F21), - TD(F16F22), TD(F17F23), TD(F18F24) - ), -}; diff --git a/keyboards/40percentclub/sixpack/keymaps/fkeys/readme.md b/keyboards/40percentclub/sixpack/keymaps/fkeys/readme.md deleted file mode 100644 index 9974588e5f28..000000000000 --- a/keyboards/40percentclub/sixpack/keymaps/fkeys/readme.md +++ /dev/null @@ -1 +0,0 @@ -# F13 to F24 keymap with Tap Dance for Six Pack diff --git a/keyboards/40percentclub/sixpack/keymaps/fkeys/rules.mk b/keyboards/40percentclub/sixpack/keymaps/fkeys/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/40percentclub/sixpack/keymaps/fkeys/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h index 2199981c7c93..b46d357dd04e 100644 --- a/keyboards/40percentclub/tomato/config.h +++ b/keyboards/40percentclub/tomato/config.h @@ -5,19 +5,3 @@ /* eliminate lag on space cadet mods */ #define PERMISSIVE_HOLD - -/* setup lighting */ -#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 -#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 c881f7c7d108..eabe3545683f 100644 --- a/keyboards/40percentclub/tomato/info.json +++ b/keyboards/40percentclub/tomato/info.json @@ -8,6 +8,23 @@ "pid": "0x546F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 30, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c b/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c deleted file mode 100644 index 8a0ba7b3916c..000000000000 --- a/keyboards/40percentclub/ut47/keymaps/non-us/keymap.c +++ /dev/null @@ -1,135 +0,0 @@ -/* Copyright 2018 Carlos Filoteo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#ifdef LED_ENABLE - #include "uart.h" -#endif - -#define LT3_TAB LT(3, KC_TAB) -#define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT) - -enum custom_keycodes { - LED_TOG = SAFE_RANGE, - LED_CHG -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layer - * ,-------------------------------------------------------------------------. - * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace | - * |-------------------------------------------------------------------------+ - * |Tab/L3| A | S | D | F | G | H | J | K | L | ; | ' | - * |-------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |Sh/En| - * |-------------------------------------------------------------------------+ - * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right| - * `-------------------------------------------------------------------------' - */ - -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, - LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_RSFT_ENT, - KC_LCTL, KC_LALT, KC_LGUI, KC_APP, MO(2), KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - - /* FN Layer 1 - * ,-------------------------------------------------------------------------. - * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete| - * |-------------------------------------------------------------------------+ - * | | | | | | | # | - | = | [ | ] | \ | - * |-------------------------------------------------------------------------+ - * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | | - * |-------------------------------------------------------------------------+ - * | | | |Capsl| | | | Home| PgDn| PgUp| End | - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Right */ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE, - _______, _______, _______, _______, _______, _______, KC_NUHS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NUBS, - _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, - _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END -), - - /* FN Layer 2 - * ,-------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete| - * |-------------------------------------------------------------------------+ - * | | | | | | | | _ | + | { | } | | | - * |-------------------------------------------------------------------------+ - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | - * |-------------------------------------------------------------------------+ - * | | | |Capsl| | | | Home| PgDn| PgUp| End | - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Left */ - KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_DELETE, - _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END -), - - /* FN Layer 2 - * ,-------------------------------------------------------------------------. - * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| | - * |-------------------------------------------------------------------------+ - * | | | | | | | | | | | | | - * |-------------------------------------------------------------------------+ - * | |LEDtg|LEDch| | | | | | | | | | - * |-------------------------------------------------------------------------+ - * | | | | | | | |MousL|MousD|MousU|MousR| - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Tab */ - KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, LED_TOG, LED_CHG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R -), -}; - -//LED keymap functions - #ifdef LED_ENABLE -void led_chmode(void) { - uart_write(0x65); -} - -void led_toggle(void) { - uart_write(0x64); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case LED_TOG: - #ifdef LED_ENABLE - led_toggle(); - #endif - return false; - case LED_CHG: - #ifdef LED_ENABLE - led_chmode(); - #endif - return false; - } - } - return true; -}; -#endif diff --git a/keyboards/40percentclub/ut47/keymaps/non-us/readme.md b/keyboards/40percentclub/ut47/keymaps/non-us/readme.md deleted file mode 100644 index e09dc73fab86..000000000000 --- a/keyboards/40percentclub/ut47/keymaps/non-us/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# UT47 default keymap - -![UT47 layout image](https://i.imgur.com/Tsz5qsF.png) - -[KLE](http://www.keyboard-layout-editor.com/##@@_y:0%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Back%20Space&_x:0.25&a:4&f:4&w:4&h:4&d:true%3B&=%3Cb%3EGNAP!%3C%2F%2Fb%3E%3Cp%3E%3Cp%3EMinimum%20stagger%3Cp%3E47%20key%20layout%3B&@_a:7&f:3&w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F%3B&_w:1.25%3B&=%27%3B&@_w:1.5%3B&=Shift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F%2F&=Return%3B&@=Ctrl&=Alt&=Super&=Menu&_w:1.25%3B&=%2F&dArr%2F%3B&_w:2%3B&=&_w:1.25%3B&=%2F&uArr%2F%3B&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&uarr%2F%3B&=%2F&rarr%2F%3B%3B&=undefined) - -### LED Controls - -Use TAB+Z to cycle through brightness (8 steps) - -Use TAB+X to cycle through the following LED modes: - -- solid -- breathing -- random -- rain -- reactive -- poptang -- off diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c deleted file mode 100644 index 64bc4506dabe..000000000000 --- a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c +++ /dev/null @@ -1,178 +0,0 @@ -/* Copyright 2018 Carlos Filoteo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#ifdef LED_ENABLE - #include "uart.h" - -#endif - -#include "keymap_norwegian.h" - -#define LT3_TAB LT(3, KC_TAB) -#define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT) -#define CTRADEL LALT(LCTL(KC_DEL)) -#define ALTTAB LALT(KC_TAB) - -enum custom_keycodes { - LED_TOG = SAFE_RANGE, - LED_CHG -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layer - L0 - * ,-------------------------------------------------------------------------. - * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace | - * |-------------------------------------------------------------------------+ - * |Tab/L3| A | S | D | F | G | H | J | K | L | ' |Ent/RS| - * |-------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | Up | L4 | - * |-------------------------------------------------------------------------+ - * | Ctrl| Gui | L4 | Alt | L2 | Space | L1 | Ctrl| Left| Down|Right| - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Base - L0 */ - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_QUOT, MT_RSFT_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MO(4), - KC_LCTL, KC_LGUI, MO(4), KC_LALT, MO(2), KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT -), - - /* FN Layer 1 - * ,-------------------------------------------------------------------------. - * | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete| - * |-------------------------------------------------------------------------+ - * | | | | | | | | | + | = | * | / | - * |-------------------------------------------------------------------------+ - * | | | | | | | | | - | _ | PgUp| | - * |-------------------------------------------------------------------------+ - * | | | |Capsl| | | | | Home| PgDn| End | - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Right modifier - L1 */ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE, - _______, _______, _______, _______, _______, _______, _______, _______, NO_PLUS, NO_EQL, NO_ASTR, NO_SLSH, - _______, _______, _______, _______, _______, _______, _______, _______, NO_MINS, NO_UNDS, KC_PGUP, _______, - _______, _______, _______, KC_CAPS, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END -), - - /* FN Layer 2 - * ,-------------------------------------------------------------------------. - * | § | ! | " | # | ÂĪ | % | & | / | = | + | \ | Delete| - * |-------------------------------------------------------------------------+ - * | | | ? | { | [ | ( | ) | ] | } | F10 | F11 | F12 | - * |-------------------------------------------------------------------------+ - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | PgUp| | - * |-------------------------------------------------------------------------+ - * | | | |Capsl| | | | | Home| PgDn| End | - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Left modifier - L2 */ - NO_SECT, KC_EXCLAIM, NO_DQUO, KC_HASH, NO_CURR, KC_PERCENT, NO_AMPR, NO_SLSH, NO_EQL, NO_PLUS, NO_BSLS, KC_DELETE, - _______, _______, NO_QUES, NO_LCBR, NO_LBRC, NO_LPRN, NO_RPRN, NO_RBRC, NO_RCBR, KC_F10, KC_F11, KC_F12, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______, - _______, _______, _______, KC_CAPS, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END -), - - /* FN Layer 3 - * ,-------------------------------------------------------------------------. - * | Esc | Calc|Webhm| Comp|Webrf| | | | | |PrtSc|CtrAlDl| - * |-------------------------------------------------------------------------+ - * | | | | | | | |VolDn|VolUp| | | | - * |-------------------------------------------------------------------------+ - * | |LEDtg|LEDch| | |QK_BOOT| | Mute| |MouB1|MousU|MouB2| - * |-------------------------------------------------------------------------+ - * | | | | | | | | |MousL|MousD|MousR| - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Hold Tab down - L3 */ - KC_ESC, KC_CALC, KC_WHOM, KC_MYCM, KC_WREF, _______, _______, _______, _______, _______, KC_PSCR, CTRADEL, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, LED_TOG, LED_CHG, _______, _______, QK_BOOT, _______, KC_MUTE, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R -), - - /* FN Layer 4 - * ,-------------------------------------------------------------------------. - * | | | @ | ÂĢ | $ | ~ | | ÂĻ | Âī | ` | Å | | - * |-------------------------------------------------------------------------+ - * | | | | ₮ | | | | | ^ | Ø | Æ | | - * |-------------------------------------------------------------------------+ - * | | < | | | | | | Âĩ | | | | | - * |-------------------------------------------------------------------------+ - * | | | | | | | | L5 | | | | - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* Norsk - L4 */ - _______, _______, NO_AT, NO_PND, NO_DLR, NO_TILD, _______, NO_QUOT, NO_ACUT, NO_GRV, NO_ARNG, _______, - _______, _______, _______, NO_EURO, _______, _______, _______, _______, NO_CIRC, NO_OSTR, NO_AE, _______, - _______, NO_LABK, _______, _______, _______, _______, _______, NO_MICR, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, TO(5), _______, _______, _______ -), - - /* GAMING Layer (toggle on and off) - * ,-------------------------------------------------------------------------. - * | Esc | Q | W | E | R | T | Y | F1 | F2 | F3 | F4 |Alt+Tab| - * |-------------------------------------------------------------------------+ - * | Tab | A | S | D | F | G | H | F5 | F6 | F7 | F8 | Enter| - * |-------------------------------------------------------------------------+ - * | Shift | 1 | 2 | 3 | 4 | 5 | 6 | F9 | F10 | F11 | Up |TOGGL| - * |-------------------------------------------------------------------------+ - * | Ctrl| Z | X | C | B | Space | M | V |Left |Down |Right| - * `-------------------------------------------------------------------------' - */ - -LAYOUT( /* GAMING, toggled on and off - L5 */ - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_F1, KC_F2, KC_F3, KC_F4, ALTTAB, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_F5, KC_F6, KC_F7, KC_F8, KC_ENT, - KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_UP, TO(0), - KC_LCTL, KC_Z, KC_X, KC_C, KC_B, KC_SPC, KC_M, KC_V, KC_LEFT, KC_DOWN, KC_RGHT -), -}; - -//LED keymap functions - #ifdef LED_ENABLE -void led_chmode(void) { - uart_write(0x65); -} - -void led_toggle(void) { - uart_write(0x64); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case LED_TOG: - #ifdef LED_ENABLE - led_toggle(); - #endif - return false; - case LED_CHG: - #ifdef LED_ENABLE - led_chmode(); - #endif - return false; - } - } - return true; -}; -#endif diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/readme.md b/keyboards/40percentclub/ut47/keymaps/nordic/readme.md deleted file mode 100644 index 4b0d0eb1223b..000000000000 --- a/keyboards/40percentclub/ut47/keymaps/nordic/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# UT47 Nordic keymap - - -![UT47 Nordic layout image](https://i.imgur.com/ZNtF4wA.png) - -[KLE - Nordic layout](http://www.keyboard-layout-editor.com/##@_name=UT47%20-%20Nordic%20layout&author=neonSpork%3B&@_a:7%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Backspace%3B&@_c=%23c75656&a:4&w:1.25%3B&=%0A%0A%0AL3%0A%0A%0A%0A%0A%0ATab&_c=%23cccccc&a:7%3B&=A&=S&=D&=F&=G&=H&=J&=K&=L&='&_a:4&w:1.25%3B&=Enter%0A%0A%0ARShift%3B&@_a:7&w:1.5%3B&=LShift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F&uarr%2F%3B&_c=%23bb45c4%3B&=L4%3B&@_c=%23cccccc%3B&=LCtrl&=LGUI&_c=%23bb45c4%3B&=L4&_c=%23cccccc%3B&=LAlt&_c=%2333aaff&w:1.25%3B&=L2&_c=%23cccccc&w:2%3B&=Space&_c=%23f5b047&w:1.25%3B&=L1&_c=%23cccccc%3B&=RCtrl&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&rarr%2F%3B%3B&@_y:0.25&c=%23f5b047%3B&=%7C&=1&=2&=3&=4&=5&=6&=7&=8&=9&=0&_w:1.5%3B&=Delete%3B&@_w:1.25%3B&=&=&=&=&=&=&=&=&=+&=%2F=&=*&_w:1.25%3B&=%2F%2F%3B&@_w:1.5%3B&=&=&=&=&=&=&=&=&=-&=%2F_&=PgUp&=%3B&@=&=&=&=Caps&_w:1.25%3B&=&_w:2%3B&=&_w:1.25%3B&=&=&=Home&=PgDn&=End%3B&@_y:0.25&c=%2333aaff%3B&=%C2%A7&=!&=%22&=%23&=%C2%A4&=%25&=%2F&&=%2F%2F&=%2F=&=+&=%5C&_w:1.5%3B&=Delete%3B&@_w:1.25%3B&=&=&=%3F&=%7B&=%5B&=(&=)&=%5D&=%7D&=F10&=F11&_w:1.25%3B&=F12%3B&@_w:1.5%3B&=&=F1&=F2&=F3&=F4&=F5&=F6&=F7&=F8&=F9&=PgUp&=%3B&@=&=&=&=Caps&_w:1.25%3B&=&_w:2%3B&=&_w:1.25%3B&=&=&=Home&=PgDn&=End%3B&@_y:0.25&c=%23c75656%3B&=Esc&=Calc&_a:5%3B&=www%0A%0A%0A%0A%0A%0Ahome&=My%0A%0A%0A%0A%0A%0AComp&=www%0A%0A%0A%0A%0A%0ARefresh&_a:7%3B&=&=&=&=&=&=PrtScr&_w:1.5%3B&=Ctr%20Alt%20Del%3B&@_w:1.25%3B&=&=&=&=&=&=&=&=VolDn&=VolUp&=&=&_w:1.25%3B&=%3B&@_w:1.5%3B&=&=LEDtg&=LEDch&=&=&=RESET&=&=Mute&=&_a:5%3B&=Mouse%0AClick%0A%0A%0A%0A%0ALeft&=Mouse%0A%0A%0A%0A%0A%0AUp&=Mouse%0AClick%0A%0A%0A%0A%0ARight%3B&@_a:7%3B&=&=&=&=&_w:1.25%3B&=&_w:2%3B&=&_w:1.25%3B&=&=&_a:5%3B&=Mouse%0A%0A%0A%0A%0A%0ALeft&=Mouse%0A%0A%0A%0A%0A%0ADown&=Mouse%0A%0A%0A%0A%0A%0ARight%3B&@_y:0.25&c=%23bb45c4&a:7%3B&=&=&=%2F@&=%C2%A3&=$&=~&=&=%C2%A8&=%C2%B4&=%60&=%C3%85&_w:1.5%3B&=%3B&@_w:1.25%3B&=&=&=&=%E2%82%AC&=&=&=&=&=%5E&=%C3%98&=%C3%86&_w:1.25%3B&=%3B&@_w:1.5%3B&=&=%3C&=&=&=&=&=&=%C2%B5&=&=&=&=%3B&@=&=&=&=&_w:1.25%3B&=&_w:2%3B&=&_w:1.25%3B&=&_c=%2345b564&a:5%3B&=L5%0A%0A%0A%0A%0A%0AON&_c=%23bb45c4&a:7%3B&=&=&=%3B&@_y:0.25&c=%2345b564%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=F1&=F2&=F3&=F4&_w:1.5%3B&=Alt%20Tab%3B&@_w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=F5&=F6&=F7&=F8&_w:1.25%3B&=Enter%3B&@_w:1.5%3B&=Shift&=1&=2&=3&=4&=5&=6&=F9&=F10&=F11&=%2F&uarr%2F%3B&_c=%23cccccc&a:5%3B&=L5%0A%0A%0A%0A%0A%0AOFF%3B&@_c=%2345b564&a:7%3B&=LCtrl&=Z&=X&=C&_w:1.25%3B&=B&_w:2%3B&=Space&_w:1.25%3B&=M&=V&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&rarr%2F) - - -Chose to modify the layout to include dedicated arrows on the bottom right. Layers 1-4 are modifiers, layer 5 is a toggle on gaming mode. Tab is dual function: Tap for Tab and hold for L3. So is enter: tap for Enter and hold for Right shift. - -### Nordic characters -On its own modifier layer, accessed from left (between left GUI and ALT) or right (above Right arrow) - -### Gaming layer -Toggled on/off, accessed via the Nordic layer. - -Toggle on: L4+RCtrl - -Toggle off: L4 (above ) - -### LED Controls - -Use TAB+Z to cycle through brightness (8 steps) - -Use TAB+X to cycle through the following LED modes: - -- solid -- breathing -- random -- rain -- reactive -- poptang -- off diff --git a/keyboards/40percentclub/ut47/led.c b/keyboards/40percentclub/ut47/led.c index f5d8ffc12ee9..867a6e2e2a37 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 -#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/4pplet/aekiso60/rev_b/info.json b/keyboards/4pplet/aekiso60/rev_b/info.json index 4e218f9365ed..b5ad58bc11df 100644 --- a/keyboards/4pplet/aekiso60/rev_b/info.json +++ b/keyboards/4pplet/aekiso60/rev_b/info.json @@ -4,6 +4,23 @@ "pid": "0x0011", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/4pplet/aekiso60/rev_b/rules.mk b/keyboards/4pplet/aekiso60/rev_b/rules.mk index 041df45ecaa3..e539634d5898 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 6114950220c4..350b9abad7f9 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h @@ -18,27 +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_DRIVER 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 -#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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -56,6 +41,3 @@ along with this program. If not, see . #define LAYER_3 A8 #define LAYER_4 A9 #define LAYER_5 B9 - -/* Added extra layer for use of layer leds */ -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json index 02d4f3863273..baafb58153bf 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json @@ -13,17 +13,47 @@ "rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 5 + }, "backlight": { "pin": "A3", "levels": 10, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A7", "driver": "spi" }, "processor": "STM32F072", "bootloader": "stm32-dfu", + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -98,6 +128,75 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "#", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, @@ -169,6 +268,74 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "#", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, "LAYOUT_60_tsangan_hhkb": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, @@ -306,6 +473,288 @@ {"label": "GUI", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [9, 5], "x": 12.5, "y": 4} ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "|", "matrix": [1, 6], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "|", "matrix": [1, 6], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] } } } diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md b/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md index 6a51e0447ea4..8ec59179b018 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md @@ -2,7 +2,7 @@ ``` ┌───────┐ - 2u Backspace │36? │ + 2u Backspace │36 │ └───────┘ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ │00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │36 │ @@ -19,6 +19,6 @@ │60 │ 2.25u LShift 2.75u RShift │66 │ └────────┘ └──────────┘ ┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ -│80 │90 │91 │93 │85 │95 │86 │ Tsangan/WKL/HHKB +│80 │90 │91 │93 │85 │95 │86 │ Tsangan/HHKB └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ ``` diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk index 4e3e37ff3dfc..30a36865b961 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 7c8c8a8cf225..b5957e6f30cc 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h @@ -21,23 +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 -#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 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -49,6 +34,3 @@ along with this program. If not, see . #define LAYER_3 B0 #define LAYER_4 B9 #define LAYER_5 A9 - -/* Added extra layer for use of layer leds */ -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json index 73a2053979ef..2ebb26068693 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json @@ -13,6 +13,9 @@ "rows": ["A2", "A1", "B8", "A10", "C15", "A15", "B7", "B6", "C14", "C13"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 5 + }, "backlight": { "pin": "A6", "levels": 6, @@ -23,6 +26,23 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk index 09e14f7540b6..428a48c46499 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/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h index e033b1625935..efad0a1718c3 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/config.h +++ b/keyboards/4pplet/perk60_iso/rev_a/config.h @@ -21,10 +21,9 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_COUNT 1 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define RGB_MATRIX_LED_COUNT 62 -#define ISSI_PWM_FREQUENCY 0b010 +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/4pplet/perk60_iso/rev_a/info.json b/keyboards/4pplet/perk60_iso/rev_a/info.json index e961253a23c4..527f3d57726f 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/info.json +++ b/keyboards/4pplet/perk60_iso/rev_a/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A1", "B12", "B14", "A2", "A0", "A3", "A4"], diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c index 814a8f95d466..e3b8d71a9042 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c +++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include "rev_a.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_2, J_2, L_2 }, //D402 { 0, K_3, J_3, L_3 }, //D403 { 0, K_4, J_4, L_4 }, //D404 diff --git a/keyboards/4pplet/perk60_iso/rev_a/rules.mk b/keyboards/4pplet/perk60_iso/rev_a/rules.mk index d89fef719474..6a7da3e998d8 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/keymaps/canon/keymap.c b/keyboards/4pplet/steezy60/keymaps/canon/keymap.c deleted file mode 100644 index 92cfe047e9aa..000000000000 --- a/keyboards/4pplet/steezy60/keymaps/canon/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2023 Stefan Sundin "4pplet" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* -* ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ -* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ -* ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī -* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮────â”Ī -* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ | Ent│ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───| er │ -* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ │ -* ├────┮───|───â”ī┮──â”ī┮──â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī┮──â”ī┮──â”ī─┮───|────â”Ī -* │Ctrl│GUI│None│Alt│ Space │Alt│GUI│None│App│Ctrl│ -* └────â”ī───â”ī────â”ī───â”ī───────────────────â”ī───â”ī───â”ī────â”ī───â”ī────┘ -*/ -[0] = LAYOUT_canon( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_RSFT, - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_NO, KC_APP, KC_RCTL) -}; diff --git a/keyboards/4pplet/steezy60/rev_b/rules.mk b/keyboards/4pplet/steezy60/rev_b/rules.mk index 68bddfc74854..3787d8c241b5 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/keymaps/m0116/keymap.c b/keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c deleted file mode 100644 index 593e0de2b200..000000000000 --- a/keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// main layer -/* -* ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮──────┐ -* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Delete│ -* ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮────â”Ī -* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī │ -* │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───────â”Ī -* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ -* ├────┮───│───â”ī┮──â”ī┮──â”ī───â”ī───â”ī───â”ī─┮─â”ī─┮─â”ī──┮â”ī───â”ī┮────┮───â”Ī -* │Caps│Alt│Gui │ ` │ Space │ \ │Left│Right│Down│ Up│ -* └────â”ī───â”ī────â”ī───â”ī────────────────â”ī───â”ī────â”ī─────â”ī────â”ī───┘ -*/ -[0] = LAYOUT_m0116( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_CAPS, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP) -}; diff --git a/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c b/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c deleted file mode 100644 index 1343ca2dc294..000000000000 --- a/keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* -* ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮──────┐ -* │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 │ ; │ ' │ \ │ │ -* ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───│───â”Ī -* │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ Up│ -* ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī──┮â”ī────┮────â”Ī -* │Ctrl│Alt │GUI │ Space │GUI │Left│Right│Down│ -* └────â”ī────â”ī────â”ī──────────────────────â”ī────â”ī────â”ī─────â”ī────┘ -*/ -[0] = LAYOUT_m0118( - 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_ENT, - KC_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_GRV, 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_LEFT, KC_RIGHT,KC_DOWN) -}; diff --git a/keyboards/4pplet/unextended_std/rev_a/rules.mk b/keyboards/4pplet/unextended_std/rev_a/rules.mk index 68bddfc74854..3787d8c241b5 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/readme.md b/keyboards/4pplet/waffling60/readme.md index acfa174eab93..442de4d36966 100644 --- a/keyboards/4pplet/waffling60/readme.md +++ b/keyboards/4pplet/waffling60/readme.md @@ -12,8 +12,8 @@ Make example for this keyboard (after setting up your build environment): make 4pplet/waffling60/rev_a:default make 4pplet/waffling60/rev_b:default make 4pplet/waffling60/rev_c:default - make 4pplet/waffling60/rev_d:default + make 4pplet/waffling60/rev_e:default make 4pplet/waffling60/rev_d_ansi:default make 4pplet/waffling60/rev_d_iso:default diff --git a/keyboards/4pplet/waffling60/rev_b/config.h b/keyboards/4pplet/waffling60/rev_b/config.h deleted file mode 100644 index 2552b1e451f5..000000000000 --- a/keyboards/4pplet/waffling60/rev_b/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#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 -#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/4pplet/waffling60/rev_b/info.json b/keyboards/4pplet/waffling60/rev_b/info.json index 90fe5d02a227..7ba1964c7ca7 100644 --- a/keyboards/4pplet/waffling60/rev_b/info.json +++ b/keyboards/4pplet/waffling60/rev_b/info.json @@ -8,6 +8,23 @@ "pid": "0x0005", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/4pplet/waffling60/rev_c/config.h b/keyboards/4pplet/waffling60/rev_c/config.h deleted file mode 100644 index 06e5db9090cd..000000000000 --- a/keyboards/4pplet/waffling60/rev_c/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2022 Stefan Sundin "4pplet" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#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 -#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/4pplet/waffling60/rev_c/info.json b/keyboards/4pplet/waffling60/rev_c/info.json index c33d2b0616c2..f2461aeaa9b5 100644 --- a/keyboards/4pplet/waffling60/rev_c/info.json +++ b/keyboards/4pplet/waffling60/rev_c/info.json @@ -12,6 +12,23 @@ "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, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/4pplet/waffling60/rev_d/config.h b/keyboards/4pplet/waffling60/rev_d/config.h index 2ba774712abe..036d08cc73c4 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 01aba228636b..692f99560528 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/readme.md b/keyboards/4pplet/waffling60/rev_d/readme.md index 3b6b9c94f2d3..092746325d1d 100644 --- a/keyboards/4pplet/waffling60/rev_d/readme.md +++ b/keyboards/4pplet/waffling60/rev_d/readme.md @@ -9,7 +9,7 @@ More info: https://geekhack.org/index.php?topic=103531.0 Make example for this keyboard (after setting up your build environment): - make 4pplet/waffling60/rev_c:default + make 4pplet/waffling60/rev_d:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/4pplet/waffling60/rev_d/rules.mk b/keyboards/4pplet/waffling60/rev_d/rules.mk index 041df45ecaa3..e539634d5898 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 519206564463..a64bf928ebb3 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/rules.mk b/keyboards/4pplet/waffling60/rev_d_iso/rules.mk index e8184d57abad..e11c916b4fd3 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/waffling60/rev_e/config.h b/keyboards/4pplet/waffling60/rev_e/config.h new file mode 100644 index 000000000000..521ddf96a183 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define WS2812_EXTERNAL_PULLUP + diff --git a/keyboards/4pplet/waffling60/rev_e/info.json b/keyboards/4pplet/waffling60/rev_e/info.json new file mode 100644 index 000000000000..3a75cf3d06ac --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/info.json @@ -0,0 +1,917 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "waffling60 Rev E", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "key_lock": true, + "mousekey": false, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B2", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], + "rows": ["B14", "A9", "B6", "B5", "B4"] + }, + "processor": "STM32F072", + "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": 17 + }, + "url": "https://github.com/4pplet/waffling60", + "usb": { + "device_version": "0.0.5", + "pid": "0x0014", + "vid": "0x4444" + }, + "ws2812": { + "pin": "A8" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_tsangan_hhkb"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [2, 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 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": [3, 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": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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 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": [3, 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": "Fn", "matrix": [4, 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": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [2, 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 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": [3, 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": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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 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": [3, 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": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, + {"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} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "Backspace", "matrix": [2, 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": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "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": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [4, 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": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "Backspace", "matrix": [2, 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": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "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": "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], "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": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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 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": [3, 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": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 1], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 3], "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_6u_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [2, 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 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": [3, 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":6}, + {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, + {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, + {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, + {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_6u_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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 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": [3, 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": "Fn", "matrix": [4, 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":6}, + {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, + {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, + {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, + {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_6u_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "Backspace", "matrix": [2, 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": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "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":6}, + {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, + {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, + {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, + {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_6u_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 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": "Enter", "matrix": [3, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [4, 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":6}, + {"label": "Alt", "matrix": [4, 9], "x":10, "y":4, "w":1.5}, + {"label": "Win", "matrix": [4, 10], "x":11.5, "y":4}, + {"label": "Menu", "matrix": [4, 11], "x":12.5, "y":4}, + {"label": "Fn", "matrix": [4, 12], "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [2, 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 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": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [4, 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, 4], "x": 3.75, "y": 4, "w": 2.25}, + {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75}, + {"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} + ] + } + } +} diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/keymap.c new file mode 100644 index 000000000000..1a0147f148c1 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_6u_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_6u_ansi( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_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) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..1b68fce40e93 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_6u_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_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_6u_ansi_split_bs_rshift( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_ansi_split_bs_rshift/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/keymap.c new file mode 100644 index 000000000000..919eec54f9f8 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_6u_iso( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, + KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_6u_iso( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..4731a11d4781 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_6u_iso_split_bs_rshift( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_6u_iso_split_bs_rshift( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/6u_iso_split_bs_rshift/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/default/keymap.c new file mode 100644 index 000000000000..8b1bb6a2c4b1 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/default/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c new file mode 100644 index 000000000000..8b1bb6a2c4b1 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/via/rules.mk similarity index 100% rename from keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/rules.mk rename to keyboards/4pplet/waffling60/rev_e/keymaps/via/rules.mk diff --git a/keyboards/4pplet/waffling60/rev_e/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_e/matrix_diagram.md new file mode 100644 index 000000000000..fb49b758ec3a --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/matrix_diagram.md @@ -0,0 +1,37 @@ +# Matrix Diagram for 4pplet Waffling60 Rev E Solder + +``` + ┌───────┐ + 2u Backspace │2D │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│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 │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ┌──â”ī┐3D │ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │3D │ │2C │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │4D │ ISO Enter +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī +│40 │41 │42 │44 │46 │48 │49 │4A │4B │4C │ +└────â”ī────â”ī────â”ī────────â”ī────â”ī──────────â”ī────â”ī────â”ī────â”ī────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌────┮────┮────┮────────────────────────┮────┮────┮────┮────┐ +│40 │41 │42 │46 │49 │4A │4B │4C │ Standard +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│40 │41 │42 │46 │4A │4B │4C │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +┌────┮────┮────┮────────────────────────┮────┮────┮────┮────┐ +│40 │41 │42 │46 │49 │4A │4B │4C │ 6U bottom row +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ +┌─────┮───┮─────┮──────────┮──────┮─────────┮─────┮───┮─────┐ +│40 │41 │42 │44 │46 │48 │4A │4B │4C │ 3U split space +└─────â”ī───â”ī─────â”ī──────────â”ī──────â”ī─────────â”ī─────â”ī───â”ī─────┘ +┌─────┮───┮───────────────────────────────────────┮───┮─────┐ +│40 │41 │46 │4B │4C │ 10U space +└─────â”ī───â”ī───────────────────────────────────────â”ī───â”ī─────┘ + +``` diff --git a/keyboards/4pplet/waffling60/rev_e/readme.md b/keyboards/4pplet/waffling60/rev_e/readme.md new file mode 100644 index 000000000000..ee13539e5d1f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/readme.md @@ -0,0 +1,20 @@ +# waffling60 + +A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent layout support. Revision E adds underglow and 6u space support. + +More info: https://github.com/4pplet/waffling60 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling60](https://github.com/4pplet/waffling60) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling60/rev_e:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +How to enter bootloader (DFU): +* Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter DFU. When in DFU, it's ready to flash the firmware. If using a APM MCU it will not automatically reset after flash. Simply short the reset-header for a very short time to just reset the PCB, alternatively unplug and repluck the USB-cable to the keyboard. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling60/rev_e/rev_e.c b/keyboards/4pplet/waffling60/rev_e/rev_e.c new file mode 100644 index 000000000000..81941d54bed5 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/rev_e.c @@ -0,0 +1,35 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "rev_e.h" + +void keyboard_pre_init_kb(void) { + rgblight_set_effect_range(0, 16); + keyboard_pre_init_user(); +} + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (CAPS_LOCK_ENABLE && res) { + if(led_state.caps_lock) { + rgblight_sethsv_at(CAPS_LOCK_COLOR, 16); + } + else{ + rgblight_sethsv_at(HSV_OFF, 16); + } + } + return res; +} diff --git a/keyboards/4pplet/waffling60/rev_e/rev_e.h b/keyboards/4pplet/waffling60/rev_e/rev_e.h new file mode 100644 index 000000000000..61ebac191202 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/rev_e.h @@ -0,0 +1,22 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#include "quantum.h" + +#define CAPS_LOCK_ENABLE true +#define CAPS_LOCK_COLOR HSV_GREEN diff --git a/keyboards/4pplet/waffling60/rev_e/rules.mk b/keyboards/4pplet/waffling60/rev_e/rules.mk new file mode 100644 index 000000000000..04fe1eba2acd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/config.h b/keyboards/4pplet/waffling60/rev_e_ansi/config.h new file mode 100644 index 000000000000..521ddf96a183 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define WS2812_EXTERNAL_PULLUP + diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/info.json b/keyboards/4pplet/waffling60/rev_e_ansi/info.json new file mode 100644 index 000000000000..c2514700ff00 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/info.json @@ -0,0 +1,255 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "waffling60 Rev E ANSI HS", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "key_lock": true, + "mousekey": false, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B2", "A4", "A3", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], + "rows": ["B14", "A9", "B6", "B5", "B4"] + }, + "processor": "STM32F072", + "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": 17 + }, + "url": "https://github.com/4pplet/waffling60", + "usb": { + "device_version": "0.0.5", + "pid": "0x0015", + "vid": "0x4444" + }, + "ws2812": { + "pin": "A8" + }, + "community_layouts": [ + "60_tsangan_hhkb", + "60_hhkb" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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, 12], "x": 13.5, "y": 1, "w": 1.5}, + {"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, 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": "Fn", "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, 4], "x":4, "y":4, "w":3}, + {"label": "Space", "matrix": [4, 6], "x":7, "y":4}, + {"label": "Space", "matrix": [4, 8], "x":8, "y":4, "w":3}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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, 12], "x": 13.5, "y": 1, "w": 1.5}, + {"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, 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": "Fn", "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, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "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": "Bsp", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Ctrl", "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": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Win", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x":4, "y":4, "w": 7}, + {"label": "Win", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4}, + ] + } + } +} diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/keymap.c new file mode 100644 index 000000000000..706428c00e72 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/rules.mk b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c new file mode 100644 index 000000000000..706428c00e72 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/keychron/q0/rev_0131/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q0/rev_0131/keymaps/via/rules.mk rename to keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/rules.mk diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_e_ansi/matrix_diagram.md new file mode 100644 index 000000000000..ae47900a9baa --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for 4pplet Waffling60 Rev E ANSI Hotswap + +``` + ┌───────┐ + 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 │2C │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ +├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī┮────┮â”ī───â”Ī +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└────â”ī────â”ī────â”ī─────────────────────────────â”ī────â”ī────â”ī────┘ +┌─────┮───┮─────┮───────────┮───┮───────────┮─────┮───┮─────┐ +│40 │41 │42 │44 │46 │48 │4B │4C │4D │ 7u split spacebar +└─────â”ī───â”ī─────â”ī───────────â”ī───â”ī───────────â”ī─────â”ī───â”ī─────┘ +┌─────┮───┮───────────────────────────────────────┮───┮─────┐ +│40 │41 │46 │4C │4D │ 10u Spacebar +└─────â”ī───â”ī───────────────────────────────────────â”ī───â”ī─────┘ +``` diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/readme.md b/keyboards/4pplet/waffling60/rev_e_ansi/readme.md new file mode 100644 index 000000000000..1b70d5aba864 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/readme.md @@ -0,0 +1,26 @@ +# waffling60 Rev. E ANSI + +A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent layout support. Revision E adds underglow and rotary encoder support. + +More info: https://github.com/4pplet/waffling60 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling60](https://github.com/4pplet/waffling60) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling60/rev_e_ansi:default + +Flashing example for this keyboard: + + make 4pplet/waffling60/rev_e_ansi: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 + +How to enter bootloader (DFU): +* Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter DFU. When in DFU, it's ready to flash the firmware. If using a APM MCU it will not automatically reset after flash. Simply short the reset-header for a very short time to just reset the PCB, alternatively unplug and repluck the USB-cable to the keyboard. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/rules.mk b/keyboards/4pplet/waffling60/rev_e_ansi/rules.mk new file mode 100644 index 000000000000..04fe1eba2acd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_ansi/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/4pplet/waffling60/rev_e_iso/config.h b/keyboards/4pplet/waffling60/rev_e_iso/config.h new file mode 100644 index 000000000000..521ddf96a183 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define WS2812_EXTERNAL_PULLUP + diff --git a/keyboards/4pplet/waffling60/rev_e_iso/info.json b/keyboards/4pplet/waffling60/rev_e_iso/info.json new file mode 100644 index 000000000000..e53dcab891cd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/info.json @@ -0,0 +1,408 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "waffling60 Rev E ISO HS", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "key_lock": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B2", "A4", "A3", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], + "rows": ["B14", "A9", "B6", "B5", "B4"] + }, + "processor": "STM32F072", + "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": 17 + }, + "url": "https://github.com/4pplet/waffling60", + "usb": { + "device_version": "0.0.5", + "pid": "0x0016", + "vid": "0x4444" + }, + "ws2812": { + "pin": "A8" + }, + "community_layouts": [ + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl_split_bs_rshift" + ], + "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": [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, 4], "x": 4, "y": 4, "w": 3}, + {"matrix": [4, 6], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 3}, + {"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_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_e_iso/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/keymap.c new file mode 100644 index 000000000000..545e1e974fb1 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c new file mode 100644 index 000000000000..3254764a0c51 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/keychron/q1/ansi_encoder/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q1/ansi_encoder/keymaps/via/rules.mk rename to keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk diff --git a/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md new file mode 100644 index 000000000000..9ccedf98e30e --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for 4pplet Waffling60 Rev E 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 +└─────â”ī───â”ī───────────────────────────────────────â”ī───â”ī─────┘ +``` \ No newline at end of file diff --git a/keyboards/4pplet/waffling60/rev_e_iso/readme.md b/keyboards/4pplet/waffling60/rev_e_iso/readme.md new file mode 100644 index 000000000000..03fa4889c62b --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/readme.md @@ -0,0 +1,26 @@ +# waffling60 Rev. E ISO + +A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent layout support. Revision E adds underglow and rotary encoder support. + +More info: https://github.com/4pplet/waffling60 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling60](https://github.com/4pplet/waffling60) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling60/rev_e_iso:default + +Flashing example for this keyboard: + + make 4pplet/waffling60/rev_e_iso: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 + +How to enter bootloader (DFU): +* Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter DFU. When in DFU, it's ready to flash the firmware. If using a APM MCU it will not automatically reset after flash. Simply short the reset-header for a very short time to just reset the PCB, alternatively unplug and repluck the USB-cable to the keyboard. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling60/rev_e_iso/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/rules.mk new file mode 100644 index 000000000000..04fe1eba2acd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/4pplet/waffling80/rev_a/config.h b/keyboards/4pplet/waffling80/rev_a/config.h deleted file mode 100644 index e42bb68b370b..000000000000 --- a/keyboards/4pplet/waffling80/rev_a/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2022 Stefan Sundin "4pplet" - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - -#define RGBLED_NUM 2 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/4pplet/waffling80/rev_a/info.json b/keyboards/4pplet/waffling80/rev_a/info.json index 34ec33bbe21a..8c3a84be1e6b 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 1bf561d74ae1..036d08cc73c4 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 61673e609d64..47d3d5d662fd 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 041df45ecaa3..e539634d5898 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 9e42693cb694..c3b8e77d77a9 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/config.h b/keyboards/7c8/framework/config.h deleted file mode 100644 index f6b4b30cf5eb..000000000000 --- a/keyboards/7c8/framework/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 Steven Nguyen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAP_CODE_DELAY 16 - -#define LEADER_TIMEOUT 250 -#define LEADER_PER_KEY_TIMING 150 diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json index 18c0289c9a37..19325af9cbd3 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/7c8/framework/keymaps/steven/config.h b/keyboards/7c8/framework/keymaps/steven/config.h deleted file mode 100644 index 2dfd41f7cf86..000000000000 --- a/keyboards/7c8/framework/keymaps/steven/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Steven Nguyen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* VIA specific defines to increase dynamic layer count */ -#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 3 -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 - -/* defining an extra row for encoder assignment in VIA */ -#undef MATRIX_ROWS -#define MATRIX_ROWS 11 \ No newline at end of file diff --git a/keyboards/7c8/framework/keymaps/steven/keymap.c b/keyboards/7c8/framework/keymaps/steven/keymap.c deleted file mode 100644 index 5cba63e0facc..000000000000 --- a/keyboards/7c8/framework/keymaps/steven/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2020 Steven Nguyen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum framework_layers { - _BASE, - _LOWER, - _RAISE, - _BOTH, - _FN -}; - -enum framework_keycodes { - LOWER = SAFE_RANGE, - RAISE, - BOTH, - FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = framework_via( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MEDIA_PLAY_PAUSE, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP -), - -[_LOWER] = framework_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, - QK_LEAD, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, - KC_DEL, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(_BOTH), KC_HOME, KC_PGDN, KC_PGUP, KC_END, - C(S(KC_TAB)), C(KC_TAB) -), - -[_RAISE] = framework_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, MO(_BOTH), _______, _______, _______, _______, _______, _______, _______, - C(KC_LEFT), C(KC_RIGHT) -), - -[_BOTH] = framework_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, DB_TOGG, - C(KC_Z), C(KC_Y) -), - -[_FN] = framework_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_MS_WH_LEFT, KC_MS_WH_RIGHT -) -}; - -void leader_end_user(void) { - // qq, alt+f4 close window - if (leader_sequence_two_keys(KC_Q, KC_Q)) { - tap_code16(A(KC_F4)); - } - - // ee, open explorer - if (leader_sequence_two_keys(KC_E, KC_E)) { - tap_code16(G(KC_E)); - } - - // rr, windows run prompt - if (leader_sequence_two_keys(KC_R, KC_R)) { - tap_code16(G(KC_R)); - } - - // ww, maximize window - if (leader_sequence_two_keys(KC_W, KC_W)) { - tap_code16(G(KC_UP)); - } - - // ss, minimize window - if (leader_sequence_two_keys(KC_S, KC_S)) { - tap_code16(G(KC_DOWN)); - } - - // , toggle desktop - if (leader_sequence_two_keys(KC_SPC, KC_SPC)) { - tap_code16(G(KC_D)); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t layer = get_highest_layer(layer_state); - if (index == 0) { - if (clockwise) { - tap_code16(dynamic_keymap_get_keycode(layer, 10, 1)); - } else { - tap_code16(dynamic_keymap_get_keycode(layer, 10, 0)); - } - } - return true; -} diff --git a/keyboards/7c8/framework/keymaps/steven/readme.md b/keyboards/7c8/framework/keymaps/steven/readme.md deleted file mode 100644 index c300961c7fe0..000000000000 --- a/keyboards/7c8/framework/keymaps/steven/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Steven's Framework layout - -This is a VIA compatible layout, exactly like the default VIA keymap, but with some leader key sequences that I find convenient. \ No newline at end of file diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h index 5139d4cf6999..5f360813239b 100644 --- a/keyboards/8pack/config.h +++ b/keyboards/8pack/config.h @@ -5,16 +5,3 @@ /* Locking resynchronize hack */ #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 -#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/8pack/info.json b/keyboards/8pack/info.json index 45dec97b3300..0145eef5e3ac 100644 --- a/keyboards/8pack/info.json +++ b/keyboards/8pack/info.json @@ -8,9 +8,25 @@ "pid": "0x2171" }, "backlight": { + "driver": "timer", "pins": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"], "levels": 8 }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/9key/config.h b/keyboards/9key/config.h deleted file mode 100644 index bb910a4427d0..000000000000 --- a/keyboards/9key/config.h +++ /dev/null @@ -1,22 +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 RGBLED_NUM 1 // Number of LEDs - -#define TAPPING_TERM 200 diff --git a/keyboards/9key/info.json b/keyboards/9key/info.json index 1dc9fad41a11..d4061d826145 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/9key/keymaps/bcat/keymap.c b/keyboards/9key/keymaps/bcat/keymap.c deleted file mode 100644 index 5a9ba1a88e0f..000000000000 --- a/keyboards/9key/keymaps/bcat/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 Jonathan Rascher - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "bcat.h" - -#define KY_LOCK LGUI(KC_L) /* Chrome OS: Lock screen */ -#define KY_MICM LSG(KC_1) /* Meet Shortcuts: Mute mic */ -#define KY_MICU LSG(KC_2) /* Meet Shortcuts: Unmute mic */ -#define KY_RHAND LSG(KC_3) /* Meet Shortcuts: Raise/lower hand */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - [LAYER_DEFAULT] = LAYOUT( - KC_MPLY, KC_VOLU, KY_RHAND, - KY_LOCK, KC_VOLD, KY_MICU, - LY_FN1, KC_MUTE, KY_MICM - ), - [LAYER_FUNCTION_1] = LAYOUT( - EE_CLR, _______, QK_BOOT, - _______, _______, _______, - _______, _______, _______ - ), - // clang-format on -}; diff --git a/keyboards/9key/keymaps/bcat/readme.md b/keyboards/9key/keymaps/bcat/readme.md deleted file mode 100644 index d38ae5463b9b..000000000000 --- a/keyboards/9key/keymaps/bcat/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# bcat's 9-Key layout - -This is a super simple PCB-mount macropad with nine keys, used on my -work-from-home Chromebox for media/volume control and to activate some global -shortcuts for Google Meet. diff --git a/keyboards/9key/keymaps/tap_dance/keymap.c b/keyboards/9key/keymaps/tap_dance/keymap.c deleted file mode 100644 index d8b2945dc5e3..000000000000 --- a/keyboards/9key/keymaps/tap_dance/keymap.c +++ /dev/null @@ -1,69 +0,0 @@ -#include QMK_KEYBOARD_H - -// Tap Dance Declarations -enum tap_dances { - ENT_5 = 0, - ZERO_7, -}; - -// Macro Declarations -enum custom_keycodes { - DBL_0 = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* LAYER 0 - * ,-----------------------. - * | 1 | 2 | 3 | - * |-------+-------+-------| - * | 4 | 5/ENT | 6 | Dbl Tap 5 for Enter - * |-------+-------+-------| - * | 7/0 | 8 | 9/FN | 7/0 = Dbl Tap 7 for 0 - 9/FN = Hold 9 for FN - * `-----------------------' - */ -[0] = LAYOUT( - KC_1, KC_2, KC_3, - KC_4, TD(ENT_5), KC_6, - TD(ZERO_7), KC_8, LT(1, KC_9) -), - -/* LAYER 1 - * ,-----------------------. - * | ESC | + | - | - * |-------+-------+-------| - * | BSPC | * | / | - * |-------+-------+-------| - * | 00 | . | | - * `-----------------------' - */ -[1] = LAYOUT( - KC_ESC, KC_PLUS, KC_MINS, - KC_BSPC, KC_ASTR, KC_SLSH, - DBL_0, KC_DOT, KC_TRNS -) - -}; - -tap_dance_action_t tap_dance_actions[] = { - [ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT), - [ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case DBL_0: - if (record->event.pressed) { - // when keycode QMKBEST is pressed - tap_code(KC_P0); - tap_code(KC_P0); - } - break; - - } - return true; -}; - - -void matrix_init_user(void) { -} diff --git a/keyboards/9key/keymaps/tap_dance/rules.mk b/keyboards/9key/keymaps/tap_dance/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/9key/keymaps/tap_dance/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/a_dux/keymaps/daliusd/config.h b/keyboards/a_dux/keymaps/daliusd/config.h deleted file mode 100644 index 78a96dd7acdb..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Dalius Dobravolskas - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 UNICODE_SELECTED_MODES UNICODE_MODE_LINUX - -#define MOUSEKEY_INTERVAL 12 -#define MOUSEKEY_MAX_SPEED 6 -#define MOUSEKEY_TIME_TO_MAX 50 - -#define MOUSEKEY_DELAY 20 -// It makes sense to use the same delay for the mouseweel -#define MOUSEKEY_WHEEL_DELAY 100 -// The default is 100 -#define MOUSEKEY_WHEEL_INTERVAL 50 -// The default is 40 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 - -#define FLOW_COUNT 6 -#define FLOW_LAYERS_COUNT 5 diff --git a/keyboards/a_dux/keymaps/daliusd/flow.c b/keyboards/a_dux/keymaps/daliusd/flow.c deleted file mode 100644 index 6e4db873fe31..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/flow.c +++ /dev/null @@ -1,336 +0,0 @@ -/* Copyright 2022 @daliusd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "flow.h" - -extern const uint16_t flow_config[FLOW_COUNT][2]; -extern const uint16_t flow_layers_config[FLOW_LAYERS_COUNT][2]; - -// Represents the states a flow key can be in -typedef enum { - flow_up_unqueued, - flow_up_queued, - flow_up_queued_used, - flow_down_unused, - flow_down_used, -} flow_state_t; - -#ifdef FLOW_ONESHOT_TERM -const int g_flow_oneshot_term = FLOW_ONESHOT_TERM; -#else -const int g_flow_oneshot_term = 500; -#endif - -#ifdef FLOW_ONESHOT_WAIT_TERM -const int g_flow_oneshot_wait_term = FLOW_ONESHOT_WAIT_TERM; -#else -const int g_flow_oneshot_wait_term = 500; -#endif - -flow_state_t flow_state[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = flow_up_unqueued }; -bool flow_pressed[FLOW_COUNT][2] = { [0 ... FLOW_COUNT - 1] = {false, false} }; -uint16_t flow_timers[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = 0 }; -bool flow_timeout_timers_active[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = false }; -uint16_t flow_timeout_timers_value[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = 0 }; -uint16_t flow_timeout_wait_timers_value[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = 0 }; - -flow_state_t flow_layers_state[FLOW_LAYERS_COUNT] = { - [0 ... FLOW_LAYERS_COUNT - 1] = flow_up_unqueued -}; -bool flow_layer_timeout_timers_active[FLOW_LAYERS_COUNT] = { [0 ... FLOW_LAYERS_COUNT - 1] = false }; -uint16_t flow_layer_timeout_timers_value[FLOW_LAYERS_COUNT] = { [0 ... FLOW_LAYERS_COUNT - 1] = 0 }; -uint16_t flow_layer_timeout_wait_timers_value[FLOW_LAYERS_COUNT] = { [0 ... FLOW_LAYERS_COUNT - 1] = 0 }; - -bool is_flow_ignored_key(uint16_t keycode) { - for (int i = 0; i < FLOW_COUNT; i++) { - if (flow_config[i][0] == keycode) { - return true; - } - } - - for (int i = 0; i < FLOW_LAYERS_COUNT; i++) { - if (flow_layers_config[i][0] == keycode) { - return true; - } - } - - if (keycode == KC_LSFT || keycode == KC_RSFT - || keycode == KC_LCTL || keycode == KC_RCTL - || keycode == KC_LALT || keycode == KC_RALT - || keycode == KC_LGUI || keycode == KC_RGUI) { - return true; - } - - return false; -} - -bool update_flow_mods( - uint16_t keycode, - bool pressed -) { - bool pass = true; - bool flow_key_list_triggered[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = false }; - bool flow_key_list_pressed[FLOW_COUNT] = { [0 ... FLOW_COUNT - 1] = false }; - - bool flow_triggered = false; - - for (uint8_t i = 0; i < FLOW_COUNT; i++) { - // Layer key - if (keycode == flow_config[i][0]) { - if (pressed) { - flow_pressed[i][0] = true; - } else { - flow_pressed[i][0] = false; - } - // KC mod key - } else if (keycode == flow_config[i][1]) { - if (pressed) { - if (flow_pressed[i][0]) { - flow_pressed[i][1] = true; - flow_key_list_triggered[i] = true; - flow_triggered = true; - flow_key_list_pressed[i] = true; - pass = false; - } - } else if (flow_pressed[i][1]) { - flow_pressed[i][1] = false; - if (flow_pressed[i][0]) { - flow_key_list_triggered[i] = true; - flow_triggered = true; - pass = false; - } else if ((flow_state[i] == flow_down_unused) - || (flow_state[i] == flow_down_used)) { - flow_key_list_triggered[i] = true; - flow_triggered = true; - pass = false; - } - } - } - } - - for (uint8_t i = 0; i < FLOW_COUNT; i++) { - if (flow_key_list_triggered[i]) { - if (flow_key_list_pressed[i]) { - if (flow_state[i] == flow_up_unqueued) { - register_code(flow_config[i][1]); - } - flow_timeout_wait_timers_value[i] = timer_read(); - flow_state[i] = flow_down_unused; - } else { - // Trigger keyup - switch (flow_state[i]) { - case flow_down_unused: - if (!flow_pressed[i][1]) { - if (timer_elapsed(flow_timeout_wait_timers_value[i]) > g_flow_oneshot_wait_term) { - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - } else { - // If we didn't use the mod while trigger was held, queue it. - flow_state[i] = flow_up_queued; - flow_timeout_timers_active[i] = true; - flow_timeout_timers_value[i] = timer_read(); - } - } - break; - case flow_down_used: - // If we did use the mod while trigger was held, unregister it. - if (!flow_pressed[i][1]) { - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - } - break; - default: - break; - } - } - } else if (!flow_triggered) { - if (pressed) { - if (!is_flow_ignored_key(keycode)) { - switch (flow_state[i]) { - case flow_up_queued: - flow_state[i] = flow_up_queued_used; - flow_timeout_timers_active[i] = false; - break; - case flow_up_queued_used: - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - break; - default: - break; - } - } - } else { - if (!is_flow_ignored_key(keycode)) { - // On non-ignored keyup, consider the oneshot used. - switch (flow_state[i]) { - case flow_down_unused: - flow_state[i] = flow_down_used; - break; - case flow_up_queued: - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - break; - case flow_up_queued_used: - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - break; - default: - break; - } - } - } - } - } - - return pass; -} - -void change_pressed_status(uint16_t keycode, bool pressed) { - for (int i = 0; i < FLOW_COUNT; i++) { - if (flow_config[i][0] == keycode) { - flow_pressed[i][0] = pressed; - } - } -} - -bool update_flow_layers( - uint16_t keycode, - bool pressed, - keypos_t key_position -) { - uint8_t key_layer = read_source_layers_cache(key_position); - bool pass = true; - - for (int i = 0; i < FLOW_LAYERS_COUNT; i++) { - uint16_t trigger = flow_layers_config[i][0]; - uint16_t layer = flow_layers_config[i][1]; - - if (keycode == trigger) { - if (pressed) { - // Trigger keydown - if (flow_layers_state[i] == flow_up_unqueued) { - layer_on(layer); - change_pressed_status(trigger, true); - } - flow_layer_timeout_wait_timers_value[i] = timer_read(); - flow_layers_state[i] = flow_down_unused; - pass = false; - } else { - // Trigger keyup - switch (flow_layers_state[i]) { - case flow_down_unused: - if (timer_elapsed(flow_layer_timeout_wait_timers_value[i]) > g_flow_oneshot_wait_term) { - flow_layers_state[i] = flow_up_unqueued; - layer_off(layer); - change_pressed_status(trigger, false); - pass = false; - } else { - // If we didn't use the layer while trigger was held, queue it. - flow_layers_state[i] = flow_up_queued; - flow_layer_timeout_timers_active[i] = true; - flow_layer_timeout_timers_value[i] = timer_read(); - pass = false; - change_pressed_status(trigger, true); - } - break; - case flow_down_used: - // If we did use the layer while trigger was held, turn off it. - flow_layers_state[i] = flow_up_unqueued; - layer_off(layer); - change_pressed_status(trigger, false); - pass = false; - break; - default: - break; - } - } - } else { - if (pressed) { - if (key_layer == layer) { - // On non-ignored keyup, consider the oneshot used. - switch (flow_layers_state[i]) { - case flow_down_unused: - flow_layers_state[i] = flow_down_used; - break; - case flow_up_queued: - flow_layers_state[i] = flow_up_queued_used; - flow_layer_timeout_timers_active[i] = false; - break; - case flow_up_queued_used: - flow_layers_state[i] = flow_up_unqueued; - layer_off(layer); - change_pressed_status(trigger, false); - pass = false; - break; - default: - break; - } - } - } else { - // Ignore key ups from other layers - if (key_layer == layer) { - // On non-ignored keyup, consider the oneshot used. - switch (flow_layers_state[i]) { - case flow_up_queued: - flow_layers_state[i] = flow_up_unqueued; - layer_off(layer); - change_pressed_status(trigger, false); - break; - case flow_up_queued_used: - flow_layers_state[i] = flow_up_unqueued; - layer_off(layer); - change_pressed_status(trigger, false); - break; - default: - break; - } - } - } - } - } - - return pass; -} - -bool update_flow( - uint16_t keycode, - bool pressed, - keypos_t key_position -) { - bool pass = update_flow_mods(keycode, pressed); - pass = update_flow_layers(keycode, pressed, key_position) & pass; - return pass; -} - -void flow_matrix_scan(void) { - for (int i = 0; i < FLOW_COUNT; i++) { - if (flow_timeout_timers_active[i] - && timer_elapsed(flow_timeout_timers_value[i]) > g_flow_oneshot_term) { - flow_timeout_timers_active[i] = false; - flow_state[i] = flow_up_unqueued; - unregister_code(flow_config[i][1]); - } - } - - for (int i = 0; i < FLOW_LAYERS_COUNT; i++) { - if (flow_layer_timeout_timers_active[i] - && timer_elapsed(flow_layer_timeout_timers_value[i]) > g_flow_oneshot_term) { - flow_layer_timeout_timers_active[i] = false; - flow_layers_state[i] = flow_up_unqueued; - layer_off(flow_layers_config[i][1]); - change_pressed_status(flow_layers_config[i][0], false); - } - } -} diff --git a/keyboards/a_dux/keymaps/daliusd/flow.h b/keyboards/a_dux/keymaps/daliusd/flow.h deleted file mode 100644 index e9ac32c8ed9a..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/flow.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2022 Dalius Dobravolskas - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -bool update_flow( - uint16_t keycode, - bool pressed, - keypos_t key_position -); - -void flow_matrix_scan(void); diff --git a/keyboards/a_dux/keymaps/daliusd/keymap.c b/keyboards/a_dux/keymaps/daliusd/keymap.c deleted file mode 100644 index 7dec77b01e45..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/keymap.c +++ /dev/null @@ -1,334 +0,0 @@ -/* Copyright 2021 @daliusd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "flow.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 layers { - _QWERTY, - _SYM, - _NAV, - _MISC, - _TMUX, - _MOUSE, - _FUNC, - _LT_MAC, - _LT_LINUX, -}; - -enum custom_keycodes { - TM_NEXT = SAFE_RANGE, - TM_PREV, - TM_LEFT, - TM_RIGHT, - TM_NEW, - TM_SLCT, - TM_SRCH, - TM_URL, - OS_MISC, - OS_TMUX, - OS_FUNC, - LT_OSLNX, -}; - -// Shortcut to make keymap more readable - -#define L_NAV MO(_NAV) -#define L_SYM MO(_SYM) -#define L_MOUSE MO(_MOUSE) - -#define K_PRINT (QK_LCTL | QK_LSFT | QK_LGUI | KC_4) -#define K_VIDEO (QK_LSFT | QK_LGUI | KC_5) - -// flow_config should correspond to following format: -// * layer keycode -// * modifier keycode -const uint16_t flow_config[FLOW_COUNT][2] = { - {L_NAV, KC_LALT}, - {L_NAV, KC_LGUI}, - {L_NAV, KC_LCTL}, - {L_SYM, KC_RCTL}, - {L_SYM, KC_RGUI}, - {L_SYM, KC_RALT}, -}; - -const uint16_t flow_layers_config[FLOW_LAYERS_COUNT][2] = { - {OS_MISC, _MISC}, - {OS_TMUX, _TMUX}, - {OS_FUNC, _FUNC}, -}; - -// Unicode characters -enum unicode_names { - SNEK, - EURO, - LT_S_A, - LT_L_A, - LT_S_C, - LT_L_C, - LT_S_E1, - LT_L_E1, - LT_S_E2, - LT_L_E2, - LT_S_I, - LT_L_I, - LT_S_S, - LT_L_S, - LT_S_U1, - LT_L_U1, - LT_S_U2, - LT_L_U2, - LT_S_Z, - LT_L_Z, - LT_OB, - LT_CB, -}; - -const uint32_t unicode_map[] PROGMEM = { - [SNEK] = 0x1F40D, // 🐍 - [EURO] = 0x20ac, // ₮ - [LT_S_A] = 0x105, // ą - [LT_L_A] = 0x104, // Ą - [LT_S_C] = 0x10d, // č - [LT_L_C] = 0x10c, // Č - [LT_S_E1] = 0x119, // ę - [LT_L_E1] = 0x118, // Ę - [LT_S_E2] = 0x117, // ė - [LT_L_E2] = 0x116, // Ė - [LT_S_I] = 0x12f, // ÄŊ - [LT_L_I] = 0x12e, // ÄŪ - [LT_S_S] = 0x161, // ÅĄ - [LT_L_S] = 0x160, // Å  - [LT_S_U1] = 0x173, // Åģ - [LT_L_U1] = 0x172, // Åē - [LT_S_U2] = 0x16b, // ÅŦ - [LT_L_U2] = 0x16a, // ÅŠ - [LT_S_Z] = 0x17e, // Åū - [LT_L_Z] = 0x17d, // Å― - [LT_OB] = 0x201e, // „ - [LT_CB] = 0x201c, // “ -}; - -#define K_SNEK X(SNEK) -#define K_EURO X(EURO) -#define K_LT_A XP(LT_S_A, LT_L_A) -#define K_LT_AU X(LT_L_A) -#define K_LT_C XP(LT_S_C, LT_L_C) -#define K_LT_CU X(LT_L_C) -#define K_LT_E1 XP(LT_S_E1, LT_L_E1) -#define K_LT_E1U X(LT_L_E1) -#define K_LT_E2 XP(LT_S_E2, LT_L_E2) -#define K_LT_E2U X(LT_L_E2) -#define K_LT_I XP(LT_S_I, LT_L_I) -#define K_LT_IU X(LT_L_I) -#define K_LT_S XP(LT_S_S, LT_L_S) -#define K_LT_SU X(LT_L_S) -#define K_LT_U1 XP(LT_S_U1, LT_L_U1) -#define K_LT_U1U X(LT_L_U1) -#define K_LT_U2 XP(LT_S_U2, LT_L_U2) -#define K_LT_U2U X(LT_L_U2) -#define K_LT_Z XP(LT_S_Z, LT_L_Z) -#define K_LT_ZU X(LT_L_Z) -#define K_LT_OB X(LT_OB) -#define K_LT_CB X(LT_CB) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = 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, - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - L_NAV , KC_SPC , KC_LSFT , L_SYM - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_SYM] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC , KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,KC_GRV ,KC_LBRC ,KC_RBRC ,KC_PLUS , KC_MINS ,KC_PIPE ,KC_RCTL ,KC_RGUI ,KC_RALT , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_DEL ,KC_BSPC ,KC_LCBR ,KC_RCBR ,KC_EQL , KC_UNDS ,KC_QUOT ,KC_DQT ,OS_MISC ,KC_BSLS , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - _______ , _______ , _______ , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_NAV] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_LALT ,KC_LGUI ,KC_LCTL ,KC_TAB ,KC_ENT , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,KC_PGUP , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_LSFT ,KC_BSPC ,KC_ESC ,KC_TILDE,OS_TMUX , OS_FUNC ,L_MOUSE ,KC_COMM ,KC_DOT ,KC_PGDN , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , _______ , _______ , _______ - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_MISC] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - QK_BOOT ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BRID ,KC_BRIU ,KC_PSCR ,XXXXXXX ,K_PRINT , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,XXXXXXX ,DB_TOGG ,LT_OSLNX,XXXXXXX , KC_MPRV ,KC_MPLY ,KC_MNXT ,XXXXXXX ,K_VIDEO , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_VOLD ,KC_VOLU ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_TMUX] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,TM_URL ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , TM_LEFT ,TM_NEXT ,TM_PREV ,TM_RIGHT,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , TM_NEW ,TM_SLCT ,XXXXXXX ,XXXXXXX ,TM_SRCH , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_MOUSE] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - XXXXXXX ,XXXXXXX ,KC_MS_U ,KC_BTN3 ,KC_WH_U , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D , XXXXXXX ,XXXXXXX ,KC_RCTL ,KC_RGUI ,KC_RALT , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - KC_BTN1 , KC_BTN2 , _______ , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_FUNC] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 , XXXXXXX ,XXXXXXX ,KC_RCTL ,KC_RGUI ,KC_RALT , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_F11 ,KC_F12 ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_LT_MAC] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC , KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_PLUS ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_EQL ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,KC_BSPC ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , XXXXXXX , _______ , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), - - [_LT_LINUX] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┐ - K_LT_AU ,K_LT_CU ,K_LT_E1U,K_LT_E2U,K_LT_IU , K_LT_SU ,K_LT_U1U,K_LT_U2U,K_LT_ZU ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - K_LT_A ,K_LT_C ,K_LT_E1 ,K_LT_E2 ,K_LT_I , K_LT_S ,K_LT_U1 ,K_LT_U2 ,K_LT_Z ,XXXXXXX , - //├────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX ,KC_BSPC ,XXXXXXX ,K_SNEK ,K_LT_OB , K_LT_CB ,K_EURO ,XXXXXXX ,XXXXXXX ,XXXXXXX , - //└────────â”ī────────â”ī────────â”ī────┮───â”ī────┮───┾────────┐ ┌────────┾───┮────â”ī───┮────â”ī────────â”ī────────â”ī────────┘ - XXXXXXX , XXXXXXX , _______ , XXXXXXX - // └────────┘ └────────┘ └────────┘ └────────┘ - ), -}; - -#define TMUX_PREFIX SS_DOWN(X_LCTL) "b" SS_UP(X_LCTL) - -bool lt_os_is_linux = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!update_flow(keycode, record->event.pressed, record->event.key)) return false; - - switch (keycode) { - case TM_LEFT: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "<"); - return false; - case TM_RIGHT: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX ">"); - return false; - case TM_NEXT: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "n"); - return false; - case TM_PREV: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "p"); - return false; - case TM_NEW: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "c"); - return false; - case TM_SLCT: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "["); - return false; - case TM_SRCH: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX "\t"); - return false; - case TM_URL: - if (!record->event.pressed) return true; - SEND_STRING(TMUX_PREFIX SS_LCTL("u")); - return false; - case LT_OSLNX: - if (!record->event.pressed) return true; - lt_os_is_linux = !lt_os_is_linux; - return false; - } - return true; -} - -void matrix_scan_user(void) { - flow_matrix_scan(); -} - -bool lang_layer_on = false; - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _SYM, _NAV, lt_os_is_linux ? _LT_LINUX : _LT_MAC); - - uint8_t hl = get_highest_layer(state); - if (hl == _LT_MAC) { - if (!lang_layer_on) { - tap_code16(LCTL(KC_SPC)); - lang_layer_on = true; - } - } else { - if (lang_layer_on) { - tap_code16(LCTL(KC_SPC)); - lang_layer_on = false; - } - } - - return state; -} diff --git a/keyboards/a_dux/keymaps/daliusd/readme.md b/keyboards/a_dux/keymaps/daliusd/readme.md deleted file mode 100644 index fde19ee630c3..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/readme.md +++ /dev/null @@ -1,306 +0,0 @@ -# My 34 keys layout - -This is my principles for layout: - -* I am using Callum style layout. Here you can read explanation by - Callum himself and his reasoning for not using mod-tap: - [here](../../../../users/callum/readme.md) - -* There should be only one way to type key. Key can be on - different layer but it must maintain its physical location. I - broke this rule for Shift key only. - -* The less features are used the better. - -* There is simple TMUX layer. - -* Common keys must be accessible using two keys if possible. - -* It should be possible to work with left keyboard side and mouse - in right hand without lifting hands for some scenarios (that's - why I had to duplicate Shift key). - -## Improvements over Callum - -* I have added one shot layers compatible with Callum's one shot - keys. - -* There is one issue with accidental uppercase characters fixed - that exists in original Callum layout's implementation. - -* Another annoying feature of Callum layer is one shot keys are - frozen until you cancel them. This is problem when you use one - hand for keyboard and another for mouse. E.g. you click Ctrl and - mouse to get some menu (on Mac OS X), and then you want to click - some item in that menu. You have to remember to cancel one shot in such - situation. I have added two settings two handle situations like - this: - - * `FLOW_ONESHOT_WAIT_TERM` - if hold one shot key longer than - `FLOW_ONESHOT_WAIT_TERM` ms then mod key / layer key is not - treated as one shot key (defaults to 500ms). - - * `FLOW_ONESHOT_TERM` - if you do not click another key in - `FLOW_ONESHOT_TERM` ms then one shot key / layer key is treated - as normal key. Therefore if you lift it after `FLOW_ONESHOT_TERM` - it will not be treated as one shot (defaults to 500ms). - - After adding those two settings I have found out that I don't - need one shot cancel key anymore so I have removed it. - -Since differences are significant I named this layout `flow`. - -## Using flow with your keyboard - -Copy `flow.c` and `flow.h` to keyboard folder. - -Add following line to `rules.mk`: - -```make -SRC += flow.c -``` - -Define following in `config.h` for modifiers and layers: - -```c -#define FLOW_COUNT 7 -#define FLOW_LAYERS_COUNT 3 -``` - -In your `keymap.c` add and configure like this: - -```c -#include "flow.h" - -... - -// flow_config should correspond to following format: -// * layer keycode -// * modifier keycode -const uint16_t flow_config[FLOW_COUNT][2] = { - {L_NAV, KC_LALT}, - {L_NAV, KC_LGUI}, - {L_NAV, KC_LCTL}, - {L_NAV, KC_LSFT}, - {L_SYM, KC_LCTL}, - {L_SYM, KC_LGUI}, - {L_SYM, KC_LALT}, -}; - - -// for layers configuration follow this format: -// * custom layer key -// * layer name -const uint16_t flow_layers_config[FLOW_LAYERS_COUNT][2] = { - {OS_TMUX, _TMUX}, - {OS_MISC, _MISC}, - {OS_FUNC, _FUNC}, -}; - -... - -// Add following to handle flow - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!update_flow(keycode, record->event.pressed, record->event.key)) return false; - return true; -} - -void matrix_scan_user(void) { - flow_matrix_scan(); -} - -``` - -## Lithuanian letters - -There are at least two ways how to enter Lithuanian letters: to -use Unicode support from QMK or to switch OS language when -necessary. Unicode support has some problems: - -* it is OS specific (you need to change Unicode input mode based - on your OS and I sometimes switch between Mac OS X and Ubuntu). - This is minor issue but it is still issue. - -* There is bug in Mac OS X and I can't enter `Å ` using unicode - input method. - -* Unicode Hex Input in Mac OS X is not perfect and there are some - minor issue while using it. - -On Linux Unicode support meanwhile works perfectly. - -This leaves us with other option to use OS language switching as -you most probably have done before. Still there is space for -improvement. E.g. I have added Lithuanian letters to trilayer and -trilayer activation toggles OS language (this works because I use -only two languages). Check `layer_state_set_user` implementation -for details. - -# Rejected ideas - -## Mods as combos - -Sometimes when I press `NAV (layer key) + S + Tab` to get `Command -+ Tab` I ended up with `S + Nav + Tab`. This happened because I -did that really fast and sometimes clicked S slightly earlier than -NAV layer key. Initially I have solved this problem using Combo -keys, but that's additional dependency and combo keys are not -ideal for Callum layer. You need to release both keys to trigger -Combo key release. Therefore I have written custom code that -allows pressing S some milliseconds earlier. This is controlled by -FLOW_TERM and defaults to 10. I do not recommend setting this to -higher than 30. - -This idea was rejected because it looks like 10ms did not made -that big difference. - -## Swapper - -Idea of swapper is to have key that registers Mode key (e.g. -Command while layer and some key is pressed) to simulate two key -combo, e.g. Command + Tab. Overall I found that 3 keys combo that -I have currently for swapping windows is equally good as 2 keys -swapper. Another problem with swapper is that it is OS specific. -Still if you want here is swapper implementation I have used: - -```c -bool active; - -void update_swapper( - uint16_t trigger, - uint16_t keycode, - bool pressed -) { - if (keycode == trigger) { - if (pressed) { - if (!active) { - active = true; - register_code(KC_LGUI); - } - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - } else if (active && keycode != KC_LSFT && keycode != KC_LEFT && keycode != KC_RIGHT) { - unregister_code(KC_LGUI); - active = false; - } -} -``` - -## Combos - -I have seen that some people use two letter horizontal combos for -some actions, e.g. XC for Command+C, CV for Command+V, JK for ESC -and etc. I found that this kind of kicks me out of the flow when -working as it requires different kind of action and I need to -pause to make that action. - -## Comma-space - -I have noticed that I put space after comma `,` usually. That -means I can use comma + letter for something else with backspace, -e.g. for Lithuanian letters. Performance wise that works OK, but -practically that does not feel really good. Trilayer with language -layer switch works better. - -Still if you are interested here is comma-space implementation: - -```c -void swap_layout(void) { - uint8_t saved_mods = get_mods(); - clear_mods(); - tap_code16(LCTL(KC_SPC)); - set_mods(saved_mods); -} - -void press_with_layout_swap(uint16_t keycode) { - tap_code16(KC_BSPC); - swap_layout(); - tap_code16(keycode); - swap_layout(); -} - -bool comma_pressed = false; - -bool update_commaspace( - uint16_t keycode, - bool pressed -) { - if (keycode == KC_COMM) { - if (!(get_mods() & MOD_MASK_SHIFT)) { - comma_pressed = true; - } - } else if (comma_pressed) { - if (keycode != KC_LSFT) { - comma_pressed = false; - } - - switch(keycode) { - case KC_Q: - if (pressed) { - press_with_layout_swap(KC_1); - return false; - } - break; - case KC_W: - if (pressed) { - press_with_layout_swap(KC_2); - return false; - } - break; - case KC_E: - if (pressed) { - press_with_layout_swap(KC_3); - return false; - } - break; - case KC_R: - if (pressed) { - press_with_layout_swap(KC_4); - return false; - } - break; - case KC_T: - if (pressed) { - press_with_layout_swap(KC_5); - return false; - } - break; - case KC_Y: - if (pressed) { - press_with_layout_swap(KC_6); - return false; - } - break; - case KC_U: - if (pressed) { - press_with_layout_swap(KC_7); - return false; - } - break; - case KC_I: - if (pressed) { - press_with_layout_swap(KC_8); - return false; - } - break; - case KC_O: - if (pressed) { - press_with_layout_swap(KC_EQL); - return false; - } - break; - } - } - - return true; -}; -``` - -## Using one shot layers on top layer keys (NAV and SYM) - -While this looked promising and fun it was really easy to get lost -in which layer you actually are. You can still use it as `flow` -supports this scenario, but I do not recommend it. diff --git a/keyboards/a_dux/keymaps/daliusd/rules.mk b/keyboards/a_dux/keymaps/daliusd/rules.mk deleted file mode 100644 index dda50a4f783c..000000000000 --- a/keyboards/a_dux/keymaps/daliusd/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -UNICODE_ENABLE = no -UNICODEMAP_ENABLE = yes -#CONSOLE_ENABLE = yes - -SRC += flow.c diff --git a/keyboards/a_dux/keymaps/jcmkk3/keymap.c b/keyboards/a_dux/keymaps/jcmkk3/keymap.c deleted file mode 100644 index 608e0c522ea9..000000000000 --- a/keyboards/a_dux/keymaps/jcmkk3/keymap.c +++ /dev/null @@ -1,130 +0,0 @@ -/* Copyright 2021 @jcmkk3 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "oneshot.h" - -#define LA_UPP OSL(UPP) -#define LA_SYM OSL(SYM) -#define LA_NAV MO(NAV) - -enum layers { - DEF, - UPP, - SYM, - NAV, - NUM, -}; - -enum keycodes { - // Custom oneshot mod implementation with no timers. - OS_SHFT = SAFE_RANGE, - OS_CTRL, - OS_ALT, - OS_GUI, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DEF] = LAYOUT( - KC_Y, KC_C, KC_L, KC_M, KC_K, KC_Z, KC_F, KC_U, KC_QUOT, KC_DQUO, - KC_I, KC_S, KC_R, KC_T, KC_G, KC_P, KC_N, KC_E, KC_A, KC_O, - KC_Q, KC_V, KC_W, KC_D, KC_J, KC_B, KC_H, KC_COMM, KC_DOT, KC_X, - LA_NAV, KC_SPC, LA_UPP, LA_SYM - ), - - [UPP] = LAYOUT( - S(KC_Y), S(KC_C), S(KC_L), S(KC_M), S(KC_K), S(KC_Z), S(KC_F), S(KC_U), KC_EXLM, KC_QUES, - S(KC_I), S(KC_S), S(KC_R), S(KC_T), S(KC_G), S(KC_P), S(KC_N), S(KC_E), S(KC_A), S(KC_O), - S(KC_Q), S(KC_V), S(KC_W), S(KC_D), S(KC_J), S(KC_B), S(KC_H), KC_SCLN, KC_COLN, S(KC_X), - _______, _______, _______, _______ - ), - - [SYM] = LAYOUT( - KC_LABK, KC_LCBR, KC_LBRC, KC_LPRN, KC_CIRC, KC_DLR, KC_RPRN, KC_RBRC, KC_RCBR, KC_RABK, - KC_HASH, KC_UNDS, KC_EQL, KC_MINS, KC_PLUS, KC_AMPR, OS_CTRL, OS_SHFT, OS_ALT, OS_GUI, - KC_PERC, KC_GRV, KC_TILD, KC_SLSH, KC_ASTR, KC_PIPE, KC_BSLS, KC_SCLN, KC_COLN, KC_AT, - _______, _______, _______, _______ - ), - - [NAV] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TAB, KC_UP, KC_ENT, KC_DEL, - OS_GUI, OS_ALT, OS_SHFT, OS_CTRL, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, - C(KC_Z), C(KC_X), C(KC_C), C(KC_V), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, KC_BSPC, _______ - ), - - [NUM] = LAYOUT( - KC_7, KC_5, KC_3, KC_1, KC_9, KC_8, KC_0, KC_2, KC_4, KC_6, - OS_GUI, OS_ALT, OS_SHFT, OS_CTRL, XXXXXXX, XXXXXXX, OS_CTRL, OS_SHFT, OS_ALT, OS_GUI, - XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, - _______, _______, KC_BSPC, _______ - ), -}; - -bool is_oneshot_cancel_key(uint16_t keycode) { - switch (keycode) { - case LA_SYM: - case LA_NAV: - return true; - default: - return false; - } -} - -bool is_oneshot_ignored_key(uint16_t keycode) { - switch (keycode) { - case LA_SYM: - case LA_NAV: - case KC_LSFT: - case OS_SHFT: - case OS_CTRL: - case OS_ALT: - case OS_GUI: - return true; - default: - return false; - } -} - -oneshot_state os_shft_state = os_up_unqueued; -oneshot_state os_ctrl_state = os_up_unqueued; -oneshot_state os_alt_state = os_up_unqueued; -oneshot_state os_gui_state = os_up_unqueued; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - update_oneshot( - &os_shft_state, KC_LSFT, OS_SHFT, - keycode, record - ); - update_oneshot( - &os_ctrl_state, KC_LCTL, OS_CTRL, - keycode, record - ); - update_oneshot( - &os_alt_state, KC_LALT, OS_ALT, - keycode, record - ); - update_oneshot( - &os_gui_state, KC_LGUI, OS_GUI, - keycode, record - ); - - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, SYM, NAV, NUM); -} diff --git a/keyboards/a_dux/keymaps/jcmkk3/oneshot.c b/keyboards/a_dux/keymaps/jcmkk3/oneshot.c deleted file mode 100644 index e84b5a7b1d66..000000000000 --- a/keyboards/a_dux/keymaps/jcmkk3/oneshot.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2021 @jcmkk3 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "oneshot.h" - -void update_oneshot( - oneshot_state *state, - uint16_t mod, - uint16_t trigger, - uint16_t keycode, - keyrecord_t *record -) { - if (keycode == trigger) { - if (record->event.pressed) { - // Trigger keydown - if (*state == os_up_unqueued) { - register_code(mod); - } - *state = os_down_unused; - } else { - // Trigger keyup - switch (*state) { - case os_down_unused: - // If we didn't use the mod while trigger was held, queue it. - *state = os_up_queued; - break; - case os_down_used: - // If we did use the mod while trigger was held, unregister it. - *state = os_up_unqueued; - unregister_code(mod); - break; - default: - break; - } - } - } else { - if (record->event.pressed) { - if (is_oneshot_cancel_key(keycode) && *state != os_up_unqueued) { - // Cancel oneshot on designated cancel keydown. - *state = os_up_unqueued; - unregister_code(mod); - } - } else { - if (!is_oneshot_ignored_key(keycode)) { - // On non-ignored keyup, consider the oneshot used. - switch (*state) { - case os_down_unused: - *state = os_down_used; - break; - case os_up_queued: - *state = os_up_unqueued; - unregister_code(mod); - break; - default: - break; - } - } - } - } -} diff --git a/keyboards/a_dux/keymaps/jcmkk3/oneshot.h b/keyboards/a_dux/keymaps/jcmkk3/oneshot.h deleted file mode 100644 index b88e68d1d5c4..000000000000 --- a/keyboards/a_dux/keymaps/jcmkk3/oneshot.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2021 @jcmkk3 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -// Represents the four states a oneshot key can be in -typedef enum { - os_up_unqueued, - os_up_queued, - os_down_unused, - os_down_used, -} oneshot_state; - -// Custom oneshot mod implementation that doesn't rely on timers. If a mod is -// used while it is held it will be unregistered on keyup as normal, otherwise -// it will be queued and only released after the next non-mod keyup. -void update_oneshot( - oneshot_state *state, - uint16_t mod, - uint16_t trigger, - uint16_t keycode, - keyrecord_t *record -); - -// To be implemented by the consumer. Defines keys to cancel oneshot mods. -bool is_oneshot_cancel_key(uint16_t keycode); - -// To be implemented by the consumer. Defines keys to ignore when determining -// whether a oneshot mod has been used. Setting this to modifiers and layer -// change keys allows stacking multiple oneshot modifiers, and carrying them -// between layers. -bool is_oneshot_ignored_key(uint16_t keycode); diff --git a/keyboards/a_dux/keymaps/jcmkk3/rules.mk b/keyboards/a_dux/keymaps/jcmkk3/rules.mk deleted file mode 100644 index b7dcd87b1ead..000000000000 --- a/keyboards/a_dux/keymaps/jcmkk3/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SRC += oneshot.c diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h b/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index dbbff11bb61c..000000000000 --- a/keyboards/a_dux/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2021 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 LAYOUT_miryoku( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - K33, K34, K35, K36 \ -) diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/a_dux/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk deleted file mode 100644 index ef40279cbcd6..000000000000 --- a/keyboards/a_dux/keymaps/manna-harbour_miryoku/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2021 Manna Harbour -# https://github.com/manna-harbour/miryoku - -MIRYOKU_KLUDGE_THUMBCOMBOS=yes diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h index b5109c291d3f..84e1acbb3c71 100644 --- a/keyboards/abacus/config.h +++ b/keyboards/abacus/config.h @@ -17,21 +17,6 @@ along with this program. If not, see . #pragma once -#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 -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_STATIC_GRADIENT - /* 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/abacus/info.json b/keyboards/abacus/info.json index c12d7cb23541..ad8ebcc8654f 100644 --- a/keyboards/abacus/info.json +++ b/keyboards/abacus/info.json @@ -13,11 +13,28 @@ "rows": ["D3", "D2", "D4", "C6"] }, "diode_direction": "COL2ROW", + "dip_switch": { + "pins": ["D0"] + }, "encoder": { "rotary": [ {"pin_a": "F1", "pin_b": "F0"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "static_gradient": true + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/abacus/keymaps/unicodemap/keymap.c b/keyboards/abacus/keymaps/unicodemap/keymap.c deleted file mode 100644 index 0e6ab0d6479b..000000000000 --- a/keyboards/abacus/keymaps/unicodemap/keymap.c +++ /dev/null @@ -1,150 +0,0 @@ -/* Copyright 2020 nickolaij - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// wait DELAY ms before unregistering media keys -#define MEDIA_KEY_DELAY 10 - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _UPPER, - _LOWER -}; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - NICKURL = SAFE_RANGE, - ALTTAB -}; - -enum unicode_names { - LOVEEYES, - THINK, - UPSIDEDOWN, - NOMOUTH, - PARTY, - HEART, - EGGPLANT, - PEACH, - EMOJI100, - EMOJIB -}; - -const uint32_t unicode_map[] PROGMEM = { - [LOVEEYES] = 0x1f60d, - [THINK] = 0x1f914, - [UPSIDEDOWN] = 0x1f643, - [NOMOUTH] = 0x1f636, - [PARTY] = 0x1f973, - [HEART] = 0x1f495, - [EMOJI100] = 0x1f4af, - [PEACH] = 0x1f351, - [EGGPLANT] = 0x1f346, - [EMOJIB] = 0x1f171 -}; - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_BSLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_UP, KC_DELETE, - KC_LCTL, KC_LGUI, MO(_UPPER), KC_SPACE, KC_ENTER, MO(_LOWER), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_UPPER] = LAYOUT( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - ALTTAB, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_QUOTE, KC_SLASH, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MINUS, KC_EQUAL, _______, _______, - KC_LALT, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END - ), - [_LOWER] = LAYOUT( - NICKURL, 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_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_GRADIENT, XXXXXXX, RGB_TOG, - _______, X(LOVEEYES), X(THINK), X(UPSIDEDOWN), X(NOMOUTH), X(PARTY), X(PEACH), X(HEART), X(EGGPLANT), X(EMOJI100), X(EMOJIB), RGB_HUI, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______ - ) - - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case NICKURL: - if (record->event.pressed) { - SEND_STRING("https://www.github.com/nickolaij"); - } else { - tap_code(KC_ENTER); - } - return true; - break; - - case ALTTAB: - if (record->event.pressed) { - tap_code16(A(KC_TAB)); - } - return true; - break; - - default: - return true; - - } -} - - -bool dip_switch_update_user(uint8_t index, bool active) { - switch (index) { - case 0: - if(active) { - switch(get_highest_layer(layer_state)) { - case _BASE: - tap_code16(LCTL(KC_F)); - break; - case _UPPER: - tap_code(KC_MUTE); - break; - case _LOWER: - tap_code(KC_MEDIA_PLAY_PAUSE); - break; - } - } - } - return true; -} - - -void matrix_init_user(void) { - set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - - switch(get_highest_layer(layer_state)) { - case _BASE: - clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP); - break; - case _UPPER: - clockwise ? tap_code(KC_VOLU) : tap_code(KC_VOLD); - break; - case _LOWER: - clockwise ? tap_code(KC_MEDIA_NEXT_TRACK) : tap_code(KC_MEDIA_PREV_TRACK); - break; - } - return true; -} diff --git a/keyboards/abacus/keymaps/unicodemap/readme.md b/keyboards/abacus/keymaps/unicodemap/readme.md deleted file mode 100644 index 0c6098f0e980..000000000000 --- a/keyboards/abacus/keymaps/unicodemap/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# The default keymap for Abacus - -This is made based on my first few days of playing with it and honing in on what feels right. -I've repurposed the DIP switch function for the encoder switches and added some functionality for multiple layers also effecting the encoders output. diff --git a/keyboards/abacus/keymaps/unicodemap/rules.mk b/keyboards/abacus/keymaps/unicodemap/rules.mk deleted file mode 100644 index 502b2def7623..000000000000 --- a/keyboards/abacus/keymaps/unicodemap/rules.mk +++ /dev/null @@ -1 +0,0 @@ -UNICODEMAP_ENABLE = yes diff --git a/keyboards/abatskeyboardclub/nayeon/config.h b/keyboards/abatskeyboardclub/nayeon/config.h index b42ece99a60a..7fedf4dce12d 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/abatskeyboardclub/nayeon/info.json b/keyboards/abatskeyboardclub/nayeon/info.json index d7e3718c0b1a..7a3b650ff1d8 100644 --- a/keyboards/abatskeyboardclub/nayeon/info.json +++ b/keyboards/abatskeyboardclub/nayeon/info.json @@ -25,7 +25,7 @@ "driver": "vendor" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "RP2040", "bootloader": "rp2040", diff --git a/keyboards/abko/ak84bt/ak84bt.c b/keyboards/abko/ak84bt/ak84bt.c index 0ecd06b177e8..a51f1f458f6a 100644 --- a/keyboards/abko/ak84bt/ak84bt.c +++ b/keyboards/abko/ak84bt/ak84bt.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_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}, diff --git a/keyboards/abko/ak84bt/config.h b/keyboards/abko/ak84bt/config.h index f6a3b55851fc..0a7f31bf7da8 100644 --- a/keyboards/abko/ak84bt/config.h +++ b/keyboards/abko/ak84bt/config.h @@ -17,10 +17,9 @@ #pragma once -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010011 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 45 #define DRIVER_2_LED_TOTAL 45 diff --git a/keyboards/abko/ak84bt/info.json b/keyboards/abko/ak84bt/info.json index 30dd823575d0..4660fb702481 100644 --- a/keyboards/abko/ak84bt/info.json +++ b/keyboards/abko/ak84bt/info.json @@ -27,7 +27,7 @@ }, "processor": "STM32F103", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "layout": [ {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4}, {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4}, @@ -126,23 +126,27 @@ "pid": "0x4321", "vid": "0x7654" }, + "layout_aliases": { + "LAYOUT_75_ansi": "LAYOUT" + }, "layouts": { - "LAYOUT_75_ansi": { + "LAYOUT": { "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": "F1", "matrix": [0, 2], "x": 1.5, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 2.5, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 3.5, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 4.5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 10.5, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 11.5, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 12.5, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 13.5, "y": 0}, + {"label": "END", "matrix": [0, 15], "x": 15, "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}, @@ -157,7 +161,8 @@ {"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": "HOME", "matrix": [1, 14], "x": 15, "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}, @@ -172,7 +177,8 @@ {"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": "DEL", "matrix": [2, 14], "x": 15, "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}, @@ -185,8 +191,9 @@ {"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": "ENT", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"label": "PGUP", "matrix": [3, 14], "x": 15, "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}, @@ -199,18 +206,19 @@ {"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": "UP", "matrix": [4, 13], "x": 14, "y": 4.25}, + {"label": "PGDN", "matrix": [4, 14], "x": 15, "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} + {"label": "RALT", "matrix": [5, 9], "x": 10, "y": 5.25}, + {"label": "MO(1)", "matrix": [5, 10], "x": 11, "y": 5.25}, + {"label": "RCTL", "matrix": [5, 11], "x": 12, "y": 5.25}, + {"label": "LEFT", "matrix": [5, 12], "x": 13, "y": 5.25}, + {"label": "DOWN", "matrix": [5, 13], "x": 14, "y": 5.25}, + {"label": "RGHT", "matrix": [5, 14], "x": 15, "y": 5.25} ] } } diff --git a/keyboards/abko/ak84bt/keymaps/default/keymap.c b/keyboards/abko/ak84bt/keymaps/default/keymap.c index 6a57c4422a70..48fab8614b09 100644 --- a/keyboards/abko/ak84bt/keymaps/default/keymap.c +++ b/keyboards/abko/ak84bt/keymaps/default/keymap.c @@ -23,7 +23,7 @@ enum layer_names }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_75_ansi( + [_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_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, @@ -31,7 +31,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_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( + [_FnLay] = LAYOUT( QK_BOOT, KC_MY_COMPUTER, KC_WWW_HOME, KC_CALCULATOR, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/abstract/ellipse/keymaps/abstractkb/config.h b/keyboards/abstract/ellipse/keymaps/abstractkb/config.h deleted file mode 100644 index 9aca0b31f5ca..000000000000 --- a/keyboards/abstract/ellipse/keymaps/abstractkb/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2019 AbstractKB - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_BREATHING -#define BREATHING_PERIOD 2 -#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 - -// place overrides here diff --git a/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c b/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c deleted file mode 100644 index 4350423183b6..000000000000 --- a/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2019 AbstractKB - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines the keycodes used by our macros in process_record_user -/*enum custom_keycodes { - MYKEY = SAFE_RANGE -};*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - KC_MUTE, RGB_TOG, BL_TOGG, - RGB_M_SW, RGB_M_P, BL_BRTG - ) -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - rgblight_increase_hue_noeeprom(); - } else { - rgblight_decrease_hue_noeeprom(); - } - } else if (index == 2) { /* Third encoder */ - if (clockwise) { - backlight_increase(); - } else { - backlight_decrease(); - } - } - return true; -} diff --git a/keyboards/abstract/ellipse/keymaps/abstractkb/readme.md b/keyboards/abstract/ellipse/keymaps/abstractkb/readme.md deleted file mode 100644 index 5db2eb647f72..000000000000 --- a/keyboards/abstract/ellipse/keymaps/abstractkb/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# My keymap - -This was used for testing lights but will become my personal keymap \ No newline at end of file diff --git a/keyboards/abstract/ellipse/keymaps/abstractkb/rules.mk b/keyboards/abstract/ellipse/keymaps/abstractkb/rules.mk deleted file mode 100644 index 54a2685bf634..000000000000 --- a/keyboards/abstract/ellipse/keymaps/abstractkb/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BACKLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h index c2632e04174f..81349657efa2 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 9dfe255ba221..341b52292654 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 2f3159192ac1..2bcc184a3094 100644 --- a/keyboards/acekeyboard/titan60/config.h +++ b/keyboards/acekeyboard/titan60/config.h @@ -17,22 +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 -# 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 - /* 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/acekeyboard/titan60/info.json b/keyboards/acekeyboard/titan60/info.json index b384b7bcbf10..8f11e1df0717 100644 --- a/keyboards/acekeyboard/titan60/info.json +++ b/keyboards/acekeyboard/titan60/info.json @@ -17,6 +17,24 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "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 + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c b/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c deleted file mode 100644 index 99e619279470..000000000000 --- a/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 keebnewb - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_utilitarian( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_60_utilitarian( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, BS_SWAP, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, - BL_TOGG, BL_DOWN, BL_UP, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json index c2a702781b99..b5b935ab585f 100644 --- a/keyboards/acheron/apollo/87h/delta/info.json +++ b/keyboards/acheron/apollo/87h/delta/info.json @@ -8,7 +8,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk index ce1d65be0f3a..723724b7aa27 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/config.h b/keyboards/acheron/apollo/87h/gamma/config.h index 6209fa21f728..37c0aaef649c 100644 --- a/keyboards/acheron/apollo/87h/gamma/config.h +++ b/keyboards/acheron/apollo/87h/gamma/config.h @@ -25,12 +25,10 @@ along with this program. If not, see . #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE // RGB Matrix defines -#define DRIVER_ADDR_1 0b0110000 +#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND -#define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 87 #define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL -#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c index fb381f52ce14..19e91062873e 100644 --- a/keyboards/acheron/apollo/87h/gamma/gamma.c +++ b/keyboards/acheron/apollo/87h/gamma/gamma.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json index f10a6adb67d7..0a3b28e31f6f 100644 --- a/keyboards/acheron/apollo/87h/gamma/info.json +++ b/keyboards/acheron/apollo/87h/gamma/info.json @@ -5,7 +5,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"], diff --git a/keyboards/acheron/apollo/87h/gamma/rules.mk b/keyboards/acheron/apollo/87h/gamma/rules.mk index 25c83bb136c8..4af646ec021c 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/info.json b/keyboards/acheron/apollo/87htsc/info.json index 5a140a7bdceb..de0388176e77 100644 --- a/keyboards/acheron/apollo/87htsc/info.json +++ b/keyboards/acheron/apollo/87htsc/info.json @@ -12,7 +12,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk index ce1d65be0f3a..723724b7aa27 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/info.json b/keyboards/acheron/apollo/88htsc/info.json index 9fc9210c803d..adb2372e6081 100644 --- a/keyboards/acheron/apollo/88htsc/info.json +++ b/keyboards/acheron/apollo/88htsc/info.json @@ -12,7 +12,7 @@ "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk index ce1d65be0f3a..723724b7aa27 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 0aeca0dd9f35..7f4f202a1b70 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 26c00e41aa0d..9e4f82f7ad19 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 1f91766add02..ba5c2dedf2c2 100644 --- a/keyboards/acheron/athena/alpha/config.h +++ b/keyboards/acheron/athena/alpha/config.h @@ -22,19 +22,6 @@ 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 -#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 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 diff --git a/keyboards/acheron/athena/alpha/info.json b/keyboards/acheron/athena/alpha/info.json index e72e8aece466..229fd7a8c88d 100644 --- a/keyboards/acheron/athena/alpha/info.json +++ b/keyboards/acheron/athena/alpha/info.json @@ -15,6 +15,21 @@ "on_state": 0, "breathing": true }, + "rgblight": { + "led_count": 34, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk index 3d622c22169a..086e2474baf7 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 0376a9ac2ca4..30c29fa68623 100644 --- a/keyboards/acheron/athena/beta/config.h +++ b/keyboards/acheron/athena/beta/config.h @@ -21,20 +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 -#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 + #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 #define WS2812_PWM_COMPLEMENTARY_OUTPUT diff --git a/keyboards/acheron/athena/beta/info.json b/keyboards/acheron/athena/beta/info.json index b2ced072a891..0730833b9b8a 100644 --- a/keyboards/acheron/athena/beta/info.json +++ b/keyboards/acheron/athena/beta/info.json @@ -14,6 +14,21 @@ "levels": 20, "breathing": true }, + "rgblight": { + "led_count": 34, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk index 3d622c22169a..086e2474baf7 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 295d6960eed3..a5089d51a5b4 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 81093a2838fc..62093e37b230 100644 --- a/keyboards/acheron/elongate/beta/config.h +++ b/keyboards/acheron/elongate/beta/config.h @@ -17,22 +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 -# 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 - /* 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/acheron/elongate/beta/info.json b/keyboards/acheron/elongate/beta/info.json index 5f46a2a48c0a..2bbb214bd00a 100644 --- a/keyboards/acheron/elongate/beta/info.json +++ b/keyboards/acheron/elongate/beta/info.json @@ -8,6 +8,24 @@ "pid": "0x454C", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/acheron/elongate/delta/config.h b/keyboards/acheron/elongate/delta/config.h index 2113a65b3a8d..81342ef26dc5 100755 --- a/keyboards/acheron/elongate/delta/config.h +++ b/keyboards/acheron/elongate/delta/config.h @@ -21,19 +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 -#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 - #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c index e83516b56674..e621b4495b5b 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 c753810954b3..19991ecb8613 100644 --- a/keyboards/acheron/elongate/delta/info.json +++ b/keyboards/acheron/elongate/delta/info.json @@ -20,7 +20,21 @@ "breathing_period": 3 }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "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 + } }, "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 f84ab5d6023a..3d5cb57ad507 --- 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 f94f12cb84a9..5356b24d77c4 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/keymaps/xoxotus/keymap.c b/keyboards/acheron/lasgweloth/keymaps/xoxotus/keymap.c deleted file mode 100755 index 24ec0c9a36a0..000000000000 --- a/keyboards/acheron/lasgweloth/keymaps/xoxotus/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi_split_bs_rshift( - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_TILD, - KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL - ), - [1] = LAYOUT_60_ansi_split_bs_rshift( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/acheron/lasgweloth/rules.mk b/keyboards/acheron/lasgweloth/rules.mk index 93f25a13d8d2..5b6b0c929912 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 91f51146f0b4..a34ea41cffb2 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/alpha/keymaps/ajp10304/readme.md b/keyboards/acheron/shark/alpha/keymaps/ajp10304/readme.md deleted file mode 100644 index e091e5d3186c..000000000000 --- a/keyboards/acheron/shark/alpha/keymaps/ajp10304/readme.md +++ /dev/null @@ -1,126 +0,0 @@ -# AJP10304 Custom Shark Layout -# Also available for the Planck, Quark, JJ40 and Atreus50 - -**Note:** In the tables below where there are two characters on a key, -the second is the output when shift is applied. - -**Note:** The below tables assume a UK layout. - -#### Flashing -Refer to the README.md of the keyboard you want to flash. - -##### Main Qwerty Layer - -* Tab: when held, operates as shift. -* Enter: when held, operates as shift. -* MENU: perform right-click - -| | | | | | | | | | | | | -| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:| -| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | -| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| -| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | - -##### Main Colemak-DHm Layer - -| | | | | | | | | | | | | -| ---- |:----:| :---:|:---:|:-----:|:----:|:-----:|:-----:|:-----:|:----:|:----:| ----:| -| Esc | Q | W | F | P | B | J | L | U | Y | ;: | Bksp | -| Tab | A | R | S | T | G | M | N | E | I | O | Enter| -| Shft | Z | X | C | D | V | K | H | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI | Lower | Bksp | Space | Raise | Shift | MENU | Ctrl | Fn2 | - -##### Function Layer -Activated when `fn` held in the above `qwerty` layer. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| -| Shift | \| | `ÂŽ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 | - -##### Lower Layer -Activated when `Lower` is held in the above `qwerty` layer. - -* Numbers are along the top row, their shifted counterparts are on row 2. -* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word. -* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp | -| ! | " | ÂĢ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks| -| Shift | \| | `ÂŽ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift | -| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play | - -##### Raise Layer -Activated when `Raise` is held in the above `qwerty` layer. - -* Preferred layer for typing brackets. -* Allows for cursor navigation to be used solely with the right hand. -* WRDSEL: Select the word where the cursor is. -* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| -| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC| -| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +| -| | | | { | } | ||<| LEFT | DOWN |RIGHT |>||ZOOM -| -| Mouse | | | | | Alt | Enter |Raise | | | | | - -##### Lower + Raise -Activated when `Lower` and `Raise` are held together in the above `qwerty` layer. - -* Audio controls in the same position as cursor keys from the `Raise` layer. -* ????: Runs a macro for outputting a text string. Do not use this store passwords. -* Reset: Enter bootloader for flashing firmware to the keyboard. -* CAPS: Toggle caps lock. -* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2. -To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2. -* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, -MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|:-------:| -| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | -| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | Qwerty | -| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | Colemak | -| | | | | | | | | DYN | | | | - -##### Function 2 Layer -Activated when `fn` held in the above `qwerty` layer. -* WRDSEL: Select the word where the cursor is. -* LNDEL: Delete the line where the cursor is. -* LNSEL: Select the line where the cursor is. -* DUP: Duplicate the selected text. -* LNJOIN: Join the line where the cursor is with the following line. -* MODE: Print either `PC` or `OSX` depending on what layer mode is active. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | |WRDSEL| | | | LNDEL| | | | | | -| | | LNSEL| DUP | | | | |LNJOIN| | | | -| | UNDO | CUT | COPY | PASTE| | | | | | | MODE | -| | | | | | | | | | | | | - -##### Mouse Layer -Activated when `fn` and `raise` held together. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| ESC | | | | | | W_L | W_UP | BTN3 | W_DWN| W_R | | -| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | -| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | -| | | | | | | | | | | | | - -##### Number Pad Layout -Activated when holding `Esc` key. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | | | | | |NMLOCK| 7 | 8 | 9 | / | | -| | | | | | | | 4 | 5 | 6 | * | | -| | | | | | | | 1 | 2 | 3 | + | | -| | | | | | | | 0 | . | , | - | | diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h index 348b284a3fff..d862fd016def 100644 --- a/keyboards/acheron/shark/beta/config.h +++ b/keyboards/acheron/shark/beta/config.h @@ -22,19 +22,6 @@ 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 -#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 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 diff --git a/keyboards/acheron/shark/beta/info.json b/keyboards/acheron/shark/beta/info.json index 504e86f4b3ff..7daab0a2c0eb 100644 --- a/keyboards/acheron/shark/beta/info.json +++ b/keyboards/acheron/shark/beta/info.json @@ -9,11 +9,29 @@ "rows": ["A8", "B14", "A4", "A3"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "i2c" + }, "encoder": { "rotary": [ {"pin_a": "C15", "pin_b": "C14"} ] }, + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c b/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c deleted file mode 100755 index ffd104c771c9..000000000000 --- a/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c +++ /dev/null @@ -1,264 +0,0 @@ -/* -Copyright 2020 Álvaro "Gondolindrim" Volpato - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -#define MEDIA_KEY_DELAY 10 -#define ALT_TAB_DELAY 1000 - -// Persistent encoder modes: the current encoder mode is written into EEPROM memory, and retrieved at the keyboard initialization. This means the current encoder mode is persistent even if the keyboard is reset or turned off -#define PERSISTENT_ENCODER_MODES - -#define ENCODER_MODE_CHANGE_DELAY 500 - -// Defining special keycodes -enum keyboard_keycodes { - ECLICK = SAFE_RANGE, // Encoder click - ALTTABF , // ALT-TAB forward - ALTTABB , // ALT-TAB backwards - ALTTABC , // For alt-tab-click - ENCMUP , // Encoder mode up - ENCMDN , // Encoder mode down - NEW_SAFE_RANGE -}; - -// Creates sample keyevents and keyrecords to be used in the processing of the custom keycodes. Their time should be resampled everytime they are used; their cols and rows are set to be "impossible", that is, outside the normal key matrix bounds. -const keyevent_t sample_pressed_keyevent = { - .key = (keypos_t){.row = 5, .col = 13}, - .pressed = true, - .time = 0 -}; - -keyrecord_t sample_pressed_keyrecord = { - .event = sample_pressed_keyevent -}; - -const keyevent_t sample_released_keyevent = { - .key = (keypos_t){.row = 5, .col = 13}, - .pressed = false, - .time = 0 -}; - -keyrecord_t sample_released_keyrecord = { - .event = sample_released_keyevent -}; - -// tap_process_record_user calls process_record_user with the pressed and released sample keyrecords with a delay of MEDIA_KEY_DELAY. The idea is to allow custom keycodes a simulation of a key press and release, allowing them to be treated in process_record_user. This, in turn, allows the custom keycodes to be used both in the encoder callback and the keyboard keymap. -uint16_t temp_timer = 0; -void tap_process_record_user(uint16_t keycode) -{ - temp_timer = timer_read(); - sample_pressed_keyrecord.event.time = timer_read(); - process_record_user( keycode, &sample_pressed_keyrecord ); - while (timer_elapsed(temp_timer) < MEDIA_KEY_DELAY); - sample_released_keyrecord.event.time = timer_read(); - process_record_user( keycode, &sample_released_keyrecord ); -} - -// process_special_keycode is a function that distinguishes between the native keycodes and the ones custom-defined here. Normal keycodes are tapped, while keycodes in the SAFE_RANGE - NEW_SAFE_RANGE interval are treated with tap_process_record_user. -void process_special_keycode(uint16_t keycode) { - if (SAFE_RANGE <= keycode && keycode < NEW_SAFE_RANGE) tap_process_record_user(keycode); - else tap_code(keycode); -} - -uint16_t encoder_click_delay = ENCODER_MODE_CHANGE_DELAY; - -uint8_t startup_color[3] = {0xFF,0xFF,0xFF}; - -typedef struct _encoder_mode_t { - uint8_t indicator_color[3]; - uint16_t clockwise_key[4]; - uint16_t counterclockwise_key[4]; - uint16_t clicked_key[4] ; - uint16_t hold_key; -} encoder_mode_t; - -encoder_mode_t encoder_modes[] = { - { .indicator_color = {0x22,0x00,0xFF} , .clockwise_key = {KC_VOLU, KC_VOLU, ENCMUP, KC_VOLU}, .counterclockwise_key = {KC_VOLD, KC_VOLD, ENCMDN, KC_VOLD}, .clicked_key = {KC_MUTE, KC_MPLY, KC_MUTE, KC_MUTE}, .hold_key = ENCMUP }, - { .indicator_color = {0x00,0x33,0xFF} , .clockwise_key = {KC_WH_D, KC_WH_D, ENCMUP, KC_WH_D}, .counterclockwise_key = {KC_WH_U, KC_WH_U, ENCMDN, KC_WH_U}, .clicked_key = {KC_BTN1, KC_BTN1, KC_BTN1, KC_BTN1}, .hold_key = ENCMUP }, - { .indicator_color = {0xFF,0x88,0x00} , .clockwise_key = {ALTTABF, ALTTABF, ENCMUP, ALTTABF}, .counterclockwise_key = {ALTTABB, ALTTABB, ENCMDN, ALTTABB}, .clicked_key = {ALTTABC, ALTTABC, ALTTABC, ALTTABC}, .hold_key = ENCMUP } - // Insert your custom encoder mode here -}; - -#define NUM_ENCODER_MODES ARRAY_SIZE(encoder_modes) - -// This counter is used to track what encoder mode is being used at a certain time -int encoder_mode_count = 0; - - -#ifdef PERSISTENT_ENCODER_MODES -typedef union { - uint32_t raw; - struct { - int user_encoder_mode_count; -}; -} user_config_t; - -user_config_t user_config; -#endif - -void set_indicator_colors(uint8_t color[3]){ - rgblight_setrgb(color[0], color[1], color[2]); -} - -// Board init: RGB indicator is set to startup_color -void keyboard_pre_init_user(void){ - set_indicator_colors(startup_color); -}; - -void keyboard_post_init_user(void){ -#ifdef PERSISTENT_ENCODER_MODES - user_config.raw = eeconfig_read_user(); - encoder_mode_count = user_config.user_encoder_mode_count ; -#else - encoder_mode_count = 0; -#endif - set_indicator_colors(encoder_modes[ encoder_mode_count ].indicator_color); -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, ECLICK , - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_LCTL, KC_LALT, KC_LGUI, _______, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - [1] = LAYOUT_ortho_4x12( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [2] = LAYOUT_ortho_4x12( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [3] = LAYOUT_ortho_4x12( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -// ------------------------------------------------------------------------------------------------ - -bool is_alt_tab_active = false; // Flag to check if alt tab is active -uint32_t alt_tab_timer = 0; // Time trigger for alt tab -uint16_t mapped_code = 0; -uint32_t held_keycode_timer = 0; - -int current_layer = 0 ; // Updated in layer_state_set_user each time a layer change is made - -void cycle_encoder_mode(bool forward){ - if (forward) encoder_mode_count++ ; // Shifts encoder mode forward - else encoder_mode_count-- ; - if (encoder_mode_count == -1) encoder_mode_count = NUM_ENCODER_MODES - 1; - // Shifts encoder mode backward - encoder_mode_count = encoder_mode_count % NUM_ENCODER_MODES ; // This makes sure encoder_mode_count keeps cycling between 0,1,...,NUM_ENCODER_MODES and doesnt eventually overflow -#ifdef PERSISTENT_ENCODER_MODES - user_config.user_encoder_mode_count = encoder_mode_count ; - eeconfig_update_user(user_config.raw); -#endif - set_indicator_colors( encoder_modes[ encoder_mode_count ].indicator_color ); // Set indicator color to the corresponding defined color -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - process_special_keycode(clockwise ? encoder_modes[ encoder_mode_count ].clockwise_key[ current_layer ] : encoder_modes[ encoder_mode_count ].counterclockwise_key[ current_layer ]); - return false; -} - -uint32_t held_click_timer = 0; -bool is_click_held = false; -bool is_shift_held = false; -bool automatic_hold_cycle = false; // This flag registers if the encoder hold was automatically cycled - -// This bool records if LALT is pressed or not. Due to the automatic disabling of the ALT-TAB of the ALTTABS custom keystroke, the automatic disabling can un-register KC_LALT even when the LALT key is phisically pressed. Hence there needs to be two bools: one that keebs track of the ALT-TAB activity and one that keeps track of LALT so that the automatic disabling will not disable LALT if it is phisically pressed. -bool is_lalt_pressed = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_LSFT: - case KC_RSFT: - if (record->event.pressed) is_shift_held = true; - else is_shift_held = false; - return true; - case ECLICK: - // Checks if the encoder has been pressed; if so, sets the corresponding flag and starts the corresponding timer - if (record->event.pressed) { - is_click_held = true; - held_click_timer = timer_read32(); - // Checks if the encoder has been released: samples the duration of the encoder push; if this time was less than the encoder_click_delay, processes the clicked key. If it was bigger, processes the hold key. This behavior is adjusted using the ENCODER_MODE_CHANGE_DELAY macro. There is an exception made when automatic_hold_cycle is true; this means that the encoder push has been pressed enough to trigger a hold cycle. This case is taken care of in the housekeeping routine, where the held key is triggered and the timer reset. Hence the automatic_hold_cycle needs to be checked because without this check the function will trigger the clicked key after the hold cycle has been cycled more than once. - } else { - is_click_held = false; - if (timer_elapsed32(held_click_timer) < encoder_click_delay && !automatic_hold_cycle ) process_special_keycode( encoder_modes[ encoder_mode_count ].clicked_key[ current_layer ] ) ; - automatic_hold_cycle = false; - } - return true; // Skip all further processing of this key - case KC_LALT: // If this is not defined, if the encoder is activated in the alt-tab mode while the LALT key is pressed, the menu goes away. - if (record->event.pressed) is_lalt_pressed = true; - else is_lalt_pressed = false; - return true; - case ENCMUP: - case ENCMDN: - if (record->event.pressed) cycle_encoder_mode(keycode == ENCMUP); // If keycode == ENCMUP the expression returns true and the cycle function cycles the modes forward. If not, then cycles backwards. - return false; - case ALTTABF: - case ALTTABB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - - } - tap_code16(keycode == ALTTABF ? KC_TAB : S(KC_TAB)); // Due to S(KC_TAB), the 16-bit tap_code16 is needed. - alt_tab_timer = timer_read32(); - } - return true; - case ALTTABC: - if (record->event.pressed) { - if (is_alt_tab_active) { - if (!is_lalt_pressed) unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } - return false; - default: - return true; // Process all other keycodes normally - } -} - -void housekeeping_task_user(void) { - if (is_alt_tab_active) { - if (is_lalt_pressed) alt_tab_timer = timer_read32(); - else if (timer_elapsed32(alt_tab_timer) > ALT_TAB_DELAY) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } -/* This piece of the code checks for the encoder push timer. If the encoder push interval was less than encoder_click_delay then it is automatically processed by process_record_user by triggering the current mode's click key. However, if the encoder push is held for more time than the defined delay, then the encoder hold "cycles", that is, gets activated and the timer needs to be reset. This does three things: -- (1) Sets the automatic_hold_cycle flag which prevents process_record_user from triggering the click key when the push is released -- (2) Processes the current mode's hold key in process_record_user -- (3) Resets the click timer -*/ - if (is_click_held && timer_elapsed32(held_click_timer) > encoder_click_delay ){ - automatic_hold_cycle = true; - process_special_keycode( encoder_modes[ encoder_mode_count ].hold_key ); - held_click_timer = timer_read32(); - } -} diff --git a/keyboards/acheron/shark/beta/rules.mk b/keyboards/acheron/shark/beta/rules.mk index fd436cc258a3..94335efa29fc 100644 --- a/keyboards/acheron/shark/beta/rules.mk +++ b/keyboards/acheron/shark/beta/rules.mk @@ -12,8 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = no 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/acheron/themis/87h/87h.c b/keyboards/acheron/themis/87h/87h.c new file mode 100644 index 000000000000..dada30ff873f --- /dev/null +++ b/keyboards/acheron/themis/87h/87h.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) { + led_state.caps_lock ? rgblight_setrgb_at(0xAA,0xAA,0xAA,0) : rgblight_setrgb_at(0x00,0x00,0x00,0) ; + } + return res; +} diff --git a/keyboards/acheron/themis/87h/config.h b/keyboards/acheron/themis/87h/config.h new file mode 100644 index 000000000000..605594eea209 --- /dev/null +++ b/keyboards/acheron/themis/87h/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define RGBLED_NUM 1 + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/acheron/themis/87h/halconf.h b/keyboards/acheron/themis/87h/halconf.h new file mode 100644 index 000000000000..485d48ef3067 --- /dev/null +++ b/keyboards/acheron/themis/87h/halconf.h @@ -0,0 +1,22 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/acheron/themis/87h/info.json b/keyboards/acheron/themis/87h/info.json new file mode 100644 index 000000000000..cbff8f4eec55 --- /dev/null +++ b/keyboards/acheron/themis/87h/info.json @@ -0,0 +1,141 @@ +{ + "keyboard_name": "Themis 87H Rev. Alpha", + "usb": { + "pid": "0x5448", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ], + "rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"] + }, + "features": { + "bootmagic": true, + "lto": true, + "mousekey": true, + "extrakey": true, + "console": false, + "backlight": false, + "rgblight": true, + "audio": false, + "encoder": false, + "nkro": true + }, + "diode_direction": "COL2ROW", + "eeprom": { + "wear_leveling": { + "backing_size": 8192 + } + }, + "ws2812": { + "pin": "B15" + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "community_layouts": ["tkl_ansi"], + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"label":"Escape", "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":"Print Screen", "matrix": [6, 14], "x": 15.25, "y": 0}, + {"label":"Scroll Lock", "matrix": [6, 17], "x": 16.25, "y": 0}, + {"label":"Pause", "matrix": [6, 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": [7, 14], "x": 15.25, "y": 1.25}, + {"label":"Home", "matrix": [7, 17], "x": 16.25, "y": 1.25}, + {"label":"Page Up","matrix": [7, 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": [8, 14], "x": 15.25, "y": 2.25}, + {"label":"End", "matrix": [8, 17], "x": 16.25, "y": 2.25}, + {"label":"Page Down", "matrix": [8, 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":"Up", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label":"LCtrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label":"Lwin", "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":"Space", "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":"RWin", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label":"MO(1)", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label":"RCtrl", "matrix": [5, 12], "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/acheron/themis/87h/keymaps/default/keymap.c b/keyboards/acheron/themis/87h/keymaps/default/keymap.c new file mode 100755 index 000000000000..4728331f05ff --- /dev/null +++ b/keyboards/acheron/themis/87h/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2020 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/acheron/themis/87h/keymaps/via/keymap.c b/keyboards/acheron/themis/87h/keymaps/via/keymap.c new file mode 100755 index 000000000000..4728331f05ff --- /dev/null +++ b/keyboards/acheron/themis/87h/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2020 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/0xcb/1337/keymaps/conor/rules.mk b/keyboards/acheron/themis/87h/keymaps/via/rules.mk similarity index 100% rename from keyboards/0xcb/1337/keymaps/conor/rules.mk rename to keyboards/acheron/themis/87h/keymaps/via/rules.mk diff --git a/keyboards/acheron/themis/87h/mcuconf.h b/keyboards/acheron/themis/87h/mcuconf.h new file mode 100644 index 000000000000..3d1d05c307c4 --- /dev/null +++ b/keyboards/acheron/themis/87h/mcuconf.h @@ -0,0 +1,25 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk b/keyboards/acheron/themis/87h/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_iso/base/rules.mk rename to keyboards/acheron/themis/87h/rules.mk diff --git a/keyboards/acheron/themis/87htsc/87htsc.c b/keyboards/acheron/themis/87htsc/87htsc.c new file mode 100644 index 000000000000..dada30ff873f --- /dev/null +++ b/keyboards/acheron/themis/87htsc/87htsc.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) { + led_state.caps_lock ? rgblight_setrgb_at(0xAA,0xAA,0xAA,0) : rgblight_setrgb_at(0x00,0x00,0x00,0) ; + } + return res; +} diff --git a/keyboards/acheron/themis/87htsc/config.h b/keyboards/acheron/themis/87htsc/config.h new file mode 100644 index 000000000000..605594eea209 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define RGBLED_NUM 1 + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/acheron/themis/87htsc/halconf.h b/keyboards/acheron/themis/87htsc/halconf.h new file mode 100644 index 000000000000..485d48ef3067 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/halconf.h @@ -0,0 +1,22 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/acheron/themis/87htsc/info.json b/keyboards/acheron/themis/87htsc/info.json new file mode 100644 index 000000000000..5b491690bbc2 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/info.json @@ -0,0 +1,140 @@ +{ + "keyboard_name": "Themis 87H-T-SC Rev. Alpha", + "usb": { + "pid": "0x5449", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ], + "rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"] + }, + "features": { + "bootmagic": true, + "lto": true, + "mousekey": true, + "extrakey": true, + "console": false, + "backlight": false, + "rgblight": true, + "audio": false, + "encoder": false, + "nkro": true + }, + "diode_direction": "COL2ROW", + "eeprom": { + "wear_leveling": { + "backing_size": 8192 + } + }, + "ws2812": { + "pin": "B15" + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "community_layouts": ["tkl_ansi_tsangan"], + "layouts": { + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"label":"Escape", "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, 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": [6, 14], "x": 15.25, "y": 0}, + {"label":"Scroll Lock", "matrix": [6, 17], "x": 16.25, "y": 0}, + {"label":"Pause", "matrix": [6, 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": [7, 14], "x": 15.25, "y": 1.25}, + {"label":"Home", "matrix": [7, 17], "x": 16.25, "y": 1.25}, + {"label":"Page Up","matrix": [7, 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": [8, 14], "x": 15.25, "y": 2.25}, + {"label":"End", "matrix": [8, 17], "x": 16.25, "y": 2.25}, + {"label":"Page Down", "matrix": [8, 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":"Up", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label":"LCtrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label":"Lwin", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label":"LAlt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label":"Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25}, + {"label":"RAlt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label":"RWin", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label":"RCtrl", "matrix": [5, 12], "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/acheron/themis/87htsc/keymaps/default/keymap.c b/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c new file mode 100755 index 000000000000..7b29220ec8d4 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi_tsangan( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi_tsangan( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c b/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c new file mode 100755 index 000000000000..7b29220ec8d4 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi_tsangan( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi_tsangan( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/0xcb/1337/keymaps/jakob/rules.mk b/keyboards/acheron/themis/87htsc/keymaps/via/rules.mk similarity index 100% rename from keyboards/0xcb/1337/keymaps/jakob/rules.mk rename to keyboards/acheron/themis/87htsc/keymaps/via/rules.mk diff --git a/keyboards/acheron/themis/87htsc/mcuconf.h b/keyboards/acheron/themis/87htsc/mcuconf.h new file mode 100644 index 000000000000..3d1d05c307c4 --- /dev/null +++ b/keyboards/acheron/themis/87htsc/mcuconf.h @@ -0,0 +1,25 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/dztech/og60/rules.mk b/keyboards/acheron/themis/87htsc/rules.mk similarity index 100% rename from keyboards/dztech/og60/rules.mk rename to keyboards/acheron/themis/87htsc/rules.mk diff --git a/keyboards/acheron/themis/88htsc/88htsc.c b/keyboards/acheron/themis/88htsc/88htsc.c new file mode 100644 index 000000000000..dada30ff873f --- /dev/null +++ b/keyboards/acheron/themis/88htsc/88htsc.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) { + led_state.caps_lock ? rgblight_setrgb_at(0xAA,0xAA,0xAA,0) : rgblight_setrgb_at(0x00,0x00,0x00,0) ; + } + return res; +} diff --git a/keyboards/acheron/themis/88htsc/config.h b/keyboards/acheron/themis/88htsc/config.h new file mode 100644 index 000000000000..605594eea209 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define RGBLED_NUM 1 + +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 diff --git a/keyboards/acheron/themis/88htsc/halconf.h b/keyboards/acheron/themis/88htsc/halconf.h new file mode 100644 index 000000000000..485d48ef3067 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/halconf.h @@ -0,0 +1,22 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/acheron/themis/88htsc/info.json b/keyboards/acheron/themis/88htsc/info.json new file mode 100644 index 000000000000..073a16e94616 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/info.json @@ -0,0 +1,142 @@ +{ + "keyboard_name": "Themis 88H-T-SC Rev. Alpha", + "usb": { + "pid": "0x5450", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ], + "rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"] + }, + "features": { + "bootmagic": true, + "lto": true, + "mousekey": true, + "extrakey": true, + "console": false, + "backlight": false, + "rgblight": true, + "audio": false, + "encoder": false, + "nkro": true + }, + "diode_direction": "COL2ROW", + "eeprom": { + "wear_leveling": { + "backing_size": 8192 + } + }, + "ws2812": { + "pin": "B15" + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "community_layouts": ["tkl_f13_ansi_tsangan"], + "layouts": { + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"label":"Escape", "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":"F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label":"Print Screen", "matrix": [6, 14], "x": 15.25, "y": 0}, + {"label":"Scroll Lock", "matrix": [6, 17], "x": 16.25, "y": 0}, + {"label":"Pause", "matrix": [6, 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": [7, 14], "x": 15.25, "y": 1.25}, + {"label":"Home", "matrix": [7, 17], "x": 16.25, "y": 1.25}, + {"label":"Page Up","matrix": [7, 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": [8, 14], "x": 15.25, "y": 2.25}, + {"label":"End", "matrix": [8, 17], "x": 16.25, "y": 2.25}, + {"label":"Page Down", "matrix": [8, 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":"Up", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label":"LCtrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label":"Lwin", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label":"LAlt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label":"Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 6.25}, + {"label":"RAlt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label":"RWin", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label":"RCtrl", "matrix": [5, 12], "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/acheron/themis/88htsc/keymaps/default/keymap.c b/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c new file mode 100755 index 000000000000..725b294b0d65 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_f13_ansi_tsangan( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13, KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi_tsangan( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c b/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c new file mode 100755 index 000000000000..725b294b0d65 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_f13_ansi_tsangan( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13, KC_PSCR, KC_SCRL, KC_PAUS , + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN , + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi_tsangan( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk b/keyboards/acheron/themis/88htsc/keymaps/via/rules.mk similarity index 100% rename from keyboards/acheron/shark/beta/keymaps/gondolindrim/rules.mk rename to keyboards/acheron/themis/88htsc/keymaps/via/rules.mk diff --git a/keyboards/acheron/themis/88htsc/mcuconf.h b/keyboards/acheron/themis/88htsc/mcuconf.h new file mode 100644 index 000000000000..3d1d05c307c4 --- /dev/null +++ b/keyboards/acheron/themis/88htsc/mcuconf.h @@ -0,0 +1,25 @@ +/* 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM_USE_ADVANCED +#define STM32_PWM_USE_ADVANCED TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/planck/keymaps/mitch/rules.mk b/keyboards/acheron/themis/88htsc/rules.mk similarity index 100% rename from keyboards/planck/keymaps/mitch/rules.mk rename to keyboards/acheron/themis/88htsc/rules.mk diff --git a/keyboards/acheron/themis/info.json b/keyboards/acheron/themis/info.json new file mode 100644 index 000000000000..4f9d3b61e615 --- /dev/null +++ b/keyboards/acheron/themis/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "AcheronProject", + "url": "", + "maintainer": "Gondolindrim", + "usb": { + "vid": "0xAC11" + } +} diff --git a/keyboards/acheron/themis/readme.md b/keyboards/acheron/themis/readme.md new file mode 100644 index 000000000000..8c0c7e63e54f --- /dev/null +++ b/keyboards/acheron/themis/readme.md @@ -0,0 +1,23 @@ +# Acheron Themis QMK firmware + +![themis](https://i.imgur.com/kwemOsJh.png) + +The Themis is Acheron Project's open-source, freely available tenkeyless (TKL) keyboard Printed Circuit Boards (PCB) which features: + +- No LED lighting +- Solderless ("hotswap") MX switches support +- Fixed layout for each variant + +* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim) +* Hardware Supported: open-source PCB using the [Joker template](https://acheronproject.com/joker_mcus/joker/). First units were manufactured using STM32F4x1 microcontroller; +* Hardware Availability: open-source PCBs + +In order to flash this PCB, first build the default layout (after setting up your build environment): + + make acheron/themis/:default + +After building or downloading the firmware, put the PCB into DFU mode by holding the reset button for at least five seconds and upload the firmware onto the microcontroller through a utility like `dfu-util` or QMK Toolbox. Alternatively, you can build and flash using: + + make acheron/themis/: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/ada/ada1800mini/config.h b/keyboards/ada/ada1800mini/config.h deleted file mode 100644 index 92f08f354ceb..000000000000 --- a/keyboards/ada/ada1800mini/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2022 peepeetee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -//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 -#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 - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ada/ada1800mini/info.json b/keyboards/ada/ada1800mini/info.json index 1768a7b55b4a..22cac5ade4dd 100644 --- a/keyboards/ada/ada1800mini/info.json +++ b/keyboards/ada/ada1800mini/info.json @@ -12,7 +12,23 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 100, + "max_brightness": 200, + "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 + } }, "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 336bd351f1b8..86415b251a05 100644 --- a/keyboards/ada/infinity81/config.h +++ b/keyboards/ada/infinity81/config.h @@ -3,22 +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 -#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 - /* 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/ada/infinity81/info.json b/keyboards/ada/infinity81/info.json index f957a01094c4..f56b6f92d139 100644 --- a/keyboards/ada/infinity81/info.json +++ b/keyboards/ada/infinity81/info.json @@ -8,6 +8,24 @@ "pid": "0x0081", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 107, + "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 + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h index 08db87fefe1b..818a8229f580 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/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json index febf1e61f68d..bac0061f3ebe 100644 --- a/keyboards/adafruit/macropad/info.json +++ b/keyboards/adafruit/macropad/info.json @@ -14,7 +14,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "bootmagic": { "matrix": [1, 2] diff --git a/keyboards/adafruit/macropad/keymaps/drashna/config.h b/keyboards/adafruit/macropad/keymaps/drashna/config.h deleted file mode 100644 index 4d85f039bea6..000000000000 --- a/keyboards/adafruit/macropad/keymaps/drashna/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2023 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 -#define TAPPING_TERM 499 diff --git a/keyboards/adafruit/macropad/keymaps/drashna/keymap.c b/keyboards/adafruit/macropad/keymaps/drashna/keymap.c deleted file mode 100644 index d87e4afd6671..000000000000 --- a/keyboards/adafruit/macropad/keymaps/drashna/keymap.c +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2023 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "drashna.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - LT(1,KC_MUTE), - KC_ENT, KC_0, KC_BSPC, - KC_7, KC_8, KC_9, - KC_4, KC_5, KC_6, - KC_1, KC_2, KC_3 - ), - [1] = LAYOUT( - _______, - CK_TOGG, AU_TOGG, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______ - ), -}; -// clang-format on - -#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 - -void render_oled_title(bool side) { - oled_write_P(PSTR(" Macropad "), true); -} - -void render_rgb_mode(uint8_t col, uint8_t line); - -void l_render_keylock_status(led_t led_usb_state, uint8_t col, uint8_t line) { - oled_set_cursor(col, line); -#ifdef CAPS_WORD_ENABLE - led_usb_state.caps_lock |= is_caps_word_on(); -#endif - oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state.num_lock); - oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state.caps_lock); - oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state.scroll_lock); -} - -bool oled_task_keymap(void) { - oled_write_raw_P(header_image, sizeof(header_image)); - oled_set_cursor(0, 1); - oled_write_raw_P(row_2_image, sizeof(row_2_image)); - oled_set_cursor(4, 0); - render_oled_title(false); - - render_kitty(0, 2); - render_matrix_scan_rate(1, 7, 2); - -#ifdef AUDIO_ENABLE - oled_set_cursor(7, 4); - bool l_is_audio_on = is_audio_on(); - - static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}}; - oled_write_P(audio_status[l_is_audio_on], false); - -# ifdef AUDIO_CLICKY - bool l_is_clicky_on = is_clicky_on(); - static const char PROGMEM audio_clicky_status[2][3] = {{0xF4, 0xF5, 0}, {0xF6, 0xF7, 0}}; - oled_write_P(audio_clicky_status[l_is_clicky_on && l_is_audio_on], false); -# endif -#endif - - static const char PROGMEM cat_mode[3] = {0xF8, 0xF9, 0}; - oled_write_P(cat_mode, get_keyboard_lock()); - -#ifdef RGB_MATIRX_ENABLE - static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}}; - oled_write_P(rgb_layer_status[rgb_matrix_is_enabled()], false); -#endif - -#ifdef HAPTIC_ENABLE - static const char PROGMEM nukem_good[2] = {0xFA, 0}; - oled_write_P(haptic_get_enable() ? nukem_good : PSTR(" "), false); -#endif - - l_render_keylock_status(host_keyboard_led_state(), 7, 5); - render_rgb_mode(1, 6); - - for (uint8_t i = 1; i < 7; i++) { - oled_set_cursor(0, i); - oled_write_raw_P(display_border, sizeof(display_border)); - oled_set_cursor(21, i); - oled_write_raw_P(display_border, sizeof(display_border)); - } - oled_set_cursor(0, 7); - oled_write_raw_P(footer_image, sizeof(footer_image)); - - return false; -} diff --git a/keyboards/adafruit/macropad/keymaps/drashna/rules.mk b/keyboards/adafruit/macropad/keymaps/drashna/rules.mk deleted file mode 100644 index ea090a575665..000000000000 --- a/keyboards/adafruit/macropad/keymaps/drashna/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ENCODER_MAP_ENABLE = yes -DEBUG_MATRIX_SCAN_RATE_ENABLE = api -WPM_ENABLE = yes diff --git a/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c b/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c deleted file mode 100644 index f232a998619e..000000000000 --- a/keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2023 Peter.Falken (@PeterFalken) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "peterfalken.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MUTE, - KC_7, KC_8, KC_9, - KC_4, KC_5, KC_6, - KC_1, KC_2, KC_3, - KC_ENT, KC_0, KC_BSPC - ) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; -#endif - -#ifdef OLED_ENABLE -static void render_qmk_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, - 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, - 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x7e, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, - 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, - 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, - 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - oled_write_raw_P(qmk_logo, sizeof(qmk_logo)); -} - -bool oled_task_user(void) { - render_qmk_logo(); - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/adafruit/macropad/keymaps/peterfalken/rules.mk b/keyboards/adafruit/macropad/keymaps/peterfalken/rules.mk deleted file mode 100644 index 59ffb099c24b..000000000000 --- a/keyboards/adafruit/macropad/keymaps/peterfalken/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# Setup QMK features -ENCODER_MAP_ENABLE = yes -RGB_MATRIX_ENABLE = no # Disable RGB key matrix diff --git a/keyboards/adelheid/keymaps/floookay/keymap.c b/keyboards/adelheid/keymaps/floookay/keymap.c deleted file mode 100644 index 3abe75e02346..000000000000 --- a/keyboards/adelheid/keymaps/floookay/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2020 floookay - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum adelheid_layers { - _BASE, - _SECONDARY -}; - -// tap dance declarations -enum { - _TD_CTGU = 0, - _TD_PGUP = 1, - _TD_PGDN = 2, - _TD_HOME = 3, - _TD_END = 4, - _TD_RSHC = 5, - _TD_PSCR = 6 -}; - -#define MO_SEC MO(_SECONDARY) -#define TD_CTGU TD(_TD_CTGU) -#define TD_PGUP TD(_TD_PGUP) -#define TD_PGDN TD(_TD_PGDN) -#define TD_HOME TD(_TD_HOME) -#define TD_END TD(_TD_END) -#define TD_RSHC TD(_TD_RSHC) -#define TD_PSCR TD(_TD_PSCR) - -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_F13, TD_PGUP, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, TD_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, TD_END, - TD_CTGU, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, TD_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, MO_SEC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_SECONDARY] = LAYOUT( - KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, TD_PSCR, KC_VOLU, - - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, BL_STEP, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_DEL, KC_MUTE, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TD_RSHC, KC_MPLY, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MSTP, KC_MNXT - ) -}; - - -// Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - // Tap once for first parameter, twice for second - [_TD_CTGU] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_LGUI), - [_TD_PGUP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, LCTL(KC_PGUP)), - [_TD_PGDN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, LCTL(KC_PGDN)), - [_TD_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, LCTL(KC_HOME)), - [_TD_END] = ACTION_TAP_DANCE_DOUBLE(KC_END, LCTL(KC_END)), - [_TD_RSHC] = ACTION_TAP_DANCE_DOUBLE(KC_RSFT, KC_CAPS), - [_TD_PSCR] = ACTION_TAP_DANCE_DOUBLE(KC_PSCR, LSFT(LGUI(KC_S))) // screenshot tool tap dance -}; diff --git a/keyboards/adelheid/keymaps/floookay/readme.md b/keyboards/adelheid/keymaps/floookay/readme.md deleted file mode 100644 index a9d624222ea0..000000000000 --- a/keyboards/adelheid/keymaps/floookay/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# The default keymap for the Adelheid - -- ANSI QWERTY -- split backspace -- ctrl on caps lock with super on tap dance -- caps lock on fn + right shift tap dance - -![adelheid_layout](https://gist.githubusercontent.com/floookay/7bf6511a8d84804d32de4d7bbe3bd0fb/raw/dffd622a762463f341466ffecefad3b31ad3ee4f/layout.png) -View in [Keyboard-Layout-Editor](http://www.keyboard-layout-editor.com/#/gists/4262535adb5ac81a913edbebc4de8226). diff --git a/keyboards/adelheid/keymaps/floookay/rules.mk b/keyboards/adelheid/keymaps/floookay/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/adelheid/keymaps/floookay/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/adkb96/info.json b/keyboards/adkb96/info.json index 47e08a7ed7d4..aa7e5a6921e9 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 89de3d9a643a..0b8941e77606 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 deleted file mode 100644 index af23da4c6628..000000000000 --- a/keyboards/adm42/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020-2022 Lorenzo Leonini - * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 deleted file mode 100644 index 0ffebff135ab..000000000000 --- a/keyboards/adm42/info.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "keyboard_name": "ADM42", - "manufacturer": "Lorenzo Leonini", - "url": "https://adm42.dev/", - "maintainer": "lleonini", - "debounce": 10, - "usb": { - "vid": "0x04D8", - "pid": "0xE873", - "device_version": "0.0.1" - }, - "ws2812": { - "pin": "B7" - }, - "rgb_matrix": { - "driver": "WS2812" - }, - "matrix_pins": { - "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "F0", "F1", "F4", "F5", "F6", "F7"], - "rows": ["C7", "D5", "D3", "D2"] - }, - "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layout_aliases": { - "LAYOUT_adm42_3x12_6": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.8}, - {"matrix": [0, 1], "x": 1, "y": 0.8}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.5}, - {"matrix": [0, 5], "x": 5, "y": 0.5}, - - {"matrix": [0, 6], "x": 7.5, "y": 0.5}, - {"matrix": [0, 7], "x": 8.5, "y": 0.5}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 10.5, "y": 0}, - {"matrix": [0, 10], "x": 11.5, "y": 0.8}, - {"matrix": [0, 11], "x": 12.5, "y": 0.8}, - - {"matrix": [1, 0], "x": 0, "y": 1.8}, - {"matrix": [1, 1], "x": 1, "y": 1.8}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.5}, - {"matrix": [1, 5], "x": 5, "y": 1.5}, - - {"matrix": [1, 6], "x": 7.5, "y": 1.5}, - {"matrix": [1, 7], "x": 8.5, "y": 1.5}, - {"matrix": [1, 8], "x": 9.5, "y": 1}, - {"matrix": [1, 9], "x": 10.5, "y": 1}, - {"matrix": [1, 10], "x": 11.5, "y": 1.8}, - {"matrix": [1, 11], "x": 12.5, "y": 1.8}, - - {"matrix": [2, 0], "x": 0, "y": 2.8}, - {"matrix": [2, 1], "x": 1, "y": 2.8}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.5}, - {"matrix": [2, 5], "x": 5, "y": 2.5}, - - {"matrix": [2, 6], "x": 7.5, "y": 2.5}, - {"matrix": [2, 7], "x": 8.5, "y": 2.5}, - {"matrix": [2, 8], "x": 9.5, "y": 2}, - {"matrix": [2, 9], "x": 10.5, "y": 2}, - {"matrix": [2, 10], "x": 11.5, "y": 2.8}, - {"matrix": [2, 11], "x": 12.5, "y": 2.8}, - - {"matrix": [3, 3], "x": 4.25, "y": 3.55}, - {"matrix": [3, 4], "x": 5.25, "y": 3.65}, - {"matrix": [3, 6], "x": 6.25, "y": 1.875, "h": 1.25}, - - {"matrix": [3, 5], "x": 6.25, "y": 4.05}, - {"matrix": [3, 7], "x": 7.25, "y": 3.65}, - {"matrix": [3, 8], "x": 8.25, "y": 3.55} - ] - } - } -} diff --git a/keyboards/adm42/rev4/config.h b/keyboards/adm42/rev4/config.h deleted file mode 100644 index fbf2e300effa..000000000000 --- a/keyboards/adm42/rev4/config.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2020-2022 Lorenzo Leonini - * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define ADM42_LED E6 - -#define RGB_MATRIX_LED_COUNT 42 -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 -#define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_MATRIX_LED_PROCESS_LIMIT 21 -#define RGB_MATRIX_LED_FLUSH_LIMIT 16 -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -#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 -#define ENABLE_RGBLIGHT_MODE_STATIC_LIGHT -#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#define ENABLE_RGB_MATRIX_PIXEL_RAIN -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_BAND_VAL -#define ENABLE_RGB_MATRIX_SPLASH diff --git a/keyboards/adm42/rev4/info.json b/keyboards/adm42/rev4/info.json new file mode 100644 index 000000000000..efb0eea029b2 --- /dev/null +++ b/keyboards/adm42/rev4/info.json @@ -0,0 +1,163 @@ +{ + "keyboard_name": "ADM42", + "manufacturer": "Lorenzo Leonini", + "url": "https://adm42.dev/", + "maintainer": "lleonini", + "debounce": 10, + "usb": { + "vid": "0x04D8", + "pid": "0xE873", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "ws2812": { + "pin": "B7" + }, + "rgb_matrix": { + "driver": "ws2812", + "animations": { + "breathing": true, + "band_val": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_pinwheel": true, + "jellybean_raindrops": true, + "pixel_fractal": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "splash": true + }, + "layout": [ + {"matrix": [3, 6], "x": 112, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 92, "y": 36, "flags": 4}, + {"matrix": [1, 5], "x": 94, "y": 25, "flags": 4}, + {"matrix": [0, 5], "x": 97, "y": 14, "flags": 4}, + {"matrix": [0, 4], "x": 80, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 77, "y": 24, "flags": 4}, + {"matrix": [1, 3], "x": 62, "y": 18, "flags": 4}, + {"matrix": [0, 3], "x": 64, "y": 8, "flags": 4}, + {"matrix": [0, 2], "x": 49, "y": 6, "flags": 4}, + {"matrix": [1, 2], "x": 46, "y": 17, "flags": 4}, + {"matrix": [1, 1], "x": 28, "y": 23, "flags": 4}, + {"matrix": [0, 1], "x": 30, "y": 13, "flags": 4}, + {"matrix": [0, 0], "x": 14, "y": 11, "flags": 4}, + {"matrix": [1, 0], "x": 11, "y": 22, "flags": 4}, + {"matrix": [2, 0], "x": 8, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 26, "y": 34, "flags": 4}, + {"matrix": [2, 2], "x": 43, "y": 28, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 29, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 34, "flags": 4}, + {"matrix": [3, 3], "x": 78, "y": 46, "flags": 4}, + {"matrix": [3, 4], "x": 97, "y": 49, "flags": 4}, + {"matrix": [3, 5], "x": 112, "y": 56, "flags": 4}, + {"matrix": [3, 7], "x": 127, "y": 49, "flags": 4}, + {"matrix": [3, 8], "x": 146, "y": 46, "flags": 4}, + {"matrix": [2, 6], "x": 132, "y": 36, "flags": 4}, + {"matrix": [2, 7], "x": 148, "y": 34, "flags": 4}, + {"matrix": [2, 8], "x": 164, "y": 29, "flags": 4}, + {"matrix": [2, 9], "x": 180, "y": 28, "flags": 4}, + {"matrix": [2, 10], "x": 198, "y": 34, "flags": 4}, + {"matrix": [2, 11], "x": 215, "y": 32, "flags": 4}, + {"matrix": [1, 11], "x": 212, "y": 22, "flags": 4}, + {"matrix": [1, 10], "x": 196, "y": 23, "flags": 4}, + {"matrix": [1, 9], "x": 178, "y": 17, "flags": 4}, + {"matrix": [1, 8], "x": 161, "y": 18, "flags": 4}, + {"matrix": [1, 7], "x": 146, "y": 24, "flags": 4}, + {"matrix": [1, 6], "x": 130, "y": 25, "flags": 4}, + {"matrix": [0, 6], "x": 126, "y": 14, "flags": 4}, + {"matrix": [0, 7], "x": 143, "y": 13, "flags": 4}, + {"matrix": [0, 8], "x": 159, "y": 8, "flags": 4}, + {"matrix": [0, 9], "x": 175, "y": 6, "flags": 4}, + {"matrix": [0, 10], "x": 194, "y": 13, "flags": 4}, + {"matrix": [0, 11], "x": 210, "y": 11, "flags": 4} + ], + "led_flush_limit": 16, + "led_process_limit": 21, + "max_brightness": 170, + "sat_steps": 24, + "sleep": true + }, + "qmk": { + "tap_keycode_delay": 1 + }, + "build": { + "debounce_type": "sym_eager_pk", + "lto": true + }, + "matrix_pins": { + "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "F0", "F1", "F4", "F5", "F6", "F7"], + "rows": ["C7", "D5", "D3", "D2"] + }, + "diode_direction": "ROW2COL", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_adm42_3x12_6": "LAYOUT" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.8}, + {"matrix": [0, 1], "x": 1, "y": 0.8}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.5}, + {"matrix": [0, 5], "x": 5, "y": 0.5}, + + {"matrix": [0, 6], "x": 7.5, "y": 0.5}, + {"matrix": [0, 7], "x": 8.5, "y": 0.5}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0.8}, + {"matrix": [0, 11], "x": 12.5, "y": 0.8}, + + {"matrix": [1, 0], "x": 0, "y": 1.8}, + {"matrix": [1, 1], "x": 1, "y": 1.8}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + + {"matrix": [1, 6], "x": 7.5, "y": 1.5}, + {"matrix": [1, 7], "x": 8.5, "y": 1.5}, + {"matrix": [1, 8], "x": 9.5, "y": 1}, + {"matrix": [1, 9], "x": 10.5, "y": 1}, + {"matrix": [1, 10], "x": 11.5, "y": 1.8}, + {"matrix": [1, 11], "x": 12.5, "y": 1.8}, + + {"matrix": [2, 0], "x": 0, "y": 2.8}, + {"matrix": [2, 1], "x": 1, "y": 2.8}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.5}, + {"matrix": [2, 5], "x": 5, "y": 2.5}, + + {"matrix": [2, 6], "x": 7.5, "y": 2.5}, + {"matrix": [2, 7], "x": 8.5, "y": 2.5}, + {"matrix": [2, 8], "x": 9.5, "y": 2}, + {"matrix": [2, 9], "x": 10.5, "y": 2}, + {"matrix": [2, 10], "x": 11.5, "y": 2.8}, + {"matrix": [2, 11], "x": 12.5, "y": 2.8}, + + {"matrix": [3, 3], "x": 4.25, "y": 3.55}, + {"matrix": [3, 4], "x": 5.25, "y": 3.65}, + {"matrix": [3, 6], "x": 6.25, "y": 1.875, "h": 1.25}, + + {"matrix": [3, 5], "x": 6.25, "y": 4.05}, + {"matrix": [3, 7], "x": 7.25, "y": 3.65}, + {"matrix": [3, 8], "x": 8.25, "y": 3.55} + ] + } + } +} diff --git a/keyboards/adm42/rev4/keymaps/default/config.h b/keyboards/adm42/rev4/keymaps/default/config.h deleted file mode 100644 index abfaf9af7892..000000000000 --- a/keyboards/adm42/rev4/keymaps/default/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY -#define QUICK_TAP_TERM_PER_KEY diff --git a/keyboards/adm42/rev4/keymaps/default/keymap.c b/keyboards/adm42/rev4/keymaps/default/keymap.c deleted file mode 100644 index 12e4e85a4a14..000000000000 --- a/keyboards/adm42/rev4/keymaps/default/keymap.c +++ /dev/null @@ -1,204 +0,0 @@ -/* Copyright 2020-2022 Lorenzo Leonini - * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - _QWERTY, - _COLEMAKDH, - _SPECIAL, - _EXTRA, - _ADM, - _SETUP, -}; - -#define LW_GRV LWIN_T(KC_GRV) -#define RW_EQU RWIN_T(KC_EQUAL) -#define RW_BS RWIN_T(KC_BSLS) -#define LC_TAB LCTL_T(KC_TAB) -#define RC_QUT RCTL_T(KC_QUOT) -#define LS_BPC LSFT_T(KC_BSPC) -#define RS_SPC RSFT_T(KC_SPC) -#define LA_BS LALT_T(KC_BSLS) -#define LW_F11 LWIN_T(KC_F11) -#define LC_APP LCTL_T(KC_APP) -#define LA_TOG LALT_T(RGB_TOG) -#define RW_F12 RWIN_T(KC_F12) - -#define LLS_ESC LT(_SPECIAL, KC_ESC) -#define LLS_RALT LT(_SPECIAL, KC_RALT) -#define LLE_ENT LT(_EXTRA, KC_ENT) -#define LLA_DEL LT(_ADM, KC_DEL) -#define SETUP MO(_SETUP) - -enum custom_keycodes { - REFLASH = SAFE_RANGE, - LC_CIRC, - RC_DLR, - DF_QWER, - DF_COLE, -}; - -// Not a mistake to have KC_LALT (also) on the right, RALT is kept for compose (LLS_RALT) -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - LW_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, RW_EQU, - LC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, RC_QUT, - KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LALT, - LLS_ESC, LS_BPC, LLA_DEL, LLE_ENT, RS_SPC, LLS_RALT - ), - [_COLEMAKDH] = LAYOUT( - LW_GRV, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, RW_EQU, - LC_TAB, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, RC_QUT, - KC_LALT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_LALT, - LLS_ESC, LS_BPC, LLA_DEL, LLE_ENT, RS_SPC, LLS_RALT - ), - - [_SPECIAL] = LAYOUT( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RW_BS, - LC_CIRC, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_EXLM, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_MINS, RC_DLR, - _______, KC_AMPR, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_UNDS, KC_ASTR, KC_HASH, KC_PERC, KC_TILD, _______, - KC_ESC, _______, KC_DEL, KC_ENT, _______, KC_RALT - ), - [_EXTRA] = LAYOUT( - LW_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RW_F12, - KC_LCTL, KC_PAUS, KC_INS, KC_VOLD, KC_VOLU, KC_MUTE, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_APP, KC_RCTL, - _______, KC_SLEP, KC_PWR, KC_MSTP, KC_MNXT, KC_MPLY, _______, KC_BRID, KC_BRIU, KC_PSCR, KC_WAKE, _______, - KC_CAPS, _______, _______, _______, _______, KC_CAPS - ), - [_ADM] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_B, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUD, RGB_HUI, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_SPD, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, SETUP, XXXXXXX, XXXXXXX - ), - [_SETUP] = LAYOUT( - REFLASH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DF_QWER, DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), -}; - -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - // Special if-condition outside the switch because `RC_QUT` overlaps with - // the `QK_MOD_TAP ... QK_MOD_TAP_MAX` range. - if (keycode == RC_QUT) { - return false; - } - switch (keycode) { - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - return true; - default: - return false; - } -} - -uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LLS_ESC: - case LLS_RALT: - return 0; - default: - return QUICK_TAP_TERM; - } -} - -static uint16_t last_timer = 0; -static int last_key = 0; -bool cleanup_return(uint16_t keycode, keyrecord_t *record, bool value) { - if (record->event.pressed) { - last_key = keycode; - last_timer = timer_read(); - } - return value; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - -#ifdef CONSOLE_ENABLE - uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, 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 RC_DLR: - if (record->event.pressed) { - register_code(KC_RCTL); - } else { - unregister_code(KC_RCTL); - if (last_key == keycode && timer_elapsed(last_timer) <= TAPPING_TERM) { - send_string("$"); - } - } - return cleanup_return(keycode, record, false); - - case LC_CIRC: - if (record->event.pressed) { - register_code(KC_LCTL); - } else { - unregister_code(KC_LCTL); - if (last_key == keycode && timer_elapsed(last_timer) <= TAPPING_TERM) { - send_string("^"); - } - } - return cleanup_return(keycode, record, false); - - case DF_QWER: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - send_string("QWERTY layout"); - } - return false; - case DF_COLE: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAKDH); - send_string("COLEMAKDH layout"); - } - return false; - - case REFLASH: - eeconfig_init(); - eeconfig_update_rgb_matrix_default(); - writePinLow(ADM42_LED); - reset_keyboard(); - return false; - - default: - return cleanup_return(keycode, record, true); - } -} - -void keyboard_pre_init_kb(void) { - setPinOutput(ADM42_LED); - writePinHigh(ADM42_LED); -} - -void keyboard_post_init_kb(void) { - debug_enable = true; - debug_matrix = false; - debug_keyboard = false; - writePinHigh(ADM42_LED); -} - -void suspend_power_down_kb(void) { - writePinLow(ADM42_LED); -} - -void suspend_wakeup_init_kb(void) { - writePinHigh(ADM42_LED); -} diff --git a/keyboards/adm42/rev4/keymaps/default/keymap.json b/keyboards/adm42/rev4/keymaps/default/keymap.json new file mode 100644 index 000000000000..72eb7d50de47 --- /dev/null +++ b/keyboards/adm42/rev4/keymaps/default/keymap.json @@ -0,0 +1,44 @@ +{ + "keyboard": "adm42/rev4", + "keymap": "default", + "commit": "3bf01bb9ed202b14f78105db2aa2a75d01fc4323", + "layout": "LAYOUT", + "layers": [ + [ + "LWIN_T(KC_GRV)", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "RWIN_T(KC_EQL)", + "LCTL_T(KC_TAB)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "RCTL_T(KC_QUOT)", + "KC_LALT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_LALT", + "LT(2,KC_ESC)", "LSFT_T(KC_BSPC)", "LT(4,KC_DEL)", "LT(3,KC_ENT)", "RSFT_T(KC_SPC)", "LT(2,KC_RALT)" + ], + [ + "LWIN_T(KC_GRV)", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_B", "KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCLN", "RWIN_T(KC_EQL)", + "LCTL_T(KC_TAB)", "KC_A", "KC_R", "KC_S", "KC_T", "KC_G", "KC_M", "KC_N", "KC_E", "KC_I", "KC_O", "RCTL_T(KC_QUOT)", + "KC_LALT", "KC_Z", "KC_X", "KC_C", "KC_D", "KC_V", "KC_K", "KC_H", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_LALT", + "LT(2,KC_ESC)", "LSFT_T(KC_BSPC)", "LT(4,KC_DEL)", "LT(3,KC_ENT)", "RSFT_T(KC_SPC)", "LT(2,KC_RALT)" + ], + [ + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "RWIN_T(KC_BSLS)", + "KC_LCTL", "KC_LBRC", "KC_RBRC", "KC_LPRN", "KC_RPRN", "KC_EXLM", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT", "KC_MINS", "KC_RCTL", + "_______", "KC_AMPR", "KC_AT", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_UNDS", "KC_ASTR", "KC_HASH", "KC_PERC", "KC_TILD", "_______", + "KC_ESC", "_______", "KC_DEL", "KC_ENT", "_______", "KC_RALT" + ], + [ + "LWIN_T(KC_F11)", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "RWIN_T(KC_F12)", + "KC_LCTL", "KC_PAUS", "KC_INS", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "KC_APP", "KC_RCTL", + "_______", "KC_SLEP", "KC_PWR", "KC_MSTP", "KC_MNXT", "KC_MPLY", "_______", "KC_BRID", "KC_BRIU", "KC_PSCR", "KC_WAKE", "_______", + "KC_CAPS", "_______", "_______", "_______", "_______", "KC_CAPS" + ], + [ + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_B", "RGB_VAD", "RGB_VAI", "RGB_SAD", "RGB_SAI", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "RGB_HUD", "RGB_HUI", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_P", "RGB_SPD", "RGB_SPI", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "MO(5)", "XXXXXXX", "XXXXXXX" + ], + [ + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "DF(0)", "DF(1)", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "EE_CLR", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX" + ] + ] +} \ No newline at end of file diff --git a/keyboards/adm42/rev4/rev4.c b/keyboards/adm42/rev4/rev4.c deleted file mode 100644 index 623b5cb5a381..000000000000 --- a/keyboards/adm42/rev4/rev4.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2020-2022 Lorenzo Leonini - * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -led_config_t g_led_config = { - { - {12, 11, 8, 7, 4, 3, 36, 37, 38, 39, 40, 41}, - {13, 10, 9, 6, 5, 2, 35, 34, 33, 32, 31, 30}, - {14, 15, 16, 17, 18, 1, 24, 25, 26, 27, 28, 29}, - {NO_LED, NO_LED, NO_LED, 19, 20, 21, 0, 22, 23, NO_LED, NO_LED, NO_LED} - }, { - {112, 32}, {92, 36}, {94, 25}, {97, 14}, {80, 13}, {77, 24}, - {62, 18}, {64, 8}, {49, 6}, {46, 17}, {28, 23}, {30, 13}, - {14, 11}, {11, 22}, {8, 32}, {26, 34}, {43, 28}, {61, 29}, - {76, 34}, {78, 46}, {97, 49}, {112, 56}, {127, 49}, {146, 46}, - {132, 36}, {148, 34}, {164, 29}, {180, 28}, {198, 34}, {215, 32}, - {212, 22}, {196, 23}, {178, 17}, {161, 18}, {146, 24}, {130, 25}, - {126, 14}, {143, 13}, {159, 8}, {175, 6}, {194, 13}, {210, 11} - }, { - 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 - } -}; diff --git a/keyboards/adm42/rev4/rules.mk b/keyboards/adm42/rev4/rules.mk index aad92997d0fa..6e7633bfe015 100644 --- a/keyboards/adm42/rev4/rules.mk +++ b/keyboards/adm42/rev4/rules.mk @@ -1 +1 @@ -RGB_MATRIX_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/adm42/rules.mk b/keyboards/adm42/rules.mk index 73e4d46c59cf..06fc88e9f6c6 100644 --- a/keyboards/adm42/rules.mk +++ b/keyboards/adm42/rules.mk @@ -1,16 +1 @@ -# Build Options -# change yes to no to disable -# -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 -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 +DEFAULT_FOLDER = adm42/rev4 \ No newline at end of file diff --git a/keyboards/adpenrose/akemipad/config.h b/keyboards/adpenrose/akemipad/config.h index 5756903c6645..230453c3a00a 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 fb70fb00a4f3..0484578571bd 100644 --- a/keyboards/adpenrose/akemipad/info.json +++ b/keyboards/adpenrose/akemipad/info.json @@ -11,7 +11,7 @@ "pin": "F4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D3", "D2", "F5", "F6", "B2"], @@ -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/akemipad/keymaps/oled_bongocat/animation_frames.h b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/animation_frames.h deleted file mode 100644 index 062448b754ef..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/animation_frames.h +++ /dev/null @@ -1,392 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#ifdef OLED_ENABLE - -// Enable OLED bitmpa compression selectively. -#define USE_OLED_BITMAP_COMPRESSION - -#define NUM_IDLE_FRAMES 5 -#define NUM_TAP_FRAMES 2 -#define NUM_OLED_BYTES 512 - -#ifdef USE_OLED_BITMAP_COMPRESSION - -static const char PROGMEM idle_1_block_map[] = { //IDLE_1 and IDLE_2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x1c, 0x00, 0xb8, 0x8f, 0x3f, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_2_block_map[] = { //IDLE_3 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xf0, 0xd8, 0xe0, 0x03, - 0xf0, 0x6f, 0x00, 0x3e, 0x00, 0xf8, 0xc7, 0x7f, 0x00, 0x98, 0x7f, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_3_block_map[] = { //IDLE_4 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x7c, 0x00, 0xb8, 0x8f, 0xff, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_4_block_map[] = { //IDLE_5 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x3c, 0x00, 0xb8, 0x8f, 0x7f, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM tap_1_block_map[] = { //TAP_1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0x80, 0xff, 0xc1, 0x07, - 0x00, 0xce, 0x00, 0x7c, 0x00, 0xb8, 0x8d, 0xff, 0x00, 0x98, 0xff, 0x1f, 0xc0, 0xff, 0xff, 0x1f, - 0x00, 0x3f, 0xfe, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM tap_2_block_map[] = { //TAP_2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xde, 0xff, 0xff, 0x01, 0xfc, 0x80, 0xc1, 0x07, - 0xf1, 0xcf, 0x00, 0x7c, 0x00, 0xb8, 0x8d, 0xff, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x80, 0x3f, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_1_block_list[] = { //IDLE_1 and IDLE_2 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, - 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0xe0, 0x18, 0x06, 0x01, 0x78, 0x78, - 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x30, - 0xc8, 0x01, 0x3e, 0xc0, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, - 0x10, 0x08, 0x07, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x01, - 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, 0xe0 -}; - -static const char PROGMEM idle_2_block_list[] = { //IDLE_3 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x06, 0x04, - 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0xe0, 0x18, 0x06, 0x01, 0x78, - 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, - 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, - 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, - 0x02, 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, - 0x1e, 0xe0 -}; - -static const char PROGMEM idle_3_block_list[] = { //IDLE_4 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, - 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0xe0, 0x18, 0x06, 0x01, - 0x78, 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, - 0xe0, 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, - 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, - 0x08, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, - 0xe0, 0x01, 0x1e, 0xe0 -}; - -static const char PROGMEM idle_4_block_list[] = { //IDLE_5 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, - 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0xe4, 0x18, 0xe0, 0x18, 0x06, 0x01, 0x78, - 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, - 0x30, 0xc8, 0x01, 0x1e, 0x60, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, 0x40, - 0x20, 0x10, 0x10, 0x10, 0x08, 0x07, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, - 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, - 0xe0 -}; - -static const char PROGMEM tap_1_block_list[] = { //TAP_1 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x42, 0x44, - 0x84, 0x88, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x01, 0x0e, 0xf0, 0x20, - 0x26, 0x26, 0x29, 0x10, 0xd5, 0xce, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x1c, 0xe0, 0x30, 0xc8, - 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0x02, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, - 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x84, 0xc2, 0xc1, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfd, 0xfd, 0x01, 0x07, 0x78, - 0x80, 0x38, 0xf8, 0xf8, 0xf1, 0xe1, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x07, 0x78, 0x81, 0x07, 0x07, 0x03, 0x03, 0x01, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, - 0xe0 -}; - -static const char PROGMEM tap_2_block_list[] = { //TAP_2 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x7e, 0xfe, 0xfe, 0xfe, 0x07, 0xf9, 0x01, - 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, - 0x01, 0x01, 0xe0, 0x18, 0x06, 0x01, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x0f, 0x03, 0x04, - 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, - 0x03, 0x02, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0x0f, 0x70, 0x80, - 0x81, 0x01, 0x31, 0x32, 0x8a, 0x24, 0x86, 0x79, 0x07, 0x78, 0x81, 0x01, 0x01, 0x01, 0x01, 0x07, - 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, 0xe0 -}; - -// idle_1 and idle_2 are identical, so share them and save some space -const char* idle_frames[NUM_IDLE_FRAMES] = { - idle_1_block_list, - idle_1_block_list, - idle_2_block_list, - idle_3_block_list, - idle_4_block_list -}; - -const char* tap_frames[NUM_TAP_FRAMES] = { - tap_1_block_list, - tap_2_block_list -}; - -// idle_1 and idle_2 are identical, so save some space -const char* idle_block_map[NUM_IDLE_FRAMES] = { - idle_1_block_map, - idle_1_block_map, - idle_2_block_map, - idle_3_block_map, - idle_4_block_map -}; - -const char* tap_block_map[NUM_TAP_FRAMES] = { - tap_1_block_map, - tap_2_block_map -}; - -#else - -static const char PROGMEM idle_frames[NUM_IDLE_FRAMES][NUM_OLED_BYTES] = { - { // IDLE 1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, 0x08, - 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, 0x08, - 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 3 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x06, 0x04, 0x08, 0x08, 0x04, - 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x30, 0xc8, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x03, 0xc2, - 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x83, - 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 4 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 5 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x60, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } - }; -static const char PROGMEM tap_frames[NUM_TAP_FRAMES][NUM_OLED_BYTES] = { - { //Tap 1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x42, 0x44, 0x84, 0x88, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0e, 0xf0, 0x20, 0x26, 0x26, 0x29, 0x10, 0xd5, - 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0x02, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x80, 0x40, 0x20, 0x10, 0x08, 0x84, 0xc2, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfd, 0xfd, 0x01, 0x07, - 0x78, 0x80, 0x38, 0xf8, 0xf8, 0xf1, 0xe1, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x00, 0x00, - 0x00, 0x07, 0x78, 0x81, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //Tap 2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x7e, 0xfe, 0xfe, 0xfe, 0x00, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0x02, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x70, 0x80, - 0x81, 0x01, 0x31, 0x32, 0x8a, 0x24, 0x86, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x78, 0x81, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - }; -#endif //USE_BITMAP_COMPRESSION -#endif //OLED_ENABLE diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/animation_process.h b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/animation_process.h deleted file mode 100644 index 4280574a4671..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/animation_process.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "animation_frames.h" - -#ifdef OLED_ENABLE -#define IDLE_FRAME_DURATION 200 // Idle animation iteration rate in ms - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; - -bool tap_anim = false; -bool tap_anim_toggle = false; - - -// Decompress and write a precompressed bitmap frame to the OLED. -// Documentation and python compression script available at: -// https://github.com/nullbitsco/squeez-o -#ifdef USE_OLED_BITMAP_COMPRESSION -static void oled_write_compressed_P(const char* input_block_map, const char* input_block_list) { - uint16_t block_index = 0; - for (uint16_t i=0; i IDLE_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - anim_sleep = timer_read32(); - } else { // Turn off screen when timer threshold elapsed or reset time since last input - if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } else { - if (timer_elapsed32(anim_timer) > IDLE_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} -#endif - -// Animate tap -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef OLED_ENABLE - // Check if non-mod - if ((keycode >= KC_TAB && keycode <= KC_SLASH) || // Tab - Slash (Symbols, Punctuation, Space) - (keycode >= KC_KP_SLASH && keycode <= KC_KP_COMMA) || // Keypad slash - Keypad Dot - (keycode >= KC_F1 && keycode <= KC_F12)) { // F1 - F12 - if (record->event.pressed) { - // Display tap frames - tap_anim_toggle = !tap_anim_toggle; - #ifdef USE_OLED_BITMAP_COMPRESSION - oled_write_compressed_P(tap_block_map[tap_anim_toggle], tap_frames[tap_anim_toggle]); - #else - oled_write_raw_P(tap_frames[tap_anim_toggle], NUM_OLED_BYTES); - #endif - } - } - #endif - - return true; -} diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/config.h b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/config.h deleted file mode 100644 index 8667314cd4e2..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/config.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#ifdef AUDIO_ENABLE -# define NO_MUSIC_MODE -#endif - -#ifdef OLED_ENABLE -# define OLED_TIMEOUT 120000 -#endif - -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE -#define NO_ACTION_ONESHOT -#define LAYER_STATE_8BIT diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c deleted file mode 100644 index f9ccfbe76979..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose), Christopher Courtney/Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "animation_process.h" - -/* Structure that helps store settings in memory and write to the EEPROM: */ -typedef union { - uint32_t raw; - struct { - bool split_zero :1; - bool split_enter :1; - bool split_plus :1; - }; -} via_layout_t; - -via_layout_t via_layouts; - -/* Keymap */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - MO(1), MO(2), MO(3), CK_TOGG, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_MUTE, KC_P0, KC_P0, KC_PDOT, KC_PENT - ), - [1] = LAYOUT_all( - KC_TRNS, CK_DOWN, CK_UP, CK_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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 - ), - [3] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, - [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, - [3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } -}; -#endif - -/* Setting layout options and debuggin text */ -void via_set_layout_options_kb(uint32_t value) { - via_layouts.raw = value; - #ifdef CONSOLE_ENABLE - if (via_layouts.split_zero && via_layouts.split_enter && via_layouts.split_plus){ - xprintf("All three layouts are active with a value of: %d\n", value); - } else if (!(via_layouts.split_zero) && via_layouts.split_enter && via_layouts.split_plus){ - xprintf("SE and SP layouts are active with a value of: %d\n", value); - } else if (via_layouts.split_zero && !(via_layouts.split_enter) && via_layouts.split_plus){ - xprintf("SZ and SP layouts are active with a value of: %d\n", value); - } else if (!(via_layouts.split_zero) && !(via_layouts.split_enter) && via_layouts.split_plus){ - xprintf("SP is the only layout active with a value of: %d\n", value); - } else if (via_layouts.split_zero && via_layouts.split_enter && !(via_layouts.split_plus)){ - xprintf("SE and SZ layouts are active with a value of: %d\n", value); - } else if (!(via_layouts.split_zero) && via_layouts.split_enter && !(via_layouts.split_plus)) { - xprintf("SE is the only layout active with a value of: %d\n", value); - } else if (via_layouts.split_zero && !(via_layouts.split_enter) && !(via_layouts.split_plus)){ - xprintf("SZ is the only layout active with a value of: %d\n", value); - } else { - xprintf("The base layout is active with a value of: %d\n", value); - } - #endif -} - -/* Turing LEDs on/off depending on the layout selected on VIA */ -bool rgb_matrix_indicators_user(void){ - if (via_layouts.split_zero && via_layouts.split_enter && via_layouts.split_plus){ - rgb_matrix_set_color(12, 0, 0, 0); - rgb_matrix_set_color(21, 0, 0, 0); - rgb_matrix_set_color(23, 0, 0, 0); - } else if (!(via_layouts.split_zero) && via_layouts.split_enter && via_layouts.split_plus){ - rgb_matrix_set_color(12, 0, 0, 0); - rgb_matrix_set_color(21, 0, 0, 0); - rgb_matrix_set_color(22, 0, 0, 0); - rgb_matrix_set_color(24, 0, 0, 0); - } else if (via_layouts.split_zero && !(via_layouts.split_enter) && via_layouts.split_plus){ - rgb_matrix_set_color(12, 0, 0, 0); - rgb_matrix_set_color(20, 0, 0, 0); - rgb_matrix_set_color(23, 0, 0, 0); - rgb_matrix_set_color(26, 0, 0, 0); - } else if (!(via_layouts.split_zero) && !(via_layouts.split_enter) && via_layouts.split_plus){ - rgb_matrix_set_color(12, 0, 0, 0); - rgb_matrix_set_color(20, 0, 0, 0); - rgb_matrix_set_color(22, 0, 0, 0); - rgb_matrix_set_color(24, 0, 0, 0); - rgb_matrix_set_color(26, 0, 0, 0); - } else if (via_layouts.split_zero && via_layouts.split_enter && !(via_layouts.split_plus)){ - rgb_matrix_set_color(11, 0, 0, 0); - rgb_matrix_set_color(16, 0, 0, 0); - rgb_matrix_set_color(21, 0, 0, 0); - rgb_matrix_set_color(23, 0, 0, 0); - } else if (!(via_layouts.split_zero) && via_layouts.split_enter && !(via_layouts.split_plus)) { - rgb_matrix_set_color(11, 0, 0, 0); - rgb_matrix_set_color(16, 0, 0, 0); - rgb_matrix_set_color(21, 0, 0, 0); - rgb_matrix_set_color(22, 0, 0, 0); - rgb_matrix_set_color(24, 0, 0, 0); - } else if (via_layouts.split_zero && !(via_layouts.split_enter) && !(via_layouts.split_plus)){ - rgb_matrix_set_color(11, 0, 0, 0); - rgb_matrix_set_color(16, 0, 0, 0); - rgb_matrix_set_color(20, 0, 0, 0); - rgb_matrix_set_color(23, 0, 0, 0); - rgb_matrix_set_color(26, 0, 0, 0); - } else { - rgb_matrix_set_color(11, 0, 0, 0); - rgb_matrix_set_color(16, 0, 0, 0); - rgb_matrix_set_color(20, 0, 0, 0); - rgb_matrix_set_color(22, 0, 0, 0); - rgb_matrix_set_color(24, 0, 0, 0); - rgb_matrix_set_color(26, 0, 0, 0); - } - return false; -} - -/* OLED stuff */ -#ifdef OLED_ENABLE -bool oled_task_user(void) { - render_anim(); - - // WPM render - oled_set_cursor(1, 0); - oled_write_P(PSTR(">"), false); - oled_write(get_u8_str(get_current_wpm(), '0'), false); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_set_cursor(0,14); - oled_write_P(led_state.caps_lock ? PSTR("CPSLK") :" ", true); - oled_set_cursor(0,15); - oled_write_P(led_state.num_lock ? PSTR("NUMLK") :" ", true); - - return false; -} - -/* WPM calculation considerations */ -bool wpm_keycode_user(uint16_t keycode) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || - (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { - keycode = keycode & 0xFF; - } else if (keycode > 0xFF) { - keycode = 0; - } - - // Include keys in WPM calculation - if ((keycode >= KC_TAB && keycode <= KC_SLASH) || // Tab - Slash (Symbols, Punctuation, Space) - (keycode >= KC_KP_SLASH && keycode <= KC_KP_COMMA) || // Keypad numbers - Keypad Dot - (keycode >= KC_F1 && keycode <= KC_F12)) { // F1 - F12 - return true; - } - - return false; -} -#endif diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/readme.md b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/readme.md deleted file mode 100644 index 5ae1b2280e89..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# The Bongo Cat VIA-compatible keymap for the AkemiPad - -# Features -- Audio Click capabilitiy. -- RGB Matrix Lighting (cycles left-right and up-down). -- LEDs turn on and off depending on the layout selected on the VIA UI. -- Encoder Map feature. -- Bongo Cat animation with WPM counter and Caps Lock/Num Lock indicators. - -This keymap is optimized for a numpad and can fit the RGB matrix (with -very few animations due to AVR constraints), the encoder map, the audio -click feature and the display of the OLED animations. This was possible -thanks to the [squeez-o](https://github.com/nullbitsco/squeez-o) compression tool. - -![Bongo Cat](https://i.imgur.com/Ty0qKnV.gif) - -___ - -###### *This keymap is an adaptation designed to work with the AkemiPad. The reference keymap used was created for the Nibble keyboard, and you can check it [here](https://github.com/qmk/qmk_firmware/tree/master/keyboards/nullbitsco/nibble/keymaps/oled_bongocat).* diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk deleted file mode 100644 index d24a189b81d6..000000000000 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes -SPACE_CADET_ENABLE = no -GRAVE_ESC_ENABLE = no -MAGIC_ENABLE = no -ENCODER_MAP_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -WPM_ENABLE = yes diff --git a/keyboards/adpenrose/kintsugi/config.h b/keyboards/adpenrose/kintsugi/config.h deleted file mode 100644 index 088b40139bfd..000000000000 --- a/keyboards/adpenrose/kintsugi/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2022 adpenrose - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 -# 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/adpenrose/kintsugi/info.json b/keyboards/adpenrose/kintsugi/info.json index 3daf3326acd7..42cc69ed7fef 100644 --- a/keyboards/adpenrose/kintsugi/info.json +++ b/keyboards/adpenrose/kintsugi/info.json @@ -8,6 +8,23 @@ "pid": "0x0001", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "F1" }, @@ -21,6 +38,9 @@ {"pin_a": "B7", "pin_b": "D5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/animation_frames.h b/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/animation_frames.h deleted file mode 100644 index 4a97accdde56..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/animation_frames.h +++ /dev/null @@ -1,405 +0,0 @@ -/* Copyright 2022 adpenrose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -#ifdef OLED_ENABLE - -// Enable OLED bitmpa compression selectively. -#define USE_OLED_BITMAP_COMPRESSION - -#define NUM_IDLE_FRAMES 5 -#define NUM_TAP_FRAMES 2 -#define NUM_OLED_BYTES 512 - -#ifdef USE_OLED_BITMAP_COMPRESSION - -static const char PROGMEM idle_1_block_map[] = { //IDLE_1 and IDLE_2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x1c, 0x00, 0xb8, 0x8f, 0x3f, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_2_block_map[] = { //IDLE_3 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xf0, 0xd8, 0xe0, 0x03, - 0xf0, 0x6f, 0x00, 0x3e, 0x00, 0xf8, 0xc7, 0x7f, 0x00, 0x98, 0x7f, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_3_block_map[] = { //IDLE_4 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x7c, 0x00, 0xb8, 0x8f, 0xff, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_4_block_map[] = { //IDLE_5 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xf0, 0xb0, 0xc1, 0x07, - 0xf0, 0xcf, 0x00, 0x3c, 0x00, 0xb8, 0x8f, 0x7f, 0x00, 0x98, 0xff, 0x00, 0x00, 0xf0, 0x03, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM tap_1_block_map[] = { //TAP_1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0x80, 0xff, 0xc1, 0x07, - 0x00, 0xce, 0x00, 0x7c, 0x00, 0xb8, 0x8d, 0xff, 0x00, 0x98, 0xff, 0x1f, 0xc0, 0xff, 0xff, 0x1f, - 0x00, 0x3f, 0xfe, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM tap_2_block_map[] = { //TAP_2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xde, 0xff, 0xff, 0x01, 0xfc, 0x80, 0xc1, 0x07, - 0xf1, 0xcf, 0x00, 0x7c, 0x00, 0xb8, 0x8d, 0xff, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x80, 0x3f, 0x00, - 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xc0, 0x01 -}; - -static const char PROGMEM idle_1_block_list[] = { //IDLE_1 and IDLE_2 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, - 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0xe0, 0x18, 0x06, 0x01, 0x78, 0x78, - 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x30, - 0xc8, 0x01, 0x3e, 0xc0, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, - 0x10, 0x08, 0x07, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x01, - 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, 0xe0 -}; - -static const char PROGMEM idle_2_block_list[] = { //IDLE_3 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x06, 0x04, - 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0xe0, 0x18, 0x06, 0x01, 0x78, - 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, - 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, - 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, - 0x02, 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, - 0x1e, 0xe0 -}; - -static const char PROGMEM idle_3_block_list[] = { //IDLE_4 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, - 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0xe0, 0x18, 0x06, 0x01, - 0x78, 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, - 0xe0, 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, - 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, - 0x08, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, - 0xe0, 0x01, 0x1e, 0xe0 -}; - -static const char PROGMEM idle_4_block_list[] = { //IDLE_5 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, - 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0xe4, 0x18, 0xe0, 0x18, 0x06, 0x01, 0x78, - 0x78, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, - 0x30, 0xc8, 0x01, 0x1e, 0x60, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0xc2, 0xc0, 0x18, 0x18, 0x80, 0x40, - 0x20, 0x10, 0x10, 0x10, 0x08, 0x07, 0xfc, 0x03, 0x80, 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, - 0x01, 0x01, 0x01, 0x01, 0x07, 0x78, 0x80, 0x07, 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, - 0xe0 -}; - -static const char PROGMEM tap_1_block_list[] = { //TAP_1 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x42, 0x44, - 0x84, 0x88, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x01, 0x0e, 0xf0, 0x20, - 0x26, 0x26, 0x29, 0x10, 0xd5, 0xce, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x03, 0x1c, 0xe0, 0x30, 0xc8, - 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, 0x03, 0x02, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, - 0x10, 0x08, 0x08, 0x04, 0x03, 0xfc, 0x03, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x84, 0xc2, 0xc1, - 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfd, 0xfd, 0x01, 0x07, 0x78, - 0x80, 0x38, 0xf8, 0xf8, 0xf1, 0xe1, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x07, 0x78, 0x81, 0x07, 0x07, 0x03, 0x03, 0x01, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, - 0xe0 -}; - -static const char PROGMEM tap_2_block_list[] = { //TAP_2 flipped - 0x3e, 0xc0, 0x07, 0xf8, 0x1f, 0xe0, 0x03, 0x7c, 0x80, 0x7e, 0xfe, 0xfe, 0xfe, 0x07, 0xf9, 0x01, - 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, - 0x01, 0x01, 0xe0, 0x18, 0x06, 0x01, 0xc0, 0xc0, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x0f, 0x03, 0x04, - 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x30, 0xc8, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x01, 0x3e, 0xc0, - 0x03, 0x02, 0x18, 0x18, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0x0f, 0x70, 0x80, - 0x81, 0x01, 0x31, 0x32, 0x8a, 0x24, 0x86, 0x79, 0x07, 0x78, 0x81, 0x01, 0x01, 0x01, 0x01, 0x07, - 0x78, 0x80, 0x07, 0xf8, 0x1f, 0xe0, 0x01, 0x1e, 0xe0 -}; - -// idle_1 and idle_2 are identical, so share them and save some space -const char* idle_frames[NUM_IDLE_FRAMES] = { - idle_1_block_list, - idle_1_block_list, - idle_2_block_list, - idle_3_block_list, - idle_4_block_list -}; - -const char* tap_frames[NUM_TAP_FRAMES] = { - tap_1_block_list, - tap_2_block_list -}; - -// idle_1 and idle_2 are identical, so save some space -const char* idle_block_map[NUM_IDLE_FRAMES] = { - idle_1_block_map, - idle_1_block_map, - idle_2_block_map, - idle_3_block_map, - idle_4_block_map -}; - -const char* tap_block_map[NUM_TAP_FRAMES] = { - tap_1_block_map, - tap_2_block_map -}; - -#else - -static const char PROGMEM idle_frames[NUM_IDLE_FRAMES][NUM_OLED_BYTES] = { - { // IDLE 1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, 0x08, - 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, 0x08, - 0x08, 0x04, 0x04, 0x02, 0x02, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 3 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x06, 0x04, 0x08, 0x08, 0x04, - 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x30, 0xc8, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x03, 0xc2, - 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x83, - 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 4 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //IDLE 5 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0xe4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x60, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0xc2, 0xc0, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x83, 0x43, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, - 0x78, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - } - }; -static const char PROGMEM tap_frames[NUM_TAP_FRAMES][NUM_OLED_BYTES] = { - { //Tap 1 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x42, 0x44, 0x84, 0x88, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0e, 0xf0, 0x20, 0x26, 0x26, 0x29, 0x10, 0xd5, - 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0x02, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x80, - 0x80, 0x40, 0x20, 0x10, 0x08, 0x84, 0xc2, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfc, 0xfd, 0xfd, 0x01, 0x07, - 0x78, 0x80, 0x38, 0xf8, 0xf8, 0xf1, 0xe1, 0xc3, 0x83, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x00, 0x00, - 0x00, 0x07, 0x78, 0x81, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - { //Tap 2 flipped - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3e, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x7c, 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, 0x7e, 0xfe, 0xfe, 0xfe, 0x00, 0x07, 0xf9, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, - 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x82, 0x64, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x02, 0x1c, 0xe0, 0x00, 0x00, 0x30, 0xc8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x20, 0x40, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0xc0, 0x00, 0x03, - 0x02, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x70, 0x80, - 0x81, 0x01, 0x31, 0x32, 0x8a, 0x24, 0x86, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x78, 0x81, 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, 0x07, 0x78, 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, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }, - }; -#endif //USE_BITMAP_COMPRESSION -#endif //OLED_ENABLE diff --git a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c deleted file mode 100644 index 900bb3e26511..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/keymap.c +++ /dev/null @@ -1,181 +0,0 @@ -/* Copyright 2022 adpenrose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "animation_frames.h" - -/* Base layout: - * ,---------------------------------------------------------------------| - * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backspace| OLED| - * |--------------------------------------------------------------- | - * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | \ OLED| - * |---------------------------------------------------------------------| - * |Caps |A |S |D |F |G |H |J |K |L |; |' | Enter | ENC | - * |---------------------------------------------------------------------| - * |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |Up| M0(3) | - * |---------------------------------------------------------------------| - * |Ctrl|GUI |Alt | Space |MO(1) |MO(2)| |Lt |Dn |Rt | - * `---------------------------------------------------------------------|' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(3), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -/* Encoder */ -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } -}; -#endif - -#ifdef OLED_ENABLE -#define IDLE_FRAME_DURATION 200 // Idle animation iteration rate in ms - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; - -bool tap_anim = false; -bool tap_anim_toggle = false; - - -// Decompress and write a precompressed bitmap frame to the OLED. -// Documentation and python compression script available at: -// https://github.com/nullbitsco/squeez-o -#ifdef USE_OLED_BITMAP_COMPRESSION -static void oled_write_compressed_P(const char* input_block_map, const char* input_block_list) { - uint16_t block_index = 0; - for (uint16_t i=0; i IDLE_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - anim_sleep = timer_read32(); - } else { // Turn off screen when timer threshold elapsed or reset time since last input - if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } else { - if (timer_elapsed32(anim_timer) > IDLE_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -bool oled_task_user(void) { - render_anim(); - oled_set_cursor(0, 0); - - uint8_t n = get_current_wpm(); - char wpm_counter[6]; - wpm_counter[5] = '\0'; - wpm_counter[4] = '0' + n % 10; - wpm_counter[3] = '0' + (n /= 10) % 10; - wpm_counter[2] = '0' + n / 10 ; - wpm_counter[1] = '0'; - wpm_counter[0] = '>'; - oled_write_ln(wpm_counter, false); - - return false; -} -#endif - -// Animate tap -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef OLED_ENABLE - // Check if non-mod - if ((keycode >= KC_A && keycode <= KC_0) || (keycode >= KC_TAB && keycode <= KC_SLASH)) { - if (record->event.pressed) { - // Display tap frames - tap_anim_toggle = !tap_anim_toggle; - #ifdef USE_OLED_BITMAP_COMPRESSION - oled_write_compressed_P(tap_block_map[tap_anim_toggle], tap_frames[tap_anim_toggle]); - #else - oled_write_raw_P(tap_frames[tap_anim_toggle], NUM_OLED_BYTES); - #endif - } - } - #endif - - return true; - -} diff --git a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/rules.mk b/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/rules.mk deleted file mode 100644 index 24719cefb250..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/oled_bongocat/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes -WPM_ENABLE = yes -SPACE_CADET_ENABLE = no -MAGIC_ENABLE = no -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c deleted file mode 100644 index 7a9e6fb24e61..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/keymap.c +++ /dev/null @@ -1,401 +0,0 @@ -/* Copyright 2022 adpenrose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -/* Base layout: - * ,---------------------------------------------------------------------| - * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backspace| OLED| - * |--------------------------------------------------------------- | - * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | \ OLED| - * |---------------------------------------------------------------------| - * |Caps |A |S |D |F |G |H |J |K |L |; |' | Enter | ENC | - * |---------------------------------------------------------------------| - * |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |Up| M0(3) | - * |---------------------------------------------------------------------| - * |Ctrl|GUI |Alt | Space |MO(1) |MO(2)| |Lt |Dn |Rt | - * `---------------------------------------------------------------------|' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(3), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -/* Encoder */ -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } -}; -#endif - -#ifdef OLED_ENABLE -/*=========================================== OLED CONFIGURATION ===========================================*/ -bool oled_horizontal = true; // OLED rotation (true = horizontal, false = vertical) -bool graph_direction = false; // Graph movement (true = right to left, false = left to right) -float graph_top_wpm = 100.0; // Minimum WPM required to reach the top of the graph -int graph_refresh = 1000; // In milliseconds, determines the graph-line frequency -int icon_med_wpm = 50; // WPM required to display the medium snail -int icon_fast_wpm = 72; // WPM required to display the fast snail -// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal -#define MA_LAYER_NAME "QWRTY" // Layer 0 name -#define L1_LAYER_NAME "FUNCT" // Layer 1 name -#define L2_LAYER_NAME "NMPAD" // Layer 2 name -#define L3_LAYER_NAME "RANDM" // Layer 3 name -// Constants required for the background render, the graph render and the WPM counter. THESE VALUES SHOULD NOT BE CHANGED. -bool first_loop = true; -int timer = 0; -int wpm_limit = 20; -int max_wpm = -1; -int wpm_icon = -1; -int graph_lines[65]; -/*================================================================================================================*/ - -/* Rotation of the OLED: */ -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (oled_horizontal) { - return OLED_ROTATION_180; - } else { - return OLED_ROTATION_270; - } -} - -// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary -static void write_pixel(int x, int y, bool onoff) { - if (oled_horizontal) { - oled_write_pixel(x, y, onoff); - } else { - oled_write_pixel(y, 127 - x, onoff); - } -} - -/*====================================== BASE KEYBOARD MATRIX IMAGES =======================================*/ -// Draw static background image to OLED (keyboard with no bottom row) -static void render_background(void) { - if (oled_horizontal) { - static const char PROGMEM oled_keymap_horizontal[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x84, 0x80, 0x80, 0x80, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, - 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, - 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, - 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, - 0x80, 0x04, 0x04, 0x04, 0x04, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x42, 0x42, 0x02, 0x02, 0x02, 0x02, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x40, 0x00, 0x00, - 0x00, 0x02, 0x40, 0x40, 0x40, 0x40, 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x40, 0x40, 0x40, 0x40, - 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, - 0x40, 0x40, 0x40, 0x00, 0x02, 0x00, 0x00, 0x40, 0x40, 0x02, 0x00, 0x00, 0x00, 0x40, 0x42, 0x02, - 0x02, 0x02, 0x02, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(oled_keymap_horizontal, sizeof(oled_keymap_horizontal)); - } else { - static const char PROGMEM oled_keymap_vertical[] = { - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, - 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(oled_keymap_vertical, sizeof(oled_keymap_vertical)); - } -} -/*================================================================================================================*/ - - -/*=============================== PIXEL'S COORDINATES FOR EACH PHYSICAL KEY ================================*/ -// Location of OLED keyboard's top left pixel, relative to the display -static const int keymap_template[2] = {46, 0}; -// Location of key highlights top left pixels, relative to keymap_template {X, Y, Key length in px} -static int keymap_coords[MATRIX_ROWS][MATRIX_COLS][3] = { - { {0, 0, 1}, {5, 0, 1}, {10, 0, 1}, {15, 0, 1}, {20, 0, 1}, {25, 0, 1}, {30, 0, 1} }, - { {0, 5, 5}, {9, 5, 1}, {14, 5, 1}, {19, 5, 1}, {24, 5, 1}, {29, 5, 1}, {34, 5, 1} }, - { {0, 10, 6}, {10, 10, 1}, {15, 10, 1}, {20, 10, 1}, {25, 10, 1}, {30, 10, 1}, {35, 10, 1} }, - { {0, 15, 8}, {12, 15, 1}, {17, 15, 1}, {22, 15, 1}, {27, 15, 1}, {32, 15, 1}, {37, 15, 1} }, - { {0, 20, 2}, {6, 20, 2}, {12, 20, 2}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {18, 20, 33} }, - { {35, 0, 1}, {40, 0, 1}, {45, 0, 1}, {50, 0, 1}, {55, 0, 1}, {60, 0, 1}, {65, 0, 8} }, - { {39, 5, 1}, {44, 5, 1}, {49, 5, 1}, {54, 5, 1}, {59, 5, 1}, {64, 5, 1}, {69, 5, 4} }, - { {40, 10, 1}, {45, 10, 1}, {50, 10, 1}, {55, 10, 1}, {60, 10, 1}, {65, 10, 8}, {77, 10, 1} }, - { {42, 15, 1}, {47, 15, 1}, {52, 15, 1}, {57, 15, 1}, {62, 15, 6}, {72, 15, 1}, {77, 15, 1} }, - { {0, 0, 0}, {0, 0, 0}, {55, 20, 2}, {61, 20, 2}, {67, 20, 1}, {72, 20, 1}, {77, 20, 1} }, - }; - -// Toggles pixels surrounding key -static void render_keymap(uint8_t key_row, uint8_t key_col, bool onoff) { - int length = keymap_coords[key_row][key_col][2] + 4; - int left = keymap_coords[key_row][key_col][0] + keymap_template[0]; - int top = keymap_coords[key_row][key_col][1] + keymap_template[1]; - int right = left + length - 1; - int bottom = top + 4; - - // Draw top and bottom walls (horizontal for px) - for (int x = 0; x < length; x++) { - write_pixel(left + x, top, onoff); - write_pixel(left + x, bottom, onoff); - } - // Draw left and right walls (vertical for 5px) - for (int y = 0; y < 5; y++) { - write_pixel(left, top + y, onoff); - write_pixel(right, top + y, onoff); - } -} -/*================================================================================================================*/ - -/*============================================= LAYER'S NAME ===============================================*/ -// Write active layer name -static void render_layer_state(void) { - if (oled_horizontal) { - oled_set_cursor(0, 0); - } else { - oled_set_cursor(0, 15); - } - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR(MA_LAYER_NAME), false); - break; - case 1: - oled_write_P(PSTR(L1_LAYER_NAME), false); - break; - case 2: - oled_write_P(PSTR(L2_LAYER_NAME), false); - break; - case 3: - oled_write_P(PSTR(L3_LAYER_NAME), false); - break; - default: - oled_write("ERROR", false); - break; - } -} -/*================================================================================================================*/ - -/*==================================== WPM COUNTERS (CURRENT AND MAX) ======================================*/ -// Update WPM counters -static void render_wpm_counters(int current_wpm) { - int cursorposition_cur = 2; - int cursorposition_max = 1; - if (oled_horizontal == false) { - cursorposition_cur = 13; - cursorposition_max = 14; - } - - oled_set_cursor(0, cursorposition_cur); - oled_write(get_u8_str(get_current_wpm(), '0'), false); - - char wpm_counter[4]; - wpm_counter[3] = '\0'; - wpm_counter[2] = '0' + current_wpm % 10; - wpm_counter[1] = '0' + (current_wpm / 10) % 10; - wpm_counter[0] = '0' + (current_wpm / 100) % 10; - - if (current_wpm > max_wpm) { - max_wpm = current_wpm; - wpm_limit = max_wpm + 20; - oled_set_cursor(0, cursorposition_max); - oled_write(wpm_counter, false); - } -} -/*================================================================================================================*/ - -/*============================================== WPM GRAPH =================================================*/ -// Update WPM graph -static void render_wpm_graph(int current_wpm) { - int line_height = ((current_wpm / graph_top_wpm) * 7); - if (line_height > 7) { - line_height = 7; - } - // Count graph line pixels, return if nothing to draw - int pixel_count = line_height; - for (int i = 0; i < 64; i++) { - pixel_count += graph_lines[i]; - } - if (pixel_count == 0) { - return; - } - // Shift array elements left or right depending on graph_direction, append new graph line - if (graph_direction) { - for (int i = 0; i < 64; i++) { - graph_lines[i] = graph_lines[i + 1]; - } - graph_lines[64] = line_height; - } else { - for (int i = 64; i > 0; i--) { - graph_lines[i] = graph_lines[i - 1]; - } - graph_lines[0] = line_height; - } - // Draw all graph lines (left to right, bottom to top) - int draw_count, arrpos; - for (int x = 1; x <= 127; x += 2) { - arrpos = x / 2; - draw_count = graph_lines[arrpos]; - for (int y = 31; y >= 25; y--) { - if (draw_count > 0) { - write_pixel(x, y, true); - draw_count--; - } else { - write_pixel(x, y, false); - } - } - } -} -/*================================================================================================================*/ - -/*======================================== WPM BASED SNAIL ICON ============================================*/ -// Update WPM snail icon -static void render_wpm_icon(int current_wpm) { - // wpm_icon is used to prevent unnecessary redraw - if ((current_wpm < icon_med_wpm) && (wpm_icon != 0)) { - wpm_icon = 0; - } else if ((current_wpm >= icon_med_wpm) && (current_wpm < icon_fast_wpm) && (wpm_icon != 1)) { - wpm_icon = 1; - } else if ((current_wpm >= icon_fast_wpm) && (wpm_icon != 2)) { - wpm_icon = 2; - } else { - return; - } - static const char PROGMEM snails[][2][24] = { - {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00}, - {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}}, - {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00}, - {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}}, - {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00}, - {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}} - }; - if (oled_horizontal) { - oled_set_cursor(3, 1); - oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0])); - oled_set_cursor(3, 2); - oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1])); - } else { - oled_set_cursor(0, 11); - oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0])); - oled_set_cursor(0, 12); - oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1])); - } -} -/*================================================================================================================*/ - -/* Function that renders stuff on the oled */ -bool oled_task_user(void) { - // Draw OLED keyboard, preventing redraw. - if (first_loop) { - render_background(); - first_loop = false; - } - - // Get current WPM - int current_wpm = get_current_wpm(); - // Write active layer name to display - render_layer_state(); - // Update WPM counters - render_wpm_counters(current_wpm); - // Update WPM snail icon - render_wpm_icon(current_wpm); - // Update WPM graph every graph_refresh milliseconds - if (timer_elapsed(timer) > graph_refresh) { - render_wpm_graph(current_wpm); - timer = timer_read(); - } - - return false; -} -#endif - -// Called by QMK during key processing -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef OLED_ENABLE - // Toggle pixels surrounding key - render_keymap(record->event.key.row, record->event.key.col, record->event.pressed); - #endif - - return true; -} diff --git a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/readme.md b/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/readme.md deleted file mode 100644 index eb7b7577af0f..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# SnailMap-ported keymap for the Kintsugi - -## Features - -- Keyboard matrix that highlights whichever key is currently pressed. -- Little cute snail icon that changes acording to the current WPM. -- Counters for current and max WPM values. -- Active layer name. -- Mini WPM graph. - -## How to customize - -The `OLED configuration variables` can be used to easily customize the display: - -``` -oled_horizontal - Horizontal or vertical orientation -graph_direction - Graph movement direction -graph_refresh - Frequency of graph lines -graph_top_wpm - WPM required to reach the top of the graph -icon_med_wpm - WPM required to display the medium snail -icon_fast_wpm - WPM required to display the fast snail -MA_LAYER_NAME - Layer 0 display name -L1_LAYER_NAME - Layer 1 display name -L2_LAYER_NAME - Layer 2 display name -L3_LAYER_NAME - Layer 3 display name -``` - -___ - -###### *This keymap is an adaptation designed to work with the Kintsugi keyboard. The original SnailMap keymap was created by [dogspace](https://github.com/dogspace) for the Nibble keyboard, and you can check it [here](https://github.com/qmk/qmk_firmware/tree/master/keyboards/nullbitsco/nibble/keymaps/snailmap).* \ No newline at end of file diff --git a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/rules.mk b/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/rules.mk deleted file mode 100644 index 24719cefb250..000000000000 --- a/keyboards/adpenrose/kintsugi/keymaps/snailmap_port/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes -WPM_ENABLE = yes -SPACE_CADET_ENABLE = no -MAGIC_ENABLE = no -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/adpenrose/kintsugi/rules.mk b/keyboards/adpenrose/kintsugi/rules.mk index 4704a3487dca..864f929c81e5 100644 --- a/keyboards/adpenrose/kintsugi/rules.mk +++ b/keyboards/adpenrose/kintsugi/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Encoder functionality OLED_ENABLE = yes # OLED functionality -OLED_DRIVER = SSD1306 diff --git a/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c b/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c deleted file mode 100644 index cd9e1768eb6e..000000000000 --- a/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 Arturo Avila (@Arturo Avila) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - 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 deleted file mode 100644 index 2a1e874d82f0..000000000000 --- a/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -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/obi/config.h b/keyboards/adpenrose/obi/config.h deleted file mode 100644 index 862c0fe1ee53..000000000000 --- a/keyboards/adpenrose/obi/config.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose) -// SPDX-License-Identifier: GPL-2.0-or-later - -#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 -# 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/adpenrose/obi/info.json b/keyboards/adpenrose/obi/info.json index 00a2572e7a4c..d11e00a50e7b 100644 --- a/keyboards/adpenrose/obi/info.json +++ b/keyboards/adpenrose/obi/info.json @@ -7,6 +7,23 @@ "pid": "0x0002", "vid": "0x4450" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "F7" }, @@ -20,6 +37,9 @@ {"pin_a": "F1", "pin_b": "F0"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c b/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c deleted file mode 100644 index 0d69e305d1c2..000000000000 --- a/keyboards/adpenrose/shisaku/keymaps/solenoid/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Arturo Avila (@ADPenrose) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, MO(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, - KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [1] = LAYOUT( - KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, HF_TOGG, - KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS - ), - [2] = LAYOUT( - KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [3] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) - -}; diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md b/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md deleted file mode 100644 index e9d4bb6af9f8..000000000000 --- a/keyboards/adpenrose/shisaku/keymaps/solenoid/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Solenoid keymap for Shisaku diff --git a/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk b/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk deleted file mode 100644 index e13f2bd03570..000000000000 --- a/keyboards/adpenrose/shisaku/keymaps/solenoid/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes -HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID \ No newline at end of file diff --git a/keyboards/aeboards/constellation/rev2/info.json b/keyboards/aeboards/constellation/rev2/info.json index 87cb103d4a96..b8dae5f20cfa 100644 --- a/keyboards/aeboards/constellation/rev2/info.json +++ b/keyboards/aeboards/constellation/rev2/info.json @@ -13,6 +13,9 @@ "rows": ["B15", "A14", "A2", "B13", "B14"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "i2c" + }, "processor": "STM32L422", "bootloader": "stm32-dfu", "layout_aliases": { diff --git a/keyboards/aeboards/constellation/rev2/rules.mk b/keyboards/aeboards/constellation/rev2/rules.mk index 0fa89d45d2de..c12086843f1c 100755 --- a/keyboards/aeboards/constellation/rev2/rules.mk +++ b/keyboards/aeboards/constellation/rev2/rules.mk @@ -9,5 +9,3 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output - -EEPROM_DRIVER = i2c diff --git a/keyboards/aeboards/ext65/rev1/info.json b/keyboards/aeboards/ext65/rev1/info.json index ffe8d2443ec1..0e110e92357b 100644 --- a/keyboards/aeboards/ext65/rev1/info.json +++ b/keyboards/aeboards/ext65/rev1/info.json @@ -14,8 +14,11 @@ "cols": ["B2", "B3", "B1", "B0", "F7", "F0", "F1", "F4", "F5", "F6"], "rows": ["C6", "C7", "B5", "B6", "D7", "B4", "D4", "D6", "B7", "E6"] }, + "layout_aliases": { + "LAYOUT_ext65": "LAYOUT" + }, "layouts": { - "LAYOUT_ext65": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/aeboards/ext65/rev1/keymaps/default/keymap.c b/keyboards/aeboards/ext65/rev1/keymaps/default/keymap.c index c93172925824..e246b5c471d9 100644 --- a/keyboards/aeboards/ext65/rev1/keymaps/default/keymap.c +++ b/keyboards/aeboards/ext65/rev1/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c index c93172925824..e246b5c471d9 100644 --- a/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c +++ b/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk index e9a8bec8798b..ab9d5c6ac2f8 100644 --- a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk +++ b/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -# OLED_DRIVER = not a real thing diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h index 0bc48fb5626f..c5149f574103 100644 --- a/keyboards/aeboards/ext65/rev2/config.h +++ b/keyboards/aeboards/ext65/rev2/config.h @@ -16,21 +16,8 @@ #pragma once -//RGB Underglow WS2812 -#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 -#define RGBLED_NUM 24 - //SPI -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/aeboards/ext65/rev2/info.json b/keyboards/aeboards/ext65/rev2/info.json index bfdcae090e52..ab229e19ec6e 100644 --- a/keyboards/aeboards/ext65/rev2/info.json +++ b/keyboards/aeboards/ext65/rev2/info.json @@ -12,6 +12,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" @@ -23,8 +38,11 @@ "cols": ["B14", "B6", "A0", "B1", "B0", "A7", "A6", "A5", "A4", "A3"], "rows": ["A10", "A9", "A8", "B7", "A2", "A1", "B12", "B11", "B10", "B2"] }, + "layout_aliases": { + "LAYOUT_ext65": "LAYOUT" + }, "layouts": { - "LAYOUT_ext65": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c b/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c index c93172925824..e246b5c471d9 100644 --- a/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c +++ b/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c index c93172925824..e246b5c471d9 100644 --- a/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c +++ b/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_ext65( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk index e9a8bec8798b..ab9d5c6ac2f8 100644 --- a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk +++ b/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -# OLED_DRIVER = not a real thing diff --git a/keyboards/aeboards/ext65/rev2/rules.mk b/keyboards/aeboards/ext65/rev2/rules.mk index d52eea26d194..b9637955ff7b 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/aeboards/ext65/rev3/info.json b/keyboards/aeboards/ext65/rev3/info.json index bb507545a018..0faf6fa135a7 100644 --- a/keyboards/aeboards/ext65/rev3/info.json +++ b/keyboards/aeboards/ext65/rev3/info.json @@ -19,8 +19,11 @@ "cols": ["F6", "F7", "B1", "B3", "B2", "D5", "D3", "D2", "D1", "D0"], "rows": ["B5", "B6", "C6", "C7", "E6", "B0", "B4", "D7", "D4", "D6"] }, + "layout_aliases": { + "LAYOUT_ext65_hotswap": "LAYOUT" + }, "layouts": { - "LAYOUT_ext65_hotswap": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c b/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c index 72a10cae1ba7..ac6dd4dfedea 100644 --- a/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c +++ b/keyboards/aeboards/ext65/rev3/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65_hotswap( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PDOT, KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65_hotswap( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65_hotswap( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_ext65_hotswap( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c index 72a10cae1ba7..ac6dd4dfedea 100644 --- a/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c +++ b/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| * `------------------------------------------------------------------------------------------' */ - [0] = LAYOUT_ext65_hotswap( + [0] = LAYOUT( KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_PSCR, KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, @@ -37,27 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PDOT, KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_ext65_hotswap( + [1] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [2] = LAYOUT_ext65_hotswap( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_ext65_hotswap( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/aeboards/satellite/rev1/config.h b/keyboards/aeboards/satellite/rev1/config.h index 508689faf502..429bc2af5461 100644 --- a/keyboards/aeboards/satellite/rev1/config.h +++ b/keyboards/aeboards/satellite/rev1/config.h @@ -17,14 +17,13 @@ #pragma once //RGB Matrix defines -#define DRIVER_ADDR_1 0x74 -#define DRIVER_ADDR_2 0x76 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 36 -#define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) -#define RGB_MATRIX_LED_COUNT ISSI_DRIVER_TOTAL +#define IS31FL3731_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT IS31FL3731_LED_COUNT #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c index aafd0e0848da..6727894e0671 100644 --- a/keyboards/aeboards/satellite/rev1/rev1.c +++ b/keyboards/aeboards/satellite/rev1/rev1.c @@ -18,7 +18,7 @@ #include "drivers/led/issi/is31fl3731.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -145,38 +145,27 @@ led_config_t g_led_config = { { // Custom Driver static void init(void) { i2c_init(); - IS31FL3731_init(DRIVER_ADDR_1); - IS31FL3731_init(DRIVER_ADDR_2); - for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { + + is31fl3731_init(IS31FL3731_I2C_ADDRESS_1); + is31fl3731_init(IS31FL3731_I2C_ADDRESS_2); + + for (int index = 0; index < IS31FL3731_LED_COUNT; index++) { bool enabled = !( ( index == 18+5) || //B5 ( index == 36+17) || //C17 ( index == 54+13) //D13 ); - IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); + is31fl3731_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); - IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); -} - -static void flush(void) { - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); - IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); -} - -static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3731_set_color(index, red, green, blue); -} -static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - IS31FL3731_set_color_all( red, green, blue ); + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_1, 0); + is31fl3731_update_led_control_registers(IS31FL3731_I2C_ADDRESS_2, 1); } - const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, - .flush = flush, - .set_color = set_color, - .set_color_all = set_color_all + .flush = is31fl3731_flush, + .set_color = is31fl3731_set_color, + .set_color_all = is31fl3731_set_color_all }; #endif diff --git a/keyboards/aeboards/satellite/rev1/rules.mk b/keyboards/aeboards/satellite/rev1/rules.mk index 1a4657b08c72..f95b0f015d77 100644 --- a/keyboards/aeboards/satellite/rev1/rules.mk +++ b/keyboards/aeboards/satellite/rev1/rules.mk @@ -18,4 +18,4 @@ COMMON_VPATH += $(DRIVER_PATH)/issi # project specific files SRC += drivers/led/issi/is31fl3731.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c deleted file mode 100644 index 9732230b05bc..000000000000 --- a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright 2021 eithanshavit - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer_names { - _MAIN, - _FUNCTION, - _NUMPAD, -}; - -#define FUNCTION MO(_FUNCTION) -#define NUMPAD MO(_NUMPAD) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_NUMPAD] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐┌────────┮────────┮────────┐ - _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, LCA(KC_D),LCA(KC_F),LCA(KC_G), - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, LCA(KC_E),LCA(KC_ENT),LCA(KC_T), - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, - //└────────â”ī────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────â”ī────────â”ī────────â”ī────────┘└────────â”ī────────â”ī────────┘ - _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT - // └────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────┘ - ), - - - [_FUNCTION] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐┌────────┮────────┮────────┐ - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCA(KC_D),LCA(KC_F),LCA(KC_G), - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, LCA(KC_E),LCA(KC_ENT),LCA(KC_T), - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______,_______, _______, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, - //└────────â”ī────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────â”ī────────â”ī────────â”ī────────┘└────────â”ī────────â”ī────────┘ - _______, _______, _______, _______, _______, _______, _______, _______ - // └────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────┘ - ), - - [_MAIN] = LAYOUT( - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐┌────────┮────────┮────────┐ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī├────────┾────────┾────────â”Ī - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT, - //└────────â”ī────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────â”ī────────â”ī────────â”ī────────┘└────────â”ī────────â”ī────────┘ - NUMPAD, KC_LALT, KC_LCMD, KC_SPC, KC_ENT, FUNCTION,LCMD(KC_GRV),LALT(KC_SPC) - // └────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────┘ - ) - -}; diff --git a/keyboards/ah/haven65/haven65.c b/keyboards/ah/haven65/haven65.c new file mode 100644 index 000000000000..b4077b1a63a3 --- /dev/null +++ b/keyboards/ah/haven65/haven65.c @@ -0,0 +1,29 @@ +/* Copyright 2023 CMM.S Freather + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + if (led_state.caps_lock) { + rgblight_sethsv_at(0, 0, 255, 0); + } else { + rgblight_sethsv_at(0, 0, 0, 0); + } + } + return res; +} diff --git a/keyboards/ah/haven65/info.json b/keyboards/ah/haven65/info.json new file mode 100644 index 000000000000..579cbffd7ad4 --- /dev/null +++ b/keyboards/ah/haven65/info.json @@ -0,0 +1,130 @@ +{ + "keyboard_name": "HAVEN65", + "manufacturer": "Atelier_Haven", + "url": "https://keyspensory.store/products/gb-haven65-by-atelier-haven", + "maintainer": "Freather", + "usb": { + "vid": "0x4446", + "pid": "0x4665", + "device_version": "1.0.0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "matrix_pins": { + "rows": ["B5", "B6", "C6", "F1", "D6"], + "cols": ["F7", "F6", "F5", "F4", "F0", "B4", "D0", "D1", "D2", "D3", "D5", "B0", "B1", "B2", "B3"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "command": true, + "nkro": true, + "rgblight": true + }, + "ws2812": { + "pin": "C7" + }, + "rgblight": { + "led_count": 1, + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": [ + "65_ansi_blocker" + ], + "layouts": { + "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": "home", "matrix":[0,14],"x": 15, "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": "insert", "matrix":[1,14],"x": 15, "y": 1 }, + + { "label": "capslock", "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": "delete", "matrix":[2,14],"x": 15, "y": 2 }, + + { "label": "leftshift", "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": "rightshift", "matrix":[3,12],"x": 12.25, "y": 3, "w": 1.75 }, + { "label": "up", "matrix":[3,13],"x": 14, "y": 3 }, + { "label": "end", "matrix":[3,14],"x": 15, "y": 3 }, + + { "label": "lctrl", "matrix":[4,0],"x": 0, "y": 4, "w": 1.25 }, + { "label": "lwin", "matrix":[4,1],"x": 1.25, "y": 4, "w": 1.25 }, + { "label": "lalt", "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": "ralt", "matrix":[4,9],"x": 10, "y": 4, "w": 1.25 }, + { "label": "MO(1)", "matrix":[4,10],"x": 11.25, "y": 4, "w": 1.25 }, + { "label": "left", "matrix":[4,11],"x": 13, "y": 4 }, + { "label": "down", "matrix":[4,12],"x": 14, "y": 4 }, + { "label": "right", "matrix":[4,13],"x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/ah/haven65/keymaps/default/keymap.c b/keyboards/ah/haven65/keymaps/default/keymap.c new file mode 100644 index 000000000000..e3c424072d42 --- /dev/null +++ b/keyboards/ah/haven65/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Freather +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/ah/haven65/keymaps/via/keymap.c b/keyboards/ah/haven65/keymaps/via/keymap.c new file mode 100644 index 000000000000..e4de01e0e8bd --- /dev/null +++ b/keyboards/ah/haven65/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 Freather +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_65_ansi_blocker( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS , KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + + ) +}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/rules.mk b/keyboards/ah/haven65/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/rules.mk rename to keyboards/ah/haven65/keymaps/via/rules.mk diff --git a/keyboards/ah/haven65/readme.md b/keyboards/ah/haven65/readme.md new file mode 100644 index 000000000000..bf29ca0810bd --- /dev/null +++ b/keyboards/ah/haven65/readme.md @@ -0,0 +1,21 @@ +#Haven65 + +![haven 65](https://i.imgur.com/M1l1DaOh.png) + + +* Keyboard Maintainer: [Freather](https://github.com/CMMS-Freather) +* Hardware Supported: PCB, Atmega32u4 + +Make example for this keyboard (after setting up your build environment): + + make ah/haven65:default + +Flashing example for this keyboard: + + make ah/haven65:default:flash + +##Bootloader Atmel-DFU + +For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode + +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/handwired/jscotto/scotto40/rules.mk b/keyboards/ah/haven65/rules.mk similarity index 100% rename from keyboards/handwired/jscotto/scotto40/rules.mk rename to keyboards/ah/haven65/rules.mk diff --git a/keyboards/ah/haven80/haven80.c b/keyboards/ah/haven80/haven80.c new file mode 100644 index 000000000000..d02130cfe9ef --- /dev/null +++ b/keyboards/ah/haven80/haven80.c @@ -0,0 +1,29 @@ +/* Copyright 2023 CMM.S Freather + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + if (led_state.caps_lock) { + rgblight_sethsv_range(0, 0, 255, 0,20); + } else { + rgblight_sethsv_range(0, 0, 0, 0, 20); + } + } + return res; +} diff --git a/keyboards/ah/haven80/hotswap/info.json b/keyboards/ah/haven80/hotswap/info.json new file mode 100644 index 000000000000..b73da1c5f4ce --- /dev/null +++ b/keyboards/ah/haven80/hotswap/info.json @@ -0,0 +1,116 @@ +{ + "keyboard_name": "haven80_hotswap", + "usb": { + "vid": "0x4446", + "pid": "0x4680", + "device_version": "1.0.0" + }, + "matrix_pins": { + "rows": ["F0", "F1", "F4", "F5", "F6", "B1", "B2", "B3", "D3", "D5", "F7"], + "cols": ["D0", "D1", "D2", "B0", "D4", "B4", "D6", "D7", "B5"] + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, + "community_layouts": [ + "tkl_f13_ansi_tsangan" + ], + "layouts": { + "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 }, + { "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":[5,8],"x": 8.5, "y": 0 }, + { "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 }, + { "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 }, + { "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 }, + { "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 }, + { "label": "F13", "matrix":[5,3],"x": 14, "y": 0 }, + { "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 }, + { "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 }, + { "label": "Pause", "matrix":[5,0],"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":[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,2],"x": 15.25, "y": 1.25 }, + { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 }, + { "label": "pg up", "matrix":[6,0],"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":[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,2],"x": 15.25, "y": 2.25 }, + { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 }, + { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 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.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,1],"x": 16.25, "y": 4.25 }, + + { "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,5],"x": 11, "y": 5.25, "w": 1.5 }, + { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 }, + { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5}, + { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 }, + { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 }, + { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/ah/haven80/hotswap/readme.md b/keyboards/ah/haven80/hotswap/readme.md new file mode 100644 index 000000000000..a43054863c33 --- /dev/null +++ b/keyboards/ah/haven80/hotswap/readme.md @@ -0,0 +1,21 @@ +#Haven80 Hotswap + +![haven 80 hotswap](https://i.imgur.com/lXKf8Cih.png) + + +* Keyboard Maintainer: [Freather](https://github.com/CMMS-Freather) +* Hardware Supported: PCB, Atmega32u4 + +Make example for this keyboard (after setting up your build environment): + + make ah/haven80/hotswap:default + +Flashing example for this keyboard: + + make ah/haven80/hotswap:default:flash + +##Bootloader Atmel-DFU + +For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode + +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/handwired/jscotto/scotto9/rules.mk b/keyboards/ah/haven80/hotswap/rules.mk similarity index 100% rename from keyboards/handwired/jscotto/scotto9/rules.mk rename to keyboards/ah/haven80/hotswap/rules.mk diff --git a/keyboards/ah/haven80/info.json b/keyboards/ah/haven80/info.json new file mode 100644 index 000000000000..bd8781515495 --- /dev/null +++ b/keyboards/ah/haven80/info.json @@ -0,0 +1,34 @@ +{ + "manufacturer": "Atelier_Haven", + "url": "", + "maintainer": "Freather", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true, + "rgblight": true + }, + "ws2812": { + "pin": "E6", + }, + "rgblight": { + "led_count": 21, + "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 + } + } +} diff --git a/keyboards/ah/haven80/keymaps/default/keymap.c b/keyboards/ah/haven80/keymaps/default/keymap.c new file mode 100644 index 000000000000..401787bcbcb2 --- /dev/null +++ b/keyboards/ah/haven80/keymaps/default/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2023 Freather +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_f13_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/ah/haven80/keymaps/via/keymap.c b/keyboards/ah/haven80/keymaps/via/keymap.c new file mode 100644 index 000000000000..f4d1b6fe92d4 --- /dev/null +++ b/keyboards/ah/haven80/keymaps/via/keymap.c @@ -0,0 +1,16 @@ +// Copyright 2023 Freather +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_f13_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + +}; diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/rules.mk b/keyboards/ah/haven80/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_iso/keymaps/via/rules.mk rename to keyboards/ah/haven80/keymaps/via/rules.mk diff --git a/keyboards/ah/haven80/solder/info.json b/keyboards/ah/haven80/solder/info.json new file mode 100644 index 000000000000..775908d24f0e --- /dev/null +++ b/keyboards/ah/haven80/solder/info.json @@ -0,0 +1,413 @@ +{ + "keyboard_name": "haven80_solder", + "usb": { + "vid": "0x4446", + "pid": "0x4681", + "device_version": "1.0.0" + }, + "matrix_pins": { + "rows": ["F0", "F1", "F4", "F5", "C6", "B1", "B2", "B3", "D3", "D5", "D6"], + "cols": ["D0", "D1", "D2", "B0", "C7", "B5", "D7", "B4", "B6"] + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, + "community_layouts": [ + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift", + "tkl_f13_iso_tsangan", + "tkl_f13_iso_tsangan_split_bs_rshift" + ], + "layouts": { + "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 }, + { "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":[5,8],"x": 8.5, "y": 0 }, + { "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 }, + { "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 }, + { "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 }, + { "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 }, + { "label": "F13", "matrix":[5,3],"x": 14, "y": 0 }, + { "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 }, + { "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 }, + { "label": "Pause", "matrix":[5,0],"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":[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,2],"x": 15.25, "y": 1.25 }, + { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 }, + { "label": "pg up", "matrix":[6,0],"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":[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,2],"x": 15.25, "y": 2.25 }, + { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 }, + { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 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.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,1],"x": 16.25, "y": 4.25 }, + + { "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,5],"x": 11, "y": 5.25, "w": 1.5 }, + { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 }, + { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5}, + { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 }, + { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 }, + { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_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": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "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": [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}, + {"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25}, + {"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "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": [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, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 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.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": 1.75}, + {"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25}, + {"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25}, + + {"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, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan": { + "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": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "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": [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, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "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": [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": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 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": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [9, 3], "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": [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, 1], "x": 16.25, "y": 4.25}, + + {"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, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan_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": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "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": [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}, + {"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25}, + {"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "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": [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": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 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": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [9, 3], "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": [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": 1.75}, + {"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25}, + {"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25}, + + {"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, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/ah/haven80/solder/readme.md b/keyboards/ah/haven80/solder/readme.md new file mode 100644 index 000000000000..670e760682ce --- /dev/null +++ b/keyboards/ah/haven80/solder/readme.md @@ -0,0 +1,21 @@ +# Haven80 Solder + +![haven 80 hotswap](https://i.imgur.com/TBXFqE5h.png) + + +* Keyboard Maintainer: [Freather](https://github.com/CMMS-Freather) +* Hardware Supported: PCB, Atmega32u4 + +Make example for this keyboard (after setting up your build environment): + + make ah/haven80/solder:default + +Flashing example for this keyboard: + + make ah/haven80/solder:default:flash + +## Bootloader + +For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode + +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/ah/haven80/solder/rules.mk b/keyboards/ah/haven80/solder/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/ah/haven80/solder/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/ai03/andromeda/rules.mk b/keyboards/ai03/andromeda/rules.mk index 0aeca0dd9f35..7f4f202a1b70 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/duet/config.h b/keyboards/ai03/duet/config.h new file mode 100644 index 000000000000..9cebd11c6bad --- /dev/null +++ b/keyboards/ai03/duet/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 128 diff --git a/keyboards/ai03/duet/info.json b/keyboards/ai03/duet/info.json new file mode 100644 index 000000000000..1d11c868a37f --- /dev/null +++ b/keyboards/ai03/duet/info.json @@ -0,0 +1,139 @@ +{ + "manufacturer": "ai03 Design Studio", + "keyboard_name": "Duet Switch Tester", + "maintainer": "ai03-2725", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP18", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6"], + "rows": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0028", + "vid": "0xA103" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.75, "y": 0}, + {"matrix": [0, 7], "x": 7.75, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 13], "x": 14.5, "y": 0}, + {"matrix": [0, 14], "x": 15.75, "y": 0}, + {"matrix": [0, 15], "x": 16.75, "y": 0}, + {"matrix": [0, 16], "x": 18, "y": 0}, + {"matrix": [0, 17], "x": 19, "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.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 9, "y": 1}, + {"matrix": [1, 9], "x": 10, "y": 1}, + {"matrix": [1, 10], "x": 11.25, "y": 1}, + {"matrix": [1, 11], "x": 12.25, "y": 1}, + {"matrix": [1, 12], "x": 13.5, "y": 1}, + {"matrix": [1, 13], "x": 14.5, "y": 1}, + {"matrix": [1, 14], "x": 15.75, "y": 1}, + {"matrix": [1, 15], "x": 16.75, "y": 1}, + {"matrix": [1, 16], "x": 18, "y": 1}, + {"matrix": [1, 17], "x": 19, "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.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11.25, "y": 2}, + {"matrix": [2, 11], "x": 12.25, "y": 2}, + {"matrix": [2, 12], "x": 13.5, "y": 2}, + {"matrix": [2, 13], "x": 14.5, "y": 2}, + {"matrix": [2, 14], "x": 15.75, "y": 2}, + {"matrix": [2, 15], "x": 16.75, "y": 2}, + {"matrix": [2, 16], "x": 18, "y": 2}, + {"matrix": [2, 17], "x": 19, "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.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 9, "y": 3}, + {"matrix": [3, 9], "x": 10, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3}, + {"matrix": [3, 12], "x": 13.5, "y": 3}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.75, "y": 3}, + {"matrix": [3, 15], "x": 16.75, "y": 3}, + {"matrix": [3, 16], "x": 18, "y": 3}, + {"matrix": [3, 17], "x": 19, "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.5, "y": 4}, + {"matrix": [4, 5], "x": 5.5, "y": 4}, + {"matrix": [4, 6], "x": 6.75, "y": 4}, + {"matrix": [4, 7], "x": 7.75, "y": 4}, + {"matrix": [4, 8], "x": 9, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 12.25, "y": 4}, + {"matrix": [4, 12], "x": 13.5, "y": 4}, + {"matrix": [4, 13], "x": 14.5, "y": 4}, + {"matrix": [4, 14], "x": 15.75, "y": 4}, + {"matrix": [4, 15], "x": 16.75, "y": 4}, + {"matrix": [4, 16], "x": 18, "y": 4}, + {"matrix": [4, 17], "x": 19, "y": 4}, + {"matrix": [5, 0], "x": 0, "y": 5}, + {"matrix": [5, 1], "x": 1, "y": 5}, + {"matrix": [5, 2], "x": 2.25, "y": 5}, + {"matrix": [5, 3], "x": 3.25, "y": 5}, + {"matrix": [5, 4], "x": 4.5, "y": 5}, + {"matrix": [5, 5], "x": 5.5, "y": 5}, + {"matrix": [5, 6], "x": 6.75, "y": 5}, + {"matrix": [5, 7], "x": 7.75, "y": 5}, + {"matrix": [5, 8], "x": 9, "y": 5}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11.25, "y": 5}, + {"matrix": [5, 11], "x": 12.25, "y": 5}, + {"matrix": [5, 12], "x": 13.5, "y": 5}, + {"matrix": [5, 13], "x": 14.5, "y": 5}, + {"matrix": [5, 14], "x": 15.75, "y": 5}, + {"matrix": [5, 15], "x": 16.75, "y": 5}, + {"matrix": [5, 16], "x": 18, "y": 5}, + {"matrix": [5, 17], "x": 19, "y": 5} + ] + } + } +} diff --git a/keyboards/ai03/duet/keymaps/default/keymap.c b/keyboards/ai03/duet/keymaps/default/keymap.c new file mode 100644 index 000000000000..29f63678a801 --- /dev/null +++ b/keyboards/ai03/duet/keymaps/default/keymap.c @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, + KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0, KC_0 + ), +}; diff --git a/keyboards/ai03/duet/keymaps/default/readme.md b/keyboards/ai03/duet/keymaps/default/readme.md new file mode 100644 index 000000000000..fdf727dc96f3 --- /dev/null +++ b/keyboards/ai03/duet/keymaps/default/readme.md @@ -0,0 +1,4 @@ +# The default keymap for Duet + +Since this is a very irregular keyboard with unique use cases, the keymap should be customized to meet one's needs and to match the requirements of the corresponding display software (if any). +By default, all keys send `KC_0` to simply notify the host that an arbitrary key has been pressed. diff --git a/keyboards/ai03/duet/readme.md b/keyboards/ai03/duet/readme.md new file mode 100644 index 000000000000..43c3d6f7c596 --- /dev/null +++ b/keyboards/ai03/duet/readme.md @@ -0,0 +1,28 @@ +# Duet Switch Tester + +![Cover image](https://i.imgur.com/sFuHJbLh.png) + +A switch tester intended for event/storefront use + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: The [Duet PCB](https://github.com/ai03-2725/duet-switch-tester/tree/main/Duet-MainPCB), powered by the RP2040 +* Hardware Availability: [Open-source](https://github.com/ai03-2725/duet-switch-tester) + + +Make example for this keyboard (after setting up your build environment): + + make ai03/duet:default + +Flashing example for this keyboard: + + make ai03/duet: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**: Press the reset button on the back of the PCB while holding the Bootmode switch +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/ai03/duet/rules.mk b/keyboards/ai03/duet/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/ai03/duet/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/ai03/equinox/keymaps/crd/keymap.c b/keyboards/ai03/equinox/keymaps/crd/keymap.c deleted file mode 100644 index a3203cd3128a..000000000000 --- a/keyboards/ai03/equinox/keymaps/crd/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2019 Ryota Goto - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -#define KC_CTES RCTL_T(KC_ESC) -#define KC_BSM1 LT(1, KC_BSPC) -#define KC_SPM1 LT(1, KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( /* Base */ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRV, - KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XXXXXXX, KC_ENT, - KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, - KC_LCTL, XXXXXXX, KC_RGUI, KC_BSM1, MO(2), KC_SPM1, KC_RALT, XXXXXXX, KC_RCTL - ), - [1] = LAYOUT_all( /* Extra Keys */ - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, - _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_all( /* Num and FN */ - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_MINS, KC_EQL, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_SCLN, KC_QUOT, XXXXXXX, _______, - _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, - _______, XXXXXXX, _______, _______, _______, _______, _______, XXXXXXX, _______ - ) -}; diff --git a/keyboards/ai03/equinox/keymaps/crd/readme.md b/keyboards/ai03/equinox/keymaps/crd/readme.md deleted file mode 100644 index c1f50e5ebfbb..000000000000 --- a/keyboards/ai03/equinox/keymaps/crd/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# crd's keymap for equinox - -[KLE](http://www.keyboard-layout-editor.com/#/gists/0be9c4a916dba80ebb5533cd00c5304c) diff --git a/keyboards/ai03/equinox/rev0/info.json b/keyboards/ai03/equinox/rev0/info.json index f5dd36556458..396f50c37656 100644 --- a/keyboards/ai03/equinox/rev0/info.json +++ b/keyboards/ai03/equinox/rev0/info.json @@ -5,6 +5,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D1", "levels": 5, "breathing": true diff --git a/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c b/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c deleted file mode 100644 index 11c860af7fc8..000000000000 --- a/keyboards/ai03/lunar/keymaps/muzfuz/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -#include QMK_KEYBOARD_H - -// Helpful defines -#define ESC_CTL CTL_T(KC_ESCAPE) // Tap for Esc, hold for Ctrl -#define FL_KCF LT(1,KC_F) -#define FL_KCJ LT(1,KC_J) -#define CMD_ENT LGUI(LSFT(KC_ENT)) - -enum custom_keycodes { - HASHRKT = SAFE_RANGE, - CLNEQLS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - 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_BSLS, LGUI(KC_C), - KC_TAB, KC_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, LGUI(KC_V), - ESC_CTL, KC_A, KC_S, KC_D, FL_KCF, KC_G, KC_H, FL_KCJ, 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, - CMD_ENT, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( /* FL */ - 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_DEL, KC_VOLU, - _______, HASHRKT, _______, KC_LCBR, KC_RCBR, _______, _______, KC_UNDS, KC_PLUS, KC_PIPE, _______, _______, _______, _______, KC_VOLD, - _______, CLNEQLS, _______, KC_LBRC, KC_RBRC, _______, _______, KC_MINS, KC_EQL, KC_BSLS, KC_TILD, KC_GRV, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT( /* FN */ - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NUM, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, - _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case HASHRKT: - if (record->event.pressed) { - SEND_STRING("=>"); - } - break; - case CLNEQLS: - if (record->event.pressed) { - SEND_STRING(":="); - } - break; - } - return true; -} diff --git a/keyboards/ai03/lunar/keymaps/muzfuz/readme.md b/keyboards/ai03/lunar/keymaps/muzfuz/readme.md deleted file mode 100644 index f0fef0923528..000000000000 --- a/keyboards/ai03/lunar/keymaps/muzfuz/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# muzfuz's keymap for Lunar - -```shell -make ai03/lunar:muzfuz:dfu -``` diff --git a/keyboards/ai03/lunar/keymaps/zyber/keymap.c b/keyboards/ai03/lunar/keymaps/zyber/keymap.c deleted file mode 100644 index 5e2c9f317818..000000000000 --- a/keyboards/ai03/lunar/keymaps/zyber/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2022 ZyBeR (@ZyberSE) -// SPDX-License-Identifier: GPL-2.0 - -#include "zyber.h" - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - KC_ESC, KC_1, KC_2, KC_3, TD(SSHT), KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD(LBRC), KC_RBRC, KC_BSLS, KC_PGDN, - L1_EXPL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN), TD(QUOT), KC_ENT, KC_DEL, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, MO(1), - KC_LCTL, ROPT_SRH,KC_LCMD, _______, LCMD_T(KC_SPC), _______, ROPT_SRH, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( /* FN */ - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_PAUS, - C_BLK, _______, KC_UP, _______, _______, _______, KC_NUM, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_SCRL, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, - _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; - diff --git a/keyboards/ai03/lunar_ii/rules.mk b/keyboards/ai03/lunar_ii/rules.mk index 1448dc35c3ce..7ad594e1f9f5 100644 --- a/keyboards/ai03/lunar_ii/rules.mk +++ b/keyboards/ai03/lunar_ii/rules.mk @@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output HAPTIC_ENABLE = yes # Enable solenoid support -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h index f4157a1729cf..53a057875f9c 100644 --- a/keyboards/ai03/orbit/config.h +++ b/keyboards/ai03/orbit/config.h @@ -19,9 +19,6 @@ along with this program. If not, see . #define SELECT_SOFT_SERIAL_SPEED 1 -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_LAYER_STATE_ENABLE - #define SPLIT_HAND_PIN D5 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/ai03/orbit/info.json b/keyboards/ai03/orbit/info.json index 4c5cd1ee5186..d7ff0b786cca 100644 --- a/keyboards/ai03/orbit/info.json +++ b/keyboards/ai03/orbit/info.json @@ -23,6 +23,12 @@ "cols": ["D4", "D6", "F1", "F0", "F4", "F5", "C6"], "rows": ["B6", "B5", "B4", "D7", "E6"] } + }, + "transport":{ + "sync" :{ + "indicators": true, + "layer_state": true + } } }, "processor": "atmega32u4", diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h index 2542b9f62f47..50001e978cc4 100644 --- a/keyboards/ai03/polaris/config.h +++ b/keyboards/ai03/polaris/config.h @@ -17,22 +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 -# 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 - /* 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/ai03/polaris/info.json b/keyboards/ai03/polaris/info.json index af67191ba110..dca6df3dbad8 100644 --- a/keyboards/ai03/polaris/info.json +++ b/keyboards/ai03/polaris/info.json @@ -19,7 +19,23 @@ "breathing": true }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 200, + "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 + } }, "ws2812": { "pin": "D2" diff --git a/keyboards/ai03/polaris/keymaps/mekberg/config.h b/keyboards/ai03/polaris/keymaps/mekberg/config.h deleted file mode 100644 index ef8caf870941..000000000000 --- a/keyboards/ai03/polaris/keymaps/mekberg/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2019 Ryota Goto - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// Define some configuration for modtap behavior -// #define TAPPING_TERM 150 -#define PERMISSIVE_HOLD diff --git a/keyboards/ai03/polaris/keymaps/mekberg/keymap.c b/keyboards/ai03/polaris/keymaps/mekberg/keymap.c deleted file mode 100644 index 6a15c93fa139..000000000000 --- a/keyboards/ai03/polaris/keymaps/mekberg/keymap.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright 2019 Ryota Goto - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _NAV, - _FN -}; - -#define MY_LOCK C(LCMD(KC_L)) // Mac: Custom lock hotkey in BTT (when Alt/Command have been swapped in macOS) - -/* -KBD6x ANSI physical layout -1u == 8chars - ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ - | | | | | | | | | | | | | | | | - |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| - | 1,5u | | | | | | | | | | | | | 1,5u | - |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| - | 1,75u | | | | | | | | | | | | 1,25u | - |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| - | 2,25u | | | | | | | | | | | 1,75u | | - └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - | | 1,25u | | 1,25u | | - └────────────────────────────────────────────────────────────────────────────────────────────────────┘ -*/ - -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_NUBS, KC_RBRC, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,5u | | | | | | | | | | | | | 1,5u | - LT(_NAV,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_NUHS, KC_BSPC, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,75u | | | | | | | | | | | | 1,25u | - 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, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,25u | | | | | | | | | | | 1,75u | | - 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(_FN), -// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// | | 1,25u | | 1,25u | | - XXXXXXX, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, XXXXXXX -// └────────────────────────────────────────────────────────────────────────────────────────────────────┘ - ), - [_NAV] = LAYOUT_60_tsangan_hhkb( -// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// | | | | | | | | | | | | | | | | - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_BSPC, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,5u | | | | | | | | | | | | | 1,5u | - _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_UP, KC_PGUP, KC_HOME, _______, _______, KC_DEL, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,75u | | | | | | | | | | | | 1,25u | - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,25u | | | | | | | | | | | 1,75u | | - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// | | 1,25u | | 1,25u | | - XXXXXXX, _______, _______, _______, _______, _______, XXXXXXX -// └────────────────────────────────────────────────────────────────────────────────────────────────────┘ - ), - [_FN] = LAYOUT_60_tsangan_hhkb( -// ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// | | | | | | | | | | | | | | | | - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,5u | | | | | | | | | | | | | 1,5u | - _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,75u | | | | | | | | | | | | 1,25u | - KC_RCTL, KC_VOLD, KC_VOLU, KC_MUTE, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, MY_LOCK, -// |─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────| -// | 1,25u | | | | | | | | | | | 1,75u | | - _______, BL_TOGG, BL_UP, BL_DOWN,BL_STEP, _______, _______, _______, KC_MRWD, KC_MFFD, _______, _______, _______, -// └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// | | 1,25u | | 1,25u | | - XXXXXXX, _______, _______, KC_MPLY, _______, _______, XXXXXXX -// └────────────────────────────────────────────────────────────────────────────────────────────────────┘ - ), -}; diff --git a/keyboards/ai03/polaris/keymaps/mekberg/readme.md b/keyboards/ai03/polaris/keymaps/mekberg/readme.md deleted file mode 100644 index b9ae9642f526..000000000000 --- a/keyboards/ai03/polaris/keymaps/mekberg/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# General Information - -This is more or less a HHKB base layout, but with completely different Fn layers. I don't use most of the HHKB secondary key positions because, honestly, they make no sense to me at all. - -Fn key layer is focused mostly on keyboard firmware features (like RGB) as well as some of the necessary alternate functions. It also hold media controls, F-keys and Reset. - -Left Tab-Hold layer is focused on nav cluster functionality, and turns Backspace into Delete (and moves Backspace up into the top right 1u position). - - -# Build instructions - -To simply build the firmware file: `make clean && make ai03/polaris:mekberg` - -To build and immediately flash: `make clean && make ai03/polaris:mekberg:flash` diff --git a/keyboards/ai03/polaris/keymaps/mekberg/rules.mk b/keyboards/ai03/polaris/keymaps/mekberg/rules.mk deleted file mode 100644 index e47bb9e6df68..000000000000 --- a/keyboards/ai03/polaris/keymaps/mekberg/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Disable keyboard RGB underglow diff --git a/keyboards/ai03/quasar/keymaps/ai03/keymap.c b/keyboards/ai03/quasar/keymaps/ai03/keymap.c deleted file mode 100644 index 4df12732bdb7..000000000000 --- a/keyboards/ai03/quasar/keymaps/ai03/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2019 Ryota Goto - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* 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_LGUI, KC_1, KC_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, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, KC_GRV, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( /* FN */ - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, - KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, KC_PGUP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLU, KC_VOLD, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_PGUP, - _______, _______, _______, _______, 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/quasar/keymaps/ai03/readme.md b/keyboards/ai03/quasar/keymaps/ai03/readme.md deleted file mode 100644 index 6f6a0b4fef5b..000000000000 --- a/keyboards/ai03/quasar/keymaps/ai03/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The ai03 keymap for Quasar - -Focuses functionality mainly into the 60% cluster. \ No newline at end of file diff --git a/keyboards/ai03/soyuz/keymaps/1U/keymap.c b/keyboards/ai03/soyuz/keymaps/1U/keymap.c index 1d6f3dfa8c13..792457cf1074 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 0aeca0dd9f35..7f4f202a1b70 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 a358ce601e2f..000000000000 --- 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 00a2a9f4d893..440f061432fe 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/aidansmithdotdev/fine40/rules.mk b/keyboards/aidansmithdotdev/fine40/rules.mk index 2e3ef9fb844d..e69de29bb2d1 100644 --- a/keyboards/aidansmithdotdev/fine40/rules.mk +++ b/keyboards/aidansmithdotdev/fine40/rules.mk @@ -1 +0,0 @@ -OLED_DRIVER = SSD1306 diff --git a/keyboards/akb/ogrn/info.json b/keyboards/akb/ogrn/info.json index 42efe55c2a24..780c35374735 100644 --- a/keyboards/akb/ogrn/info.json +++ b/keyboards/akb/ogrn/info.json @@ -30,29 +30,62 @@ "pid": "0x4F4E", "vid": "0x414B" }, - "community_layouts": [ - "numpad_5x4" - ], + "community_layouts": [ + "ortho_5x4", + "numpad_5x4" + ], "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + + {"matrix": [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} + ] + }, "LAYOUT_numpad_5x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, - {"h": 2, "matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1, "h": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [4, 0], "w": 2, "x": 0, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2}, {"matrix": [4, 2], "x": 2, "y": 4}, - {"h": 2, "matrix": [3, 3], "x": 3, "y": 3} + {"matrix": [3, 3], "x": 3, "y": 3, "h": 2} ] } } diff --git a/keyboards/akb/ogrn/keymaps/default/keymap.c b/keyboards/akb/ogrn/keymaps/default/keymap.c index 35a275d055f6..f3901ec7fb3b 100644 --- a/keyboards/akb/ogrn/keymaps/default/keymap.c +++ b/keyboards/akb/ogrn/keymaps/default/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * ┌───┮───┮───┮───┐ - * │TG1│ / │ * │ - │ + * │NUM│ / │ * │ - │ * ├───┾───┾───┾───â”Ī * │ 7 │ 8 │ 9 │ │ * ├───┾───┾───â”Ī + │ @@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_PENT + KC_P0, KC_PDOT, KC_PENT ), /* * ┌───┮───┮───┮───┐ - * │TG1│ / │ * │ - │ - * ┌───┮───┮───┐───â”Ī + * │NUM│ / │ * │ - │ + * ├───┾───┾───┾───â”Ī * │Hom│ ↑ │PgU│ │ * ├───┾───┾───â”Ī + │ * │ ← │ │ → │ │ - * ├───┾───┾───â”Ī───â”Ī + * ├───┾───┾───┾───â”Ī * │End│ ↓ │PgD│ │ * ├───â”ī───┾───â”ĪEnt│ * │Insert │Del│ │ - * └───────â”ī───┘───┘ + * └───────â”ī───â”ī───┘ */ [1] = LAYOUT_numpad_5x4( _______, _______, _______, _______, diff --git a/keyboards/akb/ogrn/keymaps/via/keymap.c b/keyboards/akb/ogrn/keymaps/via/keymap.c index 7aec87a623c8..f3901ec7fb3b 100644 --- a/keyboards/akb/ogrn/keymaps/via/keymap.c +++ b/keyboards/akb/ogrn/keymaps/via/keymap.c @@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_PENT + KC_P0, KC_PDOT, KC_PENT ), /* * ┌───┮───┮───┮───┐ - * │ │ / │ * │ - │ - * ┌───┮───┮───┐───â”Ī + * │NUM│ / │ * │ - │ + * ├───┾───┾───┾───â”Ī * │Hom│ ↑ │PgU│ │ * ├───┾───┾───â”Ī + │ * │ ← │ │ → │ │ - * ├───┾───┾───â”Ī───â”Ī + * ├───┾───┾───┾───â”Ī * │End│ ↓ │PgD│ │ * ├───â”ī───┾───â”ĪEnt│ * │Insert │Del│ │ - * └───────â”ī───┘───┘ + * └───────â”ī───â”ī───┘ */ [1] = LAYOUT_numpad_5x4( _______, _______, _______, _______, diff --git a/keyboards/akb/ogrn/matrix_diagram.md b/keyboards/akb/ogrn/matrix_diagram.md new file mode 100644 index 000000000000..03e4f99def9e --- /dev/null +++ b/keyboards/akb/ogrn/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for Alchemist Keyboards OGRN + +``` + ┌───┮───┮───┮───┐ + │00 │01 │02 │03 │ +┌───┐ ├───┾───┾───┾───â”Ī ┌───┐ +│ │ │10 │11 │12 │13 │ │ │ +│10 │ ├───┾───┾───┾───â”Ī │13 │ 2u Numpad Plus +│ │ │20 │21 │22 │23 │ │ │ +├───â”Ī ├───┾───┾───┾───â”Ī ├───â”Ī +│ │ │30 │31 │32 │33 │ │ │ +│30 │ ├───┾───┾───┾───â”Ī │33 │ 2u Numpad Enter +│ │ │40 │41 │42 │43 │ │ │ +└───┘ └───â”ī───â”ī───â”ī───┘ └───┘ + ┌───────┮───────┐ + │41 │42 │ + └───────â”ī───────┘ +``` diff --git a/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c b/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c deleted file mode 100644 index 522651f1c65b..000000000000 --- a/keyboards/akb/raine/keymaps/mehadviceguy/keymap.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright 2019 Elliot Powell - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -/* -BLANK - ,----------------------------------------------------------------. ,--------------. - | | | | | | | | | | | | | | | | | | - |----------------------------------------------------------------| |--------------| - | | | | | | | | | | | | | | | | | - |------------------------------------------------------------ | |--------------| - | | | | | | | | | | | | | | | | | - |----------------------------------------------------------------' |--------------| - | | | | | | | | | | | | ,----. | | | | - |-----------------------------------------------------------' | | `--------------| - | | | | | | ,--------------. | | | - `------` '------------------------------` '-----' | | | | `---------' - `--------------' -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base - ,----------------------------------------------------------------. ,--------------. - |Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | Bac| | / | * | + | - |----------------------------------------------------------------| |--------------| - | Tab | Q | W | E | R | T | Y | U | I | O | P | Enter| | 7 | 8 | 9 | - |------------------------------------------------------------ | |--------------| - |CapsLock | A | S | D | F | G | H | J | K | L | : | | | 4 | 5 | 6 | - |----------------------------------------------------------------' |--------------| - |Shift | \ | Z | X | C | V | B | N | M | , | . | ,----. | 1 | 2 | 3 | - |-----------------------------------------------------------' | Up | `--------------| - | Ctrl | | SPACE | |AltGr| ,--------------. | 0 | . | - `------` '------------------------------` '-----' |L/fn|Down|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_BSPC, KC_PSLS, KC_PAST, 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_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_ENT, KC_P4, KC_P5, KC_P6, -KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_UP, KC_P1, KC_P2, KC_P3, -KC_LCTL, _______, _______, _______, KC_SPC, _______, _______, KC_RALT, LT(1, KC_LEFT), KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), - - [1] = LAYOUT( /* Second - ,----------------------------------------------------------------. ,--------------. - | GRV| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9| F10| F11| F12 | |Nlck|Pscr| = | - |----------------------------------------------------------------| |--------------| - | | | | | | | | | | | ? | DEL | |Home| Up |PgUp| - |------------------------------------------------------------ | |--------------| - | | | | | | | | | | | ' |DEL | |Left|ScrL|Rght| - |----------------------------------------------------------------' |--------------| - | | | | | | | | | | [ | ] | ,----. |End |Down|PgDn| - |-----------------------------------------------------------' | | `--------------| - | GUI | | | | | ,--------------. | |Rest| - `------` '------------------------------` '-----' | | | | `---------' - `--------------' - */ -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_NUM, KC_PSCR, KC_EQUAL, -_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, _______, KC_HOME, KC_UP, KC_PGUP, -_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_DEL, KC_LEFT, KC_SCRL, KC_RGHT, -_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_END, KC_DOWN, KC_PGDN, -KC_LGUI, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), -}; - diff --git a/keyboards/akb/raine/keymaps/mehadviceguy/readme.md b/keyboards/akb/raine/keymaps/mehadviceguy/readme.md deleted file mode 100644 index e9e411bc5b90..000000000000 --- a/keyboards/akb/raine/keymaps/mehadviceguy/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# Eyecandy -![Eyecandy](https://i.imgur.com/gYWNDlF.png) - -# MehAdviceGuy Raine layout - -Welcome to one of the most useless layouts you will find this side of town! -The layout is born out of the need for AltGr to get to ÃĶÃļ and ÃĨ when you don't have a full bottom row. - -## Base Layer (0) -The base layer borrows alot from the Default Raine layer in regards to the alphas, and the numpad. But deviates ever so slightly by putting the layer key on the Left arrow key, relacing it from its original location with AltGr. And putting , and . on what was normally ? and right shift. -``` - ,----------------------------------------------------------------. ,--------------. - |Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | Bac| | / | * | + | - |----------------------------------------------------------------| |--------------| - | Tab | Q | W | E | R | T | Y | U | I | O | P | Enter| | 7 | 8 | 9 | - |------------------------------------------------------------ | |--------------| - |CapsLock | A | S | D | F | G | H | J | K | L | : | | | 4 | 5 | 6 | - |----------------------------------------------------------------' |--------------| - |Shift | \ | Z | X | C | V | B | N | M | , | . | ,----. | 1 | 2 | 3 | - |-----------------------------------------------------------' | Up | `--------------| - | Ctrl | | SPACE | |AltGr| ,--------------. | 0 | . | - `------` '------------------------------` '-----' |L/fn|Down|Rght| `---------' - `--------------' -``` - -## Modifier Layer (1) -The Modifier layer also borrows a few things from the Default Raine layout, but changes a fair bit of things in it. These changes include: -* Moving Delete to Enter and completing the F-row -* Moving [ and ] to , and . -* Adding GUI to Left Ctrl -* Replacing insert with = -* Adding / to the P position -* Moving ' one to the left - -``` - ,----------------------------------------------------------------. ,--------------. - | GRV| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9| F10| F11| F12 | |Nlck|Pscr| = | - |----------------------------------------------------------------| |--------------| - | | | | | | | | | | | ? | DEL | |Home| Up |PgUp| - |------------------------------------------------------------ | |--------------| - | | | | | | | | | | | ' |DEL | |Left|ScrL|Rght| - |----------------------------------------------------------------' |--------------| - | | | | | | | | | | [ | ] | ,----. |End |Down|PgDn| - |-----------------------------------------------------------' | | `--------------| - | GUI | | | | | ,--------------. | |Rest| - `------` '------------------------------` '-----' | | | | `---------' - `--------------' -``` - -### Blank ASKII version if anyone needs! -``` - ,----------------------------------------------------------------. ,--------------. - | | | | | | | | | | | | | | | | | | - |----------------------------------------------------------------| |--------------| - | | | | | | | | | | | | | | | | | - |------------------------------------------------------------ | |--------------| - | | | | | | | | | | | | | | | | | - |----------------------------------------------------------------' |--------------| - | | | | | | | | | | | | ,----. | | | | - |-----------------------------------------------------------' | | `--------------| - | | | | | | ,--------------. | | | - `------` '------------------------------` '-----' | | | | `---------' - `--------------' -``` - -### KLE -![KLE Layout](https://i.imgur.com/JDc1oM4.png) -![KLE Link](http://www.keyboard-layout-editor.com/##@@=Esc%0A%60&=!%0A1&=%2F@%0A2&=%23%0A3&=$%0A4&=%25%0A5&=%5E%0A6&=%2F&%0A7&=*%0A8&=(%0A9&=)%0A0&=%2F_%0A-&=+%0A%2F=&_x:0.25%3B&=%2F%2F&=*&=+%3B&@_w:1.5%3B&=Tab&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_x:0.25&w:1.25&h:2&w2:1.5&h2:1&x2:-0.25%3B&=Enter&_x:0.25%3B&=7&=8&=9%3B&@_w:1.75%3B&=Caps%20Lock&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F:%0A%2F%3B&_x:1.5%3B&=4&=5&=6%3B&@_w:1.25%3B&=Shift&=%7C%0A%5C&=Z&=X&=C&=V&=B&=N&=M&=%3C%0A,&_w:1.5%3B&=%3E%0A.&_x:1.5%3B&=1&=2&=3%3B&@_y:-0.75&x:12%3B&=%E2%86%91%3B&@_y:-0.25&w:1.25%3B&=Ctrl&_x:1&a:7&w:6.25%3B&=&_x:1&a:4&w:1.25%3B&=AltGr&_x:3.5%3B&=0&=.%3B&@_y:-0.75&x:11%3B&=%E2%86%90%0AFN&=%E2%86%93&=%E2%86%92%3B&@_y:0.25%3B&=%60&=F1&=F2&=F3&=F4&=F5&=F6&=F7&=F8&=F9&=F10&=F11&=F12&_x:0.25%3B&=NLock&=Print&=%2F=%3B&@_a:7&w:1.5%3B&=&=&=&=&=&=&=&=&=&=&_a:4%3B&=%2F%2F&_x:0.25&w:1.25&h:2&w2:1.5&h2:1&x2:-0.25%3B&=Del&_x:0.25%3B&=Home&=Up&=PgUp%3B&@_a:7&w:1.75%3B&=&=&=&=&=&=&=&=&=&=&_a:4%3B&='&_x:1.5%3B&=Left&=ScrLc&=Right%3B&@_a:7&w:1.25%3B&=&=&=&=&=&=&=&=&=&_a:4%3B&=%5B&_w:1.5%3B&=%5D&_x:1.5%3B&=End&=Down&=PgDn%3B&@_y:-0.75&x:12&a:7%3B&=%3B&@_y:-0.25&a:4&w:1.25%3B&=Win&_x:1&w:6.25%3B&=RAlt&_x:1&a:7&w:1.25%3B&=&_x:3.5%3B&=&_a:4%3B&=Rst%3B&@_y:-0.75&x:11&a:7%3B&=&=&=) \ No newline at end of file diff --git a/keyboards/akegata_denki/device_one/rules.mk b/keyboards/akegata_denki/device_one/rules.mk index 6ac6abcf5670..26de1138e5f5 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/5087/5087.c b/keyboards/akko/5087/5087.c new file mode 100644 index 000000000000..4d6cf949009e --- /dev/null +++ b/keyboards/akko/5087/5087.c @@ -0,0 +1,190 @@ +/* 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 ckled2001_led PROGMEM g_ckled2001_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}, +}; +#endif // RGB_MATRIX_ENABLE + +enum __layers { + WIN_B, + WIN_W, + WIN_FN, + MAC_B, + MAC_W, + MAC_FN, +}; + +// clang-format on + +void matrix_init_kb(void) { + setPinOutput(LED_MAC_OS_PIN); // LDE2 MAC\WIN + writePinLow(LED_MAC_OS_PIN); + setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock + writePinLow(LED_WIN_LOCK_PIN); + + matrix_init_user(); +} + +void housekeeping_task_kb(void){ + writePin(LED_MAC_OS_PIN, (get_highest_layer(default_layer_state) == 3)); + writePin(LED_WIN_LOCK_PIN, keymap_config.no_gui); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case DF(WIN_B): + if (record->event.pressed) { + set_single_persistent_default_layer(WIN_B); + } + return false; + case DF(MAC_B): + if (record->event.pressed) { + set_single_persistent_default_layer(MAC_B); + keymap_config.no_gui = 0; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + 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; + } +} diff --git a/keyboards/akko/5087/config.h b/keyboards/akko/5087/config.h new file mode 100644 index 000000000000..3a6b7030ee78 --- /dev/null +++ b/keyboards/akko/5087/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 + + +/* LED Indicators */ +#define LED_MAC_OS_PIN C10 +#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 + +/* 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 RGB_MATRIX_LED_COUNT 87 + +#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 + diff --git a/keyboards/akko/5087/halconf.h b/keyboards/akko/5087/halconf.h new file mode 100644 index 000000000000..55bfe5c97794 --- /dev/null +++ b/keyboards/akko/5087/halconf.h @@ -0,0 +1,23 @@ +/* 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 + +#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/5087/info.json b/keyboards/akko/5087/info.json new file mode 100644 index 000000000000..1b4059b0d58d --- /dev/null +++ b/keyboards/akko/5087/info.json @@ -0,0 +1,260 @@ +{ + "keyboard_name": "5087", + "manufacturer": "Akko", + "url":"https://www.akkogear.com", + "maintainer": "jonylee@hfd", + "usb": { + "vid": "0xFFFE", + "pid": "0x000C", + "device_version": "1.0.4", + "suspend_wakeup_delay": 400, + "force_nkro": true + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": false, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "dynamic_keymap": { + "layer_count": 6 + }, + "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", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, + "indicators": { + "caps_lock": "A15" + }, + "rgb_matrix": { + "driver": "ckled2001", + "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} + + ] + }, + "community_layouts": ["tkl_ansi"], + "layouts": { + "LAYOUT_tkl_ansi": { + "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/5087/keymaps/default/keymap.c b/keyboards/akko/5087/keymaps/default/keymap.c new file mode 100644 index 000000000000..07763ccc8916 --- /dev/null +++ b/keyboards/akko/5087/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_tkl_ansi( /* Base */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT_tkl_ansi( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D), + + + [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + + [MAC_B] = LAYOUT_tkl_ansi( /* Base */ + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT_tkl_ansi( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), + [MAC_FN] = LAYOUT_tkl_ansi( /* FN */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI) +}; +// clang-format on diff --git a/keyboards/akko/5087/keymaps/via/keymap.c b/keyboards/akko/5087/keymaps/via/keymap.c new file mode 100644 index 000000000000..dd59925fa908 --- /dev/null +++ b/keyboards/akko/5087/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_tkl_ansi( /* Base */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT_tkl_ansi( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D), + + + [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + + [MAC_B] = LAYOUT_tkl_ansi( /* Base */ + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT_tkl_ansi( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), + [MAC_FN] = LAYOUT_tkl_ansi( /* FN */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI) +}; +// clang-format on diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk b/keyboards/akko/5087/keymaps/via/rules.mk similarity index 100% rename from keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk rename to keyboards/akko/5087/keymaps/via/rules.mk diff --git a/keyboards/hfdkb/keyboard_sw/k83/mcuconf.h b/keyboards/akko/5087/mcuconf.h similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/mcuconf.h rename to keyboards/akko/5087/mcuconf.h diff --git a/keyboards/akko/5087/readme.md b/keyboards/akko/5087/readme.md new file mode 100644 index 000000000000..1d002fbb9f35 --- /dev/null +++ b/keyboards/akko/5087/readme.md @@ -0,0 +1,19 @@ +# 5087 + +A customizable 80% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported:Akko 5087 +* Hardware Availability: [akko](https://www.akkogear.com/) + +Make example for this keyboard (after setting up your build environment): + + make akko/5087:default + +Flashing example for this keyboard: + + make akko/5087: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/5087/rules.mk b/keyboards/akko/5087/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/akko/5087/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c index a14f02bc76e8..91f53e1e550d 100644 --- a/keyboards/akko/5108/5108.c +++ b/keyboards/akko/5108/5108.c @@ -17,8 +17,8 @@ #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 +const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to SNLED27351 manual for these locations * driver * | R location * | | G location diff --git a/keyboards/akko/5108/config.h b/keyboards/akko/5108/config.h index f56e825e0501..7154ce44d27e 100644 --- a/keyboards/akko/5108/config.h +++ b/keyboards/akko/5108/config.h @@ -16,9 +16,6 @@ #pragma once -/* Use 5 dynamic keymap layers */ -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 - /* LED Indicators */ #define LED_WIN_LOCK_PIN C11 @@ -35,12 +32,10 @@ #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 SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND +#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO #define I2C1_SCL_PAL_MODE 4 #define I2C1_OPMODE OPMODE_I2C #define I2C1_CLOCK_SPEED 400000 /* 400000 */ diff --git a/keyboards/akko/5108/info.json b/keyboards/akko/5108/info.json index e9e99be69e3f..662a949a53fe 100644 --- a/keyboards/akko/5108/info.json +++ b/keyboards/akko/5108/info.json @@ -26,12 +26,22 @@ "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] }, "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 6 + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, "indicators": { "num_lock": "A15", "caps_lock": "C10" }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "snled27351", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/akko/5108/rules.mk b/keyboards/akko/5108/rules.mk index 24d5f6f52ecc..6e7633bfe015 100644 --- a/keyboards/akko/5108/rules.mk +++ b/keyboards/akko/5108/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash +# This file intentionally left blank diff --git a/keyboards/akko/acr87/acr87.c b/keyboards/akko/acr87/acr87.c index e175e21368ef..7ee9ec6470c6 100644 --- a/keyboards/akko/acr87/acr87.c +++ b/keyboards/akko/acr87/acr87.c @@ -17,8 +17,8 @@ #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 +const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to SNLED27351 manual for these locations * driver * | R location * | | G location diff --git a/keyboards/akko/acr87/config.h b/keyboards/akko/acr87/config.h index 221cad86ad1c..4c1fb9afa1f2 100644 --- a/keyboards/akko/acr87/config.h +++ b/keyboards/akko/acr87/config.h @@ -16,9 +16,6 @@ #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 */ @@ -32,13 +29,11 @@ #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 SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND +#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO +#define SNLED27351_I2C_ADDRESS_3 SNLED27351_I2C_ADDRESS_SDA #define I2C1_SCL_PAL_MODE 4 #define I2C1_OPMODE OPMODE_I2C diff --git a/keyboards/akko/acr87/info.json b/keyboards/akko/acr87/info.json index bcc6b23cb003..5ccb0c3f731b 100644 --- a/keyboards/akko/acr87/info.json +++ b/keyboards/akko/acr87/info.json @@ -26,8 +26,18 @@ "rows": [ "B15", "C6", "C7", "C8", "C9", "A8"] }, "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 6 + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "snled27351", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/akko/acr87/rules.mk b/keyboards/akko/acr87/rules.mk index 0dc7a3314204..6e7633bfe015 100644 --- a/keyboards/akko/acr87/rules.mk +++ b/keyboards/akko/acr87/rules.mk @@ -1,3 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash - +# This file intentionally left blank diff --git a/keyboards/akko/top40/config.h b/keyboards/akko/top40/config.h index bd849292e6af..1d601a189cfc 100644 --- a/keyboards/akko/top40/config.h +++ b/keyboards/akko/top40/config.h @@ -16,9 +16,6 @@ #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 */ @@ -32,12 +29,10 @@ #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 SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND +#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO #define I2C1_SCL_PAL_MODE 4 #define I2C1_OPMODE OPMODE_I2C #define I2C1_CLOCK_SPEED 400000 /* 400000 */ diff --git a/keyboards/akko/top40/info.json b/keyboards/akko/top40/info.json index 8649ecb37596..243952ccc8bb 100644 --- a/keyboards/akko/top40/info.json +++ b/keyboards/akko/top40/info.json @@ -26,8 +26,18 @@ "rows": ["C7", "C8", "C9", "A8"] }, "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 6 + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "snled27351", "max_brightness": 180, "animations": { "breathing": true, diff --git a/keyboards/akko/top40/rules.mk b/keyboards/akko/top40/rules.mk index b753f0682e56..6e7633bfe015 100644 --- a/keyboards/akko/top40/rules.mk +++ b/keyboards/akko/top40/rules.mk @@ -1,6 +1 @@ -# Build Options -# change yes to no to disable -# -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash - +# This file intentionally left blank diff --git a/keyboards/akko/top40/top40.c b/keyboards/akko/top40/top40.c index 7fe193447dc6..028e4bdd057b 100644 --- a/keyboards/akko/top40/top40.c +++ b/keyboards/akko/top40/top40.c @@ -17,8 +17,8 @@ #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 +const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to SNLED27351 manual for these locations * driver * | R location * | | G location diff --git a/keyboards/al1/keymaps/splitbs/keymap.c b/keyboards/al1/keymaps/splitbs/keymap.c deleted file mode 100644 index 71f2b805449d..000000000000 --- a/keyboards/al1/keymaps/splitbs/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2018 MechMerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - 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_GRV, KC_BSPC, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - - LAYOUT_split_bs( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DOWN, BL_UP, _______, _______ - ) -}; diff --git a/keyboards/alas/config.h b/keyboards/alas/config.h index a4424815608e..6f81ce367b92 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 6c2beff27ebf..5c5e29f5956a 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"] diff --git a/keyboards/alas/rules.mk b/keyboards/alas/rules.mk old mode 100755 new mode 100644 index 4b25596ba2b0..916e1bf9bb75 --- 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 900836e4a80c..d765afd355fa 100644 --- a/keyboards/aleblazer/zodiark/config.h +++ b/keyboards/aleblazer/zodiark/config.h @@ -18,33 +18,10 @@ along with this program. If not, see . #define SELECT_SOFT_SERIAL_SPEED 1 -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 68 -#define RGBLIGHT_SPLIT -#define RGBLED_SPLIT { 34, 34 } -#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 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#endif - #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_SPLIT { 34, 34 } #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 0052d39844ee..c7c5b9a8a8e0 100644 --- a/keyboards/aleblazer/zodiark/info.json +++ b/keyboards/aleblazer/zodiark/info.json @@ -12,10 +12,29 @@ "pin": "B5" }, "rgblight": { - "max_brightness": 170 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68, + "max_brightness": 170, + "split_count": [34, 34], + "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 + } }, "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/aleblazer/zodiark/keymaps/slimoled/config.h b/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h deleted file mode 100644 index e2df253c3f43..000000000000 --- a/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 Spencer Deven - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - -#ifdef OLED_ENABLE - #define OLED_DISPLAY_128X32 - #define OLED_TIMEOUT 400000 -#endif diff --git a/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c b/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c deleted file mode 100644 index 690fe6c71a15..000000000000 --- a/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c +++ /dev/null @@ -1,332 +0,0 @@ -/* -Copyright 2021 Spencer Deven - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -enum sofle_layers { - /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ - _QWERTY, - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST, -}; - -enum custom_keycodes { - KC_QWERTY = SAFE_RANGE, - KC_COLEMAK, - KC_LOWER, - KC_RAISE, - KC_ADJUST, - KC_PRVWD, - KC_NXTWD, - KC_LSTRT, - KC_LEND, - KC_DLINE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_ADJUST, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_EQL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, RGB_TOG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_LCTL, KC_LALT, KC_LGUI, LALT(KC_TAB), KC_LOWER, KC_SPC, KC_ENT, KC_ENT, KC_SPC, KC_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_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_PSLS, KC_P7, KC_P8, KC_P9, KC_NUM, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, - KC_CAPS, KC_P4, KC_P5, KC_P6, KC_NUM, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NUM, - _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, - _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______ - ), - - [_RAISE] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NUM, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, - KC_CAPS, KC_P4, KC_P5, KC_P6, KC_NUM, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NUM, - _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, - _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______ - ), - - [_ADJUST] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD - ) - -}; -#ifdef OLED_ENABLE - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 - }; - - oled_write_P(qmk_logo, false); -} - -static void print_status_narrow(void) { - // Print current mode - oled_write_P(PSTR("\n\n"), false); - oled_write_ln_P(PSTR("MODE"), false); - oled_write_ln_P(PSTR(""), false); - if (keymap_config.swap_lctl_lgui) { - oled_write_ln_P(PSTR("MAC"), false); - } else { - oled_write_ln_P(PSTR("WIN"), false); - } - - switch (get_highest_layer(default_layer_state)) { - case _QWERTY: - oled_write_ln_P(PSTR("Qwrt"), false); - break; - case _COLEMAK: - oled_write_ln_P(PSTR("Clmk"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - oled_write_P(PSTR("\n\n"), false); - // Print current layer - oled_write_ln_P(PSTR("LAYER"), false); - switch (get_highest_layer(layer_state)) { - case _COLEMAK: - case _QWERTY: - oled_write_P(PSTR("Base\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case _LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case _ADJUST: - oled_write_P(PSTR("Adj\n"), false); - break; - default: - oled_write_ln_P(PSTR("Undef"), false); - } - oled_write_P(PSTR("\n\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_90; - } - return rotation; -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - print_status_narrow(); - } else { - render_logo(); - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - case KC_COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - case KC_LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case KC_RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case KC_ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case KC_PRVWD: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - register_mods(mod_config(MOD_LALT)); - register_code(KC_LEFT); - } else { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_LEFT); - } - } else { - if (keymap_config.swap_lctl_lgui) { - unregister_mods(mod_config(MOD_LALT)); - unregister_code(KC_LEFT); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_LEFT); - } - } - break; - case KC_NXTWD: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - register_mods(mod_config(MOD_LALT)); - register_code(KC_RIGHT); - } else { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_RIGHT); - } - } else { - if (keymap_config.swap_lctl_lgui) { - unregister_mods(mod_config(MOD_LALT)); - unregister_code(KC_RIGHT); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_RIGHT); - } - } - break; - case KC_LSTRT: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - //CMD-arrow on Mac, but we have CTL and GUI swapped - register_mods(mod_config(MOD_LCTL)); - register_code(KC_LEFT); - } else { - register_code(KC_HOME); - } - } else { - if (keymap_config.swap_lctl_lgui) { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_LEFT); - } else { - unregister_code(KC_HOME); - } - } - break; - case KC_LEND: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - //CMD-arrow on Mac, but we have CTL and GUI swapped - register_mods(mod_config(MOD_LCTL)); - register_code(KC_RIGHT); - } else { - register_code(KC_END); - } - } else { - if (keymap_config.swap_lctl_lgui) { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_RIGHT); - } else { - unregister_code(KC_END); - } - } - break; - case KC_DLINE: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_BSPC); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_BSPC); - } - break; - case KC_COPY: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_C); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_C); - } - return false; - case KC_PASTE: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_V); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_V); - } - return false; - case KC_CUT: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_X); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_X); - } - return false; - break; - case KC_UNDO: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_Z); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_Z); - } - return false; - } - return true; -} - -#ifdef ENCODER_ENABLE - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - if (clockwise) { - rgblight_step(); - } else { - rgblight_step_reverse(); - } - } - return true; -} - -#endif diff --git a/keyboards/aleblazer/zodiark/keymaps/slimoled/rules.mk b/keyboards/aleblazer/zodiark/keymaps/slimoled/rules.mk deleted file mode 100644 index 1e3cebb14515..000000000000 --- a/keyboards/aleblazer/zodiark/keymaps/slimoled/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/aleblazer/zodiark/keymaps/via/config.h b/keyboards/aleblazer/zodiark/keymaps/via/config.h index 2e8732ecc728..135f55b91915 100644 --- a/keyboards/aleblazer/zodiark/keymaps/via/config.h +++ b/keyboards/aleblazer/zodiark/keymaps/via/config.h @@ -20,3 +20,8 @@ along with this program. If not, see . #define OLED_DISPLAY_128X64 #define OLED_TIMEOUT 400000 #endif + +#ifdef RGBLIGHT_ENABLE + #undef RGBLIGHT_EFFECT_RGB_TEST + #undef RGBLIGHT_EFFECT_ALTERNATING +#endif diff --git a/keyboards/aleblazer/zodiark/rules.mk b/keyboards/aleblazer/zodiark/rules.mk index 3f1afb07c1f5..8fc2f2ff256e 100644 --- a/keyboards/aleblazer/zodiark/rules.mk +++ b/keyboards/aleblazer/zodiark/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes LTO_ENABLE = yes diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h index b94b584df0ef..d876570c808e 100644 --- a/keyboards/alf/dc60/config.h +++ b/keyboards/alf/dc60/config.h @@ -17,21 +17,6 @@ along with this program. If not, see . #pragma once -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/alf/dc60/info.json b/keyboards/alf/dc60/info.json index 9d304c8de9a9..e0aa59f44f67 100644 --- a/keyboards/alf/dc60/info.json +++ b/keyboards/alf/dc60/info.json @@ -17,6 +17,23 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, @@ -125,7 +142,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, @@ -194,7 +211,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, @@ -265,7 +282,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, @@ -337,7 +354,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, @@ -407,7 +424,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, @@ -479,7 +496,7 @@ {"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, 14], "x": 13, "y": 0, "w": 2}, + {"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, 2], "x": 1.5, "y": 1}, diff --git a/keyboards/alf/dc60/matrix_diagram.md b/keyboards/alf/dc60/matrix_diagram.md index 368318c1cdec..d2020bda6a4d 100644 --- a/keyboards/alf/dc60/matrix_diagram.md +++ b/keyboards/alf/dc60/matrix_diagram.md @@ -2,12 +2,12 @@ Most of these are "best-guess." I was using photos I found on ZFrontier as a reference and I don't have the PCB on-hand. - - @noroadsleft - 2023-01-20 + +\- @noroadsleft, 2023-11-21 ``` ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ ┌───────┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0E │ 2u Backspace +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0D │ 2u Backspace ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī └─┮─────â”Ī │10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ┌──â”ī┐2D │ ISO Enter diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h index 639c56298b15..b5b661bef2ab 100644 --- a/keyboards/alf/x11/config.h +++ b/keyboards/alf/x11/config.h @@ -17,22 +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 -# 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 - /* 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/alf/x11/info.json b/keyboards/alf/x11/info.json index bca26ecb0a11..1d1508fc11a9 100644 --- a/keyboards/alf/x11/info.json +++ b/keyboards/alf/x11/info.json @@ -17,6 +17,24 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 28, + "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 + } + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h index c982289a0be8..02460e0bedac 100644 --- a/keyboards/alf/x2/config.h +++ b/keyboards/alf/x2/config.h @@ -21,18 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -# 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 -# 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 ea54b093ce50..a7e76061f684 100644 --- a/keyboards/alf/x2/info.json +++ b/keyboards/alf/x2/info.json @@ -17,6 +17,23 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/alfredslab/swift65/hotswap/config.h b/keyboards/alfredslab/swift65/hotswap/config.h deleted file mode 100644 index 793bb4dd1e18..000000000000 --- a/keyboards/alfredslab/swift65/hotswap/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2021 Steven Phillips (Spooknik) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 -#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/alfredslab/swift65/hotswap/info.json b/keyboards/alfredslab/swift65/hotswap/info.json index d60bd0c85d5d..5be2a3798ceb 100644 --- a/keyboards/alfredslab/swift65/hotswap/info.json +++ b/keyboards/alfredslab/swift65/hotswap/info.json @@ -8,6 +8,24 @@ "pid": "0xD4C4", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "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 + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/alfredslab/swift65/solder/config.h b/keyboards/alfredslab/swift65/solder/config.h deleted file mode 100644 index 9ee0233356af..000000000000 --- a/keyboards/alfredslab/swift65/solder/config.h +++ /dev/null @@ -1,34 +0,0 @@ - -/* Copyright 2021 Steven Phillips (Spooknik) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 -# 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/alfredslab/swift65/solder/info.json b/keyboards/alfredslab/swift65/solder/info.json index 129b0436d937..5259316d9d51 100644 --- a/keyboards/alfredslab/swift65/solder/info.json +++ b/keyboards/alfredslab/swift65/solder/info.json @@ -9,7 +9,23 @@ "device_version": "0.0.1" }, "rgblight": { - "max_brightness": 100 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 100, + "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 + } }, "ws2812": { "pin": "D2" diff --git a/keyboards/alhenkb/macropad5x4/info.json b/keyboards/alhenkb/macropad5x4/info.json index 29be39249d77..1fb472255d3d 100644 --- a/keyboards/alhenkb/macropad5x4/info.json +++ b/keyboards/alhenkb/macropad5x4/info.json @@ -65,7 +65,7 @@ {"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4, "w": 2}, - {"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4} + {"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4}, {"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 3, "h": 2} ] } diff --git a/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c b/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c deleted file mode 100644 index 7a1e287e38fb..000000000000 --- a/keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┮───┮───┮───┐ - * │TG1│ / │ * │ - │ - * ├───┾───┾───┾───â”Ī - * │ 7 │ 8 │ 9 │ │ - * ├───┾───┾───â”Ī + │ - * │ 4 │ 5 │ 6 │ │ - * ├───┾───┾───┾───â”Ī - * │ 1 │ 2 │ 3 │ │ - * ├───â”ī───┾───â”ĪEnt│ - * │ 0 │ . │ │ - * └───────â”ī───â”ī───┘ - */ - [0] = LAYOUT_numpad_5x4( - TG(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_PENT - ), - - /* - * ┌───┮───┮───┮───┐ - * │TG1│ / │ * │ - │ - * ┌───┮───┮───┐───â”Ī - * │Hom│ ↑ │PgU│ │ - * ├───┾───┾───â”Ī + │ - * │ ← │ │ → │ │ - * ├───┾───┾───â”Ī───â”Ī - * │End│ ↓ │PgD│ │ - * ├───â”ī───┾───â”ĪEnt│ - * │Insert │Del│ │ - * └───────â”ī───┘───┘ - */ - [1] = LAYOUT_numpad_5x4( - _______, _______, _______, _______, - KC_HOME, KC_UP, KC_PGUP, - KC_LEFT, XXXXXXX, KC_RGHT, _______, - KC_END, KC_DOWN, KC_PGDN, - KC_INS, KC_DEL, _______ - ) -}; diff --git a/keyboards/aliceh66/pianoforte/info.json b/keyboards/aliceh66/pianoforte/info.json index d645ddf5f6b8..6cc2546794c8 100644 --- a/keyboards/aliceh66/pianoforte/info.json +++ b/keyboards/aliceh66/pianoforte/info.json @@ -15,7 +15,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["tkl_f13_ansi", "tkl_f13_iso"], + "community_layouts": ["tkl_f13_ansi", "tkl_f13_ansi_split_bs_rshift", "tkl_f13_iso", "tkl_f13_iso_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_f13_iso_tsangan", "tkl_f13_iso_tsangan_split_bs_rshift"], + "layout_aliases": { + "LAYOUT_tkl_ansi_7u": "LAYOUT_tkl_f13_ansi_tsangan", + "LAYOUT_tkl_iso_7u": "LAYOUT_tkl_f13_iso_tsangan" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -56,72 +60,72 @@ {"matrix": [3, 5], "x": 11, "y": 1.25}, {"matrix": [2, 6], "x": 12, "y": 1.25}, {"matrix": [3, 6], "x": 13, "y": 1.25}, - {"matrix": [2, 7], "x": 14, "y": 1.25}, - - {"matrix": [3, 7], "x": 15.25, "y": 1.25}, - {"matrix": [2, 8], "x": 16.25, "y": 1.25}, - {"matrix": [4, 0], "x": 17.25, "y": 1.25}, - - {"matrix": [5, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 2.25}, - {"matrix": [5, 1], "x": 2.5, "y": 2.25}, - {"matrix": [4, 2], "x": 3.5, "y": 2.25}, - {"matrix": [5, 2], "x": 4.5, "y": 2.25}, - {"matrix": [4, 3], "x": 5.5, "y": 2.25}, - {"matrix": [5, 3], "x": 6.5, "y": 2.25}, - {"matrix": [4, 4], "x": 7.5, "y": 2.25}, - {"matrix": [5, 4], "x": 8.5, "y": 2.25}, - {"matrix": [4, 5], "x": 9.5, "y": 2.25}, - {"matrix": [5, 5], "x": 10.5, "y": 2.25}, - {"matrix": [4, 6], "x": 11.5, "y": 2.25}, - {"matrix": [5, 6], "x": 12.5, "y": 2.25}, - {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"matrix": [5, 7], "x": 15.25, "y": 2.25}, - {"matrix": [4, 8], "x": 16.25, "y": 2.25}, - {"matrix": [6, 0], "x": 17.25, "y": 2.25}, - - {"matrix": [7, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [6, 1], "x": 1.75, "y": 3.25}, - {"matrix": [7, 1], "x": 2.75, "y": 3.25}, - {"matrix": [6, 2], "x": 3.75, "y": 3.25}, - {"matrix": [7, 2], "x": 4.75, "y": 3.25}, - {"matrix": [6, 3], "x": 5.75, "y": 3.25}, - {"matrix": [7, 3], "x": 6.75, "y": 3.25}, - {"matrix": [6, 4], "x": 7.75, "y": 3.25}, - {"matrix": [7, 4], "x": 8.75, "y": 3.25}, - {"matrix": [6, 5], "x": 9.75, "y": 3.25}, - {"matrix": [7, 5], "x": 10.75, "y": 3.25}, - {"matrix": [6, 6], "x": 11.75, "y": 3.25}, - {"matrix": [7, 6], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [6, 7], "x": 14, "y": 1.25}, + + {"matrix": [2, 7], "x": 15.25, "y": 1.25}, + {"matrix": [3, 7], "x": 16.25, "y": 1.25}, + {"matrix": [2, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + {"matrix": [5, 6], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [4, 7], "x": 15.25, "y": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25}, + {"matrix": [7, 6], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.75, "w": 1.75, "h": 0.5}, + {"matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 2.75, "h": 0.5}, + {"matrix": [8, 7], "x": 14, "y": 4.75, "h": 0.5}, - {"matrix": [6, 7], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [8, 0], "x": 1.25, "y": 4.25}, - {"matrix": [9, 0], "x": 2.25, "y": 4.25}, - {"matrix": [8, 1], "x": 3.25, "y": 4.25}, - {"matrix": [9, 1], "x": 4.25, "y": 4.25}, - {"matrix": [8, 2], "x": 5.25, "y": 4.25}, - {"matrix": [9, 2], "x": 6.25, "y": 4.25}, - {"matrix": [8, 3], "x": 7.25, "y": 4.25}, - {"matrix": [9, 3], "x": 8.25, "y": 4.25}, - {"matrix": [8, 4], "x": 9.25, "y": 4.25}, - {"matrix": [9, 4], "x": 10.25, "y": 4.25}, - {"matrix": [8, 5], "x": 11.25, "y": 4.25}, - {"matrix": [9, 5], "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [8, 6], "x": 12.24, "y": 4.25, "w": 1.75}, - {"matrix": [9, 6], "x": 14, "y": 4.25}, - - {"matrix": [8, 7], "x": 16.25, "y": 4.25}, - - {"matrix": [9, 7], "x": 0, "y": 5.25, "w": 1.25}, - {"matrix": [10, 0], "x": 1.25, "y": 5.25, "w": 1.25}, - {"matrix": [11, 0], "x": 2.5, "y": 5.25, "w": 1.25}, - {"matrix": [10, 1], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [11, 3], "x": 10, "y": 5.25}, - {"matrix": [10, 5], "x": 11, "y": 5.25}, - {"matrix": [11, 5], "x": 12, "y": 5.25}, - {"matrix": [10, 6], "x": 13, "y": 5.25}, - {"matrix": [11, 6], "x": 14, "y": 5.25}, + {"matrix": [9, 7], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 6], "x": 13.75, "y": 5.25, "w": 1.25}, {"matrix": [10, 7], "x": 15.25, "y": 5.25}, {"matrix": [11, 7], "x": 16.25, "y": 5.25}, @@ -234,6 +238,114 @@ {"matrix": [10, 8], "x": 17.25, "y": 5.25} ] }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [1, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [1, 4], "x": 9.75, "y": 0}, + {"matrix": [0, 5], "x": 10.75, "y": 0}, + {"matrix": [1, 5], "x": 11.75, "y": 0}, + {"matrix": [0, 6], "x": 12.75, "y": 0}, + + {"matrix": [1, 6], "x": 14, "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.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25}, + {"matrix": [6, 7], "x": 14, "y": 1.25}, + + {"matrix": [2, 7], "x": 15.25, "y": 1.25}, + {"matrix": [3, 7], "x": 16.25, "y": 1.25}, + {"matrix": [2, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + {"matrix": [5, 6], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [4, 7], "x": 15.25, "y": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [7, 6], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4.25}, + + {"matrix": [9, 7], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 6], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 7], "x": 15.25, "y": 5.25}, + {"matrix": [11, 7], "x": 16.25, "y": 5.25}, + {"matrix": [10, 8], "x": 17.25, "y": 5.25} + ] + }, "LAYOUT_tkl_f13_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -341,7 +453,116 @@ {"matrix": [10, 8], "x": 17.25, "y": 5.25} ] }, - "LAYOUT_tkl_ansi_7u": { + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [1, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [1, 4], "x": 9.75, "y": 0}, + {"matrix": [0, 5], "x": 10.75, "y": 0}, + {"matrix": [1, 5], "x": 11.75, "y": 0}, + {"matrix": [0, 6], "x": 12.75, "y": 0}, + + {"matrix": [1, 6], "x": 14, "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.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25}, + {"matrix": [6, 7], "x": 14, "y": 1.25}, + + {"matrix": [2, 7], "x": 15.25, "y": 1.25}, + {"matrix": [3, 7], "x": 16.25, "y": 1.25}, + {"matrix": [2, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + + {"matrix": [4, 7], "x": 15.25, "y": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25}, + {"matrix": [7, 6], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4.25}, + + {"matrix": [9, 7], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 6], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 7], "x": 15.25, "y": 5.25}, + {"matrix": [11, 7], "x": 16.25, "y": 5.25}, + {"matrix": [10, 8], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -446,7 +667,114 @@ {"matrix": [10, 8], "x": 17.25, "y": 5.25} ] }, - "LAYOUT_tkl_iso_7u": { + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [1, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [1, 4], "x": 9.75, "y": 0}, + {"matrix": [0, 5], "x": 10.75, "y": 0}, + {"matrix": [1, 5], "x": 11.75, "y": 0}, + {"matrix": [0, 6], "x": 12.75, "y": 0}, + + {"matrix": [1, 6], "x": 14, "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.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25}, + {"matrix": [6, 7], "x": 14, "y": 1.25}, + + {"matrix": [2, 7], "x": 15.25, "y": 1.25}, + {"matrix": [3, 7], "x": 16.25, "y": 1.25}, + {"matrix": [2, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + {"matrix": [5, 6], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [4, 7], "x": 15.25, "y": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [7, 6], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4.25}, + + {"matrix": [9, 7], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [11, 0], "x": 1.5, "y": 5.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [11, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [11, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"matrix": [11, 6], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [10, 7], "x": 15.25, "y": 5.25}, + {"matrix": [11, 7], "x": 16.25, "y": 5.25}, + {"matrix": [10, 8], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -547,6 +875,114 @@ {"matrix": [10, 6], "x": 12.5, "y": 5.25}, {"matrix": [11, 6], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 7], "x": 15.25, "y": 5.25}, + {"matrix": [11, 7], "x": 16.25, "y": 5.25}, + {"matrix": [10, 8], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [1, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [1, 4], "x": 9.75, "y": 0}, + {"matrix": [0, 5], "x": 10.75, "y": 0}, + {"matrix": [1, 5], "x": 11.75, "y": 0}, + {"matrix": [0, 6], "x": 12.75, "y": 0}, + + {"matrix": [1, 6], "x": 14, "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.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25}, + {"matrix": [6, 7], "x": 14, "y": 1.25}, + + {"matrix": [2, 7], "x": 15.25, "y": 1.25}, + {"matrix": [3, 7], "x": 16.25, "y": 1.25}, + {"matrix": [2, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + + {"matrix": [4, 7], "x": 15.25, "y": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25}, + {"matrix": [7, 6], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4.25}, + + {"matrix": [9, 7], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [11, 0], "x": 1.5, "y": 5.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [11, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [11, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"matrix": [11, 6], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 7], "x": 15.25, "y": 5.25}, {"matrix": [11, 7], "x": 16.25, "y": 5.25}, {"matrix": [10, 8], "x": 17.25, "y": 5.25} diff --git a/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c index 8762ce72d002..a5e41c2e0f71 100644 --- a/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c +++ b/keyboards/aliceh66/pianoforte/keymaps/default/keymap.c @@ -21,13 +21,13 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(1), 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_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c index c6db4637897c..a4d4a5127446 100644 --- a/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c +++ b/keyboards/aliceh66/pianoforte/keymaps/iso/keymap.c @@ -21,13 +21,13 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_tkl_f13_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_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT -) + [_LAYER0] = LAYOUT_tkl_f13_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_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_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c index 9c9dc9ffbd99..e0579044b9bd 100644 --- a/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c +++ b/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c @@ -20,24 +20,24 @@ enum layer_names { _LAYER1, }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(1), 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_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) - [_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/aliceh66/pianoforte/matrix_diagram.md b/keyboards/aliceh66/pianoforte/matrix_diagram.md new file mode 100644 index 000000000000..058f31322c73 --- /dev/null +++ b/keyboards/aliceh66/pianoforte/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for AliceH Pianoforte Solder + +``` +┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ +│00 ││10 │01 │11 │02 ││12 │03 │13 │04 ││14 │05 │15 │06 ││16 ││07 │17 │08 │ +└───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ ┌───────┐ +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │67 ││27 │37 │28 │ │36 │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī └─┮─────â”Ī +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │56 ││47 │57 │48 │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐76 │ ISO Enter +│60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │76 │ │66 │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ └───â”ī────┘ +│80 │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │87 │ │97 │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ +│A0 │B0 │A1 │B3 │A5 │B5 │A6 │B6 ││A7 │B7 │A8 │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ +┌────────┐ ┌──────────┐ +│80 │ 2.25u LShift 2.75u RShift │96 │ +└────────┘ └──────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│A0 │B0 │A1 │B3 │B5 │A6 │B6 │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/aliceh66/pianoforte_hs/info.json b/keyboards/aliceh66/pianoforte_hs/info.json index eea0bc06b536..7366e961c1fa 100644 --- a/keyboards/aliceh66/pianoforte_hs/info.json +++ b/keyboards/aliceh66/pianoforte_hs/info.json @@ -15,8 +15,12 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_tkl_ansi": "LAYOUT_tkl_f13_ansi" + }, + "community_layouts": ["tkl_f13_ansi"], "layouts": { - "LAYOUT_tkl_ansi": { + "LAYOUT_tkl_f13_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -111,7 +115,7 @@ {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, - {"matrix": [11, 2], "x": 4, "y": 5.25, "w": 6.25}, + {"matrix": [11, 2], "x": 3.75, "y": 5.25, "w": 6.25}, {"matrix": [10, 4], "x": 10, "y": 5.25, "w": 1.25}, {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c b/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c index 17aa2ae0e899..279b0f1170cb 100644 --- a/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c +++ b/keyboards/aliceh66/pianoforte_hs/keymaps/default/keymap.c @@ -21,7 +21,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_tkl_ansi( + [_LAYER0] = LAYOUT_tkl_f13_ansi( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c index ddbaa3a8effa..6bcfa56fca96 100644 --- a/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c +++ b/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c @@ -23,7 +23,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_tkl_ansi( + [_LAYER0] = LAYOUT_tkl_f13_ansi( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT_tkl_ansi( + [_LAYER1] = LAYOUT_tkl_f13_ansi( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/alpaca/wfeclipse/info.json b/keyboards/alpaca/wfeclipse/info.json new file mode 100644 index 000000000000..47288bb190d3 --- /dev/null +++ b/keyboards/alpaca/wfeclipse/info.json @@ -0,0 +1,210 @@ +{ + "manufacturer": "Alpaca", + "keyboard_name": "WFEclipse", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C11", "C10", "A15", "A10", "A9", "A8", "C9", "C8", "C7", "C6", "B1", "B0", "C5", "C4", "A7", "A6"], + "rows": ["A0", "A1", "A2", "A3", "A4"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "animations": { + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_wave": true, + "pixel_fractal": true, + "solid_color": true, + "solid_reactive_simple": true, + "solid_splash": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [4, 15], "x": 198, "y": 54, "flags": 1}, + {"matrix": [4, 14], "x": 186, "y": 54, "flags": 1}, + {"matrix": [4, 13], "x": 174, "y": 54, "flags": 1}, + {"matrix": [4, 12], "x": 150, "y": 54, "flags": 1}, + {"matrix": [4, 11], "x": 138, "y": 54, "flags": 1}, + {"matrix": [4, 10], "x": 126, "y": 54, "flags": 1}, + {"matrix": [4, 6], "x": 51, "y": 54, "flags": 1}, + {"matrix": [4, 2], "x": 36, "y": 54, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 54, "flags": 1}, + {"matrix": [4, 0], "x": 6, "y": 54, "flags": 1}, + {"matrix": [3, 15], "x": 198, "y": 42, "flags": 1}, + {"matrix": [3, 14], "x": 186, "y": 42, "flags": 1}, + {"matrix": [3, 13], "x": 153, "y": 42, "flags": 1}, + {"matrix": [3, 11], "x": 141, "y": 42, "flags": 1}, + {"matrix": [3, 10], "x": 129, "y": 42, "flags": 1}, + {"matrix": [3, 9], "x": 117, "y": 42, "flags": 1}, + {"matrix": [3, 8], "x": 105, "y": 42, "flags": 1}, + {"matrix": [3, 7], "x": 93, "y": 42, "flags": 1}, + {"matrix": [3, 6], "x": 81, "y": 42, "flags": 1}, + {"matrix": [3, 5], "x": 69, "y": 42, "flags": 1}, + {"matrix": [3, 4], "x": 57, "y": 42, "flags": 1}, + {"matrix": [3, 3], "x": 45, "y": 42, "flags": 1}, + {"matrix": [3, 2], "x": 33, "y": 42, "flags": 1}, + {"matrix": [3, 0], "x": 6, "y": 42, "flags": 1}, + {"matrix": [2, 15], "x": 198, "y": 30, "flags": 1}, + {"matrix": [2, 14], "x": 186, "y": 30, "flags": 1}, + {"matrix": [2, 13], "x": 159, "y": 30, "flags": 1}, + {"matrix": [2, 11], "x": 147, "y": 30, "flags": 1}, + {"matrix": [2, 10], "x": 135, "y": 30, "flags": 1}, + {"matrix": [2, 9], "x": 123, "y": 30, "flags": 1}, + {"matrix": [2, 8], "x": 111, "y": 30, "flags": 1}, + {"matrix": [2, 7], "x": 99, "y": 30, "flags": 1}, + {"matrix": [2, 6], "x": 87, "y": 30, "flags": 1}, + {"matrix": [2, 5], "x": 75, "y": 30, "flags": 1}, + {"matrix": [2, 4], "x": 63, "y": 30, "flags": 1}, + {"matrix": [2, 3], "x": 51, "y": 30, "flags": 1}, + {"matrix": [2, 2], "x": 39, "y": 30, "flags": 1}, + {"matrix": [2, 1], "x": 27, "y": 30, "flags": 1}, + {"matrix": [2, 0], "x": 6, "y": 30, "flags": 1}, + {"matrix": [1, 15], "x": 198, "y": 18, "flags": 1}, + {"matrix": [1, 14], "x": 186, "y": 18, "flags": 1}, + {"matrix": [1, 13], "x": 168, "y": 18, "flags": 1}, + {"matrix": [1, 12], "x": 156, "y": 18, "flags": 1}, + {"matrix": [1, 11], "x": 144, "y": 18, "flags": 1}, + {"matrix": [1, 10], "x": 132, "y": 18, "flags": 1}, + {"matrix": [1, 9], "x": 120, "y": 18, "flags": 1}, + {"matrix": [1, 8], "x": 108, "y": 18, "flags": 1}, + {"matrix": [1, 7], "x": 96, "y": 18, "flags": 1}, + {"matrix": [1, 6], "x": 84, "y": 18, "flags": 1}, + {"matrix": [1, 5], "x": 72, "y": 18, "flags": 1}, + {"matrix": [1, 4], "x": 60, "y": 18, "flags": 1}, + {"matrix": [1, 3], "x": 48, "y": 18, "flags": 1}, + {"matrix": [1, 2], "x": 36, "y": 18, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 18, "flags": 1}, + {"matrix": [1, 0], "x": 6, "y": 18, "flags": 1}, + {"matrix": [0, 15], "x": 198, "y": 6, "flags": 1}, + {"matrix": [0, 14], "x": 186, "y": 6, "flags": 1}, + {"matrix": [0, 13], "x": 162, "y": 6, "flags": 1}, + {"matrix": [0, 12], "x": 150, "y": 6, "flags": 1}, + {"matrix": [0, 11], "x": 138, "y": 6, "flags": 1}, + {"matrix": [0, 10], "x": 126, "y": 6, "flags": 1}, + {"matrix": [0, 9], "x": 114, "y": 6, "flags": 1}, + {"matrix": [0, 8], "x": 102, "y": 6, "flags": 1}, + {"matrix": [0, 7], "x": 90, "y": 6, "flags": 1}, + {"matrix": [0, 6], "x": 78, "y": 6, "flags": 1}, + {"matrix": [0, 5], "x": 66, "y": 6, "flags": 1}, + {"matrix": [0, 4], "x": 54, "y": 6, "flags": 1}, + {"matrix": [0, 3], "x": 42, "y": 6, "flags": 1}, + {"matrix": [0, 2], "x": 30, "y": 6, "flags": 1}, + {"matrix": [0, 1], "x": 18, "y": 6, "flags": 1}, + {"matrix": [0, 0], "x": 6, "y": 6, "flags": 1}, + {"x": 125, "y": 1, "flags": 4}, + {"x": 125, "y": 2, "flags": 4}, + {"x": 125, "y": 3, "flags": 4}, + {"x": 125, "y": 4, "flags": 4}, + {"x": 125, "y": 5, "flags": 4}, + {"x": 125, "y": 6, "flags": 4}, + {"x": 125, "y": 7, "flags": 4}, + {"x": 125, "y": 8, "flags": 4}, + {"x": 125, "y": 9, "flags": 4}, + {"x": 125, "y": 10, "flags": 4}, + {"x": 125, "y": 11, "flags": 4}, + {"x": 125, "y": 12, "flags": 4} + ], + "max_brightness": 50 + }, + "usb": { + "device_version": "1.0.4", + "pid": "0x0038", + "vid": "0x308F" + }, + "ws2812": { + "pin": "B8" + }, + "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": "MINS", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "EQL", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "BSPC", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "DEL", "matrix": [0, 14], "x": 15, "y": 0}, + {"label": "INS", "matrix": [0, 15], "x": 16, "y": 0}, + {"label": "TAB", "matrix": [1, 0], "x": 0, "y": 1}, + {"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": "LBRC", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "RBRC", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "BSLS", "matrix": [1, 13], "x": 13.5, "y": 1}, + {"label": "HOME", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "PGUP", "matrix": [1, 15], "x": 16, "y": 1}, + {"label": "CAPS", "matrix": [2, 0], "x": 0, "y": 2}, + {"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": "SCLN", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "QUOT", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "ENT", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "END", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "PGDN", "matrix": [2, 15], "x": 16, "y": 2}, + {"label": "LSFT", "matrix": [3, 0], "x": 0, "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": "COMM", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "DOT", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "SLSH", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "RSFT", "matrix": [3, 13], "x": 12.25, "y": 3}, + {"label": "UP", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "MO(1)", "matrix": [3, 15], "x": 16, "y": 3}, + {"label": "LCTL", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "LGUI", "matrix": [4, 1], "x": 1.25, "y": 4}, + {"label": "LALT", "matrix": [4, 2], "x": 2.5, "y": 4}, + {"label": "SPC", "matrix": [4, 6], "x": 3.75, "y": 4}, + {"label": "RALT", "matrix": [4, 10], "x": 10, "y": 4}, + {"label": "RGUI", "matrix": [4, 11], "x": 11, "y": 4}, + {"label": "RCTL", "matrix": [4, 12], "x": 12, "y": 4}, + {"label": "LEFT", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "DOWN", "matrix": [4, 14], "x": 15, "y": 4}, + {"label": "RGHT", "matrix": [4, 15], "x": 16, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c b/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c new file mode 100644 index 000000000000..3849b2889c13 --- /dev/null +++ b/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 temp4gh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + WIN_BASE, + WIN_FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [WIN_BASE] =LAYOUT( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END , KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(WIN_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [WIN_FN] =LAYOUT( + KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,KC_MPRV, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_MNXT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c b/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c new file mode 100644 index 000000000000..ed0d448fb19b --- /dev/null +++ b/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 temp4gh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_names { + WIN_BASE, + WIN_FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [WIN_BASE] =LAYOUT( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END , KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(WIN_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [WIN_FN] =LAYOUT( + KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,KC_MPRV, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_MNXT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/7c8/framework/keymaps/steven/rules.mk b/keyboards/alpaca/wfeclipse/keymaps/via/rules.mk similarity index 100% rename from keyboards/7c8/framework/keymaps/steven/rules.mk rename to keyboards/alpaca/wfeclipse/keymaps/via/rules.mk diff --git a/keyboards/alpaca/wfeclipse/readme.md b/keyboards/alpaca/wfeclipse/readme.md new file mode 100644 index 000000000000..55570e1e7ad8 --- /dev/null +++ b/keyboards/alpaca/wfeclipse/readme.md @@ -0,0 +1,26 @@ +# Alpaca Keyboards whitefox-eclipse + +![Alpaca Keyboards whitefox-eclipse](https://i.imgur.com/VlyDBYGh.jpg) + +A customizable 68% keyboard. + +- Keyboard Maintainer: [temp4gh](https://github.com/temp4gh) +- Hardware Supported: whitefox-eclipse PCB +- Hardware Availability: https://kono.store/collections/all-products-list/products/whitefox-eclipse?variant=43224249991367 + +Make example for this keyboard (after setting up your build environment): + + make alpaca/wfeclipse:default + +Flashing example for this keyboard: + + make alpaca/wfeclipse: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/jscotto/scottostarter/rules.mk b/keyboards/alpaca/wfeclipse/rules.mk similarity index 100% rename from keyboards/handwired/jscotto/scottostarter/rules.mk rename to keyboards/alpaca/wfeclipse/rules.mk diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h index b4ab41d42ccc..5f360813239b 100755 --- a/keyboards/alpha/config.h +++ b/keyboards/alpha/config.h @@ -5,18 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 86e4dbefb309..61f7f9d437ce 100644 --- a/keyboards/alpha/info.json +++ b/keyboards/alpha/info.json @@ -7,6 +7,23 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/alpha/keymaps/hvp/keymap.c b/keyboards/alpha/keymaps/hvp/keymap.c deleted file mode 100755 index 13071b08305e..000000000000 --- a/keyboards/alpha/keymaps/hvp/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_names { - HOME, - MODS, - MODS2, - OTHER, -}; - -enum custom_keycodes { - MACRO1 = SAFE_RANGE -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case MACRO1: - SEND_STRING("I'm so sorry... -PyroL"); - return false; - } - } - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [HOME] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, MT(MOD_LCTL,KC_P), - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LSFT,KC_ENT), - KC_Z, KC_X, KC_C, LT(MODS2,KC_V), LT(MODS, KC_SPC), LT(OTHER,KC_B), KC_N, KC_M), - - [MODS] = LAYOUT( - KC_TAB, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_BSPC, - KC_LSFT, KC_ESC, _______, KC_SCLN, KC_QUOT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, - KC_LCTL, KC_LGUI, KC_LALT, _______, _______, KC_COMM, KC_DOT, KC_SLSH), - - [MODS2] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_LSFT, KC_ESC, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, _______, - RGB_VAI, RGB_VAD, RGB_HUI, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU), - - [OTHER] = LAYOUT( - KC_ESC, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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_NO, KC_NO, KC_NO), -}; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} \ No newline at end of file diff --git a/keyboards/alpha/keymaps/vderm/README.md b/keyboards/alpha/keymaps/vderm/README.md deleted file mode 100644 index 26a8ab3e85f5..000000000000 --- a/keyboards/alpha/keymaps/vderm/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Alpha 28-Key Keyboard Alternate Keymap -Alternate keymap for [Alpha 28-key keyboard](https://github.com/qmk/qmk_firmware/tree/master/keyboards/alpha). - -## How-to -Assuming you've followed all the instructions from the original post, put my "keymap.c" file in "$qmk-firmware-folder$/keyboards/alpha/keymaps/vderm/" and then run your make command ("make alpha:vderm" while in $qmk-firmware-folder$ where this folder is what you've downloaded from the official github page) to compile the hex file to upload to your microcontroller. I've also uploaded my hex file. - -## Description -Instead of going up and down layers like in the original Alpha keyboard, I've made the bottom row keys all have alternate functions: -+ Like in the original Alpha28 keymap, the 2U spacebar is a shift key when held down and space when tapped -+ Z and M are Ctrl keys when held down or Z and M when tapped -+ X and N are Alt keys -+ C activates the function keys layer (arrows, page up/dn, esc, tab, etc.) -+ V activates the characters and numbers layer -+ C and V combined activated the F-keys layer (F1, F2, F3, etc.) -+ The enter key is an enter key in the home layer, backspace in the function keys and characters/numbers layer and a delete in the F-keys layer -+ While in the other layers, the bottom row acts like a "regular" bottom modified row: ctrl, alt, winkey - -## Keymap -![keymap](https://imgur.com/ZbDz0eL.jpg) - -## Build Images -Here is my keyboard. -+ Switches: Aliaz Silent Switches (Tactile), PCB mount, 80g from [KBDfans](https://kbdfans.cn/collections/aliaz-switches/products/pre-orderaliaz-silent-switch-tactile?variant=2519899832333) -+ PCB board: ordered from JLCPCB, in white -+ Keycaps: ebay, can't find link :S -+ Bottom plate: I cut a piece of canary wood that was laying around, needs to be varnished; I also need to actually screw the pcb to the wood instead of relying on double-sided tape - -![vderm_alpha0](https://imgur.com/MjjoVtr.jpg) -![vderm_alpha1](https://imgur.com/mIFu9WV.jpg) -![vderm_alpha2](https://imgur.com/A70Iemw.jpg) -![vderm_alpha3](https://imgur.com/eYljPWh.jpg) -![vderm_alpha4](https://imgur.com/OhUKowj.jpg) - -Good luck on your build! -//vderm diff --git a/keyboards/alpha/keymaps/vderm/keymap.c b/keyboards/alpha/keymaps/vderm/keymap.c deleted file mode 100644 index e3ac94807d62..000000000000 --- a/keyboards/alpha/keymaps/vderm/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -#include QMK_KEYBOARD_H - -#define HOME 0 -#define FN 1 -#define FNCHAR 2 -#define FKEYS 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [HOME] = 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_ENT, - MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(1, KC_C), LT(2, KC_V), MT(MOD_LSFT, KC_SPC), MT(MOD_RGUI,KC_B), MT(MOD_RALT, KC_N), MT(MOD_RCTL, KC_M)), - - [FN] = LAYOUT( - KC_ESC, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, - KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BSPC, - KC_LCTL, KC_LALT, KC_TRNS, MO(3), MT(MOD_LSFT, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL), - - [FNCHAR] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_GRV,KC_NO,KC_MINS,KC_EQL,KC_BSLS,KC_LBRC,KC_RBRC,KC_SCLN,KC_QUOT,KC_BSPC, - KC_LCTL, KC_LALT, MO(3), KC_TRNS, MT(MOD_LSFT, KC_SPC), KC_COMM, KC_DOT, KC_SLSH), - - [FKEYS] = 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_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_DEL, - KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, MT(MOD_LSFT, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL), -}; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} diff --git a/keyboards/alpine65/config.h b/keyboards/alpine65/config.h index ac74e24450ea..f608132b5afd 100644 --- a/keyboards/alpine65/config.h +++ b/keyboards/alpine65/config.h @@ -22,19 +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 -#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 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json index e290606d8c05..c0322f72b50f 100644 --- a/keyboards/alpine65/info.json +++ b/keyboards/alpine65/info.json @@ -9,7 +9,21 @@ "device_version": "0.0.1" }, "rgblight": { - "max_brightness": 200 + "led_count": 68, + "max_brightness": 200, + "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 + } }, "ws2812": { "pin": "B15" diff --git a/keyboards/alpine65/readme.md b/keyboards/alpine65/readme.md index 0be4396176f3..6ae9f03e6dcc 100644 --- a/keyboards/alpine65/readme.md +++ b/keyboards/alpine65/readme.md @@ -4,7 +4,7 @@ This is the QMK firmware repository for the Alpine65, a 65% hotswap keyboard designed by Bitmap Designs and Gondolindrim. -The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://https://geekhack.org/index.php?topic=106974). +The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://geekhack.org/index.php?topic=106974). ## How to compile diff --git a/keyboards/alpine65/rules.mk b/keyboards/alpine65/rules.mk index 8e1200c9f500..747e719be4a6 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/alps64/keymaps/crd/keymap.c b/keyboards/alps64/keymaps/crd/keymap.c deleted file mode 100644 index e68977d8674e..000000000000 --- a/keyboards/alps64/keymaps/crd/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL = 0, // Base Layer - _FL // Function Layer -}; - -// Custom #defined keycodes (shorter macros for readability) -#define KC_CTES CTL_T(KC_ESC) -#define KC_RSUP RSFT_T(KC_UP) -#define KC_FNDN LT(_FL, KC_DOWN) -#define KC_RGLT RCMD_T(KC_LEFT) -#define KC_RCRT RCTL_T(KC_RIGHT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_aek_103( - 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_CTES, KC_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_RSUP, - MO(_FL), KC_LALT, KC_LGUI, KC_SPC, KC_RGLT, KC_FNDN, KC_RCRT - ), - [_FL] = LAYOUT_aek_103( - 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_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/alps64/keymaps/dbroqua/keymap.c b/keyboards/alps64/keymaps/dbroqua/keymap.c deleted file mode 100644 index 92fcf1a192a0..000000000000 --- a/keyboards/alps64/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright 2020 Damien Broqua - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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: qwerty - * ,-----------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl |LGUI | LAlt | Space | RAlt | FN | RCtrl | - * `-----------------------------------------------------------------------------------------' - */ - [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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _______, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(1), KC_RCTL - ), - - /* FN Layer (Based on Poker 3 FN layout) - * ,-----------------------------------------------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Calc| PgUp| Up | PgDn|PrtSc|Scrlk|Pause| | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | Home| Left| Down|Right| Ins | Del | | - * |-----------------------------------------------------------------------------------------+ - * | | App | | | | | End | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, _______, - _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/alps64/keymaps/mechmerlin/keymap.c b/keyboards/alps64/keymaps/mechmerlin/keymap.c deleted file mode 100644 index 9b6d1cd71711..000000000000 --- a/keyboards/alps64/keymaps/mechmerlin/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H -#include "mechmerlin.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty */ - [_BL] = LAYOUT_infinity( - 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_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_CTCP, KC_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, TG(_AL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FL), KC_RALT, KC_RGUI, KC_RCTL), - - [_FL] = LAYOUT_infinity( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [_AL] = LAYOUT_infinity( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT_T(KC_UP), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT), -}; diff --git a/keyboards/alps64/keymaps/mechmerlin/readme.md b/keyboards/alps64/keymaps/mechmerlin/readme.md deleted file mode 100644 index 896e7ec3cb6b..000000000000 --- a/keyboards/alps64/keymaps/mechmerlin/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# MechMerlin Alps64 Infinity Keymap - -This is the 60% infinity layout used by u/merlin36, host of the [MechMerlin](www.youtube.com/mechmerlin) -YouTube channel. - -## Keymap Notes -- `Caps Lock` can be held to act as a `Left Control` - -### Build -To build the firmware file associated with this keymap, simply run `make alps64:mechmerlin`. diff --git a/keyboards/alps64/keymaps/zyber/keymap.c b/keyboards/alps64/keymaps/zyber/keymap.c deleted file mode 100644 index 5d7cf1a64de3..000000000000 --- a/keyboards/alps64/keymaps/zyber/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 ZyBeR (@ZyberSE) -// SPDX-License-Identifier: GPL-2.0 - -#include "zyber.h" - -enum keyboard_layers { - _BL = 0, - _FL -}; - -// Custom #defined keycodes (shorter macros for readability) -#define KC_CTES CTL_T(KC_ESC) -#define KC_RSUP RSFT_T(KC_UP) -#define KC_FNDN LT(_FL, KC_DOWN) -#define KC_RGLT RCMD_T(KC_LEFT) -#define KC_RCRT RCTL_T(KC_RIGHT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_aek_103( - 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, TD(LBRC), KC_RBRC, KC_BSLS, - CTRL_C_UP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN), TD(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_RSUP, - MO(_FL), KC_LALT, KC_LGUI, KC_SPC, KC_RGLT, KC_FNDN, KC_RCRT - ), - [_FL] = LAYOUT_aek_103( - 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_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, QK_BOOT, _______, _______, _______ - ) -}; diff --git a/keyboards/amag23/config.h b/keyboards/amag23/config.h index 34e622bfb333..cdad6969cbc8 100644 --- a/keyboards/amag23/config.h +++ b/keyboards/amag23/config.h @@ -15,22 +15,6 @@ */ #pragma once -#define RGBLED_NUM 7 -#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 - -#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 9ee25d06d8b7..fd8aa85bbb66 100644 --- a/keyboards/amag23/info.json +++ b/keyboards/amag23/info.json @@ -8,6 +8,23 @@ "pid": "0x2323", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/amag23/keymaps/qwert/keymap.c b/keyboards/amag23/keymaps/qwert/keymap.c deleted file mode 100644 index 0b29c460729a..000000000000 --- a/keyboards/amag23/keymaps/qwert/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2021 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - BASE, - FN1 -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( /* Base Layer */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, - MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_SPC - ), - [FN1] = LAYOUT( /* Function Layer */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, - _______, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, _______, - _______, _______, RGB_VAD, RGB_RMOD,RGB_HUD, _______, - _______, _______, _______, _______, _______ - ), -}; -// clang-format on - diff --git a/keyboards/amag23/keymaps/qwert/readme.md b/keyboards/amag23/keymaps/qwert/readme.md deleted file mode 100644 index c3a7df467d81..000000000000 --- a/keyboards/amag23/keymaps/qwert/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# QWERT Keymap for Koolertron AMAG23 - -## Additional Notes -QWERT keymap, based on the left hand of an ortholinear layout. - -## Keymap - -![AMAG23 QWERT Layout](https://i.imgur.com/fiDUo77.png) - -## Build - -To build the factory keymap, simply run: - - make amag23:qwert diff --git a/keyboards/amjkeyboard/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h index 9ec9dcbbebee..b9449c4714bf 100755 --- a/keyboards/amjkeyboard/amj40/config.h +++ b/keyboards/amjkeyboard/amj40/config.h @@ -22,24 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Underlight configuration - */ - -#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 -#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 * These options are also useful to firmware size reduction. diff --git a/keyboards/amjkeyboard/amj40/info.json b/keyboards/amjkeyboard/amj40/info.json index a3bbb13785e8..dca520375abd 100644 --- a/keyboards/amjkeyboard/amj40/info.json +++ b/keyboards/amjkeyboard/amj40/info.json @@ -17,6 +17,22 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c deleted file mode 100755 index f810ffc55342..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/fabian/keymap.c +++ /dev/null @@ -1,224 +0,0 @@ -/* Copyright 2015-2017 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 - -// Set the custom keymap -#undef LAYOUT -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k39, k3a, k3b \ -) { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b}, \ - {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \ - {k30, k31, k32, k33, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \ -} - -extern keymap_config_t keymap_config; - -enum custom_layers { - _QWERTY, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - BACKLIT, - EXT_PLV -}; - -#define CTL_ESC CTL_T(KC_ESC) // Tap for Escape, hold for Control -#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift) -#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift) -#define SFT_BSP SFT_T(KC_BSPC) // Tap for Backspace, hold for Shift -#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift -#define SFT_SPC SFT_T(KC_SPC) // Tap for Space, hold for Shift -#define UMLAUT RALT(KC_U) // Combine Alt and U - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Meh | Alt | GUI | Lower and Space | Raise | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - SFT_BSP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, - KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LT(_LOWER, KC_SPC), RAISE, KC_RGUI, KC_RALT, KC_RCTL -), - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Meh | Alt | GUI | Lower and Space | Raise | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT( - HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - SFT_BSP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, - KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LT(_LOWER, KC_SPC), RAISE, KC_RGUI, KC_RALT, KC_RCTL -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Meh | Alt | GUI | Lower and Space | Raise | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT( - HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, - CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - SFT_BSP, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, - KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LT(_LOWER, KC_SPC), RAISE, KC_RGUI, KC_RALT, KC_RCTL -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | MS L | MS D |MS U | MS R |MS Btn| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_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_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, - _______, _______, _______, _______, _______, _______, 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 | Left | Down | Up | Rght |MS_BN2| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BTN2, - _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | Reset| | | | | | | | | Reset| Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_DEL, - _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ -) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case BACKLIT: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - return false; - break; - } - return true; -} diff --git a/keyboards/amjkeyboard/amj40/keymaps/fabian/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/fabian/rules.mk deleted file mode 100644 index 59a2cb09a859..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/fabian/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/config.h b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/config.h deleted file mode 100644 index 73118332013c..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/config.h +++ /dev/null @@ -1 +0,0 @@ -#define PERMISSIVE_HOLD diff --git a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c deleted file mode 100755 index 87217f43610b..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Default Layer - [0] = LAYOUT( - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT(2, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(2, KC_ENT), - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), - KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), LT(1, KC_SPC), KC_RALT, MO(3), KC_RCTL - ), - - // Number Layer - [1] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TRNS, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, MT(MOD_RSFT, KC_BSLS), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - // Shifted Layer - [2] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - KC_TRNS, KC_UNDS, KC_PLUS, KC_COLN, KC_DQUO, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - // Fkey Layer - [3] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, - KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, TG(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - // Gaming Layer - [4] = LAYOUT( - KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, - KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/readme.md b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/readme.md deleted file mode 100755 index 64ae16c7eb8b..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/readme.md +++ /dev/null @@ -1,55 +0,0 @@ -Jetpacktuxedo's AMJ40 layout -===================== - -This is based heavily on my minivan layout, with most difference stemming from the different widths between the minivan and the AMJ40. ![Image of my specific layout](https://i.imgur.com/B9XraJY.jpg) - -## Base Layer (0) - -The base layer is pretty simple, straight qwerty layout where available. Both spacebars go to layer 1 when held. `tab` is `tab` when pressed and `fn2` when held, `enter` is the same. `GESC` is `esc` when used alone, but `~` when shifted. `/` is `/` when tapped but `rshift` when held. -``` -|GESC| Q | W | E | R | T | Y | U | I | O | P |BSPC| -| TAB | A | S | D | F | G | H | J | K | L | ENTER | -|LSHIFT | Z | X | C | V | B | N | M | , | . | / | -|LCTRL|LWIN|LALT | SPACE | SPACE |RALT |FN 3|RCTRL | -``` - -## Number Layer (1) - -Numbers are set up just like on my minivan layout, but symbols are a bit different because the AMJ40 is one key narrower than the minivan and also lacks dedicated arrows. Decided to go with `hjkl` arrows, which takes some getting used to. `;` is on a layer now because of the narrowness I mentioned before, and it (along with `-`, `=`, and `'`) moves to the right hand to leave room for the `hjkl` arrows. `delete` on `backspace`, `[` and `]` on `<` and `>`, and `\` on `/` are all stolen straight from my minivan layout. -``` -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |DEL | -| | - | = | ; | ' | | ← | ↓ | ↑ | → | | -| | | | | | | | | [ | ] | \ | -| | | | | | | | | -``` - -## Shifted Layer (2) - -I don't want to be using two key combos constantly, so I also added this symbol layer that is basically shift+numeric layer. Also has nav keys on top of where arrows sit on the previous layer -``` -| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |DEL | -| | _ | + | : | " | |HOME|PGDN|PGUP|END | | -| | | | | | | | | { | } | | | -| | | | | | | | | -``` - -## Fkey Layer (3) - -Honestly, I use this more for jumping to my gaming layer and for reset than I use it for Fkeys. Lol. Hitting the left windows key while in this layer locks the gaming layer listed below -``` -| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |RSET| -| |F11 |F12 | | | | | | | | | -| | | | | | | | | | | | -| |FN 4| | | | | | | -``` - -## "Gaming" Layer (4) - -Based on the "gaming" layer on my minivan that I mostly just use for mouse keys. To toggle this back off you hit the right windows key (to go to layer 3) and then the left windows key again. -``` -|ESC | | | | | |MWUP|MLCK|M UP|MRCK| | | -| TAB | | | | | |MWDN|M L |M DN|M R | | -| | | | | | | | | | | | -| | | | SPACE | | | | | -``` - diff --git a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/rules.mk deleted file mode 100644 index 780d48a438a8..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/jetpacktuxedo/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. It uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/config.h b/keyboards/amjkeyboard/amj40/keymaps/myee/config.h deleted file mode 100644 index 8e6c4dfa4305..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/myee/config.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H -#include "../../config.h" - -#define TAPPING_TERM 25 -#define RETRO_TAPPING -#define PERMISSIVE_HOLD - - -#endif \ No newline at end of file diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c deleted file mode 100644 index a39e2af96907..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/myee/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ - - - -#include QMK_KEYBOARD_H - -// Keymap myee -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 3 - -#define LOW_SPC LT(_LOWER, KC_SPC) -#define RSE_SPC LT(_RAISE, KC_SPC) -#define ADJ_TAB LT(ADJUST, KC_TAB) - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - ADJ_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCTL, KC_LGUI,KC_LALT, LOW_SPC, RSE_SPC, KC_RGUI,KC_RALT, KC_RCTL - ), - - [_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_UP, KC_MINS, KC_EQL, KC_DEL, - _______, _______, KC_ASTR, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQUO, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSLS, - _______, _______, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT( - KC_GRV, KC_LPRN, KC_RPRN, KC_DQUO, KC_QUOT, KC_SCLN, KC_COLON,KC_UNDS, KC_PLUS, _______, _______, KC_BSPC, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, BL_UP, BL_DOWN - ), - - [_ADJUST] = LAYOUT( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_SYSTEM_SLEEP, _______, _______, _______, _______, _______, _______, _______ - ), - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - switch (keycode) { - - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/readme.md b/keyboards/amjkeyboard/amj40/keymaps/myee/readme.md deleted file mode 100644 index 2659292ae54f..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/myee/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -AMJ40 Default Layout -===================== - -##Quantum MK Firmware -For the full Quantum feature list, see the parent readme.md. - -# Features -* Based on a combination of the original AMJ40 keymap from the TMK firmware as well as the Planck Ortholinear keyboard's "Lower," "Raise," and "Adjust" layers. -* View the keymap.c file to understand they layout of the keymap. -* Has keys to toggle both the switch LEDs and underglow LEDs. - diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/myee/rules.mk deleted file mode 100644 index b8cc8b42c7bb..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/myee/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/amjkeyboard/amj40/keymaps/myee/updatemerge.sh b/keyboards/amjkeyboard/amj40/keymaps/myee/updatemerge.sh deleted file mode 100644 index da5457e19531..000000000000 --- a/keyboards/amjkeyboard/amj40/keymaps/myee/updatemerge.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -git checkout amj60 # gets you on branch amj60 -git fetch origin # gets you up to date with origin -git merge origin/master diff --git a/keyboards/amjkeyboard/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h index c94d803db5fe..b9449c4714bf 100644 --- a/keyboards/amjkeyboard/amj60/config.h +++ b/keyboards/amjkeyboard/amj60/config.h @@ -17,22 +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 -# 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 - /* 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/amjkeyboard/amj60/info.json b/keyboards/amjkeyboard/amj60/info.json index 236db9bd0831..7c626b5a5f32 100644 --- a/keyboards/amjkeyboard/amj60/info.json +++ b/keyboards/amjkeyboard/amj60/info.json @@ -18,6 +18,22 @@ "levels": 4, "breathing": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/amjkeyboard/amj66/info.json b/keyboards/amjkeyboard/amj66/info.json index a28b91d7c60c..07a170a3f6ac 100644 --- a/keyboards/amjkeyboard/amj66/info.json +++ b/keyboards/amjkeyboard/amj66/info.json @@ -14,6 +14,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D4", "breathing": true }, diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json index 0b4d614c6eb3..85832229a33a 100644 --- a/keyboards/amjkeyboard/amj84/info.json +++ b/keyboards/amjkeyboard/amj84/info.json @@ -23,6 +23,7 @@ "layout_aliases": { "LAYOUT": "LAYOUT_all" }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -40,6 +41,7 @@ {"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}, @@ -110,7 +112,98 @@ {"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_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}, {"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, 9], "x": 10, "y": 5}, {"matrix": [5, 10], "x": 11, "y": 5}, {"matrix": [5, 11], "x": 12, "y": 5}, @@ -211,6 +304,100 @@ {"matrix": [5, 14], "x": 15, "y": 5} ] }, + "LAYOUT_75_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}, + {"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, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, "LAYOUT_75_iso_rwkl": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c index c6a4747a831c..1bc603a79180 100644 --- a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c @@ -3,51 +3,55 @@ #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|Home |Del| - * |------------------------------------------------------------|---| - * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |PgU| - * |------------------------------------------------------------|---| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgD| - * |------------------------------------------------------------|---| - * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |Ins| - * |------------------------------------------------------------|---| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |Fn0| - * |------------------------------------------------------------|---| - * |Ctrl|Win |Alt | Space |END|Alt |Ctrl|Left |Down|Rig| - * `----------------------------------------------------------------' + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ + * │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 │ ; │ ' │ │Ent │Ins│ + * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───┾───â”Ī + * │Sft │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Up │Fn │ + * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮──â”ī──┮───┾───┾───â”Ī + * │Ctrl│GUI │Alt │Space │Alt │Ctrl │Lft│Dwn│Rig│ + * └────â”ī────â”ī────â”ī────────────────────────â”ī─────â”ī─────â”ī───â”ī───â”ī───┘ */ [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, - KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NO, KC_ENT, KC_INS, - 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, MO(1), - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_END, KC_NO, KC_RALT,KC_RCTL,KC_LEFT,KC_DOWN,KC_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_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_NO, KC_ENT, KC_INS, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* Keymap 1: Fn Layer - * ,-----------------------------------------------------------. - * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | - * |-----------------------------------------------------------| - * | | |Up | | | |Cal| |Ins| |Psc|Slk|Pau| | - * |-----------------------------------------------------------| - * | |Lef|Dow|Rig| | | | | | |Hom|PgU| | - * |-----------------------------------------------------------| - * | | |App| | | |VoD|VoU|Mut|End|PgD| | | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”ī───┾───â”Ī + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + * │ │ │Up │ │ │ │Cal│ │Ins│ │PSc│SLk│Pau│ │ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮────┾───â”Ī + * │BBrtg │Lft│Dwn│Rgh│ │ │ │ │ │ │Hm │PgU│ │ │ │ + * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───┾───â”Ī + * │BStp│ │ │App│ │ │ │Vl-│Vl+│Mut│End│PgD│ │ │ │ + * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮──â”ī──┮───┾───┾───â”Ī + * │Slp │ │ │ │ │ │ │ │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī─────â”ī─────â”ī───â”ī───â”ī───┘ */ [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, - BL_BRTG,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_PGUP,KC_TRNS,KC_TRNS,KC_TRNS, - BL_STEP,KC_NO, KC_TRNS,KC_APP, KC_TRNS,KC_TRNS,KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,KC_TRNS, - KC_SLEP,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, 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_NO, _______, KC_APP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/amjkeyboard/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h index 5060c17f3f30..b16c84d50eb4 100644 --- a/keyboards/amjkeyboard/amj96/config.h +++ b/keyboards/amjkeyboard/amj96/config.h @@ -36,22 +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 -# 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 - /* 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/amjkeyboard/amj96/info.json b/keyboards/amjkeyboard/amj96/info.json index 23bfedd721f9..973e6b337598 100644 --- a/keyboards/amjkeyboard/amj96/info.json +++ b/keyboards/amjkeyboard/amj96/info.json @@ -8,6 +8,21 @@ "pid": "0x6074", "device_version": "0.0.2" }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/amjkeyboard/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h index ecd9f99ed95e..b9449c4714bf 100644 --- a/keyboards/amjkeyboard/amjpad/config.h +++ b/keyboards/amjkeyboard/amjpad/config.h @@ -22,25 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Underlight configuration - */ - -#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 - -#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 d5e1b042f40f..fbaa2499d623 100644 --- a/keyboards/amjkeyboard/amjpad/info.json +++ b/keyboards/amjkeyboard/amjpad/info.json @@ -17,6 +17,22 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c b/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c deleted file mode 100644 index 8b6fd4da5163..000000000000 --- a/keyboards/amjkeyboard/amjpad/keymaps/max/keymap.c +++ /dev/null @@ -1,63 +0,0 @@ -#include QMK_KEYBOARD_H - -#ifdef RGBLIGHT_ENABLE -#include "rgblight.h" -#endif - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------. - * |Esc |Setp| - | = | - * |----|----|----|----| - * | F1 | F2 | F3 | F4 | - * |----|----|----|----| - * | 7 | 8 | 9 | - | - * |----|----|----|----| - * | 4 | 5 | 6 | LF | - * |----|----|----|----| - * | 1 | 2 | 3 | \ | - * |----|----|----|----| - * |Left|Down| Up |Rght| - * `-------------------' - */ - - [_BL] = LAYOUT_ortho_6x4( - KC_ESC, KC_TAB, KC_MINS,KC_EQL, - KC_F1, KC_F2, KC_F3, KC_F4, - KC_P7, KC_P8, KC_P9, KC_PMNS, - KC_P4, KC_P5, KC_P6, KC_PENT, - KC_P1, KC_P2, KC_P3, KC_BSLS, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - - /* Keymap _FL: Function Layer - * ,-------------------. - * |Esc |TAB |BS | = | - * |----|----|----|----| - * | NL | / | * | - | - * |----|----|----|----| - * | 7 | 8 | 9 | | - * |----|----|----|RST | - * | 4 | 5 | 6 | | - * |----|----|----|----| - * | 1 | 2 | 3 | | - * |----|----|----| En | - * | 0 |./FN| | - * `-------------------' - */ - [_FL] = LAYOUT_ortho_6x4( - KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, QK_BOOT, - KC_P4, KC_P5, KC_P6, KC_PENT, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), -}; diff --git a/keyboards/an_achronism/tetromino/info.json b/keyboards/an_achronism/tetromino/info.json index 6ff31fe1f409..8087c6489c44 100644 --- a/keyboards/an_achronism/tetromino/info.json +++ b/keyboards/an_achronism/tetromino/info.json @@ -110,7 +110,7 @@ "led_count": 70 }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, diff --git a/keyboards/an_achronism/tetromino/keymaps/indicators/config.h b/keyboards/an_achronism/tetromino/keymaps/indicators/config.h deleted file mode 100644 index f117063fb1a5..000000000000 --- a/keyboards/an_achronism/tetromino/keymaps/indicators/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2022 an_achronism (@an-achronism) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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_TRIGGER_ON_KEYDOWN - -/* 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/an_achronism/tetromino/keymaps/indicators/keymap.c b/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c deleted file mode 100644 index 17d838608953..000000000000 --- a/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c +++ /dev/null @@ -1,125 +0,0 @@ -/* -Copyright 2022 an_achronism (@an-achronism) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Del│ - * ├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī - * │Tab| Q │ W │ E | R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bsp│ - * ├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī - * │Ctl│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │UK#│Rtn| - * ├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī - * │Sft│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Sft│ ↑ │App| - * ├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī - * │Esc│Ctl│Alt│GUI│L_1│Spc│L_2|GUI│Alt│Ctl|UK\│ ← │ ↓ │ → │ - * └───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - [0] = LAYOUT_ortho_5x14( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, RSFT_T(KC_APP), - KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_RGUI, KC_RALT, KC_RCTL, KC_NUBS, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_ortho_5x14( - KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PEQL, _______, _______, _______, KC_PWR, - _______, _______, KC_UP, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_PAUS, KC_ESC, _______, KC_SLEP, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_CALC, - KC_CAPS, _______, _______, _______, _______, KC_PAUS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, KC_CAPS, _______, _______, - _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_ortho_5x14( - _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, - _______, KC_F4, KC_F3, KC_F2, KC_F1, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, C(KC_BRK), KC_ESC, _______, _______, - _______, KC_F8, KC_F7, KC_F6, KC_F5, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MPRV, KC_MNXT, KC_MPLY, - KC_CAPS, KC_F12, KC_F11, KC_F10, KC_F9, C(KC_BRK),_______, _______, _______, _______, _______, KC_CAPS, _______, KC_PSCR, - _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_ortho_5x14( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -// Initialise RBG matrix with all LEDs set to solid colour and zero HSV (i.e. off): -void keyboard_post_init_user(void) { - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_OFF); -}; - -// Custom RGB indicator behaviour: -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - uint8_t led_processed_count = 0; - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - for (uint8_t col = 0; col < MATRIX_COLS; ++col) { - if (led_processed_count == RGB_MATRIX_LED_PROCESS_LIMIT){ - return; - } - uint8_t led_index = g_led_config.matrix_co[row][col]; - uint16_t keycode = keymap_key_to_keycode(0, (keypos_t){col,row}); - if (led_index >= led_min && led_index <= led_max && led_index != NO_LED) { - // Light base layer arrow keys orange if Scroll Lock is on, otherwise light them magenta: - led_processed_count++; - if (keycode >= KC_RIGHT && keycode <= KC_UP) { - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(led_index, RGB_ORANGE); - } else { - rgb_matrix_set_color(led_index, RGB_MAGENTA); - } - } - // Light alpha keys (A-Z only) red if Caps Lock is on: - if (host_keyboard_led_state().caps_lock && keycode >= KC_A && keycode <= KC_Z) { - rgb_matrix_set_color(led_index, RGB_RED); - } - // Whenever a layer above base is active, recolour only the keys that are different on that layer: - if (get_highest_layer(layer_state) > 0) { - uint8_t layer = get_highest_layer(layer_state); - uint16_t momentary_keycode = keymap_key_to_keycode(layer, (keypos_t){col,row}); - if (momentary_keycode > KC_TRNS) { - switch(layer) { - case 2: - // The uppermost layer is blue: - rgb_matrix_set_color(led_index, RGB_BLUE); - break; - case 1: - // The middle layer is green, except that the numpad section turns - // orange when Num Lock is on: - if (host_keyboard_led_state().num_lock && - (momentary_keycode == KC_KP_EQUAL || - (momentary_keycode >= KC_NUM_LOCK && momentary_keycode <= KC_KP_DOT) - )) { - rgb_matrix_set_color(led_index, RGB_ORANGE); - } else { - rgb_matrix_set_color(led_index, RGB_GREEN); - } - break; - default: - break; - } - } - } - } - } - } - return false; -} diff --git a/keyboards/anavi/arrows/arrows.c b/keyboards/anavi/arrows/arrows.c new file mode 100644 index 000000000000..6ecc8745f872 --- /dev/null +++ b/keyboards/anavi/arrows/arrows.c @@ -0,0 +1,38 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef OLED_ENABLE + +bool oled_task_kb(void) { + + if (!oled_task_user()) { + return false; + } + + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("ANAVI Arrows"), false); + oled_write_ln_P(PSTR("Keymap: Default"), false); + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("Num Lock: "), false); + oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Caps Lock: "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Scroll Lock: "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); +# ifdef RGBLIGHT_ENABLE + oled_write_P(PSTR("RGB Mode: "), false); + oled_write_ln(get_u8_str(rgblight_get_mode(), ' '), false); + oled_write_P(PSTR("h: "), false); + oled_write(get_u8_str(rgblight_get_hue(), ' '), false); + oled_write_P(PSTR("s: "), false); + oled_write(get_u8_str(rgblight_get_sat(), ' '), false); + oled_write_P(PSTR("v: "), false); + oled_write_ln(get_u8_str(rgblight_get_val(), ' '), false); +# endif + return false; +} +#endif diff --git a/keyboards/anavi/arrows/config.h b/keyboards/anavi/arrows/config.h new file mode 100644 index 000000000000..02e7781e5707 --- /dev/null +++ b/keyboards/anavi/arrows/config.h @@ -0,0 +1,25 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + +/* Double tap reset button to enter bootloader */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#ifdef BACKLIGHT_ENABLE +# define BACKLIGHT_PWM_DRIVER PWMD5 +# define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#endif + +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X64 +# define OLED_TIMEOUT 60000 +# define OLED_BRIGHTNESS 128 +#endif diff --git a/keyboards/anavi/arrows/halconf.h b/keyboards/anavi/arrows/halconf.h new file mode 100644 index 000000000000..8a17a5c1676b --- /dev/null +++ b/keyboards/anavi/arrows/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/anavi/arrows/info.json b/keyboards/anavi/arrows/info.json new file mode 100644 index 000000000000..bdda15695acf --- /dev/null +++ b/keyboards/anavi/arrows/info.json @@ -0,0 +1,68 @@ +{ + "keyboard_name": "arrows", + "manufacturer": "ANAVI", + "url": "https://github.com/AnaviTechnology/anavi-arrows", + "maintainer": "leon-anavi", + "processor": "RP2040", + "bootloader": "rp2040", + "matrix_pins": { + "direct": [ + ["GP4", "GP0", "GP27", "GP28", "GP29"] + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "backlight": true, + "oled": true, + "encoder": true + }, + "rgblight": { + "led_count": 4, + "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": "GP3", + "driver": "vendor" + }, + "backlight": { + "pin": "GP26" + }, + "encoder": { + "rotary": [ + {"pin_a": "GP1", "pin_b": "GP2", "resolution": 2} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 0, "y": 2}, + {"matrix": [0, 3], "x": 1, "y": 2}, + {"matrix": [0, 4], "x": 2, "y": 2} + ] + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x9A25", + "vid": "0xFEED" + } +} diff --git a/keyboards/anavi/arrows/keymaps/default/keymap.c b/keyboards/anavi/arrows/keymaps/default/keymap.c new file mode 100644 index 000000000000..59ff1d5cf9c1 --- /dev/null +++ b/keyboards/anavi/arrows/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_MUTE, + KC_UP, + KC_RIGHT, KC_DOWN, KC_LEFT) +}; + +const uint16_t PROGMEM backlight_combo[] = {KC_UP, KC_DOWN, COMBO_END}; +combo_t key_combos[] = { + COMBO(backlight_combo, BL_STEP) +}; diff --git a/keyboards/anavi/arrows/keymaps/default/rules.mk b/keyboards/anavi/arrows/keymaps/default/rules.mk new file mode 100644 index 000000000000..2553d273cad6 --- /dev/null +++ b/keyboards/anavi/arrows/keymaps/default/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes # Enables combo keys diff --git a/keyboards/anavi/arrows/mcuconf.h b/keyboards/anavi/arrows/mcuconf.h new file mode 100644 index 000000000000..23519c8977cb --- /dev/null +++ b/keyboards/anavi/arrows/mcuconf.h @@ -0,0 +1,15 @@ +// Copyright 2023 Leon Anavi (@leon-anavi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 FALSE + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE + +#undef RP_PWM_USE_PWM5 +#define RP_PWM_USE_PWM5 TRUE diff --git a/keyboards/anavi/arrows/readme.md b/keyboards/anavi/arrows/readme.md new file mode 100644 index 000000000000..a4535627966c --- /dev/null +++ b/keyboards/anavi/arrows/readme.md @@ -0,0 +1,21 @@ +# ANAVI Arrows + +ANAVI Arrows is a compact inverted T mechanical keyboard with hot-swappable Cherry MX compatible mechanical switches, translucent keycaps, rotary encoder, USB-C, RP2040 microcontroller, backlighting and under lighting. + +* Keyboard Maintainer: [Leon Anavi](https://github.com/leon-anavi) +* Hardware Supported: ANAVI Arrows +* Hardware Availability: [Crowd Supply](https://www.crowdsupply.com/anavi-technology/anavi-macro-pad-12-and-arrows), [GitHub repository](https://github.com/AnaviTechnology/anavi-arrows) + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb anavi/arrows -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key on the left half, or top right key on the right half, and then plug in the USB cable on that keyboard half. +* **Physical reset button**: Double tap the reset button on the XIAO RP2040. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/anavi/arrows/rules.mk b/keyboards/anavi/arrows/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/anavi/arrows/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/anavi/knob1/rules.mk b/keyboards/anavi/knob1/rules.mk index c3600290d9f1..dd68e9d3b090 100644 --- a/keyboards/anavi/knob1/rules.mk +++ b/keyboards/anavi/knob1/rules.mk @@ -1,4 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C - -OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/anavi/knobs3/rules.mk b/keyboards/anavi/knobs3/rules.mk index c3600290d9f1..dd68e9d3b090 100644 --- a/keyboards/anavi/knobs3/rules.mk +++ b/keyboards/anavi/knobs3/rules.mk @@ -1,4 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C - -OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/anavi/macropad12/config.h b/keyboards/anavi/macropad12/config.h new file mode 100644 index 000000000000..02e7781e5707 --- /dev/null +++ b/keyboards/anavi/macropad12/config.h @@ -0,0 +1,25 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + +/* Double tap reset button to enter bootloader */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#ifdef BACKLIGHT_ENABLE +# define BACKLIGHT_PWM_DRIVER PWMD5 +# define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#endif + +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X64 +# define OLED_TIMEOUT 60000 +# define OLED_BRIGHTNESS 128 +#endif diff --git a/keyboards/anavi/macropad12/halconf.h b/keyboards/anavi/macropad12/halconf.h new file mode 100644 index 000000000000..8a17a5c1676b --- /dev/null +++ b/keyboards/anavi/macropad12/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/anavi/macropad12/info.json b/keyboards/anavi/macropad12/info.json new file mode 100644 index 000000000000..f0f6d6ca60ad --- /dev/null +++ b/keyboards/anavi/macropad12/info.json @@ -0,0 +1,72 @@ +{ + "keyboard_name": "Macro Pad 12", + "manufacturer": "ANAVI", + "url": "https://github.com/AnaviTechnology/anavi-macro-pad-12", + "maintainer": "leon-anavi", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP0", "GP2", "GP4"], + "rows": ["GP27", "GP28", "GP29", "GP1"] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "backlight": true, + "oled": true + }, + "rgblight": { + "led_count": 6, + "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": "GP3", + "driver": "vendor" + }, + "backlight": { + "pin": "GP26" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_4x3" + }, + "layouts": { + "LAYOUT_ortho_4x3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3} + ] + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x9A25", + "vid": "0xFEED" + } +} diff --git a/keyboards/anavi/macropad12/keymaps/default/keymap.c b/keyboards/anavi/macropad12/keymaps/default/keymap.c new file mode 100644 index 000000000000..e74b20d9bad4 --- /dev/null +++ b/keyboards/anavi/macropad12/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_4x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, KC_9, + BL_STEP, RGB_MOD, RGB_TOG + ) +}; diff --git a/keyboards/anavi/macropad12/macropad12.c b/keyboards/anavi/macropad12/macropad12.c new file mode 100644 index 000000000000..de371dd988af --- /dev/null +++ b/keyboards/anavi/macropad12/macropad12.c @@ -0,0 +1,38 @@ +// Copyright 2023 Leon Anavi +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef OLED_ENABLE + +bool oled_task_kb(void) { + + if (!oled_task_user()) { + return false; + } + + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("ANAVI Macro Pad 12"), false); + oled_write_ln_P(PSTR("Keymap: Default"), false); + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("Num Lock: "), false); + oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Caps Lock: "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Scroll Lock: "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); +# ifdef RGBLIGHT_ENABLE + oled_write_P(PSTR("RGB Mode: "), false); + oled_write_ln(get_u8_str(rgblight_get_mode(), ' '), false); + oled_write_P(PSTR("h: "), false); + oled_write(get_u8_str(rgblight_get_hue(), ' '), false); + oled_write_P(PSTR("s: "), false); + oled_write(get_u8_str(rgblight_get_sat(), ' '), false); + oled_write_P(PSTR("v: "), false); + oled_write_ln(get_u8_str(rgblight_get_val(), ' '), false); +# endif + return false; +} +#endif diff --git a/keyboards/anavi/macropad12/mcuconf.h b/keyboards/anavi/macropad12/mcuconf.h new file mode 100644 index 000000000000..23519c8977cb --- /dev/null +++ b/keyboards/anavi/macropad12/mcuconf.h @@ -0,0 +1,15 @@ +// Copyright 2023 Leon Anavi (@leon-anavi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 FALSE + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE + +#undef RP_PWM_USE_PWM5 +#define RP_PWM_USE_PWM5 TRUE diff --git a/keyboards/anavi/macropad12/readme.md b/keyboards/anavi/macropad12/readme.md new file mode 100644 index 000000000000..d926aa8eb053 --- /dev/null +++ b/keyboards/anavi/macropad12/readme.md @@ -0,0 +1,21 @@ +# ANAVI Macro Pad 12 + +ANAVI Macro Pad 12 is a compact mechanical keyboard with hot-swappable Cherry MX compatible mechanical switches, translucent keycaps, USB-C, RP2040 microcontroller, backlighting and under lighting. + +* Keyboard Maintainer: [Leon Anavi](https://github.com/leon-anavi) +* Hardware Supported: ANAVI Macro Pad 12 +* Hardware Availability: [Crowd Supply](https://www.crowdsupply.com/anavi-technology/anavi-macro-pad-12-and-arrows), [GitHub repository](https://github.com/AnaviTechnology/anavi-macro-pad-12) + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb anavi/macropad12 -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key on the left half, or top right key on the right half, and then plug in the USB cable on that keyboard half. +* **Physical reset button**: Double tap the reset button on the XIAO RP2040. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/anavi/macropad12/rules.mk b/keyboards/anavi/macropad12/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/anavi/macropad12/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h index cce2b5bc14f9..f7c7b4b44ca9 100644 --- a/keyboards/anavi/macropad8/config.h +++ b/keyboards/anavi/macropad8/config.h @@ -17,27 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_SLEEP - - -/* ws2812B RGB LED */ -#ifdef RGBLIGHT_ENABLE -# 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 -# define RGBLED_NUM 4 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -#endif - #ifdef OLED_ENABLE # define OLED_DISPLAY_128X64 # define OLED_TIMEOUT 60000 diff --git a/keyboards/anavi/macropad8/info.json b/keyboards/anavi/macropad8/info.json index 1fa276d94e60..63f295069d40 100644 --- a/keyboards/anavi/macropad8/info.json +++ b/keyboards/anavi/macropad8/info.json @@ -9,9 +9,27 @@ "device_version": "0.0.1" }, "backlight": { + "driver": "timer", "pin": "D7", "breathing": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/anavi/macropad8/keymaps/git/config.h b/keyboards/anavi/macropad8/keymaps/git/config.h deleted file mode 100644 index 370eb86ca871..000000000000 --- a/keyboards/anavi/macropad8/keymaps/git/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_ALTERNATING -#undef RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/anavi/macropad8/keymaps/git/keymap.c b/keyboards/anavi/macropad8/keymaps/git/keymap.c deleted file mode 100644 index 9b7afb5d6956..000000000000 --- a/keyboards/anavi/macropad8/keymaps/git/keymap.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 _MAIN 0 -#define _FN 1 - -/* - * This keymap contains the following shortcuts for Git. On the - * first row from left to right: - * - * git status - * git log - * git pull - * git push - * - * On the second row from left to right: - * - * git diff - * git add - * git commit - * FN key to switch to the 2nd layout and control lights - * - */ - -enum custom_keycodes { - GITCOMMIT = SAFE_RANGE, - GITPUSH, - GITPULL, - GITSTATUS, - GITDIFF, - GITLOG, - GITADD -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case GITCOMMIT: - if (record->event.pressed) { - SEND_STRING("git commit -s\n"); - } - break; - case GITPUSH: - if (record->event.pressed) { - SEND_STRING("git push\n"); - } - break; - case GITPULL: - if (record->event.pressed) { - SEND_STRING("git pull\n"); - } - break; - case GITSTATUS: - if (record->event.pressed) { - SEND_STRING("git status\n"); - } - break; - case GITDIFF: - if (record->event.pressed) { - SEND_STRING("git diff "); - } - break; - case GITLOG: - if (record->event.pressed) { - SEND_STRING("git log\n"); - } - break; - case GITADD: - if (record->event.pressed) { - SEND_STRING("git add "); - } - break; - } - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_ortho_2x4( - GITSTATUS, GITLOG, GITPULL, GITPUSH, - GITDIFF, GITADD, GITCOMMIT, MO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, _______ - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Active layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _MAIN: - oled_write_ln_P(PSTR("Git"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/kicad/keymap.c b/keyboards/anavi/macropad8/keymaps/kicad/keymap.c deleted file mode 100644 index e75d588478ca..000000000000 --- a/keyboards/anavi/macropad8/keymaps/kicad/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ - /* Copyright 2020 Leon Anavi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 _SCH 0 -#define _PCB 1 -#define _FN 2 - -#define KC_X0 LT(_FN, KC_ESC) - -#ifdef RGBLIGHT_ENABLE -// How long (in ms) to wait between animation steps for the rainbow mode -const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15}; -// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations -const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; -#endif - -/* - * The keymap contains 2 layers for KiCad hotkeys and a 3rd layer - * for controlling the backlighting and the underlighting. - * - * - Layer for KiCad Schematic hotkeys: - * m - to move selected component - * r - to rotate selected component - * w - to wire components - * v - to edit component value - * F1 - zoom in - * F2 - zoom out - * F4 - zoom center - * - * - Layer for KiCad PCB layout hotkets: - * m - to move selected component - * r - to rotate selected component - * x - to route a new track - * v - to add a via - * F1 - zoom in - * F2 - zoom out - * F4 - zoom center - * - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_SCH] = LAYOUT_ortho_2x4( - KC_M, KC_R, KC_W, KC_V, - KC_F1, KC_F2, KC_F4, TO(_PCB) - ), - - [_PCB] = LAYOUT_ortho_2x4( - KC_M, KC_R, KC_X, KC_V, - KC_F1, KC_F2, KC_F4, TO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, TO(_SCH) - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _SCH: - oled_write_ln_P(PSTR("KiCad Schema"), false); - break; - case _PCB: - oled_write_ln_P(PSTR("KiCad PCB"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN "), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/kodi/keymap.c b/keyboards/anavi/macropad8/keymaps/kodi/keymap.c deleted file mode 100644 index f99a22d72338..000000000000 --- a/keyboards/anavi/macropad8/keymaps/kodi/keymap.c +++ /dev/null @@ -1,81 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _MAIN 0 -#define _FN 1 - -#define KC_X0 LT(_FN, KC_ESC) - -#ifdef RGBLIGHT_ENABLE -// How long (in ms) to wait between animation steps for the rainbow mode -const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15}; -// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations -const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; -#endif - -/** - * Kodi shortcuts: - * - * ESC - Previous menu OR Home screen - * Enter - Select - * X - Stop - * Arrows to move - * - * For details have a look at: - * https://kodi.wiki/view/Keyboard_controls - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_ortho_2x4( - KC_ESC, KC_UP, KC_ENTER, KC_X, - KC_LEFT, KC_DOWN, KC_RIGHT, MO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, _______ - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Active layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _MAIN: - oled_write_ln_P(PSTR("Kodi"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/obs/keymap.c b/keyboards/anavi/macropad8/keymaps/obs/keymap.c deleted file mode 100644 index 1d9fd38eed1a..000000000000 --- a/keyboards/anavi/macropad8/keymaps/obs/keymap.c +++ /dev/null @@ -1,98 +0,0 @@ - /* Copyright 2020 Leon Anavi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 _MAIN 0 -#define _FN 1 - -#define KC_X0 LT(_FN, KC_ESC) - -#ifdef RGBLIGHT_ENABLE -// How long (in ms) to wait between animation steps for the rainbow mode -const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15}; -// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations -const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; -#endif - -/* - * This keymap contains the following shortcuts for OBS: - * - * - Shortcuts useful for switching scenes on the 1st row: - * Hold Left Control, Shift, Alt and GUI and press F9 - * Hold Left Control, Shift, Alt and GUI and press F10 - * Hold Left Control, Shift, Alt and GUI and press F11 - * Hold Left Control, Shift, Alt and GUI and press F12 - * - Center to screen: Ctrl+D - * - Fit to screen: Ctrl+F - * - Move source to top of sources list: Ctrl+Home - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_ortho_2x4( - HYPR(KC_F9), HYPR(KC_F10), HYPR(KC_F11), HYPR(KC_F12), - LCTL(KC_D), LCTL(KC_F), LCTL(KC_HOME), MO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, _______ - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Active layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _MAIN: - oled_write_ln_P(PSTR("OBS"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/vlc/keymap.c b/keyboards/anavi/macropad8/keymaps/vlc/keymap.c deleted file mode 100644 index 3e15a81861de..000000000000 --- a/keyboards/anavi/macropad8/keymaps/vlc/keymap.c +++ /dev/null @@ -1,138 +0,0 @@ - /* Copyright 2021 Marc Nause - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - _PLAY, - _FRAME, - _DVD, - _FN -}; - -#define KC_X0 LT(_FN, KC_ESC) - -#ifdef RGBLIGHT_ENABLE -// How long (in ms) to wait between animation steps for the rainbow mode -const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15}; -// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations -const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; -#endif - -/* - * The keymap contains 3 layers for vlc hotkeys and a 4th layer - * for controlling the backlighting and the underlighting. - * - * See https://wiki.videolan.org/QtHotkeys/ for VLC hotkeys - * - * - Layer for VLC media play hotkeys: - * Space - Play/pause - * P - Previous track - * S - Stop - * N - Next track - * + - Slower - * - - Faster - * = - Normal rate - * - * - Layer for VLC frame control hotkeys: - * Shift + right arrow - Jump 5 seconds forward - * Alt + right arrow - Jump 10 seconds forward - * Control + right arrow - Jump 1 minute forward - * E - Next frame - * Shift + left arrow - Jump 5 seconds back - * Alt + left arrow - Jump 10 seconds back - * Control + left arrow - Jump 1 minute back - * - * - Layer for VLC DVD hotkeys: - * Shift + M - Disc menu - * Arrow up - Navigate menu (up) - * Enter - Select menu entry - * Shift + V - Toggle subtitles - * Arrow left - Navigate menu (left) - * Arrow down - Navigate menu (down) - * Arrow right - Navigate menu (right) - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_PLAY] = LAYOUT_ortho_2x4( - KC_SPC, KC_P, KC_S, KC_N, - KC_KP_PLUS, KC_KP_MINUS, KC_KP_EQUAL, TO(_FRAME) - ), - - [_FRAME] = LAYOUT_ortho_2x4( - LSFT(KC_RIGHT), LALT(KC_RIGHT), LCTL(KC_RIGHT), KC_E, - LSFT(KC_LEFT), LALT(KC_LEFT), LCTL(KC_LEFT), TO(_DVD) - ), - - [_DVD] = LAYOUT_ortho_2x4( - LSFT(KC_M), KC_UP, KC_ENTER, LSFT(KC_V), - KC_LEFT, KC_DOWN, KC_RIGHT, TO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, TO(_PLAY) - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -void oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _PLAY: - oled_write_ln_P(PSTR("VLC Play"), false); - break; - case _FRAME: - oled_write_ln_P(PSTR("VLC Frame"), false); - break; - case _DVD: - oled_write_ln_P(PSTR("VLC DVD"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN "), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/vscode/config.h b/keyboards/anavi/macropad8/keymaps/vscode/config.h deleted file mode 100644 index dd687cad58f3..000000000000 --- a/keyboards/anavi/macropad8/keymaps/vscode/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define LAYER_STATE_8BIT diff --git a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c b/keyboards/anavi/macropad8/keymaps/vscode/keymap.c deleted file mode 100644 index 46d4a7d8b374..000000000000 --- a/keyboards/anavi/macropad8/keymaps/vscode/keymap.c +++ /dev/null @@ -1,227 +0,0 @@ - /* Copyright 2022 Efthimis Iosifidis - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _BASIC, - _BRACKETS, - _SELECTORS, - _FN, -}; - - -#define KC_X0 LT(_FN, KC_ESC) - -static char current_alpha_oled [12] = "None"; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* _BASIC Layer - * ,-------------------------------------. - * | Toggle | Toggle | | | - * | Block | Line | Undo | Search | - * | Comment | Comment | | | - * |---------+---------+--------+---------+ - * | | | | TO | - * | Cut | Copy | Paste | _BASIC | - * | | | | | - * `-------------------------------------' - */ - [_BASIC] = LAYOUT_ortho_2x4( - RCS(KC_A), LCTL(KC_SLASH), LCTL(KC_Z), LCTL(KC_F), - LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), TO(_BRACKETS) - ), -/* _BRACKETS Layer - * ,-----------------------------------------. - * | | | | | - * | ( | [ | { | Bksp | - * | | | | | - * |---------+---------+--------+------------+ - * | | | | TO | - * | Del | Copy | Paste | _SELECTORS | - * | | | | | - * `----------------------------------------' - */ - [_BRACKETS] = LAYOUT_ortho_2x4( - S(KC_9), KC_LBRC, S(KC_LBRC), KC_BACKSPACE, - KC_DEL, C(KC_C), C(KC_V), TO(_SELECTORS) - ), -/* _SELECTORS Layer -* ,-------------------------------------. -* | | | | | -* | Select | Save | Undo | Bksp | -* | All | | | | -* |---------+---------+--------+---------+ -* | | | | TO | -* | Cut | Copy | Paste | _FN | -* | | | | | -* `-------------------------------------' -*/ - [_SELECTORS] = LAYOUT_ortho_2x4( - C(KC_A), C(KC_S), C(KC_Z), KC_BACKSPACE, - C(KC_X), C(KC_C), C(KC_V), TO(_FN) - ), -/* _FN Layer - * ,--------------------------------------------. - * | RGB | RGB | RGB | RGB | - * | Toggle | Mode | Mode | Snake | - * | | Forward | Reverse | Mode | - * |-----------+-----------+-----------+---------+ - * | | Cycle | Toggle | TO | - * | BackLight | BackLight | BackLight | _BASIC | - * | Toggle | Levels | Breathing | | - * `--------------------------------------------' - */ - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, TO(_BASIC) - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - char string [33]; - switch(keycode) - { - //First Layer with Basic Keys - case LCTL(KC_X): - strncpy(current_alpha_oled, "Cut", sizeof(current_alpha_oled)); - break; - case LCTL(KC_F): - strncpy(current_alpha_oled, "Search", sizeof(current_alpha_oled)); - break; - case LCTL(KC_Z): - strncpy(current_alpha_oled, "Undo", sizeof(current_alpha_oled)); - break; - case LCTL(KC_C): - strncpy(current_alpha_oled, "Copy", sizeof(current_alpha_oled)); - break; - case LCTL(KC_V): - strncpy(current_alpha_oled, "Paste", sizeof(current_alpha_oled)); - break; - case RCS(KC_A): - strncpy(current_alpha_oled, "Block cmt.", sizeof(current_alpha_oled)); - break; - case LCTL(KC_SLASH): - strncpy(current_alpha_oled, "Line cmt.", sizeof(current_alpha_oled)); - break; - //Second Layer with Brackets - case S(KC_9): - strncpy(current_alpha_oled, "()", sizeof(current_alpha_oled)); - break; - case KC_LBRC: - strncpy(current_alpha_oled, "[]", sizeof(current_alpha_oled)); - break; - case S(KC_LBRC): - strncpy(current_alpha_oled, "{}", sizeof(current_alpha_oled)); - break; - case KC_BACKSPACE: - strncpy(current_alpha_oled, "Backspace", sizeof(current_alpha_oled)); - break; - case KC_DEL: - strncpy(current_alpha_oled, "Del", sizeof(current_alpha_oled)); - break; - // Selector Layer keys - case C(KC_A): - strncpy(current_alpha_oled, "Select All", sizeof(current_alpha_oled)); - break; - case C(KC_S): - strncpy(current_alpha_oled, "Save", sizeof(current_alpha_oled)); - break; - // FN Layer keys - case RGB_TOG: - strncpy(current_alpha_oled, "RGB Toggle", sizeof(current_alpha_oled)); - break; - case RGB_MOD: - strncpy(current_alpha_oled, "RGB Fwd", sizeof(current_alpha_oled)); - break; - case RGB_M_R: - strncpy(current_alpha_oled, "RGB Rev", sizeof(current_alpha_oled)); - break; - case RGB_MODE_SNAKE: - strncpy(current_alpha_oled, "RGB Snk", sizeof(current_alpha_oled)); - break; - case BL_TOGG: - strncpy(current_alpha_oled, "BkLgt Tog", sizeof(current_alpha_oled)); - break; - case BL_STEP: - strncpy(current_alpha_oled, "BkLgt Lvl", sizeof(current_alpha_oled)); - break; - case BL_BRTG: - strncpy(current_alpha_oled, "BkLgt Brth", sizeof(current_alpha_oled)); - break; - //FN Key keycodes - case TO(_BASIC) ... TO(_FN): - strncpy(current_alpha_oled, "Switcher", sizeof(current_alpha_oled)); - break; - default: - strncpy(current_alpha_oled, itoa(keycode, string, 10), sizeof(current_alpha_oled)); - break; - } - } - return true; -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Active layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _BASIC: - oled_write_ln_P(PSTR("Basic"), false); - break; - case _BRACKETS: - oled_write_ln_P(PSTR("Brkts"), false); - break; - case _SELECTORS: - oled_write_ln_P(PSTR("Selct"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Last Key: "), false); - oled_write_ln(current_alpha_oled, false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/keymaps/zoom/keymap.c b/keyboards/anavi/macropad8/keymaps/zoom/keymap.c deleted file mode 100644 index 965bbec42926..000000000000 --- a/keyboards/anavi/macropad8/keymaps/zoom/keymap.c +++ /dev/null @@ -1,97 +0,0 @@ - /* Copyright 2020 Leon Anavi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 _MAIN 0 -#define _FN 1 - -#define KC_X0 LT(_FN, KC_ESC) - -#ifdef RGBLIGHT_ENABLE -// How long (in ms) to wait between animation steps for the rainbow mode -const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15}; -// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations -const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; -#endif - -/* - * The keymap contains the following shortcuts for Zoom meeting: - * - * Alt+V: Start/stop video - * Alt+A: Mute/unmute my audio - * Alt+M: Mute/unmute audio for everyone except the host - * Alt+S: Start/stop screen sharing - * Alt+R: Start/stop local recording - * Alt+P: Pause/resume recording - * Alt+C: Start/stop cloud recording - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_ortho_2x4( - LALT(KC_V), LALT(KC_A), LALT(KC_M), LALT(KC_S), - LALT(KC_R), LALT(KC_P), LALT(KC_C), MO(_FN) - ), - - [_FN] = LAYOUT_ortho_2x4( - RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, - BL_TOGG, BL_STEP, BL_BRTG, _______ - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); - oled_write_P(PSTR("Active layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _MAIN: - oled_write_ln_P(PSTR("Zoom"), false); - break; - case _FN: - oled_write_ln_P(PSTR("FN"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("N/A"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("Num Lock: "), false); - oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Caps Lock: "), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Scroll Lock: "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); - oled_write_P(PSTR("Backlit: "), false); - oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); -#ifdef RGBLIGHT_ENABLE - static char rgbStatusLine1[26] = {0}; - snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); - oled_write_ln(rgbStatusLine1, false); - static char rgbStatusLine2[26] = {0}; - snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbStatusLine2, false); -#endif - return false; -} -#endif diff --git a/keyboards/anavi/macropad8/rules.mk b/keyboards/anavi/macropad8/rules.mk index f5e38fc8cbcc..63d200481c72 100644 --- a/keyboards/anavi/macropad8/rules.mk +++ b/keyboards/anavi/macropad8/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/annepro2/annepro2_ble.c b/keyboards/annepro2/annepro2_ble.c index 375f551cc23c..a382c61638f0 100644 --- a/keyboards/annepro2/annepro2_ble.c +++ b/keyboards/annepro2/annepro2_ble.c @@ -31,7 +31,7 @@ static void ap2_ble_swtich_ble_driver(void); /* -------------------- Static Local Variables ------------------------------ */ static host_driver_t ap2_ble_driver = { - ap2_ble_leds, ap2_ble_keyboard, ap2_ble_mouse, ap2_ble_extra + ap2_ble_leds, ap2_ble_keyboard, NULL, ap2_ble_mouse, ap2_ble_extra }; static uint8_t ble_mcu_wakeup[11] = {0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x01, 0x7d, 0x02, 0x01, 0x02}; @@ -167,5 +167,5 @@ static void ap2_ble_extra(report_extra_t *report) { static void ap2_ble_keyboard(report_keyboard_t *report) { sdPut(&SD1, 0x0); sdWrite(&SD1, ble_mcu_send_report, sizeof(ble_mcu_send_report)); - sdWrite(&SD1, &report->raw[0], KEYBOARD_REPORT_SIZE); + sdWrite(&SD1, (uint8_t *)report, KEYBOARD_REPORT_SIZE); } diff --git a/keyboards/annepro2/c15/config.h b/keyboards/annepro2/c15/config.h index ea38f4dce3e1..f488b9d8f388 100644 --- a/keyboards/annepro2/c15/config.h +++ b/keyboards/annepro2/c15/config.h @@ -57,7 +57,3 @@ #define EXTERNAL_FLASH_SECTOR_SIZE 4096 #define EXTERNAL_FLASH_BLOCK_SIZE 4096 #define EXTERNAL_FLASH_SIZE (256 * 1024) // 2M-bit flash size - -// Wear-leveling driver configuration -#define WEAR_LEVELING_LOGICAL_SIZE 1024 -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) diff --git a/keyboards/annepro2/c15/info.json b/keyboards/annepro2/c15/info.json index 15c3ca8ba1d3..b7624dd6c50f 100644 --- a/keyboards/annepro2/c15/info.json +++ b/keyboards/annepro2/c15/info.json @@ -3,6 +3,13 @@ "usb": { "pid": "0xAC15" }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "rgb_matrix": { "driver": "custom" }, diff --git a/keyboards/annepro2/c15/rules.mk b/keyboards/annepro2/c15/rules.mk index 05b715e034f0..8694893ac2e9 100644 --- a/keyboards/annepro2/c15/rules.mk +++ b/keyboards/annepro2/c15/rules.mk @@ -26,10 +26,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Wear-levelling driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash - # Custom RGB matrix handling RGB_MATRIX_ENABLE = yes diff --git a/keyboards/annepro2/c18/config.h b/keyboards/annepro2/c18/config.h index 6b6307c3d0fc..36f4a25c8d46 100644 --- a/keyboards/annepro2/c18/config.h +++ b/keyboards/annepro2/c18/config.h @@ -55,7 +55,3 @@ #define EXTERNAL_FLASH_SECTOR_SIZE 4096 #define EXTERNAL_FLASH_BLOCK_SIZE 4096 #define EXTERNAL_FLASH_SIZE (256 * 1024) // 2M-bit flash size - -// Wear-leveling driver configuration -#define WEAR_LEVELING_LOGICAL_SIZE 1024 -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) diff --git a/keyboards/annepro2/c18/info.json b/keyboards/annepro2/c18/info.json index f7acff808cea..c8f524e3cfdb 100644 --- a/keyboards/annepro2/c18/info.json +++ b/keyboards/annepro2/c18/info.json @@ -3,6 +3,13 @@ "usb": { "pid": "0xAC18" }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "rgb_matrix": { "driver": "custom" }, diff --git a/keyboards/annepro2/c18/rules.mk b/keyboards/annepro2/c18/rules.mk index 1d53851df604..dab7269570fe 100644 --- a/keyboards/annepro2/c18/rules.mk +++ b/keyboards/annepro2/c18/rules.mk @@ -26,10 +26,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Wear-levelling driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash - # Custom RGB matrix handling RGB_MATRIX_ENABLE = yes diff --git a/keyboards/ano/config.h b/keyboards/ano/config.h index 296abfa02e63..fff04f05b3cf 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 146e0cad7fc8..ce88965500b6 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 a30a446491a2..66790ac3d392 100644 --- a/keyboards/aos/tkl/config.h +++ b/keyboards/aos/tkl/config.h @@ -20,18 +20,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -# 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 -# 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 9b4f70a7ef44..165344004bd7 100644 --- a/keyboards/aos/tkl/info.json +++ b/keyboards/aos/tkl/info.json @@ -11,7 +11,22 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 50 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 88, + "max_brightness": 50, + "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 + } }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], diff --git a/keyboards/aos/tkl/keymaps/aholland909/keymap.c b/keyboards/aos/tkl/keymaps/aholland909/keymap.c deleted file mode 100644 index 87f12d1763ce..000000000000 --- a/keyboards/aos/tkl/keymaps/aholland909/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2020 aholland909 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tkl_iso_wkl( - 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_PSCR, KC_SCRL, KC_PAUSE, - - 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, - 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_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, KC_RGUI, TG(1), KC_LEFT, KC_DOWN, KC_RGHT), - - [1] = LAYOUT_tkl_iso_wkl( - 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_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______, - _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, - _______, _______, KC_MPLY, _______, _______, RGB_SAD, RGB_HUD, RGB_VAI), -}; diff --git a/keyboards/aozora/config.h b/keyboards/aozora/config.h deleted file mode 100644 index 5171d0c312de..000000000000 --- a/keyboards/aozora/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Salmon Cat Studio - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* EEPROM for via */ -#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/aplyard/aplx6/rev2/config.h b/keyboards/aplyard/aplx6/rev2/config.h deleted file mode 100644 index 2724ccf11718..000000000000 --- a/keyboards/aplyard/aplx6/rev2/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2020 April Aplyard - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -#define TAP_CODE_DELAY 50 diff --git a/keyboards/aplyard/aplx6/rev2/info.json b/keyboards/aplyard/aplx6/rev2/info.json index 2dc54180eb5c..06e0296b684a 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/aplyard/aplx6/rev2/rules.mk b/keyboards/aplyard/aplx6/rev2/rules.mk index 90decf0341c7..bb653a97f2b4 100644 --- a/keyboards/aplyard/aplx6/rev2/rules.mk +++ b/keyboards/aplyard/aplx6/rev2/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes # Unicode OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for Oled Display ENCODER_ENABLE = yes # Enable Support for Encoder diff --git a/keyboards/arabica37/keymaps/default/rules.mk b/keyboards/arabica37/keymaps/default/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/arabica37/keymaps/default/rules.mk +++ b/keyboards/arabica37/keymaps/default/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/arabica37/rev1/config.h b/keyboards/arabica37/rev1/config.h deleted file mode 100644 index 07d567be6540..000000000000 --- a/keyboards/arabica37/rev1/config.h +++ /dev/null @@ -1,37 +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 - -#define RGBLED_NUM 50 // Number of LEDs -#define RGBLED_SPLIT {25, 25} -/* - * 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/arabica37/rev1/info.json b/keyboards/arabica37/rev1/info.json index a543a83fd9ad..14d0c01cb9e3 100644 --- a/keyboards/arabica37/rev1/info.json +++ b/keyboards/arabica37/rev1/info.json @@ -16,6 +16,10 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 50, + "split_count": [25, 25] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/ares/config.h b/keyboards/ares/config.h deleted file mode 100644 index ddc21dae3085..000000000000 --- a/keyboards/ares/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 16 - -#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/ares/info.json b/keyboards/ares/info.json index 81646cb00c3f..dceb80da0435 100644 --- a/keyboards/ares/info.json +++ b/keyboards/ares/info.json @@ -22,6 +22,21 @@ "bootmagic": { "matrix": [4, 0] }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c deleted file mode 100644 index b96e5ce64840..000000000000 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/bongocat/keymap.c +++ /dev/null @@ -1,187 +0,0 @@ -/* Copyright 2022 Jason Devadoss (@jasonj2232) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - BL, - UL, -}; - -// OLED setup for bongocat -#define IDLE_FRAMES 5 -#define IDLE_SPEED 30 -#define TAP_FRAMES 2 -#define TAP_SPEED 40 -#define ANIM_FRAME_DURATION 200 -#define ANIM_SIZE 512 - -static long int oled_timeout = 600000; // 10 minutes -bool gui_on = true; -char wpm_str[10]; -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; -uint8_t current_tap_frame = 0; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BL] = LAYOUT( - KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_PPLS, KC_P9, KC_P8, KC_P7, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_P6, KC_P5, KC_P4, KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_PENT, KC_P3, KC_P2, KC_P1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_PDOT, KC_P0, KC_LCTL, KC_LGUI, LT(1, KC_LALT), KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_AUDIO_MUTE - - ), - - [UL] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MPLY - ), -}; - -#ifdef ENCODER_MAP_ENABLE - const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, - }; -#endif - -#ifdef OLED_ENABLE - -//Uncomment the below if OLED orientation is incorrect -/* -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; // flips the display 180 degrees -} -*/ - -static void render_anim(void) { - - // Idle animation - static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, - 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32, - 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8, - 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64, - 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } - - }; - - // Prep animation - static const char PROGMEM prep[][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64, - 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } - - }; - - // Typing animation - static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { - - { - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159, - 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1, - 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,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,3,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32, - 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } - - }; - - void animation_phase(void) { - 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)], ANIM_SIZE); - } - - if (get_current_wpm() >IDLE_SPEED && 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)], ANIM_SIZE); - } - } - - if (get_current_wpm() != 000) { - oled_on(); - - if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -bool oled_task_user(void) { - render_anim(); - oled_set_cursor(0,4); - sprintf(wpm_str, "WPM: %03d", get_current_wpm()); - oled_write(wpm_str, false); - - return false; -} - -#endif \ No newline at end of file diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk index 1af84436ed6b..76e55c05f483 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/argyle/info.json b/keyboards/argyle/info.json new file mode 100755 index 000000000000..82dbe1562af4 --- /dev/null +++ b/keyboards/argyle/info.json @@ -0,0 +1,975 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "Argyle", + "maintainer": "Yiancar-Designs", + "bootloader": "usbasploader", + "diode_direction": "COL2ROW", + "features": { + "extrakey": true, + "mousekey": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["D1", "D4", "D5", "D6", "D7", "B0", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN"], + "custom": true, + "custom_lite": true, + "rows": ["D0", "C3", "B1", "B2", "B3"] + }, + "processor": "atmega328p", + "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": 10, + "sleep": true + }, + "url": "https://prototypist.net/", + "usb": { + "device_version": "0.0.1", + "pid": "0x4152", + "vid": "0x8968" + }, + "ws2812": { + "pin": "C2" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "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": [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": [2, 12], "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": [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, 12], "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, 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, 12], "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_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, 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, 12], "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": [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, 12], "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_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": [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, 12], "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, 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} + ] + }, + "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, 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": 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": [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.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, 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": 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": [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": { + "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": [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": [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} + ] + }, + "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": [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, 12], "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_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], "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, 12], "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": 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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/argyle/keymaps/default/keymap.c b/keyboards/argyle/keymaps/default/keymap.c new file mode 100644 index 000000000000..e4cdf5625df9 --- /dev/null +++ b/keyboards/argyle/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This is the ANSI version of the PCB + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_60_ansi_split_bs_rshift( /* Base */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL), + +[1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */ + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/argyle/keymaps/iso/keymap.c b/keyboards/argyle/keymaps/iso/keymap.c new file mode 100644 index 000000000000..fe2de3a3e58b --- /dev/null +++ b/keyboards/argyle/keymaps/iso/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +//This is the ISO version of the PCB + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_60_iso_split_bs_rshift( /* Base */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL), + +[1] = LAYOUT_60_iso_split_bs_rshift( /* FN */ + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/argyle/keymaps/via/keymap.c b/keyboards/argyle/keymaps/via/keymap.c new file mode 100644 index 000000000000..4efbdb2f3061 --- /dev/null +++ b/keyboards/argyle/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2020 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +// This keymaps is used for VIA, it reflects the default keymap. + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL), + +[1] = LAYOUT_all( /* FN */ + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/dztech/og60/keymaps/via/rules.mk b/keyboards/argyle/keymaps/via/rules.mk similarity index 100% rename from keyboards/dztech/og60/keymaps/via/rules.mk rename to keyboards/argyle/keymaps/via/rules.mk diff --git a/keyboards/argyle/matrix.c b/keyboards/argyle/matrix.c new file mode 100644 index 000000000000..7430c6d9d80a --- /dev/null +++ b/keyboards/argyle/matrix.c @@ -0,0 +1,169 @@ +/* +Copyright 2012-2020 Jun Wako, Jack Humbert, Yiancar + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "atomic_util.h" +#include "wait.h" +#include "matrix.h" +#include "i2c_master.h" + +#define PORT_EXPANDER_ADDRESS 0x20 + +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +static inline void setPinOutput_writeLow(pin_t pin) { + 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 setPinInputHigh_atomic(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinInputHigh(pin); + } +} + +static inline uint8_t readMatrixPin(pin_t pin) { + if (pin != NO_PIN) { + return (readPin(pin) == 0) ? 0 : 1; + } else { + return 1; + } +} + +static bool select_row(uint8_t row) { + pin_t pin = row_pins[row]; + if (pin != NO_PIN) { + setPinOutput_writeLow(pin); + return true; + } + return false; +} + +static void unselect_row(uint8_t row) { + pin_t pin = row_pins[row]; + if (pin != NO_PIN) { + setPinInputHigh_atomic(pin); + } +} + +static void unselect_rows(void) { + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + unselect_row(x); + } +} + +static void init_pins(void) { + unselect_rows(); + // Set I/O + uint8_t send_data = 0xFF; + i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data, 1, 20); + // Set Pull-up + i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x06, &send_data, 1, 20); + + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + if (col_pins[x] != NO_PIN) { + setPinInputHigh_atomic(col_pins[x]); + } + } +} + +void matrix_init_custom(void) { + // TODO: initialize hardware here + // Initialize I2C + i2c_init(); + + // initialize key pins + init_pins(); + wait_ms(50); +} + +static bool matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Clear data in matrix row + current_matrix[current_row] = 0; + + // Select row and wait for row selecton to stabilize + select_row(current_row); + matrix_output_select_delay(); + + uint8_t port_expander_buffer; + i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &port_expander_buffer, 1, 20); + + // For each col... + // matrix_row_t row_shifter = MATRIX_ROW_SHIFTER; + for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + uint8_t pin_state; + // Select the col pin to read (active low) + switch (col_index) { + case 6 : + pin_state = port_expander_buffer & (1 << 0); + break; + case 7 : + pin_state = port_expander_buffer & (1 << 1); + break; + case 8 : + pin_state = port_expander_buffer & (1 << 2); + break; + case 9 : + pin_state = port_expander_buffer & (1 << 3); + break; + case 10 : + pin_state = port_expander_buffer & (1 << 4); + break; + case 11 : + pin_state = port_expander_buffer & (1 << 5); + break; + case 12 : + pin_state = port_expander_buffer & (1 << 6); + break; + case 13 : + pin_state = port_expander_buffer & (1 << 7); + break; + default : + pin_state = readMatrixPin(col_pins[col_index]); + } + + // Populate the matrix row with the state of the col pin + current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); + + return (last_row_value != current_matrix[current_row]); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool matrix_has_changed = false; + + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + matrix_has_changed |= matrix_read_cols_on_row(current_matrix, current_row); + } + + return matrix_has_changed; +} diff --git a/keyboards/argyle/readme.md b/keyboards/argyle/readme.md new file mode 100644 index 000000000000..4a473a33ac77 --- /dev/null +++ b/keyboards/argyle/readme.md @@ -0,0 +1,23 @@ +# Argyle + +![argyle](https://i.imgur.com/6x7ZYhxh.png) + +A 60 percent through hole keyboard with RGB and windows + +Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +Hardware Supported: ATMEGA328p with vusb +Hardware Availability: https://prototypist.net/ + +Make example for this keyboard (after setting up your build environment): + + make argyle:default + +Flashing example for this keyboard: + + make argyle:default:flash + +Bootloader: +use usbasploader HSGW's my repository. +https://github.com/hsgw/USBaspLoader/tree/plaid +To put the board in bootloader, either press and hold escape as you plug in, or press the button under the spacebar as you plug in. +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/argyle/rules.mk b/keyboards/argyle/rules.mk new file mode 100644 index 000000000000..ae480278de22 --- /dev/null +++ b/keyboards/argyle/rules.mk @@ -0,0 +1,2 @@ +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/arisu/keymaps/fate/keymap.c b/keyboards/arisu/keymaps/fate/keymap.c deleted file mode 100644 index 9db8fcdbd13c..000000000000 --- a/keyboards/arisu/keymaps/fate/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2019 Fate - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum arisu_layers { - _QWERTY, - _FN, - _ADJUST -}; - -// Tap Dance Declarations -enum { - TD_LALT_LGUI = 0, - TD_RALT_RGUI -}; - -#define FN MO(_FN) -#define ADJUST MO(_ADJUST) -#define LALT_LG TD(TD_LALT_LGUI) -#define RALT_RG TD(TD_RALT_RGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, - KC_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, ADJUST, - 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, LALT_LG, KC_SPC, FN, KC_SPC, RALT_RG, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, 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_APP, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, - _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; - -// Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - // Tap once for L-Alt, twice for L-GUI - [TD_LALT_LGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_LGUI), - // Tap once for R-Alt, twice for R-GUI - [TD_RALT_RGUI] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, KC_RGUI) -}; diff --git a/keyboards/arisu/keymaps/fate/readme.md b/keyboards/arisu/keymaps/fate/readme.md deleted file mode 100644 index c1239a09ffc1..000000000000 --- a/keyboards/arisu/keymaps/fate/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The keymap of arisu's creator \ No newline at end of file diff --git a/keyboards/arisu/keymaps/fate/rules.mk b/keyboards/arisu/keymaps/fate/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/arisu/keymaps/fate/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/arisu/keymaps/kresnak/keymap.c b/keyboards/arisu/keymaps/kresnak/keymap.c deleted file mode 100644 index 05a0e6ba4cd0..000000000000 --- a/keyboards/arisu/keymaps/kresnak/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2019 Fate - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - - -// Defines the keycodes used by our macros in process_record_user - -#define FN MO(1) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, 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_BSPC, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, FN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_HOME, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_END, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, _______, _______, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/arisu/keymaps/stanrc85/keymap.c b/keyboards/arisu/keymaps/stanrc85/keymap.c deleted file mode 100644 index 417b1663b5df..000000000000 --- a/keyboards/arisu/keymaps/stanrc85/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2021 Stanrc85 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "stanrc85.h" - -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_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, - KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN2_60), - 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, LT_BPCF, KC_LGUI, LT_SPCF, TD_TWIN, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_DEFAULT] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN2_60), - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_SPC, MO(_FN1_60), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FN1_60] = LAYOUT( - KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - _______, _______, CA_QUOT, _______, CA_SCLN, KC_VOLU, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, _______, _______, KC_INS, _______, - KC_CAPS, _______, _______, KC_LCTL, KC_LSFT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, - _______, KC_RDP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FN2_60] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) - ) -}; diff --git a/keyboards/arisu/keymaps/stanrc85/rules.mk b/keyboards/arisu/keymaps/stanrc85/rules.mk deleted file mode 100644 index 9db643c8e64d..000000000000 --- a/keyboards/arisu/keymaps/stanrc85/rules.mk +++ /dev/null @@ -1 +0,0 @@ -USER_NAME := stanrc85 \ No newline at end of file diff --git a/keyboards/artemis/paragon/hotswap/info.json b/keyboards/artemis/paragon/hotswap/info.json index c57b49a047d4..0882579dec13 100644 --- a/keyboards/artemis/paragon/hotswap/info.json +++ b/keyboards/artemis/paragon/hotswap/info.json @@ -2,5 +2,368 @@ "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"] + }, + "encoder": { + "rotary": [ + { "pin_a": "D3", "pin_b": "D5", "resolution": 2 } + ] + }, + "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 000000000000..215d44642a25 --- /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/info.json b/keyboards/artemis/paragon/info.json index 2a2cf046a85a..63fefe8c55cf 100644 --- a/keyboards/artemis/paragon/info.json +++ b/keyboards/artemis/paragon/info.json @@ -18,18 +18,16 @@ }, "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": { + "LAYOUT_all": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 2], "x": 1.5, "y": 0 }, diff --git a/keyboards/artemis/paragon/keymaps/default/keymap.c b/keyboards/artemis/paragon/keymaps/default/keymap.c index d980180a347b..fc55fb1c85b3 100644 --- a/keyboards/artemis/paragon/keymaps/default/keymap.c +++ b/keyboards/artemis/paragon/keymaps/default/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . 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_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, diff --git a/keyboards/artemis/paragon/keymaps/via/keymap.c b/keyboards/artemis/paragon/keymaps/via/keymap.c index 84f5735d97b4..47e269c78ab7 100644 --- a/keyboards/artemis/paragon/keymaps/via/keymap.c +++ b/keyboards/artemis/paragon/keymaps/via/keymap.c @@ -16,7 +16,7 @@ along with this program. If not, see . 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_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, diff --git a/keyboards/artemis/paragon/soldered/info.json b/keyboards/artemis/paragon/soldered/info.json index 5158add71e2b..169acb4fb4da 100644 --- a/keyboards/artemis/paragon/soldered/info.json +++ b/keyboards/artemis/paragon/soldered/info.json @@ -2,5 +2,740 @@ "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"] + }, + "encoder": { + "rotary": [ + { "pin_a": "D4", "pin_b": "D6", "resolution": 2 } + ] + }, + "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 000000000000..6fa5ad6cf88c --- /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/ash1800/ash1800.c b/keyboards/ash1800/ash1800.c deleted file mode 100644 index 520b1503aca7..000000000000 --- 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 2f259d40f67b..75e72d0e22a5 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 e028e09135e1..658e76962d8d 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/ash_xiix.c b/keyboards/ash_xiix/ash_xiix.c deleted file mode 100644 index 64be362f93af..000000000000 --- a/keyboards/ash_xiix/ash_xiix.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2020 sh_xguitar - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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; -} diff --git a/keyboards/ash_xiix/config.h b/keyboards/ash_xiix/config.h index 8f81c450eb55..08dd2458c880 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 69155f55c10d..d9f996403541 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/ask55/keymaps/iic/keymap.c b/keyboards/ask55/keymaps/iic/keymap.c deleted file mode 100644 index 5784307af9f3..000000000000 --- a/keyboards/ask55/keymaps/iic/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2022 Yiancar / Keyboard-Magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - LT(1,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_NUBS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, - KC_LCAP, KC_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_LEFT, KC_RGHT, KC_DOWN, KC_UP -), - [1] = LAYOUT( /* Momentary Layer 1 */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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/ask55/keymaps/iic/readme.md b/keyboards/ask55/keymaps/iic/readme.md deleted file mode 100644 index e9300cc04db9..000000000000 --- a/keyboards/ask55/keymaps/iic/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The IIc keymap for the ASK55 \ No newline at end of file diff --git a/keyboards/ask55/keymaps/m0118/keymap.c b/keyboards/ask55/keymaps/m0118/keymap.c deleted file mode 100644 index 541944f5d6ff..000000000000 --- a/keyboards/ask55/keymaps/m0118/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2022 Yiancar / Keyboard-Magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - LT(1,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_ENT, - KC_LCAP, 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_TRNS, - KC_LSFT, KC_GRV, 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_LGUI, KC_SPC, KC_RGUI, KC_RGUI, KC_LEFT, KC_RGHT, KC_DOWN -), - [1] = LAYOUT( /* Momentary Layer 1 */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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/ask55/keymaps/m0118/readme.md b/keyboards/ask55/keymaps/m0118/readme.md deleted file mode 100644 index 1bf1a90266e5..000000000000 --- a/keyboards/ask55/keymaps/m0118/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The M0118 keymap for the ASK55 \ No newline at end of file diff --git a/keyboards/ask55/keymaps/mac-portable/keymap.c b/keyboards/ask55/keymaps/mac-portable/keymap.c deleted file mode 100644 index 056d0aee5a9a..000000000000 --- a/keyboards/ask55/keymaps/mac-portable/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2022 Yiancar / Keyboard-Magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - LT(1,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_NUBS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, - KC_LCAP, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_ENT, KC_LEFT, KC_RGHT, KC_DOWN, KC_UP -), - [1] = LAYOUT( /* Momentary Layer 1 */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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/ask55/keymaps/mac-portable/readme.md b/keyboards/ask55/keymaps/mac-portable/readme.md deleted file mode 100644 index 9c24da473625..000000000000 --- a/keyboards/ask55/keymaps/mac-portable/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The Mac Portable keymap for the ASK55 diff --git a/keyboards/ask55/keymaps/next/keymap.c b/keyboards/ask55/keymaps/next/keymap.c deleted file mode 100644 index ea095ed7959c..000000000000 --- a/keyboards/ask55/keymaps/next/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2022 Yiancar / Keyboard-Magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - LT(1,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_NUBS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, - KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_RGUI, KC_RGUI, KC_RALT -), - [1] = LAYOUT( /* Momentary Layer 1 */ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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/ask55/keymaps/next/readme.md b/keyboards/ask55/keymaps/next/readme.md deleted file mode 100644 index 5cb6d33d1b61..000000000000 --- a/keyboards/ask55/keymaps/next/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The NeXT (both) keymaps for the ASK55 \ No newline at end of file diff --git a/keyboards/at_at/660m/rules.mk b/keyboards/at_at/660m/rules.mk index 0495864be4ce..e984f8dc96e1 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 f30036291724..c6e12504a3cb 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 @@ -30,9 +27,7 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED true #define RGB_MATRIX_LED_COUNT 96 #define RGB_MATRIX_DEFAULT_HUE 170 -#define RGB_MATRIX_DEFAULT_SAT 255 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #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 diff --git a/keyboards/atlantis/ak81_ve/info.json b/keyboards/atlantis/ak81_ve/info.json index 434e10c81f8f..1a2d1eebe1ef 100644 --- a/keyboards/atlantis/ak81_ve/info.json +++ b/keyboards/atlantis/ak81_ve/info.json @@ -9,7 +9,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"], diff --git a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c index 48ffe1be639f..08001a6f9981 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 f74ca2c2447c..f1adcab005e8 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 126b665a8e63..000000000000 --- 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 1a7fb72014de..000000000000 --- 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/atlantis/ps17/info.json b/keyboards/atlantis/ps17/info.json index 1b7ffa778557..5a85dec5b45d 100644 --- a/keyboards/atlantis/ps17/info.json +++ b/keyboards/atlantis/ps17/info.json @@ -64,7 +64,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "center_point": [126, 126], "layout": [ {"flags": 4, "matrix": [1, 0], "x": 74, "y": 165}, diff --git a/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c b/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c deleted file mode 100644 index 8546cfb71f24..000000000000 --- a/keyboards/atlantis/ps17/keymaps/multimedia/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2023 mjbogusz (@mjbogusz) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Default layer: numpad + volume control - [0] = LAYOUT( - KC_MUTE, - TO(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, - KC_KP_4, KC_KP_5, KC_KP_6, - KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, - KC_KP_0, KC_PDOT - ), - [1] = LAYOUT( - KC_MUTE, - TO(2), XXXXXXX, XXXXXXX, KC_VOLD, - XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, - KC_MRWD, KC_MPLY, KC_MFFD, - KC_MPRV, KC_MSTP, KC_MNXT, KC_MSEL, - XXXXXXX, XXXXXXX - ), - [2] = LAYOUT( - RGB_MOD, - TO(3), KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS - ), - [3] = LAYOUT( - KC_TRNS, - TO(0), KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [2] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, - [3] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, -}; -#endif diff --git a/keyboards/atomic/keymaps/abienz/keymap.c b/keyboards/atomic/keymaps/abienz/keymap.c deleted file mode 100644 index c499807d769c..000000000000 --- a/keyboards/atomic/keymaps/abienz/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_colemak.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_5x15(/* Colemak */ - 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, XXXXXXX, - KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, XXXXXXX, KC_PGUP, - KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, XXXXXXX, KC_LALT, MO(1), KC_SPC, XXXXXXX, KC_RALT, MO(1), KC_RGUI, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_ortho_5x15(/* function */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MPLY, - _______, _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), -}; diff --git a/keyboards/atomic/keymaps/michelle/keymap.c b/keyboards/atomic/keymaps/michelle/keymap.c deleted file mode 100644 index da6942716801..000000000000 --- a/keyboards/atomic/keymaps/michelle/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_5x15( /* Dvorak */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, - KC_LCTL, MO(1), XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_ortho_5x15( /* Qwerty + F keys */ - 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_BSPC, XXXXXXX, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_INS, KC_DEL, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX, 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, XXXXXXX, KC_UP, KC_PGDN, - KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT - ), - [2] = LAYOUT_ortho_5x15( /* Numpad + qwerty shortcut keys */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, - KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT - ), -}; diff --git a/keyboards/atomic/keymaps/twolayer/keymap.c b/keyboards/atomic/keymaps/twolayer/keymap.c deleted file mode 100644 index af235441baec..000000000000 --- a/keyboards/atomic/keymaps/twolayer/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* QWERTY - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - [0] = LAYOUT_ortho_5x15( /* QWERTY */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - KC_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_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_RSFT, KC_UP, KC_PGDN, - BL_STEP, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* FUNCTION - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | - * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| - * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_ortho_5x15( /* FUNCTION LAYER*/ - 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_SCRL, 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_PAUS, KC_PSCR, - KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_WH_U, - KC_NUM, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_END, KC_HOME, _______, _______, KC_MS_U, KC_WH_D, - _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R - ), -}; diff --git a/keyboards/atreus/f103/rules.mk b/keyboards/atreus/f103/rules.mk index 9755a4a3c265..22634018d2f0 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/atreus/feather/info.json b/keyboards/atreus/feather/info.json index 1f70534b7f55..b0d7d5544339 100644 --- a/keyboards/atreus/feather/info.json +++ b/keyboards/atreus/feather/info.json @@ -5,5 +5,8 @@ }, "diode_direction": "COL2ROW", "processor": "atmega32u4", - "bootloader": "caterina" + "bootloader": "caterina", + "bluetooth": { + "driver": "bluefruit_le" + } } diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk index 5e7d24b055bf..c93cad908072 100644 --- a/keyboards/atreus/feather/rules.mk +++ b/keyboards/atreus/feather/rules.mk @@ -5,5 +5,4 @@ F_CPU = 8000000 # change yes to no to disable # BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE CONSOLE_ENABLE = no diff --git a/keyboards/atreus/keymaps/clash/keymap.c b/keyboards/atreus/keymaps/clash/keymap.c deleted file mode 100644 index 449f816f79b5..000000000000 --- a/keyboards/atreus/keymaps/clash/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _RS 1 -#define _LW 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT - ), - - /* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * lower insert super shift del ctrl || alt space fn . 0 = - */ - [_RS] = LAYOUT( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_DEL, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), - /* - * insert home mup end pgup || mouse1 F7 F8 F9 F10 - * USB mlft mdwn mrght pgdn || mouse2 F4 F5 F6 F11 - * Blue volup reset || mouse3 F1 F2 F3 F12 - * auto voldn super shift bksp ctrl || alt space L0 prtsc scroll pause - */ - [_LW] = LAYOUT( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_MS_U, KC_END, KC_PGUP, KC_BTN1, KC_F7, KC_F8, KC_F9, KC_F10 , - OU_USB, KC_MS_L, KC_MS_D, KC_MS_R, KC_PGDN, KC_BTN2, KC_F4, KC_F5, KC_F6, KC_F11 , - OU_BT, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_BTN3, KC_F1, KC_F2, KC_F3, KC_F12 , - OU_AUTO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS ) -}; diff --git a/keyboards/atreus/keymaps/clash/rules.mk b/keyboards/atreus/keymaps/clash/rules.mk deleted file mode 100644 index db1870fb1570..000000000000 --- a/keyboards/atreus/keymaps/clash/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BLUETOOTH_ENABLE=yes diff --git a/keyboards/atreus/keymaps/classic/keymap.c b/keyboards/atreus/keymaps/classic/keymap.c deleted file mode 100644 index 2777edd8e51e..000000000000 --- a/keyboards/atreus/keymaps/classic/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _RS 1 -#define _LW 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT - ), - - [_RS] = LAYOUT( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL - ), - - [_LW] = LAYOUT( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, QK_BOOT - ), -}; diff --git a/keyboards/atreus/keymaps/dvorak_42_key/README.md b/keyboards/atreus/keymaps/dvorak_42_key/README.md deleted file mode 100644 index 86ce7380238c..000000000000 --- a/keyboards/atreus/keymaps/dvorak_42_key/README.md +++ /dev/null @@ -1,21 +0,0 @@ -Overview -======== - -This is a dvorak based layout for the Atreus. Its basic key layout is similar to the ergodox_ez "dvorak_42_key" layout. In fact this layout was created for seamless switching between the Ergodox EZ and Atreus. - -How to build and flash ----------------------- - -to build; -make atreus:dvorak_42_key - -to flash: -avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7 - -Layers ------- -* BASE: basic dvorak layout -* KEYNAV: arrow-key navigation. Momentary toggle held by thumb allows the right hand to navigate through text as well as copy/paste/cut, page up/page down -* KEYSEL: similar to KEYNAV, except for shift-selection -* COMBINED: this is a layer that combines numbers, brackets and special characters. !@#$%^&*( can be type by shift+COMBINED+1/2/3/etc.. -* MOUSE: mouse navigation, as well as browser tab-left/tab-right shortcuts \ No newline at end of file diff --git a/keyboards/atreus/keymaps/dvorak_42_key/config.h b/keyboards/atreus/keymaps/dvorak_42_key/config.h deleted file mode 100644 index ac5db196d96c..000000000000 --- a/keyboards/atreus/keymaps/dvorak_42_key/config.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -// place overrides here - -// mouse speed - -#define MOUSEKEY_INTERVAL 15 -#define MOUSEKEY_DELAY 100 -#define MOUSEKEY_TIME_TO_MAX 100 -#define MOUSEKEY_MAX_SPEED 3 - -#define MOUSEKEY_WHEEL_DELAY 500 -#define MOUSEKEY_WHEEL_DELTA 1 -#define MOUSEKEY_WHEEL_MAX_SPEED 1 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c deleted file mode 100644 index c6a628e21768..000000000000 --- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c +++ /dev/null @@ -1,167 +0,0 @@ - -#include QMK_KEYBOARD_H - -// layers -#define BASE 0 -#define KEYNAV 1 -#define KEYSEL 2 -#define COMBINED 3 -#define BROWSER_CONTROL 4 - -// aliases -// shell -#define SHELL_DEL_WORD RCTL(KC_W) - -// comment out to use android studio macros instead -#define USE_VSCODE_MACROS - -// android studio shortcuts -#define AS_TABLEFT LALT(KC_LEFT) -#define AS_TABRIGHT LALT(KC_RIGHT) -#define AS_SYMBOL LCTL(LALT(KC_N)) -#define AS_CLASS LCTL(KC_N) -#define AS_FINDUSAGE LALT(KC_F7) -#define AS_BACK LCTL(LALT(KC_LEFT)) -#define AS_GO_DECLARATION LCTL(KC_B) -#define AS_GO_IMPLEMENTATION LCTL(LALT(KC_B)) -#define AS_CLOSETAB LCTL(KC_F4) -#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4)) -#define AS_ALTENTER LALT(KC_ENTER) - -// visual studio code shortcuts -#define VS_FILE LCTL(KC_P) -#define VS_OPEN_FILE LCTL(KC_O) -#define VS_LINE LCTL(KC_G) -#define VS_SYMBOLEDITOR LCTL(LSFT(KC_O)) -#define VS_DEFINITION MEH(KC_F5) -#define VS_IMPLEMENTATION MEH(KC_F6) -#define VS_REFERENCES MEH(KC_F7) -#define VS_BACK LALT(KC_LEFT) -#define VS_BRACKET LCTL(LSFT(KC_BSLS)) -#define VS_TABLEFT MEH(KC_F1) -#define VS_TABRIGHT MEH(KC_F2) -#define VS_CLOSETAB MEH(KC_F3) -#define VS_CLOSEPANEL LCTL(LSFT(KC_W)) -#define VS_GROUP_1 LCTL(KC_1) -#define VS_GROUP_2 LCTL(KC_2) -#define VS_TERMINAL LCTL(KC_GRAVE) -#define VS_BUILD LCTL(LSFT(KC_B)) -#define VS_COMMANDS MEH(KC_F4) -#define VS_CMT_BLOCK LSFT(LALT(KC_A)) -#define VS_CMT_LINE LCTL(KC_SLSH) -#define VS_DEL_LINE LCTL(LSFT(KC_K)) -#define VS_COPYLINEDOWN LSFT(LALT(KC_DOWN)) -// visual studio bookmark commands -#define VS_BM_LIST LCTL(LALT(KC_L)) -#define VS_BM_LISTALL LCTL(LALT(KC_A)) -#define VS_BM_PREV LCTL(LALT(KC_P)) -#define VS_BM_NEXT LCTL(LALT(KC_N)) -#define VS_BM_TOGGLE LCTL(LALT(KC_K)) -#define VS_BM_CLEARALL LCTL(LALT(KC_C)) -// visual studio code navigation shortcuts -#define VS_FOCUS_EDITOR MEH(KC_F8) -#define VS_FOCUS_TERMINAL MEH(KC_F9) -#define VS_TOGGLE_TERMINAL MEH(KC_F10) -#define VS_CLEAR_TERMINAL MEH(KC_F11) -#define VS_TERMINAL_PREV MEH(KC_F12) -#define VS_TERMINAL_NEXT MEH(KC_F13) -#define VS_TERMINAL_NEW MEH(KC_F14) -#define VS_TERMINAL_DETACH MEH(KC_F15) -#define VS_TERMINAL_RENAME MEH(KC_F16) -#define VS_JUMPY MEH(KC_F17) - -/* -// VS code bookmark prev/next requires the following in vscode shortcuts config - { - "key": "ctrl+alt+p", - "command": "bookmarks.jumpToPrevious" - }, - { - "key": "ctrl+alt+n", - "command": "bookmarks.jumpToNext" - }, -*/ - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - - // Windows 10 macros - W10_TASKVIEW, - W10_WORKSPACE_LEFT, - W10_WORKSPACE_RIGHT, - -}; - -// building/flashing instructions: -// make atreus/astar:dvorak_42_key:flash -// or -// qmk compile -kb atreus -km dvorak_42_key - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( - KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, - KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, - KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, - OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), MO(KEYNAV), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPS, OSM(MOD_LSFT) - ), - -#ifdef USE_VSCODE_MACROS -// use visual studio code macros on the KEYNAV layer - [KEYNAV] = LAYOUT( - KC_ESC, VS_DEFINITION, RCTL(KC_Z), RCTL(KC_S), MEH(KC_A), MEH(KC_B), KC_HOME, KC_UP, KC_END, KC_PGUP, - VS_BACK, VS_SYMBOLEDITOR, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), - VS_LINE, VS_FILE, VS_TABLEFT, VS_TABRIGHT, VS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDN, - VS_COMMANDS, VS_CMT_LINE, VS_BM_PREV, VS_BM_NEXT, VS_BM_TOGGLE, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) - ), -#else -// use android studio macros on the KEYNAV layer - [KEYNAV] = LAYOUT( - KC_ESC, AS_GO_IMPLEMENTATION, RCTL(KC_Z), RCTL(KC_S), MEH(KC_A), MEH(KC_B), KC_HOME, KC_UP, KC_END, KC_PGUP, - AS_BACK, AS_SYMBOL, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), - AS_FINDUSAGE, AS_CLASS, AS_TABLEFT, AS_TABRIGHT, AS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDN, - AS_CLOSETOOLWINDOW, AS_GO_DECLARATION, KC_TRNS, KC_TRNS, AS_ALTENTER, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) - ), -#endif - - [KEYSEL] = LAYOUT( - MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), - MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), - MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) - ), - - [COMBINED] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, - KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_UNDS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, - KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, - KC_TRNS, KC_TILD, KC_GRAVE, KC_CIRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_PIPE, KC_BSLS - ), - - [BROWSER_CONTROL] = LAYOUT( - MEH(KC_C), KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, MEH(KC_9), - MEH(KC_D), KC_MS_L, KC_MS_D, KC_MS_R, MEH(KC_6), KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), - MEH(KC_E), W10_TASKVIEW, W10_WORKSPACE_LEFT, W10_WORKSPACE_RIGHT, MEH(KC_7), MEH(KC_8), RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(record->event.pressed) { - switch (keycode) { - // windows 10 workspace shortcuts - case W10_TASKVIEW: - tap_code16(G(KC_TAB)); - return true; - break; - case W10_WORKSPACE_LEFT: - tap_code16(G(C(KC_LEFT))); - return true; - break; - case W10_WORKSPACE_RIGHT: - tap_code16(G(C(KC_RIGHT))); - break; - } - } - - return true; -} diff --git a/keyboards/atreus/keymaps/erlandsona/config.h b/keyboards/atreus/keymaps/erlandsona/config.h deleted file mode 100644 index aa1d8445c613..000000000000 --- a/keyboards/atreus/keymaps/erlandsona/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -// place overrides here - -/* Make Overloaded Keys switch faster */ -#define TAPPING_TERM 150 diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c deleted file mode 100644 index 64d240804010..000000000000 --- a/keyboards/atreus/keymaps/erlandsona/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define BASE 0 -#define NUMS 1 -#define MOUS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( /* Qwerty */ - KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , - KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , - SFT_T(KC_Z), KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SFT_T(KC_QUOT), - KC_LCTL , KC_LALT, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, MO(NUMS),KC_RALT, KC_SLSH, KC_BSLS - ), - - [NUMS] = LAYOUT( /* Numbers / Arrows / Symbols */ - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC, - KC_TAB , KC_5 , KC_6 , KC_7 , KC_8 , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_RBRC, - _______, KC_9 , KC_0 , KC_DOT , KC_COMM, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, - _______, _______, _______, _______, KC_DEL , TG(MOUS), _______, _______, _______, _______, _______, _______ - ), - - [MOUS] = LAYOUT( /* Mouse and Media Keys */ - KC_SCRL, KC_PAUSE, KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 , KC_F6 , KC_F5 , KC_F4, - KC_VOLD, KC_ACL0 , KC_ACL1, KC_ACL2, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_F3, - KC_MUTE, KC_MPRV , KC_MPLY, KC_MNXT, KC_MUTE, KC_WH_R, KC_WH_U, KC_WH_D, KC_WH_L, KC_F2, - _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, TO(BASE), QK_BOOT, KC_F12 , KC_F1 - ), -}; diff --git a/keyboards/atreus/keymaps/gerb/keymap.c b/keyboards/atreus/keymaps/gerb/keymap.c deleted file mode 100644 index e122c5f12f61..000000000000 --- a/keyboards/atreus/keymaps/gerb/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -// This is the personal keymap of Chris Gerber (@gerbercj). I haven't worked out the kinks -// with the Colemak and Dvorak support yet, but everything else works nicely. - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _CM 1 -#define _DV 2 -#define _L1 3 -#define _L2 4 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT - ), - [_CM] = LAYOUT( /* Colemak */ - 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_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT - ), - [_DV] = LAYOUT( /* Dvorak */ - KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, - KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, - KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_ENT - ), - [_L1] = LAYOUT( /* LAYER 1 */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_7, KC_8, KC_9, KC_LBRC, - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_4, KC_5, KC_6, KC_RBRC, - KC_GRV, KC_MPRV, KC_MPLY, KC_MNXT, KC_MINS, KC_MUTE, KC_1, KC_2, KC_3, KC_BSLS, - TG(_L2), KC_APP, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL - ), - [_L2] = LAYOUT( /* LAYER 2 */ - KC_TRNS, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, DF(_QW), KC_F7, KC_F8, KC_F9, KC_F10, - KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, DF(_CM), KC_F6, KC_F5, KC_F6, KC_F11, - KC_BTN4, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, DF(_DV), KC_F1, KC_F2, KC_F3, KC_F12, - KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT - ), -}; diff --git a/keyboards/atreus/keymaps/henxing/Readme.md b/keyboards/atreus/keymaps/henxing/Readme.md deleted file mode 100644 index a615adf9665c..000000000000 --- a/keyboards/atreus/keymaps/henxing/Readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Hugh's Atreus Keymap - -This keymap is the same as the [default](../default) layout for the Atreus, but -uses the programming style found in the Let's -Split [default](../../../lets_split/keymaps/default) keymap. See -[`keymap.c`](keymap.c) for the layout. diff --git a/keyboards/atreus/keymaps/henxing/keymap.c b/keyboards/atreus/keymaps/henxing/keymap.c deleted file mode 100644 index 8db85d04c38b..000000000000 --- a/keyboards/atreus/keymaps/henxing/keymap.c +++ /dev/null @@ -1,103 +0,0 @@ -#include QMK_KEYBOARD_H -#include "action_layer.h" -#include "eeconfig.h" - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * 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 tab gui shift bksp ctrl || alt space lower - ' enter - */ - [_QWERTY] = 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_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, LOWER, KC_MINS, KC_QUOT, KC_ENT - ), - - /* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * raise insert gui shift bksp ctrl || alt space ____ . 0 = - */ - [_LOWER] = LAYOUT( - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, - RAISE, KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL - ), - - /* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift bksp ctrl || alt space QWERTY prtsc scroll pause - */ - [_RAISE] = LAYOUT( - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, - KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, - KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SCRL, KC_PAUS - ), -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - // The value to return - bool return_value = false; - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - break; - - case LOWER: - // Toggle LOWER layer on when key pressed and off when released - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - break; - - case RAISE: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_RAISE); - } - break; - - default: - - // If the keycode is not handled by any of the other cases, the - // function should return true - return_value = true; - break; - } - - return return_value; -} diff --git a/keyboards/atreus/keymaps/ibnuda/keymap.c b/keyboards/atreus/keymaps/ibnuda/keymap.c deleted file mode 100644 index 3bdfccad980b..000000000000 --- a/keyboards/atreus/keymaps/ibnuda/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "ibnuda.h" - -// clang-format off -#define LAYOUT_atreus_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - KTA, KTB, KTC, KTD \ - ) \ - LAYOUT_wrapper( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - ___, ___, ___, ___, KTA, KTB, KTC, KTD, ___, ___, ___, ___ \ - ) -#define LAYOUT_atreus_base_wrapper(...) LAYOUT_atreus_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = LAYOUT_atreus_base_wrapper( - ________________DVORAK_L1_______________, ________________DVORAK_R1_______________, - ________________DVORAK_L2_______________, ________________DVORAK_R2_______________, - ________________DVORAK_L3_______________, ________________DVORAK_R3_______________, - LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC -), - -[_RAISE] = LAYOUT_atreus_base_wrapper( - ________________RAISE_L1________________, ________________RAISE_R1________________, - ________________RAISE_L2________________, ________________RAISE_R2________________, - ________________RAISE_L3________________, ________________RAISE_R3________________, - ADDDD, _______, _______,_______ -), -[_LOWER] = LAYOUT_atreus_base_wrapper( - ________________LOWER_L1________________, ________________LOWER_R1________________, - ________________LOWER_L2________________, ________________LOWER_R2________________, - ________________LOWER_L3________________, ________________LOWER_R3________________, - _______,_______, _______,ADDDD -), -[_ADJUST] = LAYOUT_atreus_base_wrapper( - ________________ADJUST_L1_______________, ________________ADJUST_R1_______________, - ________________ADJUST_L2_______________, ________________ADJUST_R2_______________, - ________________ADJUST_L3_______________, ________________ADJUST_R3_______________, - _______,_______, _______,_______ -), -}; -// clang-format on diff --git a/keyboards/atreus/keymaps/ibnuda/rules.mk b/keyboards/atreus/keymaps/ibnuda/rules.mk deleted file mode 100644 index 14227c90d793..000000000000 --- a/keyboards/atreus/keymaps/ibnuda/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LTO_ENABLE=yes diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c deleted file mode 100644 index 7ca35b3d9abb..000000000000 --- a/keyboards/atreus/keymaps/jeremy/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -// This is the personal keymap of Jeremy Cowgar (@jcowgar). It is written for the programmer. - -#include QMK_KEYBOARD_H -#include "action_layer.h" -#include "keymap_colemak.h" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -#define ALPH 0 -#define NUMS 1 -#define CURS 2 -#define SYMB 3 -#define FKEY 4 - -// Some handy macros to keep the keymaps clean and easier to maintain -#define KM_SAVE LGUI(CM_S) -#define KM_CLSE LGUI(CM_W) -#define KM_OPEN LGUI(CM_O) - -#define KM_COPY LGUI(KC_C) -#define KM_CUT LGUI(KC_X) -#define KM_PAST LGUI(KC_V) -#define KM_UNDO LGUI(KC_Z) -#define KM_REDO LGUI(LSFT(KC_Z)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [ALPH] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, LT(NUMS, KC_S), LT(FKEY, KC_D), KC_F, KC_G, KC_H, KC_J, LT(CURS, KC_K), LT(SYMB, 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_LCTL, KC_ESC, KC_NO, KC_LSFT, KC_SPC, KC_LALT, KC_LGUI, KC_ENT, KC_RSFT, KC_NO, KC_ESC, KC_RCTL - ), - [NUMS] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_ASTR, KC_SLSH, KC_TRNS, KC_7, KC_8, KC_9, KC_SLSH, - KC_TRNS, KC_TRNS, KC_EQL, KC_PLUS, KC_MINS, KC_LPRN, KC_4, KC_5, KC_6, KC_ASTR, - KC_TRNS, KC_TRNS, KC_DOT, KC_COMM, CM_SCLN, KC_RPRN, KC_1, KC_2, KC_3, KC_MINS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS - ), - [CURS] = LAYOUT( - KC_TRNS, KC_BSPC, KC_UP, KC_DEL, KC_PGUP, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS, - KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TAB, KM_COPY, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [SYMB] = LAYOUT( - KC_BSLS, KC_EXLM, KC_LABK, KC_RABK, CM_COLN, KC_UNDS, KC_DLR, KC_QUES, KC_TRNS, KC_PERC, - KC_AT, KC_AMPR, KC_LPRN, KC_RPRN, CM_SCLN, KC_COMM, KC_DOT, KC_QUOT, KC_TRNS, KC_TILD, - KC_HASH, KC_PIPE, KC_LCBR, KC_RCBR, KC_SLSH, KC_TRNS, KC_GRV, KC_DQT, KC_TRNS, KC_CIRC, - KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [FKEY] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/atreus/keymaps/jeremy/readme.md b/keyboards/atreus/keymaps/jeremy/readme.md deleted file mode 100644 index df0179a8e009..000000000000 --- a/keyboards/atreus/keymaps/jeremy/readme.md +++ /dev/null @@ -1,45 +0,0 @@ -Jeremy's Atreus Key Mapping -=========================== - -I am a programmer by trade that suffers from the beginning stages of RSI. As a programmer I use letters, symbols and cursor navigation most often. To prevent strange finger gymnastics, I wrote a script to rank which non-letter characters occurred in my primary source projects most often and then placed these characters in the easiest to reach locations, for me. I made heavy use of momentary layer toggling. - -My layout is also geared toward a software based Colemak mapping. I would like it to be hardware, but I use my Laptop on the go frequently and thus my laptop keyboard. I have moved the keycaps to reflect the Colemak layout. My laptop is a MacBook Pro (2015). - -## Main Layers - -1. [Letters](http://www.keyboard-layout-editor.com/#/gists/6861cb9df09ce78efaddf8aa7471e3ac) -2. [Symbols](http://www.keyboard-layout-editor.com/#/gists/8956a18b508a78e93b9c38ec3fcccaa5) -3. [Navigation](http://www.keyboard-layout-editor.com/#/gists/6ed492b714a7f54eb1c5de09b87fd8c4) -4. [Numbers](http://www.keyboard-layout-editor.com/#/gists/399ceb5624e8388e48a3a5eacac8e973) -5. [Function Keys](http://www.keyboard-layout-editor.com/#/gists/7fd7dc24c7048316f3724b1893c64e89) - -## Notes - -### General - -Some characters can be accessed multiple ways. This was done because you may be in a given layer, such as numbers, where when doing math, you may need quick access to the parentheses characters for grouping. This prevents some layer switching. - -I own an ErgoDox and plan on porting this as a base layer, then using the extra keys the ErgoDox provides accordingly. My goal, though, is to be fully functional on this base setup and build everything into muscle memory. - -### Symbol Layer - -1. I placed characters that deal with an if statement close together, such as !, & and |. -2. All matching brace/bracket characters are together as well. - -### Number Layer - -1. Everything I did was a compromise when trying to mimic a ten-key. I did the best I could. -2. Operators are duplicated on the right and left. I do not find it comfortable to use my pinky much, so I tend to use my left hand for +, -, * and / but those were also placed on the right hand to mimic the ten-key. -3. Parentheses were added for typing on the calculator. - -### Cursor Layer - -1. It includes basic audio controls because they didn't really fit anywhere else -2. It contains basic file manipulation. I'm not sure that was a good idea. I do save all the time, but Cmd+S isn't exactly hard. -3. It contains the backspace and delete keys right on top of the left and right arrows. -4. Cmd and Opt keys are duplicated. This makes for very easy navigation, for example on a Mac, Opt+Left/Right moves word by word. It also backspaces or deletes word by word. - -### Function Layer - -1. Almost all other layers I saw grouped the F keys into a bunch of three. This only gives nine function keys in order if you attempt to stay as close to the home row as possible. I went with a group of four, which gives all twelve function keys to the right hand, one row below and above the home row. -2. I duplicated the Command and Option keys the same as on the cursor layer. This makes it dead easy to hit modified function keys such as Cmd+Opt+F5. It's also easy to toss in a Shift modifier in there with the right thumb since the bottom row is preserved. diff --git a/keyboards/atreus/keymaps/kejadlen/README.md b/keyboards/atreus/keymaps/kejadlen/README.md deleted file mode 100644 index f3b8be3ee0ae..000000000000 --- a/keyboards/atreus/keymaps/kejadlen/README.md +++ /dev/null @@ -1,4 +0,0 @@ -```shell -make atreus/teensy2:kejadlen -make atreus/teensy2:kejadlen:flash -``` diff --git a/keyboards/atreus/keymaps/kejadlen/config.h b/keyboards/atreus/keymaps/kejadlen/config.h deleted file mode 100644 index a75070e199ad..000000000000 --- a/keyboards/atreus/keymaps/kejadlen/config.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#define MATRIX_ROW_PINS { D0, D1, D2, D3 } -#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, F7, B0, B1, B2, B3, B7 } - -#define DIODE_DIRECTION COL2ROW - -#define QUICK_TAP_TERM 0 - -#define USB_MAX_POWER_CONSUMPTION 50 diff --git a/keyboards/atreus/keymaps/kejadlen/keymap.c b/keyboards/atreus/keymaps/kejadlen/keymap.c deleted file mode 100644 index 45de7824c205..000000000000 --- a/keyboards/atreus/keymaps/kejadlen/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -#include QMK_KEYBOARD_H - -#define BASE 0 -#define SYMB 1 -#define ETC 2 - -enum macro_id { - TEENSY, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( - KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, - LT(ETC,KC_A), KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, - SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), - KC_GRV, KC_DEL, KC_LALT, GUI_T(KC_TAB), LT(SYMB,KC_BSPC), CTL_T(KC_ESC), SFT_T(KC_ENT), LT(SYMB,KC_SPC), GUI_T(KC_LEFT), ALT_T(KC_DOWN), KC_UP, LCAG_T(KC_RGHT) - ), - - [SYMB] = LAYOUT( - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_EQL, KC_7, KC_8, KC_9, KC_PLUS, - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BSLS, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_ASTR, KC_UNDS, KC_1, KC_2, KC_3, KC_DQUO, - KC_TILD, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_NO, KC_DOT, KC_TRNS - ), - - [ETC] = LAYOUT( - QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_HOME, - LT(ETC,KC_A), KC_NO, KC_NO, KC_NO, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_END, - KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_INS, - KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO - ), -}; diff --git a/keyboards/atreus/keymaps/khitsule/config.h b/keyboards/atreus/keymaps/khitsule/config.h deleted file mode 100644 index 7fa3bf328ec9..000000000000 --- a/keyboards/atreus/keymaps/khitsule/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#endif diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c deleted file mode 100644 index 79f4da0b81e6..000000000000 --- a/keyboards/atreus/keymaps/khitsule/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -// Personal keymap of khitsule - -#include QMK_KEYBOARD_H - -enum layers { - ALPH, - GAME, - LOWR, - RAIS, - ADJS -}; - -// define any macros here to keep keymap clean and readable - -#define KM_DLEFT LGUI(LCTL(KC_LEFT)) -#define KM_DRIGHT LGUI(LCTL(KC_RIGHT)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [ALPH] = 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_ESC, KC_TRNS, KC_TRNS, ALT_T(KC_ENT), LT(LOWR, KC_TAB), CTL_T(KC_SPC), SFT_T(KC_BSPC), LT(RAIS, KC_DEL), KC_LGUI, TO(GAME), KC_QUOT, KC_MINUS - ), - [GAME] = 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_ESC, KC_TRNS, KC_ENT, KC_LALT, KC_TAB, KC_LCTL, KC_LSFT, KC_DEL, KC_LGUI, TO(ALPH), KC_QUOT, KC_MINUS - ), - [LOWR] = LAYOUT( - KC_PSCR, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_LPRN, KC_F7, KC_F8, KC_F9, KC_RPRN, - KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, KC_LBRC, KC_F4, KC_F5, KC_F6, KC_RBRC, - KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, LSFT(KC_LBRC), KC_F1, KC_F2, KC_F3, LSFT(KC_RBRC), - KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(ADJS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [RAIS] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, - KC_CIRC, KC_AMPR, KC_GRV, KC_TILD, KC_PIPE, KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINUS, KC_1, KC_2, KC_3, KC_SLASH, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(ADJS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL - ), - [ADJS] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TSKMGR, 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, - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/atreus/keymaps/khitsule/readme.md b/keyboards/atreus/keymaps/khitsule/readme.md deleted file mode 100644 index bf984b52b3b2..000000000000 --- a/keyboards/atreus/keymaps/khitsule/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Atreus Layout by Khitsule -![Khitsule](https://i.imgur.com/wuki3aM.png) - -[KLE link](http://www.keyboard-layout-editor.com/#/gists/35ed66c55456699fd8f5d06750984a07) - -## Layers -| Layer | Legend | -| ----- | ------ | -| Base | Top left (black) | -| Lower | Top right (purple) | -| Raise | Bottom right (pink) | - -## Features -* Raise/lower layers focus first on one-handed use -* Numpad on right hand with raise layer -* Navigation on left hand with lower layer (ESDF) - * D refers to desktop left/right on Win 10 (win+ctrl+left/right) -* Heavy use of hold/tap dual function keys - * Ctrl/Space - * Shift/Backspace - * Alt/Enter - * Lower/Tab - * Raise/Delete \ No newline at end of file diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 30a066fa5be0..000000000000 --- a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX\ -) diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/atreus/keymaps/nojjan/config.h b/keyboards/atreus/keymaps/nojjan/config.h deleted file mode 100644 index bc5c25d416ae..000000000000 --- a/keyboards/atreus/keymaps/nojjan/config.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS - -// Pin configuration for falbatech atreus -#define MATRIX_ROW_PINS { D0, D1, D3, D2 } -#define MATRIX_COL_PINS { D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 } diff --git a/keyboards/atreus/keymaps/nojjan/keymap.c b/keyboards/atreus/keymaps/nojjan/keymap.c deleted file mode 100644 index 189a5c8e05cc..000000000000 --- a/keyboards/atreus/keymaps/nojjan/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _RS 1 -#define _LW 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT ), -/* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * lower insert super shift bksp ctrl || alt space fn . 0 = - */ -[_RS] = LAYOUT( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), -/* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause - */ -[_LW] = LAYOUT( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS ) -}; diff --git a/keyboards/atreus/keymaps/ptillemans/keymap.c b/keyboards/atreus/keymaps/ptillemans/keymap.c deleted file mode 100644 index 0c9655f5b142..000000000000 --- a/keyboards/atreus/keymaps/ptillemans/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _RS 1 -#define _LW 2 - -#define MY_SHEN MT(MOD_LSFT, KC_ENT) -#define MY_CTES MT(MOD_LCTL, KC_ESC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - TT(_LW), KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, MY_CTES, KC_LALT, KC_SPC, TT(_RS), KC_MINS, KC_QUOT, MY_SHEN - ), - - /* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * lower insert super shift bksp ctrl || alt space fn . 0 = - */ - [_RS] = LAYOUT( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_UP, KC_UNDS, KC_PLUS, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_RBRC, KC_LBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , - TT(_LW), _______, _______, _______, _______, _______, _______, _______, TO(_QW), KC_DOT, KC_0, KC_EQL - ), - /* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift next ctrl || alt space L0 prtsc scroll pause - */ - [_LW] = LAYOUT( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_TILD, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_NO, KC_VOLD, _______, _______, KC_MNXT, _______, _______, _______, TO(_QW), KC_PSCR, KC_SCRL, KC_MPLY - ) -}; diff --git a/keyboards/atreus/keymaps/quartz64/keymap.c b/keyboards/atreus/keymaps/quartz64/keymap.c deleted file mode 100644 index eb882bce3198..000000000000 --- a/keyboards/atreus/keymaps/quartz64/keymap.c +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright 2022 DmNosachev - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QW, - _RS, - _LW -}; - -#define MC1 COMP_FR_QUOTES -#define MC2 COMP_NBSP_EM_DASH -#define MC3 COMP_NBSP - -enum custom_keycodes { - COMP_FR_QUOTES = SAFE_RANGE, // Compose: french quotes - COMP_NBSP_EM_DASH, // Compose: nbsp followed by em dash - COMP_NBSP, // Compose: nbsp - PWD1, - PWD2, - PWD3, // KP password -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - ,----------------------------------. ,----------------------------------. - |Q/Alt | W | E | R | T | | Y | U | I | O | P | - |------+------+------+------+------| |------+------+------+------+------| - |A/Ctrl| S | D | F | G | | H | J | K | L |;/Ctrl| - |------+------+------+------+------|------.,------|------+------+------+------+------| - |Z/Shft| X | C | V | B |Bkspc ||Delete| N | M | , | . |?/Shft| - |------+------+------+------+------| || |------+------+------+------+------| - | ~ | Tab | - | GUI |Spc/LW|------'`------|Ent/RS| |\ | [ | ] | "' | - `----------------------------------' `----------------------------------' -*/ - [_QW] = LAYOUT( /* QWERTY */ - LALT_T(KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - LCTL_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, RCTL_T(KC_SCLN), - LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_GRV, KC_TAB, KC_MINS, KC_LGUI, LT(_LW, KC_SPC), KC_BSPC, KC_DEL, LT(_RS, KC_ENT), KC_BSLS, KC_LBRC, KC_RBRC, KC_QUOT - ), - -/* - ,----------------------------------. ,----------------------------------. - | PrnSc| pwd1 | up | pwd2 | PgUp | | Home | F7 | F8 | F9 | | - |------+------+------+------+------| |------+------+------+------+------| - | trns | left | down | right| PgDn | | End | F4 | F5 | F6 | trns | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | trns | MC2 | MC3 | ( | ) | || | AltGr| F1 | F2 | F3 | trns | - |------+------+------+------+------| || |------+------+------+------+------| - | trns | C+S | Ins | MC1 | trns |------'`------| trns | F10 | F11 | F12 | trns | - `----------------------------------' `----------------------------------' -*/ - - [_RS] = LAYOUT( /* RAISE */ - KC_PSCR, PWD1, KC_UP, PWD2, KC_PGUP, KC_HOME, KC_F7, KC_F8, KC_F9, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_F4, KC_F5, KC_F6, _______, - _______, MC2, MC3, KC_LPRN, KC_RPRN, KC_RALT, KC_F1, KC_F2, KC_F3, _______, - _______, LCTL(KC_LSFT), _______, MC1, _______, _______, _______, _______, KC_F10, KC_F11, KC_F12, _______ - ), - -/* - ,----------------------------------. ,----------------------------------. - | ! | @ | # | $ | % | | / | 7 | 8 | 9 | . | - |------+------+------+------+------| |------+------+------+------+------| - | trns | ^ | & | * | PWD3 | | * | 4 | 5 | 6 | trns | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | trns |r_tog | r_hue| r_sat| r_val| || | + | 1 | 2 | 3 | trns | - |------+------+------+------+------| || |------+------+------+------+------| - | trns | Esc |QK_BOOT |capslk| trns |------'`------| trns | 0 | - | += | trns | - `----------------------------------' `----------------------------------' -*/ - - [_LW] = LAYOUT( /* LOWER */ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PSLS, KC_7, KC_8, KC_9, KC_PDOT, - _______, KC_CIRC, KC_AMPR, KC_ASTR, PWD3, KC_PAST, KC_4, KC_5, KC_6, _______, - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_PPLS, KC_1, KC_2, KC_3, _______, - _______, KC_ESC , QK_BOOT, KC_CAPS, _______, _______, _______, _______, KC_0, KC_PMNS, KC_EQL, _______ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MC1: /* French quotes */ - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_RALT) SS_DELAY(100) "<<" SS_DELAY(100) SS_TAP(X_RALT) SS_DELAY(100) ">>" SS_TAP(X_LEFT)); - } - break; - - case MC2: /* NB-space + mdash + space */ - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_RALT) SS_DELAY(100) " " SS_DELAY(100) SS_TAP(X_RALT) SS_DELAY(100) "--- "); - } - break; - - case MC3: /* NB-space */ - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_RALT) SS_DELAY(100) " "); - } - break; - - case PWD1: - if (record->event.pressed) { - SEND_STRING("NakedLunch1991\n"); - } - break; - - case PWD2: - if (record->event.pressed) { - SEND_STRING("O94nx4sUWHc4akud\n"); - } - break; - - case PWD3: - if (record->event.pressed) { - SEND_STRING("Q123qQ123q\n"); - } - break; - } - return true; -}; \ No newline at end of file diff --git a/keyboards/atreus/keymaps/ridingqwerty/config.h b/keyboards/atreus/keymaps/ridingqwerty/config.h deleted file mode 100644 index 349d7b1c493d..000000000000 --- a/keyboards/atreus/keymaps/ridingqwerty/config.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#undef MATRIX_ROWS -#define MATRIX_ROWS 8 - -#undef MATRIX_COLS -#define MATRIX_COLS 6 - -#undef MATRIX_ROW_PINS -#define MATRIX_ROW_PINS { A6, A7, A8, A15, B11, B12, A14, A13 } - -#undef MATRIX_COL_PINS -#define MATRIX_COL_PINS { B5, B4, B3, B2, B1, B0 } diff --git a/keyboards/atreus/keymaps/ridingqwerty/keymap.c b/keyboards/atreus/keymaps/ridingqwerty/keymap.c deleted file mode 100644 index 1eeb17fd1751..000000000000 --- a/keyboards/atreus/keymaps/ridingqwerty/keymap.c +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright 2019 George Koenig - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "ridingqwerty.h" - -/* Atreus - ┏━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━┓ ┏━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━┓ - ┃ 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 │ , │ ð”― . │ ⇧ / ┃ - ┠────────┾────────┾────────┾────────┾────────â”Ī Âķ ⎋ ┃ âĶ â‡Ĩ ├────────┾────────┾────────┾────────┾────────â”Ļ - ┃ ⎈ ⎋ │ ⌘ â‡Ĩ │ ⎇ [ │ ⇧ ] │ ðŸ”Ē âŒŦ │ ┃ │ ★ âĢ │ ⇧ - │ ⎇ = │ ⌘ ' │ ⎈ â†ĩ ┃ - ┗━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━â”ŧ━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┛ - MODS // LAYERS // MODS // -*/ - -#define LAYOUT_atreus( \ - K00, K01, K02, K03, K04, K40, K41, K42, K43, K44, \ - K10, K11, K12, K13, K14, K50, K51, K52, K53, K54, \ - K20, K21, K22, K23, K24, K60, K61, K62, K63, K64, \ - K30, K31, K32, K33, K34, K35, K70, K71, K72, K73, K74, K75 \ -) { \ - { K00, K01, K02, K03, K04, KC_NO }, \ - { K10, K11, K12, K13, K14, KC_NO }, \ - { K20, K21, K22, K23, K24, KC_NO }, \ - { K30, K31, K32, K33, K34, K35 }, \ - { K44, K43, K42, K41, K40, KC_NO }, \ - { K54, K53, K52, K51, K50, KC_NO }, \ - { K64, K63, K62, K61, K60, KC_NO }, \ - { K75, K74, K73, K72, K71, K70 } \ -} - -//#define ALPHA XP(UCM_LDEL, UCM_UDEL) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_atreus_wrapper( /* Qwerty */ - ________________ATREUS_L1__________________, ________________ATREUS_R1__________________, - ________________ATREUS_L2__________________, ________________ATREUS_R2__________________, - ________________ATREUS_L3__________________, ________________ATREUS_R3__________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), - [_DVORAK] = LAYOUT_atreus_wrapper( /* Qwerty */ - ________________DVORAK_L1__________________, ________________DVORAK_R1__________________, - ________________DVORAK_L2__________________, ________________DVORAK_R2__________________, - ________________DVORAK_L3__________________, ________________DVORAK_R3__________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), - [_COLEMAK] = LAYOUT_atreus_wrapper( /* Qwerty */ - ________________COLEMAK_L1_________________, ________________COLEMAK_R1_________________, - ________________COLEMAK_L2_________________, ________________COLEMAK_R2_________________, - ________________COLEMAK_L3_________________, ________________COLEMAK_R3_________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), -//#if defined(UNICODEMAP_ENABLE) -//#ifdef UNICODE_H -#ifdef UNICODEMAP_ENABLE - [_GREEK] = LAYOUT_atreus_wrapper( - ________________GREEK_L1___________________, ________________GREEK_R1___________________, - ________________GREEK_L2___________________, ________________GREEK_R2___________________, - ________________GREEK_L3___________________, ________________GREEK_R3___________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), - [_RUSSIAN] = LAYOUT_atreus_wrapper( - ________________CYRLC_L1___________________, ________________CYRLC_R1___________________, - ________________CYRLC_L2___________________, ________________CYRLC_R2___________________, - ________________CYRLC_L3___________________, ________________CYRLC_R3___________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________CYRLC_R4___________________ - ), - [_RUNES] = LAYOUT_atreus_wrapper( - ________________FTHRK_L1___________________, ________________FTHRK_R1___________________, - ________________FTHRK_L2___________________, ________________FTHRK_R2___________________, - ________________FTHRK_L3___________________, ________________FTHRK_R3___________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), - [_HIRA1] = LAYOUT_atreus_wrapper( - ________________JIS1_L1____________________, ________________JIS1_R1____________________, - ________________JIS1_L2____________________, ________________JIS1_R2____________________, - ________________JIS1_L3____________________, ________________JIS1_R3____________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), - [_HIRA2] = LAYOUT_atreus_wrapper( - ________________JIS2_L1____________________, ________________JIS2_R1____________________, - ________________JIS2_L2____________________, ________________JIS2_R2____________________, - ________________JIS2_L3____________________, ________________JIS2_R3____________________, - ________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________ - ), -#endif - [_EDITOR] = LAYOUT_atreus_wrapper( /* ED_A, ED_ESC */ - ________________EDITOR_L1__________________, ________________EDITOR_R1__________________, - ________________EDITOR_L2__________________, ________________EDITOR_R2__________________, - ________________EDITOR_L3__________________, ________________EDITOR_R3__________________, - _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______ - ), - [_NUMBER] = LAYOUT_atreus_wrapper( /* NM_SCLN, NM_BSPC */ - ________________NUMROW_L1__________________, ________________NUMROW_R1__________________, - ________________NUMROW_R1__________________, ________________NUMPAD_R2__________________, - ___________________________________________, ________________NUMPAD_R3__________________, - ___________________________________________, ________________, ________________NUMPAD_R4__________________ - ), - [_SYMBOL] = LAYOUT_atreus_wrapper( /* SM_SPC */ - ________________SYMROW_L1__________________, ________________SYMROW_R1__________________, - ________________SYMROW_R1__________________, ________________SYMROW_R1__________________, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, - KC_LBRC, _______, _______, _______, _______, ________________, _______, _______, _______, _______, KC_RBRC - ), - [_F_KEYS] = LAYOUT_atreus_wrapper( /* FK_DOT */ - ________________FKEYROW_L1_________________, ________________FKEYROW_R1_________________, - ________________FKEYROW_R1_________________, ________________FKEYROW_L1_________________, - KC_F11, KC_F12, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_DEBUG] = LAYOUT_atreus_wrapper( /* shhhh... */ - ________________DEBUG_L1___________________, ________________DEBUG_R1___________________, - ________________DEBUG_L2___________________, ________________DEBUG_R2___________________, - ________________DEBUG_L3___________________, ________________DEBUG_R3___________________, - _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______ - ), - [_SECRET] = LAYOUT_atreus_wrapper( /* shhhh... */ -/* - _______, _______, _______, RUSTY, FUEL, _______, _______, _______, _______, _______, - AR1ST, SYSNOC, _______, _______, _______, _______, _______, _______, OS_LAB, _______, - CDLOCAL, _______, C0RE, VAXIS, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -*/ - ________________SECRET_L1__________________, ________________SECRET_R1__________________, - ________________SECRET_L2__________________, ________________SECRET_R2__________________, - ________________SECRET_L3__________________, ________________SECRET_R3__________________, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - - ), - [_FINAL] = LAYOUT_atreus( /* . */ - _______, _______, _______, _______, TESTING, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/atreus/keymaps/ridingqwerty/readme.md b/keyboards/atreus/keymaps/ridingqwerty/readme.md deleted file mode 100644 index 936df360993b..000000000000 --- a/keyboards/atreus/keymaps/ridingqwerty/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is a handwired Atreus42 using a Proton C diff --git a/keyboards/atreus/keymaps/ridingqwerty/rules.mk b/keyboards/atreus/keymaps/ridingqwerty/rules.mk deleted file mode 100644 index ecead0e01bce..000000000000 --- a/keyboards/atreus/keymaps/ridingqwerty/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -# MCU name -MCU = STM32F303 -BOARD = QMK_PROTON_C - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# comment out to disable the options. -# -BACKLIGHT_ENABLE = no -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 = yes # USB Nkey Rollover -AUDIO_ENABLE = yes # Doot -RGBLIGHT_ENABLE = no -TAP_DANCE_ENABLE = no -UNICODE_ENABLE = no -UNICODEMAP_ENABLE = yes diff --git a/keyboards/atreus/keymaps/talljoe/config.h b/keyboards/atreus/keymaps/talljoe/config.h deleted file mode 100644 index 71c7864b7ced..000000000000 --- a/keyboards/atreus/keymaps/talljoe/config.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright 2020 Joseph Wasson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 SPACE_COUNT 3 - -#define TEMPLATE_TKL( \ - KESC, KF01, KF02, KF03, KF04, KF05, KF06, KF07, KF08, KF09, KF10, KF11, KF12, KSCL, KPRS, KADJ, \ - KGRV, K_1 , K_2 , K_3 , K_4 , K_5 , K_6 , K_7 , K_8 , K_9 , K_0 , KMIN, KEQL, KBSP, KINS, KHOM, KPUP, \ - KTAB, K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , KLBR, KRBR, KBLS, KDEL, KEND, LPDN, \ - KCAP, K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, KQUO, KENT, \ - KLSH, K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, KRSH, K_UP, \ - KLCT, KLOS, KLAL, KSP3, KSP2, KSP1, KRAL, KROS, KRCT, KPTT, K_LT, K_DN, K_RT \ -) LAYOUT( \ - K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , \ - K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, \ - K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, \ - KTAB, KLOS, KLAL, KLSH, KSP3, KSP2, KCAP, KSP1, KRSH, KBLS, KQUO, KADJ \ -) - -#define TEMPLATE_NUM( \ - KGRV, K_1 , K_2 , K_3 , K_4 , K_5 , K_6 , K_7 , K_8 , K_9 , K_0 , KMIN, KEQL, KBSL, KESC, \ - KTAB, K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , KLBR, KRBR, KBSP, \ - KCAP, K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, KQUO, KENT, \ - KLSH, K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, KRSH, KADJ, \ - KLCT, KLOS, KLAL, KSP3, KSP2, KSP1, KRAL, KROS, KRCT, KPTT \ -) LAYOUT( \ - K_Q , K_W , K_E , K_R , K_T , K_Y , K_U , K_I , K_O , K_P , \ - K_A , K_S , K_D , K_F , K_G , K_H , K_J , K_K , K_L , KSMI, \ - K_Z , K_X , K_C , K_V , K_B , K_N , K_M , KCMA, KDOT, KSLS, \ - KTAB, KLOS, KLAL, KLSH, KSP3, KSP2, KCAP, KSP1, KRAL, KROS, KQUO, KADJ \ -) - -#define TEMPLATE_RESET LAYOUT( \ - QK_BOOT, 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, \ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ -) diff --git a/keyboards/atreus/keymaps/talljoe/keymap.c b/keyboards/atreus/keymaps/talljoe/keymap.c deleted file mode 100644 index 7812add812b3..000000000000 --- a/keyboards/atreus/keymaps/talljoe/keymap.c +++ /dev/null @@ -1 +0,0 @@ -// This space intentionally left blank diff --git a/keyboards/atreus/keymaps/talljoe/rules.mk b/keyboards/atreus/keymaps/talljoe/rules.mk deleted file mode 100644 index 92007fe8ad71..000000000000 --- a/keyboards/atreus/keymaps/talljoe/rules.mk +++ /dev/null @@ -1 +0,0 @@ -USER_NAME := talljoe diff --git a/keyboards/atreus/keymaps/xyverz/config.h b/keyboards/atreus/keymaps/xyverz/config.h deleted file mode 100644 index 037c9f3180ca..000000000000 --- a/keyboards/atreus/keymaps/xyverz/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#undef DEBOUNCE -#define DEBOUNCE 6 diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c deleted file mode 100644 index 3fea40287313..000000000000 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,106 +0,0 @@ -// This is the personal keymap of Ian Sterling (@xyverz). It is based on the keymap by -// Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and -// Preonic keyboards by Jack Humbert. - -#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 { - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - LOWER = SAFE_RANGE, - RAISE, - ADJUST -}; - -// Adding macros to make the keymaps below much easier to read. -#define SFTSCLN SFT_T(KC_SCLN) -#define SFTZED SFT_T(KC_Z) -#define ALTENT ALT_T(KC_ENT) -#define DELGUI GUI_T(KC_DEL) -#define ESCTRL CTL_T(KC_ESC) -#define TABALT ALT_T(KC_TAB) -#define ADJUST MO(_ADJUST) -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define MACLOCK LGUI(LCTL(KC_Q)) -#define WINLOCK LGUI(KC_L) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Dvorak Layer - ,----------------------------------. ,----------------------------------. - | ' | , | . | P | Y | | F | G | C | R | L | - |------+------+------+------+------| |------+------+------+------+------| - | A | O | E | U | I | | D | H | T | N | S | - |------+------+------+------+------|------.,------|------+------+------+------+------| - |SFT/ ;| Q | J | K | X |Delete||Enter | B | M | W | V |SFT/ Z| - |------+------+------+------+------| / GUI|| / ALT|------+------+------+------+------| - | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | - `----------------------------------' `----------------------------------' */ - [_DVORAK] = LAYOUT( - KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L , - KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S , - SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, SFTZED , - ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, DELGUI, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS - ), - - /* LOWER Layer - ,----------------------------------. ,----------------------------------. - | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - |------+------+------+------+------| |------+------+------+------+------| - | CAPS | | UP | | Home | | PgDn | | + | { | } | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | | - |------+------+------+------+------| || |------+------+------+------+------| - | ~ | | | | Del |------'`------| Ins | | | | | - `----------------------------------' `----------------------------------'*/ - [_LOWER] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, - KC_TILD, _______, _______, _______, KC_DEL, _______, _______, KC_INS, ADJUST, _______, _______, _______ - ), - - /* RAISE Layer - ,----------------------------------. ,----------------------------------. - | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |------+------+------+------+------| |------+------+------+------+------| - | CAPS | | UP | | Home | | PgDn | | = | [ | ] | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | | - |------+------+------+------+------| || |------+------+------+------+------| - | ` | | | | Del |------'`------| Ins | | | | | - `----------------------------------' `----------------------------------'*/ - [_RAISE] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 , - KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______, - KC_GRV, _______, _______, ADJUST, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______ - ), - - /* ADJUST Layer - ,----------------------------------. ,----------------------------------. - | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - |------+------+------+------+------| |------+------+------+------+------| - | F11 | | | | | | | PrSc | ScLk | Paus | F12 | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | | | | | | || | | | | | | - |------+------+------+------+------|MACLCK||WINLCK|------+------+------+------+------| - | | | | | |------'`------| | | | |QKBOOT| - `----------------------------------' `----------------------------------'*/ - [_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_PSCR, KC_SCRL, KC_PAUS, KC_F12 , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, MACLOCK, WINLOCK, _______, _______, _______, _______, QK_BOOT - ), -}; \ No newline at end of file diff --git a/keyboards/atreus/keymaps/xyverz/readme.md b/keyboards/atreus/keymaps/xyverz/readme.md deleted file mode 100644 index de9ae3f4847d..000000000000 --- a/keyboards/atreus/keymaps/xyverz/readme.md +++ /dev/null @@ -1,107 +0,0 @@ -# Xyverz's Atreus Keymap - -## About this keymap: - -This is the second iteration of my Atreus keymap. The first one was as close to the planck as I could get at the -time, but still very much like the original Atreus keymap. I've managed to get things working better now and have -implemented (more like copied) the RAISE/LOWER/ADJUST layers. This is a work in progress, but I think I'm closer -to a final go with this. - -I'm using MOD_TAP quite a bit in this keymap. On all layers, R4 pinky keys use mod-tap and are SHIFT when held -and their normal keys when tapped. In addition, ESC and TAB are also set as Ctrl and ALT respectively when held, -and Enter/ALT on the right thumb key for all alpha layers. - -I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. - -Recently added: Documentation, Formatting, and another Dvorak layer that has Command on the left thumb, instead of -Control. - -## Still to do: - - * Enjoy this revision; figure out new things later. - -### Layer 0: Dvorak layer - - ,----------------------------------. ,----------------------------------. - | ' | , | . | P | Y | | F | G | C | R | L | - |------+------+------+------+------| |------+------+------+------+------| - | A | O | E | U | I | | D | H | T | N | S | - |------+------+------+------+------|------.,------|------+------+------+------+------| - |Shft ;| Q | J | K | X | CTRL ||Alt / | B | M | W | V |Shft Z| - |------+------+------+------+------| ||Enter |------+------+------+------+------| - | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | - `----------------------------------' `----------------------------------' - -### Layer 1: QWERTY layer - - ,----------------------------------. ,----------------------------------. - | Q | W | E | R | T | | Y | U | I | O | P | - |------+------+------+------+------| |------+------+------+------+------| - | A | S | D | F | G | | H | J | K | L | ; | - |------+------+------+------+------|------.,------|------+------+------+------+------| - |Shft Z| X | C | V | B | CTRL ||Alt / | N | M | , | . |Shft /| - |------+------+------+------+------| ||Enter |------+------+------+------+------| - | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | - `----------------------------------' `----------------------------------' - -### Layer 2: Colemak layer - - ,----------------------------------. ,----------------------------------. - | Q | W | F | P | G | | J | L | U | Y | L | - |------+------+------+------+------| |------+------+------+------+------| - | A | R | S | T | D | | H | N | E | I | S | - |------+------+------+------+------|------.,------|------+------+------+------+------| - |Shft Z| X | C | V | B | CTRL ||Alt / | K | M | , | . |Shft /| - |------+------+------+------+------| ||Enter |------+------+------+------+------| - | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | - `----------------------------------' `----------------------------------' - -### Layer 3: Dvorak for Mac layer - - ,----------------------------------. ,----------------------------------. - | ' | , | . | P | Y | | F | G | C | R | L | - |------+------+------+------+------| |------+------+------+------+------| - | A | O | E | U | I | | D | H | T | N | S | - |------+------+------+------+------|------.,------|------+------+------+------+------| - |SFT/ ;| Q | J | K | X | CMD ||Alt / | B | M | W | V |SFT/ Z| - |------+------+------+------+------| ||Enter |------+------+------+------+------| - | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | - `----------------------------------' `----------------------------------' - -### Layer 4: LOWER layer - - ,----------------------------------. ,----------------------------------. - | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - |------+------+------+------+------| |------+------+------+------+------| - | CAPS | | UP | | Home | | PgDn | | + | { | } | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | | - |------+------+------+------+------| || |------+------+------+------+------| - | ~ | | | | Del |------'`------| Ins | | | |MACLCK| - `----------------------------------' `----------------------------------' - - -### Layer 5: RAISE layer - - ,----------------------------------. ,----------------------------------. - | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |------+------+------+------+------| |------+------+------+------+------| - | CAPS | | UP | | Home | | PgDn | | = | [ | ] | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | | - |------+------+------+------+------| || |------+------+------+------+------| - | ` | | | | Del |------'`------| Ins | | | |MACLCK| - `----------------------------------' `----------------------------------' - -### Layer 6: ADJUST layer - - ,----------------------------------. ,----------------------------------. - | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - |------+------+------+------+------| |------+------+------+------+------| - | F11 | | | | | | | PScr | SLck | Paus | F12 | - |------+------+------+------+------|------.,------|------+------+------+------+------| - | |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | | - |------+------+------+------+------| || |------+------+------+------+------| - | | | | | |------'`------| | | | | RESET| - `----------------------------------' `----------------------------------' - diff --git a/keyboards/atreus/keymaps/yttyx/README.md b/keyboards/atreus/keymaps/yttyx/README.md deleted file mode 100644 index ba8fa47faab3..000000000000 --- a/keyboards/atreus/keymaps/yttyx/README.md +++ /dev/null @@ -1,103 +0,0 @@ -# Overview - -This layout is based on Balance Twelve (mirror variant) by Sasha Viminitz. Please see [this page](https://mathematicalmulticore.wordpress.com/the-keyboard-layout-project/) -for more information. It's designed for left-handers who use their right hand for the mouse. - -## To build - -``` -sudo make atreus:yttyx -``` - -## To flash (example) - -``` -sudo avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_yttyx.hex -P /dev/ttyACM0 -``` - -## Layers - -### Base: - - .--------.-------.-------.-------.--------. .-------.-------.-------.-------.------. - | P | L | C | D | W | | U | O | Y | K | Q | - |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------| - | N | R | S | T | M | | A | E | I | H | V | - |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------| - | Z Sft | J Ctl | F Alt | G | B | | , | . Alt | ; Ctl | X Sft | Sup | - '--------'-------'-------+-------+--------+-----. .-----+-------+-------+-------'-------'------' - | BS P1 | Spc P2 | P3 | | | Sft | | - '-------'--------'-----' '-----'-------'-------' - -### P1: Punctuation (1) - - - .--------.-------.-------.-------.-------. .------.-------.-------.-------.------. - | Esc | | | | RS | | | | / | ^ | ÂĢ | ~ | - |--------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Tab | | | | | | & | \ | ` | $ | Ent | - |--------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | | | % | Alt | Ctl | Sft | Sup | - '--------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------' - | P1 | | | | | Sft | | - '-------'-------'-----' '-----'------'-------' - -### P2: Punctuation (2) - - .-------.-------.-------.-------.-------. .-------.-------.-------.-------.------. - | Esc | | NC | FV | | | ( | ) | " | ? | | - |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------| - | Tab | Ctl-X | Ctl-C | Ctl-V | Ctl-Z | | { | } | ' | ! | Ent | - |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | Ent | | # | Alt | Ctl | Sft | Sup | - '-------'-------'-------+-------+-------+-----. .-----+-------+-------+-------'-------'------' - | BS | P2 | | | | Sft | | - '-------'-------'-----' '-----'-------'-------' - -### P3: Punctuation (3) - - .-------.-------.-------.-------.-------. .------.-------.-------.-------.------. - | Esc | | Break | Pscr | ScLk | | < | > | + | _ | = | - |-------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Tab | | | Caps | | | [ | ] | * | - | Ent | - |-------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | | | @ | Alt | Ctl | Sft | Sup | - '-------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------' - | BS | | P3 | | | Sft | | - '-------'-------'-----' '-----'------'-------' - -### Numerals / Cursor control - - .-------.-------.-------.------.-------. .------.-------.-------.------.------. - | 1 | 2 | 3 | 4 | 5 | | Home | Up | End | PgUp | | - |-------+-------+-------+------+-------| |------+-------+-------+------+------| - | 6 | 7 | 8 | 9 | 0 | | Left | Down | Right | PgDn | | - |-------+-------+-------+------+-------| |------+-------+-------+------+------| - | Sft | Ctl | Alt | Del | . | | Ins | Alt | Ctl | Sft | Sup | - '-------'-------'-------+------+-------+-----. .-----+------+-------+-------'------'------' - | BS | BA | | | | Sft | | - '------'-------'-----' '-----'------'-------' - -### FV: Function keys / Cursor control (Vim) - - .-------.------.-------.-----.-------. .------.-------.-----.-------.------. - | F1 | F2 | F3 | F4 | F5 | | 0 | K | $ | Ctl-B | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | F6 | F7 | F8 | F9 | F10 | | H | J | L | Ctl-F | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | Sft | Ctl | Alt | F11 | F12 | | | Alt | Ctl | Sft | Sup | - '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------' - | BS | BA | | | | Sft | | - '-----'-------'-----' '-----'------'-------' - -### RS: Reset - - .-------.------.-------.-----.-------. .------.-------.-----.-------.------. - | RESET | | | | | | | | | | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | | | | | | | | | | | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | | | | | | | | | | | | - '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------' - | | BA | | | | | | - '-----'-------'-----' '-----'------'-------' diff --git a/keyboards/atreus/keymaps/yttyx/config.h b/keyboards/atreus/keymaps/yttyx/config.h deleted file mode 100644 index b9e113ec0bb4..000000000000 --- a/keyboards/atreus/keymaps/yttyx/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/atreus/keymaps/yttyx/keymap.c b/keyboards/atreus/keymaps/yttyx/keymap.c deleted file mode 100644 index ce19fc7da5ab..000000000000 --- a/keyboards/atreus/keymaps/yttyx/keymap.c +++ /dev/null @@ -1,159 +0,0 @@ - -#include QMK_KEYBOARD_H - -enum layers { - BA, // Base (Balance Twelve mirror variant) - P1, // Punctuation (1) - P2, // Punctuation (2) - P3, // Punctuation (2) - NC, // Numerals / Cursor control - FV, // Function keys / Cursor control (Vim) - RS // Reset -}; - -// Abbreviations - base -#define KX_P1_BSPC LT(P1, KC_BSPC) -#define KX_P2_SPC LT(P2, KC_SPC) - -#define KX_SFT_Z MT(MOD_LSFT, KC_Z) -#define KX_CTL_J MT(MOD_LCTL, KC_J) -#define KX_ALT_F MT(MOD_LALT, KC_F) - -#define KX_ALT_DOT MT(MOD_LALT, KC_DOT) -#define KX_CTL_SCLN MT(MOD_LCTL, KC_SCLN) -#define KX_SFT_X MT(MOD_LSFT, KC_X) - -#define KX_AT LSFT(KC_QUOT) -#define KX_DQUOT LSFT(KC_2) -#define KX_PIPE LSFT(KC_NUBS) -#define KX_TILDA LSFT(KC_NUHS) - - -const uint16_t PROGMEM keymaps[][ MATRIX_ROWS ][ MATRIX_COLS ] = { - /* - .--------.-------.-------.-------.--------. .-------.-------.-------.-------.------. - | P | L | C | D | W | | U | O | Y | K | Q | - |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------| - | N | R | S | T | M | | A | E | I | H | V | - |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------| - | Z Sft | J Ctl | F Alt | G | B | | , | . Alt | ; Ctl | X Sft | Sup | - '--------'-------'-------+-------+--------+-----. .-----+-------+-------+-------'-------'------' - | BS P1 | Spc P2 | P3 | | | Sft | | - '-------'--------'-----' '-----'-------'-------' - */ - [BA] = LAYOUT( - KC_P, KC_L, KC_C, KC_D, KC_W, KC_U, KC_O, KC_Y, KC_K, KC_Q, - KC_N, KC_R, KC_S, KC_T, KC_M, KC_A, KC_E, KC_I, KC_H, KC_V, - KX_SFT_Z, KX_CTL_J, KX_ALT_F, KC_G, KC_B, KC_COMM, KX_ALT_DOT, KX_CTL_SCLN, KX_SFT_X, KC_LGUI, - XXXXXXX, XXXXXXX, XXXXXXX, KX_P1_BSPC, KX_P2_SPC, MO(P3), XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* P1: Punctuation (1) - .--------.-------.-------.-------.-------. .------.-------.-------.-------.------. - | Esc | | | | RS | | | | / | ^ | ïŋ― | ~ | - |--------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Tab | | | | | | & | \ | ` | $ | Ent | - |--------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | | | % | Alt | Ctl | Sft | Sup | - '--------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------' - | P1 | | | | | Sft | | - '-------'-------'-----' '-----'------'-------' - */ - [P1] = LAYOUT( - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, TO(RS), KX_PIPE, KC_SLSH, KC_CIRC, KC_HASH, KX_TILDA, - KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_NUBS, KC_GRV, KC_DLR, KC_ENT, - KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, XXXXXXX, KC_PERC, KC_LALT, KC_LCTL, KC_LSFT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* P2: Punctuation (2) - .-------.-------.-------.-------.-------. .-------.-------.-------.-------.------. - | Esc | | NC | FV | | | ( | ) | " | ? | | - |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------| - | Tab | Ctl-X | Ctl-C | Ctl-V | Ctl-Z | | { | } | ' | ! | Ent | - |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | Ent | | # | Alt | Ctl | Sft | Sup | - '-------'-------'-------+-------+-------+-----. .-----+-------+-------+-------'-------'------' - | BS | P2 | | | | Sft | | - '-------'-------'-----' '-----'-------'-------' - */ - [P2] = LAYOUT( - KC_ESC, XXXXXXX, TO(NC), TO(FV), XXXXXXX, KC_LPRN, KC_RPRN, KX_DQUOT, KC_QUES, XXXXXXX, - KC_TAB, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Z), KC_LCBR, KC_RCBR, KC_QUOT, KC_EXLM, KC_ENT, - KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, KC_ENT, KC_NUHS, KC_LALT, KC_LCTL, KC_LSFT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* P3: Punctuation (3) - .-------.-------.-------.-------.-------. .------.-------.-------.-------.------. - | Esc | | Break | Pscr | ScLk | | < | > | + | _ | = | - |-------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Tab | | | Caps | | | [ | ] | * | - | Ent | - |-------+-------+-------+-------+-------| |------+-------+-------+-------+------| - | Sft | Ctl | Alt | Del | | | @ | Alt | Ctl | Sft | Sup | - '-------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------' - | BS | | P3 | | | Sft | | - '-------'-------'-----' '-----'------'-------' - */ - [P3] = LAYOUT( - KC_ESC, XXXXXXX, KC_BRK, KC_PSCR, KC_SCRL, KC_LABK, KC_RABK, KC_PLUS, KC_UNDS, KC_EQL, - KC_TAB, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, KC_LBRC, KC_RBRC, KC_ASTR, KC_MINS, KC_ENT, - KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, XXXXXXX, KX_AT, KC_LALT, KC_LCTL, KC_LSFT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* NC: Numerals / Cursor control - .-------.-------.-------.------.-------. .------.-------.-------.------.------. - | 1 | 2 | 3 | 4 | 5 | | Home | Up | End | PgUp | | - |-------+-------+-------+------+-------| |------+-------+-------+------+------| - | 6 | 7 | 8 | 9 | 0 | | Left | Down | Right | PgDn | | - |-------+-------+-------+------+-------| |------+-------+-------+------+------| - | Sft | Ctl | Alt | Del | . | | Ins | Alt | Ctl | Sft | Sup | - '-------'-------'-------+------+-------+-----. .-----+------+-------+-------'------'------' - | BS | BA | | | | Sft | | - '------'-------'-----' '-----'------'-------' - */ - [NC] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, - KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, KC_DOT, KC_INS, KC_LALT, KC_LCTL, KC_LSFT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* FV: Function keys / Cursor control (Vim) - .-------.------.-------.-----.-------. .------.-------.-----.-------.------. - | F1 | F2 | F3 | F4 | F5 | | 0 | K | $ | Ctl-B | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | F6 | F7 | F8 | F9 | F10 | | H | J | L | Ctl-F | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | Sft | Ctl | Alt | F11 | F12 | | | Alt | Ctl | Sft | Sup | - '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------' - | BS | BA | | | | Sft | | - '-----'-------'-----' '-----'------'-------' - */ - [FV] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_0, KC_K, KC_DLR, LCTL(KC_B), XXXXXXX, - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_H, KC_J, KC_L, LCTL(KC_F), XXXXXXX, - KC_LSFT, KC_LCTL, KC_LALT, KC_F11, KC_F12, XXXXXXX, KC_LALT, KC_LCTL, KC_LSFT, _______, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* RS: Reset - .-------.------.-------.-----.-------. .------.-------.-----.-------.------. - | QK_BOOT | | | | | | | | | | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | | | | | | | | | | | | - |-------+------+-------+-----+-------| |------+-------+-----+-------+------| - | | | | | | | | | | | | - '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------' - | | BA | | | | | | - '-----'-------'-----' '-----'------'-------' - */ - [RS] = LAYOUT( - QK_BOOT, 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, TO(BA), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - diff --git a/keyboards/atreus62/keymaps/194h/config.h b/keyboards/atreus62/keymaps/194h/config.h deleted file mode 100644 index f5306a07f188..000000000000 --- a/keyboards/atreus62/keymaps/194h/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once -#define ONESHOT_TIMEOUT 3000 -#define TAPPING_TERM 200 -#define FORCE_NKRO -#define LEADER_TIMEOUT 1000 -#define TAPPING_TOGGLE 3 diff --git a/keyboards/atreus62/keymaps/194h/keymap.c b/keyboards/atreus62/keymaps/194h/keymap.c deleted file mode 100644 index 557b43cd8c61..000000000000 --- a/keyboards/atreus62/keymaps/194h/keymap.c +++ /dev/null @@ -1,149 +0,0 @@ -#include QMK_KEYBOARD_H - -//The current Nordic and Norwegian layout files are a mess. I'll do it myself: -//Norwegian -#define NO_AE KC_QUOT // Æ -#define NO_AO KC_LBRC // Å -#define NO_BSLS KC_EQL // Backslash -#define NO_LT KC_NUBS // < -#define NO_MINS KC_SLSH // - -#define NO_OE KC_SCLN // Ø -#define NO_PIPE KC_GRV // | -#define NO_PLUS KC_MINS // + -#define NO_QUOT KC_NUHS // ' -#define NO_UMLA KC_RBRC // ÂĻ -//Norwegian - Modifier dependant definitions -#define NO_EXLM LSFT(KC_1) // ! -#define NO_DQT LSFT(KC_2) // " -#define NO_AT RALT(KC_2) // @ -#define NO_HASH LSFT(KC_3) // # -#define NO_EUR LSFT(KC_4) // ₮ -#define NO_DLR RALT(KC_4) // $ -#define NO_PERC LSFT(KC_5) // % -#define NO_AND LSFT(KC_6) // & -#define NO_SLSH LSFT(KC_7) // / -#define NO_PO LSFT(KC_8) // ( -#define NO_PC LSFT(KC_9) // ) -#define NO_EQL LSFT(KC_0) // = -#define NO_LCBR RALT(KC_7) // { -#define NO_LBRC RALT(KC_8) // [ -#define NO_RBRC RALT(KC_9) // ] -#define NO_RCBR RALT(KC_0) // } -#define NO_COLN LSFT(KC_DOT) // : -#define NO_SCLN LSFT(KC_COMM) // ; -#define NO_MICR RALT(KC_M) // Âĩ -#define NO_EURO RALT(KC_E) // ₮ -#define NO_SECT LSFT(KC_GRV) // § -#define NO_GERC RALT(KC_COMM) // Âļ -#define NO_QUAR LSFT(RALT(KC_4)) // ž -//Norwegian layout - dependant on previous definitions -#define NO_UNDS LSFT(NO_MINS) // _ -#define NO_QUES LSFT(NO_PLUS) // ? -#define NO_ACUT RALT(NO_BSLS) // Acute -#define NO_GRAV LSFT(NO_BSLS) // ` -#define NO_GT LSFT(NO_LT) // > -#define NO_HALF RALT(NO_LT) // Â― -#define NO_HAT LSFT(NO_UMLA) // ^ -#define NO_ASTR LSFT(NO_QUOT) // * -#define NO_TILD RALT(NO_UMLA) // ~ - -//One Shot Modifier -#define OSM_LCTL OSM(MOD_LCTL) -#define OSM_LALT OSM(MOD_LALT) -#define OSM_LSFT OSM(MOD_LSFT) -#define OSM_LGUI OSM(MOD_LGUI) -#define OSM_RCTL OSM(MOD_RCTL) -#define OSM_RALT OSM(MOD_RALT) -#define OSM_RSFT OSM(MOD_RSFT) -#define OSM_RGUI OSM(MOD_RGUI) - -//CTRL on hold, ESC on tap -#define CTL_ESC CTL_T(KC_ESC) - -//Layers -#define L1 0 -#define L2 1 -#define L3 2 -#define L4 3 -#define L5 4 - -// Momentary switch to layer -#define MO_L2 MO(L2) -#define MO_L4 MO(L4) -#define MO_L5 MO(L5) -// Momentary switch to layer - One Shot Layer -#define OSL_L2 OSL(L2) -#define OSL_L3 OSL(L3) -#define OSL_L4 OSL(L4) - -//Tap Dance Declarations -enum { - SCLN_OE = 0, - QUOT_AE, - DQT_AO -}; - -//Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - //Tap once for semicolon, twice for Ãļ - [SCLN_OE] = ACTION_TAP_DANCE_DOUBLE(NO_SCLN, NO_OE), - //Tap once for single quote, twice for ÃĶ - [QUOT_AE] = ACTION_TAP_DANCE_DOUBLE(NO_QUOT, NO_AE), - //Tap once for double quote, twice for ÃĨ - [DQT_AO] = ACTION_TAP_DANCE_DOUBLE(NO_DQT, NO_AO), -// Other declarations would go here, separated by commas, if you have them -}; - -//Tap Dance keys -#define TD_SCLN_OE TD(SCLN_OE) -#define TD_QUOT_AE TD(QUOT_AE) -#define TD_DQT_AO TD(DQT_AO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [L1] = LAYOUT( - KC_LGUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RGUI, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_DQT_AO, - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_OE, TD_QUOT_AE, - OSM_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, OSM_RSFT, - CTL_ESC, MO_L5, KC_TAB, OSM_LALT, MO_L4, OSL_L3, KC_SPC, KC_ENT, OSL_L3, MO_L4, OSM_LALT, NO_EQL, NO_PLUS, KC_RCTL - ), - [L2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_DQT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_SCLN, NO_QUOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [L3] = LAYOUT( - NO_LBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NO_RBRC, - NO_LCBR, XXXXXXX, XXXXXXX, NO_AT, XXXXXXX, NO_TILD, NO_QUES, NO_EXLM, NO_PIPE, XXXXXXX, XXXXXXX, NO_RCBR, - _______, NO_ASTR, NO_BSLS, NO_DLR, NO_HASH, XXXXXXX, NO_HAT, XXXXXXX, NO_COLN, NO_SLSH, NO_SCLN, NO_QUOT, - NO_PO, KC_0, NO_SECT, NO_PERC, XXXXXXX, NO_GRAV, NO_AND, NO_UMLA, NO_LT, NO_GT, NO_UNDS, NO_PC, - XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX - ), - [L4] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX, - _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, KC_DEL, - XXXXXXX, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, - OSM_LCTL, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, OSM_RALT, KC_MUTE, KC_VOLU, OSM_RCTL - ), - [L5] = LAYOUT( - XXXXXXX, TO(L1), TO(L2), TO(L3), TO(L4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - -//TODO: Is there productivity gain in the use of unicode? -// - Won't work in xterm. -// Create a layer for macros and/or unicode? -// Are macros useful? -// - Found no gain in having sendstring for commands. -// - Find repeated tasks that cannot be done easily on the OS. -// - Most other keymaps have macros for game/fun stuff, hard to find "serious" onces. -// Screw Norwegian layout, switch to US with unicode ÃĶÃļÃĨ or US/English International? -// - Will be different from laptop keyboard, requiring a switch on the OS side when only using the laptop. diff --git a/keyboards/atreus62/keymaps/194h/rules.mk b/keyboards/atreus62/keymaps/194h/rules.mk deleted file mode 100644 index 2c97aee09345..000000000000 --- a/keyboards/atreus62/keymaps/194h/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -TAP_DANCE_ENABLE = yes -NKRO_ENABLE = true -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -KEY_LOCK_ENABLE = no -LEADER_ENABLE = no diff --git a/keyboards/atreus62/keymaps/d4mation/keymap.c b/keyboards/atreus62/keymaps/d4mation/keymap.c deleted file mode 100644 index e01f5b9ec61a..000000000000 --- a/keyboards/atreus62/keymaps/d4mation/keymap.c +++ /dev/null @@ -1,196 +0,0 @@ -#include QMK_KEYBOARD_H -#include "d4mation.h" - -enum layer_names { - _DVR, - _QWR, - _LOWER, - _RAISE, - _NUM, - _ADJUST -}; - -enum keymap_custom_keycodes { - LOWER = NEW_SAFE_RANGE, - RAISE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Default/Dvorak layer - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | / | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | = | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I |,------.,------.| D | H | T | N | S | - | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * |Shift | ; | Q | J | K | X ||Super ||Enter || B | M | W | V | Z | \ | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | NUM | Alt | Home | End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_DVR] = LAYOUT( - _GRAVE_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_EQL, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - TD(SHIFT_CAPS), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSLS, - TG(_NUM), KC_RALT, KC_HOME, KC_END, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - - /* Qwerty layer, more "standard" for other people who may need to use my keyboard or for games where using Qwerty is just easier - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G |,------.,------.| H | J | K | L | ; | ' | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * |Shift | Z | X | C | V | B ||Super ||Enter || N | M | , | . | / | = | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | NUM | Alt | Home | End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_QWR] = LAYOUT( - _GRAVE_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - TD(SHIFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL, - TG(_NUM), KC_RALT, KC_HOME, KC_END, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - - /* "Lower" layer - * ,-----------------------------------------. ,-----------------------------------------. - * | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | |SLEEP | | | | | SCRGB| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | |,------.,------.| | | | { | } | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | | | | | || || || | Mute | VolD | VolU | | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | |PageUp|PgDown| | Del |`------'`------'| Ins | | | | | | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_LOWER] = LAYOUT( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, _______, SLEEP, _______, _______, _______, SCRGB, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______, _______ - ), - - /* "Raise" layer - * ,-----------------------------------------. ,-----------------------------------------. - * | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | || ?> | | | |ZALGO | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Shrug|Lenny |Magic |Disfac| |,------.,------.| | | | [ | ] | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | Ameno| Tflip| Tput | | || || || | Prev | Play | Next | | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | |PageUp|PgDown| | Del |`------'`------'| Ins | | | | | | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_RAISE] = LAYOUT( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, PHPOPEN, PHPCLSE, _______, _______, ZALGO, _______, _______, _______, _______, _______, - _______, SHRUG, LENNY, MAGIC, DISFACE, _______, _______, _______, _______, KC_LBRC, KC_RBRC,_______, - _______, AMENO, TFLIP, TPUT, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, - _______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______, _______ - ), - - /* "Numpad" layer - * ,-----------------------------------------. ,-----------------------------------------. - * | | | / | * | - | | | | | / | * | - | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | 7 | 8 | 9 | + | | | | 7 | 8 | 9 | + | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | 4 | 5 | 6 | + | |,------.,------.| | 4 | 5 | 6 | + | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | 1 | 2 | 3 | Enter| || || || | 1 | 2 | 3 | Enter| | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | 0 | 0 | . | Enter| |`------'`------'| | 0 | 0 | . | Enter| | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_NUM] = LAYOUT( - _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, - _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______, - _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, - _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, - _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______, _______, _______, _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______ - ), - - /* "Adjust" layer, only active if both "Lower" and "Raise" are active at the same time - * All unused keys are blanked out for this layer - * ,-----------------------------------------. ,-----------------------------------------. - * | NO | NO | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | NO |QK_BOOT | NO | NO | NO | NO | | NO | NO | NO | NO | NO | NO | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | NO | NO | NO |UC WIN|UC OSX| NO |,------.,------.| NO |Dvorak|Qwerty| NO | NO | NO | - * |------+------+------+------+------+------|| Swap || ||------+------+------+------+------+------| - * | NO | NO | NO | NO | NO | NO || to || Swap || NO | NO | NO | NO | NO | NO | - * |------+------+------+------+------+------|| Ctrl || Back ||------+------+------+------+------+------| - * | NO | NO | NO | NO | | NO |`------'`------'| NO | | NO | NO | NO | NO | - * `-----------------------------------------' `-----------------------------------------' - */ - - [_ADJUST] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, UC_WIN, UC_MAC, XXXXXXX, XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - -}; - -/* Runs just one time when the keyboard initializes. */ -void eeconfig_init_keymap( void ) { - set_unicode_input_mode( UNICODE_MODE_MACOS ); -}; - -bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) { - - switch ( keycode ) { - - case LOWER: - - if ( record->event.pressed ) { - layer_on( _LOWER ); - update_tri_layer( _LOWER, _RAISE, _ADJUST ); - } - else { - layer_off( _LOWER ); - update_tri_layer( _LOWER, _RAISE, _ADJUST ); - } - - return false; - break; - - case RAISE : - - if ( record->event.pressed ) { - layer_on( _RAISE ); - update_tri_layer( _LOWER, _RAISE, _ADJUST ); - } - else { - layer_off( _RAISE ); - update_tri_layer( _LOWER, _RAISE, _ADJUST ); - } - - return false; - break; - - } - - return true; - -}; \ No newline at end of file diff --git a/keyboards/atreus62/keymaps/d4mation/readme.md b/keyboards/atreus62/keymaps/d4mation/readme.md deleted file mode 100644 index 5642e8e43289..000000000000 --- a/keyboards/atreus62/keymaps/d4mation/readme.md +++ /dev/null @@ -1,40 +0,0 @@ -# d4mation's keymap for the Atreus62 - -This is a bit of a work in-progress, but for the most part I like what I have done here. - -I switched to Dvorak some time ago and software-based support in most OS's for Dvorak isn't very great, so this keymap by default is set to Dvorak. - -## Table of Contents - -* [Layers](#layers) - - [Base layer](#base) - - [Num](#num) - - [Lower](#lower) - - [Raise](#raise) - - [Adjust](#adjust) - -# Layers - -## Base - -* By default, this layer is Dvorak. But using the Adjust layer you can switch to Qwerty -* Double-tapping Shift enables and disables Caps Lock -* Quickly tapping the Grave accent key will output a Grave Accent, but holding it for 200ms will output the ESC key instead - -## Num - -This layer gets toggled off and on to place a numpad on both the left and right sides of the keyboard. - -## Lower - -This layer holds some handy shortcuts that I use often, like the screen grab shortcut and sleep shortcut in OS X. - -It also has quick access to {} as they are inaccessible in the base layer - -## Raise - -Aside from quick access to [] and Play/Pause/Next/Previous, this layer is mostly just goofy things I decided to program into the keyboard because I could. There's a bunch of [kaomoji](https://en.wikipedia.org/wiki/Emoticon#Japanese_style_(kaomoji))/"unicode smileys" and I added a toggle switch to enable a [Zalgo Text](https://zalgo.org/) mode. - -## Adjust - -This layer is a "here be dragons" layer. It can only be accessed by holding down the keys for Lower and Raise at the same time. I added exclusively keys that drastically transformed the keyboard's layout or function on this layer. The ability to switch to Qwerty is on this layer, a way to switch CTRL and CMD back and forth is on this layer, and a hotkey to enter bootloader mode also exists. diff --git a/keyboards/atreus62/keymaps/d4mation/rules.mk b/keyboards/atreus62/keymaps/d4mation/rules.mk deleted file mode 100644 index 517f2700e142..000000000000 --- a/keyboards/atreus62/keymaps/d4mation/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -UNICODE_ENABLE = yes -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/atreus62/keymaps/hvp/config.h b/keyboards/atreus62/keymaps/hvp/config.h deleted file mode 100644 index 8013c0cb6d83..000000000000 --- a/keyboards/atreus62/keymaps/hvp/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define TAPPING_TERM 150 -#define PERMISSIVE_HOLD diff --git a/keyboards/atreus62/keymaps/hvp/keymap.c b/keyboards/atreus62/keymaps/hvp/keymap.c deleted file mode 100644 index 1a49f838fa7e..000000000000 --- a/keyboards/atreus62/keymaps/hvp/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ - -#include QMK_KEYBOARD_H -#include "hvp.c" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define LT3_ESC LT(3, KC_ESC) -#define LT4_TAB LT(4, KC_TAB) -#define LT1_ENT LT(1, KC_ENTER) -#define LT2_BSP LT(2, KC_BSPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( /* qwerty */ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC , - LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC , - LT3_ESC, KC_A, KC_S, KC_D, LT(3,KC_F), LT(4,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2) , - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), SC_SENT , - KC_LCTL, KC_APP, _______, KC_LGUI, KC_LALT,SFT_T(KC_SPC), LT2_BSP, LT1_ENT, SFT_T(KC_SPC), KC_LSFT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - LAYOUT( /* Right */ - 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_DEL, 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_LEFT_PAREN, KC_RIGHT_PAREN, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END - ), - - LAYOUT(/* Left */ - 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_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, - KC_DELETE, _______, _______, _______, _______, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - _______ , _______ , _______ , _______ , _______ , KC_LEFT_CURLY_BRACE , KC_RIGHT_CURLY_BRACE ,KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, - _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME, KC_PGDN, KC_PGUP, KC_END - ), - - - LAYOUT(/* 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_NO, KC_NO, KC_NO, D_NAVI, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO , - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO , - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_NO, KC_MUTE, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT - ), - - - - LAYOUT(/* Tab */ - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ , - _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______ , - _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______ , - KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* - [_TRNS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - */ -}; diff --git a/keyboards/atreus62/keymaps/hvp/readme.md b/keyboards/atreus62/keymaps/hvp/readme.md deleted file mode 100644 index 766533d3be13..000000000000 --- a/keyboards/atreus62/keymaps/hvp/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -Keyboard: Atreus62 -Keys: 62 keyed ortho staggered keyboard with a split layout and num row. -Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. -Flash instructions: Flash using avrdude, will req the hvp user space to compile. - -> make make atreus62:hvp:avrdude - -Links: -Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/atreus62 -Eurkey layout - https://eurkey.steffen.bruentjen.eu/ diff --git a/keyboards/atreus62/keymaps/hvp/rules.mk b/keyboards/atreus62/keymaps/hvp/rules.mk deleted file mode 100644 index 1ba2fa8fbefa..000000000000 --- a/keyboards/atreus62/keymaps/hvp/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/atreus62/keymaps/jarred/config.h b/keyboards/atreus62/keymaps/jarred/config.h deleted file mode 100644 index 34ab0baaf0b9..000000000000 --- a/keyboards/atreus62/keymaps/jarred/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2018 Jarred Steenvoorden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -// My hand wire diodes are in the opposite direction to the Atreus62 PCB -#undef DIODE_DIRECTION -#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/atreus62/keymaps/jarred/keymap.c b/keyboards/atreus62/keymaps/jarred/keymap.c deleted file mode 100644 index 7a49b2890c4a..000000000000 --- a/keyboards/atreus62/keymaps/jarred/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2018 Jarred Steenvoorden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "jarred.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT_atreus62_grid_wrapper(BLANK_12, QWERTY_1_12, QWERTY_2_12, QWERTY_3_12, QWERTY_L4, KC_NO, KC_NO, QWERTY_R4), - [_LW] = LAYOUT_atreus62_grid_wrapper(BLANK_12, LOWER_1_12 , LOWER_2_12 , LOWER_3_12 , LOWER_L4 , KC_NO, KC_NO, LOWER_R4 ), - [_NV] = LAYOUT_atreus62_grid_wrapper(BLANK_12, NAV_1_12 , NAV_2_12 , NAV_3_12 , NAV_L4 , KC_NO, KC_NO, NAV_R4 ), - [_NP] = LAYOUT_atreus62_grid_wrapper(BLANK_12, NUMPAD_1_12, NUMPAD_2_12, NUMPAD_3_12, NUMPAD_L4, KC_NO, KC_NO, NUMPAD_R4), - [_MS] = LAYOUT_atreus62_grid_wrapper(BLANK_12, MOUSE_1_12 , MOUSE_2_12 , MOUSE_3_12 , MOUSE_L4 , KC_NO, KC_NO, MOUSE_R4 ) -}; diff --git a/keyboards/atreus62/keymaps/mfluid/keymap.c b/keyboards/atreus62/keymaps/mfluid/keymap.c deleted file mode 100644 index 40eeb8b85834..000000000000 --- a/keyboards/atreus62/keymaps/mfluid/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "action_layer.h" - -#define OOOOOOO KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_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, KC_A, KC_S, KC_D, KC_F, KC_G, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(1), KC_BSPC, KC_RCTL, KC_ENT, KC_SPC, MO(2), KC_DEL, KC_EQL, KC_LBRC, KC_RBRC - ), - - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, - _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, - _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_PGUP, - _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_P0, KC_PDOT, KC_PENT, KC_PPLS, KC_PGDN, - _______, _______, _______, _______, OOOOOOO, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, - _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, - _______, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, OOOOOOO, _______, _______, _______, _______ - ), - - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_COPY, KC_PGUP, _______, _______, KC_PASTE, KC_DEL, - _______, _______, _______, KC_PGDN, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, - _______, _______, KC_CUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, OOOOOOO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/atreus62/keymaps/mfluid/readme.md b/keyboards/atreus62/keymaps/mfluid/readme.md deleted file mode 100644 index fa341b893c66..000000000000 --- a/keyboards/atreus62/keymaps/mfluid/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# Mfluid Keymap for the Atreus62 - -## Program - -`make atreus62:mfluid:avrdude` - -## Layers - -[0-default](https://i.imgur.com/dpBdPn8.png) - -[1-numpad](https://i.imgur.com/JMN8Fk9.png) - -[2-multimedia](https://i.imgur.com/ZCSzKsZ.png) - -[3-vim](https://i.imgur.com/J15xCqW.png) - diff --git a/keyboards/atreus62/keymaps/pcewing/keymap.c b/keyboards/atreus62/keymaps/pcewing/keymap.c deleted file mode 100644 index c8dfd5734bb3..000000000000 --- a/keyboards/atreus62/keymaps/pcewing/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -#include QMK_KEYBOARD_H - -#define FN MO(_FN) -#define TODO KC_NO - -enum atreus62_layers { - _DEFAULT, - _FN, - _RESET -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Default layer - * ,-----------------------------------------. ,-----------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc | A | S | D | F | G |,------.,------.| H | J | K | L | ; | " | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * |Shift | Z | X | C | V | B ||Delete||Enter || N | M | , | . | / |Shift | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | Ctrl | Win | Alt | ` | Fn | Bksp |`------'`------'|Space | Fn | | Alt | Win | Ctrl | - * `-----------------------------------------' `-----------------------------------------' - */ - [_DEFAULT] = LAYOUT( /* qwerty */ - 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, 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_LGUI, KC_LALT, KC_GRV, FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, FN, TODO, KC_RALT, KC_RGUI, KC_RCTL - ), - - /* Function layer - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | F10 | F11 | F12 | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Home | Up | End | PgUp | | | PrSc | F7 | F8 | F9 | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Caps | Left | Down |Right | PgDn | |,------.,------.|Pause | F4 | F5 | F6 | | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | { | } | [ | ] | || || ||Insert| F1 | F2 | F3 | | | - * |------+------+------+------+------+------|| || ||------+------+------+------+------+------| - * | | | | | | |`------'`------'| | | | | | | - * `-----------------------------------------' `-----------------------------------------' - */ - [_FN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, KC_F10, KC_F11, KC_F12, _______, TO(_RESET), - _______, KC_HOME, KC_UP, KC_END, KC_PGDN, _______, KC_PSCR, KC_F7, KC_F8, KC_F9, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, _______, KC_PAUS, KC_F4, KC_F5, KC_F6, _______, _______, - _______, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, KC_INS, KC_F1, KC_F2, KC_F3, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* - * This layer makes it possible to reset the firmware; don't get rid of it and make sure there is a way to activate it. - */ - [_RESET] = LAYOUT( - TO(_DEFAULT), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT - ) - - /* - [_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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/atreus62/keymaps/scheiklp/config.h b/keyboards/atreus62/keymaps/scheiklp/config.h deleted file mode 100644 index d8b7abe8d395..000000000000 --- a/keyboards/atreus62/keymaps/scheiklp/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2017 Benjamin Kesselring - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -// place overrides here -#define AUTO_SHIFT_TIMEOUT 125 -#define NO_AUTO_SHIFT_SPECIAL -#define NO_AUTO_SHIFT_NUMERIC - -// require two taps for a TT layer switch (default 5) -#define TAPPING_TOGGLE 2 - -// Mouse control -// constant mode (velocity) -#define MK_3_SPEED -// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 - -// Cursor offset per movement (unmodified) -#define MK_C_OFFSET_UNMOD 20 -// Time between cursor movements (unmodified) -#define MK_C_INTERVAL_UNMOD 1 -/* #define MK_C_INTERVAL_UNMOD 16 */ - -// Cursor offset per movement (KC_ACL0) -#define MK_C_OFFSET_0 1 -// Time between cursor movements (KC_ACL0) -#define MK_C_INTERVAL_0 10 - -// Cursor offset per movement (KC_ACL1) -#define MK_C_OFFSET_1 4 -// Time between cursor movements (KC_ACL1) -#define MK_C_INTERVAL_1 16 - -// Cursor offset per movement (KC_ACL2) -#define MK_C_OFFSET_2 20 -/* #define MK_C_OFFSET_2 32 */ -// Time between cursor movements (KC_ACL2) -#define MK_C_INTERVAL_2 16 diff --git a/keyboards/atreus62/keymaps/scheiklp/keymap.c b/keyboards/atreus62/keymaps/scheiklp/keymap.c deleted file mode 100644 index 13ad3e4f5108..000000000000 --- a/keyboards/atreus62/keymaps/scheiklp/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -#include QMK_KEYBOARD_H -#include "koy_keys_on_quertz_de_latin1.h" -// Layer shorthand -#define _1 0 -#define _3 1 -#define _4 2 -#define _7 3 - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_1] = 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_K, KC_DOT, KC_O, KC_COMM, N_Y, KC_V, KC_G, KC_C, KC_L, N_SS, N_Z, - MO(_3), KC_H, KC_A, KC_E, KC_I, KC_U, KC_D, KC_T, KC_R, KC_N, KC_S, KC_F, - KC_LSFT, KC_X, KC_Q, N_AE, N_UE, N_OE, KC_B, KC_P, KC_W, KC_M, KC_J, KC_RSFT, - KC_LCTL, N_COPY, N_PASTE, KC_LGUI, KC_LALT, KC_SPC, KC_ENTER, KC_RCTL, MO(_3), MO(_4), KC_TRNS, KC_TRNS, KC_CAPS, TT(_7) - ), - - [_3] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, - KC_TAB, N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC, N_EXKL, N_LT, N_GT, N_EQ, N_AMP, N_ACUT, - KC_TRNS, N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR, N_QUES, N_LPARN, N_RPARN, N_MINS, N_COLN, N_AT, - KC_LSFT, N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE, N_PLUS, N_PERC, N_QUOT, N_SING, N_SEMI, KC_RSFT, - KC_LCTL, N_COPY, N_PASTE, KC_LGUI, KC_LALT, KC_SPC, KC_ENTER, KC_TRNS, KC_TRNS, KC_RCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [_4] = LAYOUT( - KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, - KC_TAB, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_KP_SLASH, KC_7, KC_8, KC_9, KC_KP_MINUS, KC_TRNS, - KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_KP_ASTERISK, KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, - KC_LSFT, KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO, KC_KP_ENTER, KC_1, KC_2, KC_3, KC_KP_DOT, KC_RSFT, - KC_LCTL, N_COPY, N_PASTE, KC_LGUI, KC_LALT, KC_0, KC_ENTER, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [_7] = LAYOUT( - KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, - KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LCTL, KC_MS_ACCEL2, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/atreus62/keymaps/scheiklp/readme.md b/keyboards/atreus62/keymaps/scheiklp/readme.md deleted file mode 100644 index b5590b6f2f46..000000000000 --- a/keyboards/atreus62/keymaps/scheiklp/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# KOY Layout for the atreus62 pcb board -Compile the layout -```bash -qmk compile -kb atreus62 -km scheiklp -``` -disable this service that interfers with the pro micro -``` -sudo systemctl stop ModemManager.service -``` -and flash it to the board -```bash -qmk flash -kb atreus62 -km scheiklp -``` diff --git a/keyboards/atreus62/keymaps/scheiklp/rules.mk b/keyboards/atreus62/keymaps/scheiklp/rules.mk deleted file mode 100644 index 681e7507b40d..000000000000 --- a/keyboards/atreus62/keymaps/scheiklp/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUTO_SHIFT_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -NKRO_ENABLE = yes diff --git a/keyboards/atreus62/keymaps/xyverz/keymap.c b/keyboards/atreus62/keymaps/xyverz/keymap.c deleted file mode 100644 index 11c7c33d673c..000000000000 --- a/keyboards/atreus62/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,155 +0,0 @@ -/* This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk - I've blatantly stolen what works for me from the Planck and Preonic - layouts and modified this file to fit me. Initial credet goes to - u/profet23 for the doing all the work and adding this keyboard to - QMK in the first place. - - I've got Dvorak, Qwerty, and Colemak layouts at this time, with the - possibility of adding more in the future. - - The bottom row is fairly Kinesis-ish since the Contour and Advantage - keyboards have been my daily drivers for the last 17 years. I hope - You can get some enjoyment out of this layout should you chose it! - -CHANGELOG: - - 0.1 - Initial commit. Based off of Profet's default keymap. - 0.2 - Converted to a more Planck/Preonic keymap style file with - persistent layers enabled. Renamed layers to reflect OLKB maps. - Added a TODO list. - 0.3 - Moved location of media & volume keys. Added Print Screen, - Scroll Lock and Pause keys. Added a WOW gaming layer that - changes the location of Ctrl & Alt to the thumb keys. Added - readme. - 0.4 - After more useage, I realized that the ESC key was in the way - of my muscle memory (gee, thanks, Planck!) so I moved it to - the normal Caps Lock position, and moved Caps Lock to the same - position on the RAISE and LOWER layers. Added code to turn off - the Pro Micro LEDs after flashing. - 0.5 - Converted keymap to LAYOUT standard. - 0.6 - Swapped ESC and GRV in all layers. - 0.7 - Brought code up to current standards. - 0.8 - Added MACLOCK macro. - 0.9 - Updated code to correspond to new setPinInput behaviour - 0.10 - Re-ordered the layers (swapped Destiny & WoW layers in the - list). Removed duplicated keys from RAISE and LOWER layers. - Updated readme.md and fixed an aesthetic typo in keymap.c. - 0.11 - Added DEL_GUI macro. Removed WOW layer since I'm no longer - supporting Blizzard in any way. - -TODO: - - * Make the layout more efficient, even if it means changing the RAISE - and LOWER functionality. - * Add legends in comments for each layer. Maybe. - -*/ - -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, -#include QMK_KEYBOARD_H - -enum layer_names { _DVORAK, _QWERTY, _COLEMAK, _DESTINY, _LOWER, _RAISE, _ADJUST }; - -enum atreus62_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, DESTINY, LOWER, RAISE, ADJUST }; - -// Aliases to make the keymap clearer. -#define CTL_ENT CTL_T(KC_ENT) -#define DEL_GUI GUI_T(KC_DEL) -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define ADJUST MO(_ADJUST) -#define MACLOCK LGUI(LCTL(KC_Q)) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DVORAK] = LAYOUT ( /* dvorak */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, DEL_GUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL - ), - - [_QWERTY] = LAYOUT ( /* qwerty */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, - KC_GRV, 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_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL - ), - - [_COLEMAK] = LAYOUT ( /* colemak */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, - KC_GRV, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL - ), - - [_DESTINY] = LAYOUT ( /* Dvorak with minor modifications for playing Destiny 2 and other FPS Looters */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL - ), - - [_LOWER] = LAYOUT ( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, - _______, _______, KC_HOME, KC_END, _______, KC_DEL, MACLOCK, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ - ), - [_RAISE] = LAYOUT ( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, - _______, _______, KC_HOME, KC_END, _______, KC_DEL, MACLOCK, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ - ), - [_ADJUST] = LAYOUT ( - _______, _______, _______, KC_F13, KC_F14, KC_F15, _______, _______, _______, _______, _______, _______, - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, DESTINY, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; -//clang-format on - -void matrix_init_user(void) { -#ifdef BOOTLOADER_CATERINA - // This will disable the red LEDs on the ProMicros - setPinInput(D5); - setPinInput(B0); -#endif -}; - -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) { - if (record->event.pressed) { - switch (keycode) { - case DVORAK: - set_single_persistent_default_layer(_DVORAK); - return false; - case QWERTY: - set_single_persistent_default_layer(_QWERTY); - return false; - case COLEMAK: - set_single_persistent_default_layer(_COLEMAK); - return false; - case DESTINY: - set_single_persistent_default_layer(_DESTINY); - return false; - case WOW: - set_single_persistent_default_layer(_WOW); - return false; - } - } - return true; -}; diff --git a/keyboards/atreus62/keymaps/xyverz/readme.md b/keyboards/atreus62/keymaps/xyverz/readme.md deleted file mode 100644 index 5a3949727c46..000000000000 --- a/keyboards/atreus62/keymaps/xyverz/readme.md +++ /dev/null @@ -1,146 +0,0 @@ -# Xyverz's Atreus62 Keymap - -## About this keymap: - -This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk. I've blatantly stolen what works for me from the Planck and Preonic layouts and modified this file to fit me. Initial credet goes to u/profet23 for the doing all the work and adding this keyboard to QMK in the first place. - -I've got Dvorak, Qwerty, and Colemak layouts at this time, with the possibility of adding more in the future. - -The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards have been my daily drivers for the last 17 years. I hope You can get some enjoyment out of this layout should you chose it! - -### CHANGELOG: - -#### 0.1 - * Initial commit. Based off of Profet's default keymap. -#### 0.2 - * Converted to a more Planck/Preonic keymap style file with persistent layers enabled. Renamed layers to reflect OLKB maps. - * Added a TODO list. -#### 0.3 - * Moved location of media & volume keys. Added Print Screen, Scroll Lock and Pause keys. - * Added a WOW gaming layer that changes the location of Ctrl & Alt to the thumb keys. Right thumb is Ctrl when held, Enter when tapped. - * Added readme. -#### 0.4 - * Moved location of Escape key to Caps Lock position. Moved Caps Lock to same position on Raise/Lower Layers. - * Put Tilde/Grave in the upper-left corner - * Added code to turn off the red LEDs on the Pro Micro after flashing. They were annoying me. -### 0.5 - * Converted keymap to LAYOUT standard. -### 0.6 - * Swapped ESC and GRV in all layers. -### 0.7 - * Brought code up to new standards (as of 27 June 2019). - * Updated this readme file. -### 0.8 - * Added MACLOCK macro. -### 0.9 - * Updated code to correspond to new setPinInput behaviour. -### 0.10 - * Re-ordered the layers (swapped Destiny & WoW layers in the list). - * Removed duplicated keys from RAISE and LOWER layers. - * Updated readme.md and fixed an aesthetic typo in keymap.c. -### 0.11 - * Added DEL_GUI macro. - * Removed WOW layer since I'm no longer supporting Blizzard in any way. - -### TODO: - - * Enjoy this revision; figure out new things later. - -### Layer 0: Dvorak layer - - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | ' | , | . | P | Y | | F | G | C | R | L | / | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Grv | A | O | E | U | I | | D | H | T | N | S | - | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | Shft | ; | Q | J | K | X | Del/ ||Enter | B | M | W | V | Z | Shft | - |------+------+------+------+------+------| Gui || |------+------+------+------+------+------| - | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | - `-----------------------------------------' `-----------------------------------------' - -### Layer 1: QWERTY layer - - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Grv | A | S | D | F | G | | D | H | T | N | S | ' | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | Shft | Z | X | C | V | B | Gui ||Enter | N | M | , | . | / | Shft | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | - `-----------------------------------------' `-----------------------------------------' - -### Layer 2: Colemak layer - - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | Q | W | F | P | G | | J | U | U | Y | ; | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Grv | A | R | S | T | D | | H | N | E | I | O | ' | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | Shft | Z | X | C | V | B | Gui ||Enter | K | M | , | . | / | Shft | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | - `-----------------------------------------' `-----------------------------------------' - -### Layer 3: Destiny layer - - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | ' | , | . | P | Y | | F | G | C | R | L | / | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Grv | A | O | E | U | I | | D | H | T | N | S | - | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | Shft | ; | Q | J | K | X | Del ||Enter | B | M | W | V | Z | Shft | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | - `-----------------------------------------' `-----------------------------------------' - -### Layer 4: LOWER layer - - ,-----------------------------------------. ,-----------------------------------------. - | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Caps | | Mute | Vol- | Vol+ | | | | | + | { | } | | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | | | Prev | Play | Next | | || | | | PScr | ScLk | Pause| | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | | - `-----------------------------------------' `-----------------------------------------' - - -### Layer 5: RAISE layer - - ,-----------------------------------------. ,-----------------------------------------. - | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Caps | | Mute | Vol- | Vol+ | | | | | = | [ | ] | | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | | | Prev | Play | Next | | || | | | PScr | ScLk | Pause| | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | | - `-----------------------------------------' `-----------------------------------------' - -### Layer 6: ADJUST layer - - ,-----------------------------------------. ,-----------------------------------------. - | | | | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |RESET | | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | |Qwerty|Colemk|Dvorak|Destny| | - |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| - | | | | | | | || | | | | | | | - |------+------+------+------+------+------| || |------+------+------+------+------+------| - | | | | | | |------'`------| | | | | | | - `-----------------------------------------' `-----------------------------------------' diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h index 2542b9f62f47..50001e978cc4 100644 --- a/keyboards/atxkb/1894/config.h +++ b/keyboards/atxkb/1894/config.h @@ -17,22 +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 -# 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 - /* 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/atxkb/1894/info.json b/keyboards/atxkb/1894/info.json index 1f101bd9dedb..aaa6d266436e 100644 --- a/keyboards/atxkb/1894/info.json +++ b/keyboards/atxkb/1894/info.json @@ -18,6 +18,24 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "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 + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/aurora65/config.h b/keyboards/aurora65/config.h index fad29eeec2c8..ec0853212c93 100644 --- a/keyboards/aurora65/config.h +++ b/keyboards/aurora65/config.h @@ -25,18 +25,3 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM5 #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 -#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/aurora65/info.json b/keyboards/aurora65/info.json index fd03acb5bdce..9311e0f80863 100644 --- a/keyboards/aurora65/info.json +++ b/keyboards/aurora65/info.json @@ -8,6 +8,23 @@ "pid": "0x4136", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "pwm" diff --git a/keyboards/aurora65/rules.mk b/keyboards/aurora65/rules.mk index 000ee78e21a2..cc9d7bb3f537 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 index 5c23e4ef1f6a..9458843114b8 100644 --- a/keyboards/automata02/alisaie/info.json +++ b/keyboards/automata02/alisaie/info.json @@ -22,70 +22,74 @@ "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} + {"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": 8.5, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 9.5, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 10.5, "y": 0}, + {"label": "0", "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": "\\", "matrix": [0, 13], "x": 14.5, "y": 0}, + {"label": "`", "matrix": [4, 11], "x": 15.5, "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": 8, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 9, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 10, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 11, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 12, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 13, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 14, "y": 1}, + {"label": "Backspace", "matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + + {"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": 8.25, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 9.25, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 10.25, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 11.25, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 12.25, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 13.25, "y": 2}, + {"label": "Enter", "matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + + {"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": "B", "matrix": [3, 6], "x": 7.75, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 8.75, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 9.75, "y": 3}, + {"label": ",", "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": "Shift", "matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 15.5, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "GUI", "matrix": [4, 2], "x": 3.25, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 3], "x": 4.75, "y": 4, "w": 2.75}, + {"label": "Space", "matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25}, + {"label": "GUI", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 15, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/automata02/alisaie/keymaps/default/keymap.c b/keyboards/automata02/alisaie/keymaps/default/keymap.c index 4b88bd30b5bc..00bd681aabdd 100644 --- a/keyboards/automata02/alisaie/keymaps/default/keymap.c +++ b/keyboards/automata02/alisaie/keymaps/default/keymap.c @@ -19,17 +19,17 @@ along with this program. If not, see . 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 + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), [1] = LAYOUT( - _______, KC_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, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, KC_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 index eee1a8dd387c..3ee2c863e92f 100644 --- a/keyboards/automata02/alisaie/keymaps/via/keymap.c +++ b/keyboards/automata02/alisaie/keymaps/via/keymap.c @@ -19,17 +19,17 @@ along with this program. If not, see . 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 + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), [1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______, - _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + 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/avalanche/v2/config.h b/keyboards/avalanche/v2/config.h deleted file mode 100644 index 5d7c1c2047bc..000000000000 --- a/keyboards/avalanche/v2/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Vitaly Volkov (@vlkv) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 12 -#define RGBLED_SPLIT { 6, 6 } -#define RGBLIGHT_SPLIT diff --git a/keyboards/avalanche/v2/info.json b/keyboards/avalanche/v2/info.json index 92f02721de41..62c284a84542 100644 --- a/keyboards/avalanche/v2/info.json +++ b/keyboards/avalanche/v2/info.json @@ -18,6 +18,10 @@ {"pin_a": "B5", "pin_b": "F4", "resolution": 2} ] }, + "rgblight": { + "led_count": 12, + "split_count": [6, 6] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/avalanche/v3/config.h b/keyboards/avalanche/v3/config.h deleted file mode 100644 index c6042255e3d4..000000000000 --- a/keyboards/avalanche/v3/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Vitaly Volkov (@vlkv) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 12 -#define RGBLED_SPLIT { 7, 7 } -#define RGBLIGHT_SPLIT diff --git a/keyboards/avalanche/v3/info.json b/keyboards/avalanche/v3/info.json index ed507485f5d1..8cf8187df7f4 100644 --- a/keyboards/avalanche/v3/info.json +++ b/keyboards/avalanche/v3/info.json @@ -21,6 +21,10 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 12, + "split_count": [7, 7] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/avalanche/v4/config.h b/keyboards/avalanche/v4/config.h index 51b7cb7537fb..b88dc205359d 100644 --- a/keyboards/avalanche/v4/config.h +++ b/keyboards/avalanche/v4/config.h @@ -3,50 +3,8 @@ #pragma once -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 64 -# define RGBLED_SPLIT { 32, 32 } -# 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 -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_BREATHING -# 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 # define OLED_DISPLAY_128X64 # define OLED_TIMEOUT 30000 diff --git a/keyboards/avalanche/v4/info.json b/keyboards/avalanche/v4/info.json index 235bb122201e..7bb047466b50 100644 --- a/keyboards/avalanche/v4/info.json +++ b/keyboards/avalanche/v4/info.json @@ -25,7 +25,22 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 100 + "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/avalanche/v4/keymaps/winder/config.h b/keyboards/avalanche/v4/keymaps/winder/config.h deleted file mode 100644 index ca4b822f1b1d..000000000000 --- a/keyboards/avalanche/v4/keymaps/winder/config.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2022 Will Winder (@winder) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#undef RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_CHRISTMAS -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/avalanche/v4/keymaps/winder/images.h b/keyboards/avalanche/v4/keymaps/winder/images.h deleted file mode 100644 index 2202e3157484..000000000000 --- a/keyboards/avalanche/v4/keymaps/winder/images.h +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2022 Will Winder (@winder) -// SPDX-License-Identifier: GPL-2.0-or-later - -static const char display [] PROGMEM = { -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0x7f, 0x3f, 0x9f, 0xcf, 0x8f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xcf, 0xef, -0xe7, 0xcf, 0x8f, 0x1e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf1, 0xe3, 0xf7, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xbf, 0x9f, 0x1f, 0x3f, -0x7b, 0xf0, 0xfe, 0xff, 0xff, 0xfe, 0x7c, 0x78, 0x71, 0x03, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0xff, 0xf3, 0xe3, 0xd7, 0xef, 0xdf, 0x9c, 0x39, 0x73, -0xe7, 0xef, 0xcf, 0xcf, 0xce, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xbf, 0x3f, 0x1f, 0xc8, 0xe1, 0xc7, 0x9f, 0x3f, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xe7, 0xc7, 0x9f, 0x3f, 0x7d, 0xf0, 0xe3, 0xc7, 0x8f, 0x9f, 0x3e, -0x3c, 0xb8, 0x81, 0xc3, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xbf, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xe7, -0xf3, 0xf9, 0x71, 0x03, 0x87, 0x8f, 0x1e, 0x3c, 0x79, 0xf3, 0xee, 0x9d, 0xfb, 0xf3, 0xf7, 0xfe, -0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3, -0xf9, 0xfc, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7e, 0xfe, 0xfc, 0xfd, 0xf9, 0xf8, 0xf8, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x3f, 0x7f, -0xff, 0xfe, 0xfe, 0xfc, 0xf0, 0xe6, 0xcd, 0x9d, 0x3b, 0x7a, 0xf0, 0xf1, 0xe1, 0xf3, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x47, 0x1f, -0x3d, 0xf9, 0xf9, 0xf3, 0x83, 0x30, 0x78, 0x78, 0x71, 0x23, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xef, 0xcf, 0x0e, 0x0c, 0xe1, 0xe3, 0xe7, 0xcf, -0x1f, 0x3e, 0x7e, 0xff, 0xef, 0xe7, 0xf3, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7f, -0x7f, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xbf, 0x9f, 0xbf, 0x3f, 0x3b, 0x33, 0x87, 0x8f, 0x9f, 0x3f, 0x7f, 0xff, 0xfe, -0xfc, 0xb9, 0x83, 0xc7, 0xe7, 0xf3, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xbf, 0x9f, 0xcf, 0xc7, 0x33, 0x7f, 0xfe, 0xfc, 0xfc, 0xf9, 0xf8, 0xf6, 0xe7, -0xee, 0xc8, 0x83, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf9, 0xf9, 0xf9, 0xf9, -0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xfc, -0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x07, 0x73, -0xfb, 0xfb, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0xf8, 0xf0, 0xe7, 0xe7, 0xe7, 0xe7, 0xf0, 0xf8, 0xfd, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x87, 0x33, -0x3b, 0x39, 0x3b, 0x9f, 0x9f, 0x9f, 0x3f, 0x7f, 0xfe, 0xfc, 0xd9, 0xc3, 0xe3, 0xf3, 0xf9, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xdf, 0xdf, 0xdf, 0xbf, 0x7f, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3, 0xf9, 0xf8, 0xf1, 0xe3, 0xc7, 0x8f, 0x1f, 0x3e, -0x7c, 0xf9, 0xf3, 0xf3, 0xf3, 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf9, 0xfc, 0xbe, 0x9c, 0xc1, 0xe3, 0xe7, 0xcf, -0x1f, 0x3f, 0xff, 0xf3, 0xf3, 0xfb, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, -0xff, 0xff, 0xe7, 0xdb, 0xbb, 0x7b, 0xf7, 0xee, 0xdc, 0xbd, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, -0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfc, -0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, -0xf9, 0xf3, 0xa7, 0xcf, 0xef, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff -}; diff --git a/keyboards/avalanche/v4/keymaps/winder/keymap.c b/keyboards/avalanche/v4/keymaps/winder/keymap.c deleted file mode 100644 index 75de2f11a867..000000000000 --- a/keyboards/avalanche/v4/keymaps/winder/keymap.c +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2022 Viatly Volkov (@vlkv) -// SPDX-License-Identifier: GPL-2.0-or-later - -/* -qmk compile -kb avalanche/v4 -km default -qmk flash -kb avalanche/v4 -km default -*/ - -#include QMK_KEYBOARD_H - -enum layer { - _QWERTY, - _LOWER, - _RAISE, -}; - -#define FN_1 MO(_LOWER) -#define FN_2 MO(_RAISE) - -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_DEL , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, - KC_ESC , KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_UNDS, - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_LGUI, /**/ KC_INS , KC_BSPC, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - KC_LGUI, KC_LALT, KC_LGUI, FN_1 , KC_ENT , /**/ FN_2 , KC_SPC , KC_BSPC, KC_RALT, KC_RGUI - ), - [_LOWER] = LAYOUT( - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL , - _______ , KC_TILD, 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] = LAYOUT( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, /**/ _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______ - ), -}; - -#ifdef OLED_ENABLE - -#include "images.h" - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_0; -} - -void shiftright(char* buf, int size, int num) { - for (int i = size-1; i > 0; i--) { - buf[i] >>= 1; - if (buf[i-1] & 0x01) { - buf[i] |= 0x80; - } - } - buf[0] >>= 1; -} - -// right to left, 8 bit vertical strips. -void mask(char* enable) { - char rowenable[3]; - const char* data = display; - int i = 0; - char blockmask[2] = { 0x00, 0x00 }; - - while (i < sizeof(display)) { - if (i % 128 == 0) { - // shift enable-mask right 1 at each row, reinitialize row copy - if (i != 0) { - shiftright(enable, 3, 2); - } - rowenable[0] = enable[0]; - rowenable[1] = enable[1]; - rowenable[2] = enable[2]; - } - - if (i % 8 == 0) { - if (rowenable[2] & 0x01) { - blockmask[1] = 0xff; - } else { - blockmask[1] = 0x00; - } - - if (rowenable[2] & 0x02) { - blockmask[0] = 0xff; - } else { - blockmask[0] = 0x00; - } - shiftright(rowenable, 3, 2); - } - - uint8_t c = pgm_read_byte(data++); - oled_write_raw_byte(c & blockmask[1], i++); - shiftright(blockmask, 2, 1); - } -} - -void setmask(char* mask) { - mask[0] = 0x00; - mask[1] = 0x00; - mask[2] = 0x00; - - uint8_t mod = get_mods() | get_oneshot_mods(); - if (mod & MOD_MASK_CTRL) { - mask[1] |= 0xf0; - } - if (mod & MOD_MASK_ALT) { - mask[1] |= 0x0f; - } - if (mod & MOD_MASK_GUI) { - mask[0] |= 0xf0; - } - - switch (get_highest_layer(layer_state)) { - case _LOWER: - mask[2] |= 0xf0; - break; - case _RAISE: - mask[0] |= 0x0f; - break; - } -} - -bool oled_task_user(void) { - char m[3]; - setmask(m); - mask(m); - return false; -} - -#endif - diff --git a/keyboards/avalanche/v4/keymaps/winder/rules.mk b/keyboards/avalanche/v4/keymaps/winder/rules.mk deleted file mode 100644 index 1e3cebb14515..000000000000 --- a/keyboards/avalanche/v4/keymaps/winder/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/avalanche/v4/rules.mk b/keyboards/avalanche/v4/rules.mk index da4886f7d77b..513c25d04d91 100644 --- a/keyboards/avalanche/v4/rules.mk +++ b/keyboards/avalanche/v4/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 SPLIT_KEYBOARD = yes diff --git a/keyboards/aves60/config.h b/keyboards/aves60/config.h index 7b3a52862948..35ca2e0fc3cc 100644 --- a/keyboards/aves60/config.h +++ b/keyboards/aves60/config.h @@ -3,23 +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 -#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 - /* 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/aves60/info.json b/keyboards/aves60/info.json index eaa74b4fbb63..111fcab3bdc2 100644 --- a/keyboards/aves60/info.json +++ b/keyboards/aves60/info.json @@ -16,6 +16,21 @@ "bootmagic": { "matrix": [4, 6] }, + "rgblight": { + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/aves65/config.h b/keyboards/aves65/config.h index 05d7e7fb166f..95af0f8e733b 100644 --- a/keyboards/aves65/config.h +++ b/keyboards/aves65/config.h @@ -21,17 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* Backlight configuration - */ -#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 -#define RGBLED_NUM 9 diff --git a/keyboards/aves65/info.json b/keyboards/aves65/info.json index 38e619a0aa63..44299f80c50c 100644 --- a/keyboards/aves65/info.json +++ b/keyboards/aves65/info.json @@ -17,6 +17,21 @@ "esc_input": "D4", "esc_output": "D0" }, + "rgblight": { + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h index 694a6449f0f9..02077e05a7d3 100644 --- a/keyboards/axolstudio/yeti/hotswap/config.h +++ b/keyboards/axolstudio/yeti/hotswap/config.h @@ -61,7 +61,6 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 64 #endif diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c index 98d37290e6fd..527bec17ee16 100644 --- a/keyboards/axolstudio/yeti/hotswap/hotswap.c +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json index 732e9075cded..9b782c88c908 100644 --- a/keyboards/axolstudio/yeti/hotswap/info.json +++ b/keyboards/axolstudio/yeti/hotswap/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/config.h b/keyboards/b_sides/rev41lp/keymaps/cyril/config.h deleted file mode 100644 index 7029bdddb730..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/cyril/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 @cyril279 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - -#define TAPPING_TERM 150 -#define TAPPING_TERM_PER_KEY diff --git a/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c b/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c deleted file mode 100644 index 72eb2bb5c86b..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/cyril/keymap.c +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2021 @cyril279 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _LOWER, - _RAISE, - _ADJUST, - _NAVIG, - _FUNCTION -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define ADJUST MO(_ADJUST) -#define SPC_NAV LT(_NAVIG,KC_SPC) -#define FUNCT MO(_FUNCTION) -#define NAVIG MO(_NAVIG) - -#define LGUI_A LGUI_T(KC_A) -#define LALT_S LALT_T(KC_S) -#define LSFT_D LSFT_T(KC_D) -#define LCTL_F LCTL_T(KC_F) -#define RCTL_J RCTL_T(KC_J) -#define RSFT_K RSFT_T(KC_K) -#define RALT_L LALT_T(KC_L) -#define RGUI_SCLN RGUI_T(KC_SCLN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_rev41lp( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, LALT_S, LSFT_D, LCTL_F, KC_G, KC_H, RCTL_J, RSFT_K, RALT_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LGUI, LOWER, SPC_NAV, RAISE, FUNCT - ), - - [_LOWER] = LAYOUT_rev41lp( - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_rev41lp( - KC_TILD, 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_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ), - - [_NAVIG] = LAYOUT_rev41lp( - KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, - _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, - _______, _______, _______, _______, _______ - ), - - [_FUNCTION] = LAYOUT_rev41lp( - KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - _______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_rev41lp( - 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, - _______, _______, _______, _______, _______ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LGUI_A: - case RGUI_SCLN: - case LALT_S: - case RALT_L: - case LCTL_F: - case RCTL_J: - case SPC_NAV: - return 225; - default: - return TAPPING_TERM; - } -} diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h deleted file mode 100644 index 10f5ddf146ba..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2022 Jan Lindblom (@janlindblom) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#undef BACKLIGHT_LEVELS -#define BACKLIGHT_LEVELS 11 -#undef BACKLIGHT_LIMIT_VAL -#define BACKLIGHT_LIMIT_VAL 255 -#define BACKLIGHT_DEFAULT_LEVEL 3 - -#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 -#define TAPPING_TERM_PER_KEY - -#define LAYER_STATE_8BIT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION -#define NO_ACTION_ONESHOT - -/* Bootmagic Lite key configuration */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - -/* key combination for command */ -#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c deleted file mode 100644 index c90f7e25a135..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c +++ /dev/null @@ -1,176 +0,0 @@ -/* Copyright 2022 Jan Lindblom (@janlindblom) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_swedish.h" -#include "sendstring_swedish.h" - -enum layer_names { - _BASE, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - SK_NOT_EQL = SAFE_RANGE, - SK_LEQ, - SK_GEQ, -}; - -// Custom send_string keys -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SK_NOT_EQL: - if (record->event.pressed) { - SEND_STRING("!="); - } - break; - case SK_LEQ: - if (record->event.pressed) { - SEND_STRING("<="); - } - break; - case SK_GEQ: - if (record->event.pressed) { - SEND_STRING(">="); - } - break; - } - return true; -} - -// Combos, if enabled -#ifdef COMBO_ENABLE -enum combo_events { - ZC_COPY, - XV_PASTE, - ZX_CUT, -}; - -const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END}; -const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END}; -const uint16_t PROGMEM cut_combo[] = {KC_Z, KC_X, COMBO_END}; - -combo_t key_combos[] = { - [ZC_COPY] = COMBO_ACTION(copy_combo), - [XV_PASTE] = COMBO_ACTION(paste_combo), - [ZX_CUT] = COMBO_ACTION(cut_combo), -}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - switch (combo_index) { - case ZC_COPY: - if (pressed) { - tap_code16(LCTL(KC_C)); - } - break; - case XV_PASTE: - if (pressed) { - tap_code16(LCTL(KC_V)); - } - break; - case ZX_CUT: - if (pressed) { - tap_code16(LCTL(KC_X)); - } - break; - } -} -#endif - -// Tap Dance definitions -#ifdef TAP_DANCE_ENABLE -enum dances { - TD_SHFT_CAPS, - TD_DOT_COL, - TD_COM_SCL, - TD_DASH_USCR, -}; - -tap_dance_action_t tap_dance_actions[] = { - // Tap once for Shift, twice for Caps Lock - [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), - [TD_COM_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN), - [TD_DOT_COL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, SE_COLN), - [TD_DASH_USCR] = ACTION_TAP_DANCE_DOUBLE(SE_MINS, S(SE_MINS)), -}; -# define CK_LSFT TD(TD_SHFT_CAPS) -# define CK_COMM TD(TD_COM_SCL) -# define CK_DOT TD(TD_DOT_COL) -# define CK_DASH TD(TD_DASH_USCR) -#else -# define CK_LSFT KC_LSFT -# define CK_COMM KC_COMM -# define CK_DOT KC_DOT -# define CK_DASH SE_MINS -#endif - -// Some defines for the keys below -#define CK_ESC LT(_RAISE, KC_ESC) -#define CK_BSPC LCTL_T(KC_BSPC) -#define CK_DEL LALT_T(KC_DEL) -#define CK_ENT1 LT(_LOWER, KC_ENT) -#define CK_ENT2 LT(_RAISE, KC_ENT) -#define CK_TAB RALT_T(KC_TAB) -#define CK_ADIA RCTL_T(SE_ADIA) -#define CK_QUOT RSFT_T(SE_QUOT) -#define CK_SPC RSFT_T(KC_SPC) - -// Alt + [-] => – (en-dash) -const key_override_t mins_ndash_override = ko_make_basic(MOD_MASK_ALT, SE_MINS, UC(0x2013)); - // Shift + Alt + [-] => — (em-dash) -const key_override_t mins_mdash_override = ko_make_basic(MOD_MASK_SA, SE_MINS, UC(0x2014)); - -const key_override_t **key_overrides = (const key_override_t *[]){ - &mins_ndash_override, - &mins_mdash_override, - NULL -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_rev41lp( - CK_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, - CK_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA, CK_ADIA, - CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, SE_COMM, SE_DOT, SE_MINS, CK_QUOT, - CK_DEL, CK_ENT1, KC_SPC, CK_ENT2, CK_TAB - ), - - [_LOWER] = LAYOUT_rev41lp( - SK_NOT_EQL, SE_EXLM, SE_AT, SE_HASH, SE_DLR, SE_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_LPRN, SE_RPRN, SE_DIAE, - SK_LEQ, SE_UNDS, SE_PLUS, SE_LCBR, SE_RCBR, SE_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, SE_GRV, SE_TILD, - SK_GEQ, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, SE_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, CK_SPC, - _______, _______, KC_ENT, _______, _______ - ), - - [_RAISE] = LAYOUT_rev41lp( - _______, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_GRV, - _______, SE_MINS, SE_EQL, SE_LBRC, SE_RBRC, SE_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, SE_ACUT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - SE_LABK, SE_RABK, KC_BSPC, _______, _______ - ), - - [_ADJUST] = LAYOUT_rev41lp( - XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, BL_DOWN, BL_TOGG, BL_BRTG, BL_UP, BL_ON, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, UC_WINC, UC_MAC, UC_LINX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md b/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md deleted file mode 100644 index cc307b3a9706..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Namnlos custom keymap for Rev41lp - -This is a nordic keymap for the Rev41lp by [cyril](https://github.com/cyril279), it's based on the default keymap but has customisations for nordic languages. diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk b/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk deleted file mode 100644 index 59c3380a3b88..000000000000 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -SLEEP_LED_ENABLE = yes -NKRO_ENABLE = yes -UNICODE_ENABLE = yes -TAP_DANCE_ENABLE = yes -KEY_OVERRIDE_ENABLE = yes -DEBOUNCE_TYPE = sym_defer_pk -LTO_ENABLE = yes diff --git a/keyboards/bacca70/keymaps/debaccabean/keymap.c b/keyboards/bacca70/keymaps/debaccabean/keymap.c deleted file mode 100644 index 1c40669fc8af..000000000000 --- a/keyboards/bacca70/keymaps/debaccabean/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2022 keebnewb - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -#define CAP_GUI MT(MOD_LGUI, KC_CAPS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_debaccabean( - 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_LBRC,KC_INS, KC_RBRC,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_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - CAP_GUI,KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT, - KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL - ), - - [1] = LAYOUT_debaccabean( - 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_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS, - KC_TRNS,KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_END, KC_PGDN,KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/bacca70/keymaps/dede-special/keymap.c b/keyboards/bacca70/keymaps/dede-special/keymap.c deleted file mode 100644 index e213e7940963..000000000000 --- a/keyboards/bacca70/keymaps/dede-special/keymap.c +++ /dev/null @@ -1,74 +0,0 @@ -/* -Copyright 2022 keebnewb - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -// Windows mods -#define GRV_CTL MT(MOD_LCTL, KC_GRV) -#define BLS_CTL MT(MOD_RCTL, KC_BSLS) -#define TAB_ALT MT(MOD_LALT, KC_TAB) - -// MacOS mods -#define GRV_GUI MT(MOD_LGUI, KC_GRV) -#define BLS_GUI MT(MOD_RGUI, KC_BSLS) -#define TAB_CTL MT(MOD_LCTL, KC_TAB) - -// mod tap bracket shifts -#define LBR_SFT MT(MOD_LSFT, KC_LBRC) -#define RBR_SFT MT(MOD_RSFT, KC_RBRC) - -// Arrow/TenKey/Media Keys/Reset hold with Backspace tap -#define BSPC_LR LT(3, KC_BSPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_debaccabean( - 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,KC_GRV, KC_RBRC,KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_ESC, 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_ENT, - TAB_ALT,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, - LBR_SFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,RBR_SFT, - KC_LGUI, GRV_CTL, BSPC_LR,MO(2), KC_SPC, BLS_CTL, KC_RGUI - ), - - // MacOS layer - [1] = LAYOUT_debaccabean( - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - TAB_CTL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_LALT, GRV_GUI, KC_TRNS,KC_TRNS,KC_TRNS, BLS_GUI, KC_RALT - ), - - [2] = LAYOUT_debaccabean( - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_UNDS,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_DLR, KC_TRNS,KC_TRNS,KC_TRNS,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_PLUS, - KC_MINS,KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,KC_TRNS,KC_TRNS,KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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_debaccabean( - 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,TG(1), - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_UP, KC_PGUP,KC_TRNS,KC_TRNS, - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MNXT,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS, - KC_MPLY,KC_MUTE,KC_VOLD,KC_VOLU,KC_MPRV,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 - ) -}; diff --git a/keyboards/baion_808/rules.mk b/keyboards/baion_808/rules.mk old mode 100755 new mode 100644 index 5d2ff6287791..11c4a00e5a5f --- 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 614d7a781365..72d296bca4b9 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 a280cb9ed8d5..bf090bb7d63c 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 9a93aea27fe4..21db4112e069 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 +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index 91a4eb0ae800..7dfa48fbd435 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -35,7 +35,6 @@ # define LED_HITS_TO_REMEMBER 10 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_MATRIX_DEFAULT_SPD 127 // the above brighness setting has no effect on rgb_matrix_set_color(). // Use darker colors instead. /* RGB darker COLORS */ @@ -137,5 +136,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 c4dfe46d74b4..aa5b2f9a2f2f 100644 --- a/keyboards/bandominedoni/info.json +++ b/keyboards/bandominedoni/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D1", "E6", "F7", "B1", "B3", "B2", "D0"], @@ -26,6 +26,9 @@ } } }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/bandominedoni/keymaps/led/config.h b/keyboards/bandominedoni/keymaps/led/config.h deleted file mode 100644 index 04bd66bf1ac7..000000000000 --- a/keyboards/bandominedoni/keymaps/led/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - #pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c deleted file mode 100644 index 0ae2185eceec..000000000000 --- a/keyboards/bandominedoni/keymaps/led/keymap.c +++ /dev/null @@ -1,255 +0,0 @@ -/* Copyright 2021 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "version.h" - -#define DF_COLE DF(_COLEMAK) - -#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_________________ KC_Z, KC_X, KC_C, KC_V, KC_B - -#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 -#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH - -#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G -#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D -#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B - -#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O -#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH - -#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5 -// #define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0 - -#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -// #define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 - -// Defines names for use in layer keycodes and the keymap -enum layer_names { -#ifndef PEDAL_NORMALLY_CLOSED - _OPEN, -#endif - _CLOSE, -#ifdef PEDAL_NORMALLY_CLOSED - _OPEN, -#endif - _QWERTY, - _COLEMAK, - _MISC, - _FN -}; - -enum custom_keycodes { - VERSION = SAFE_RANGE -}; - -// Alias layout macros that expand groups of keys. -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_OPEN] = LAYOUT( - MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3, - MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1, - MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP, - MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1, - MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1, - - MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE, - MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5, - MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5, - TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4, - MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4, - MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4 - ), - - [_CLOSE] = LAYOUT( - MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3, - MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1, - MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP, - MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1, - MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1, - - MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE, - MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5, - MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5, - TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4, - MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5, - MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4 - ), - - [_QWERTY] = LAYOUT_wrapper( - _________________NUMBER_L__________________, - QK_GESC, KC_TAB, _________________QWERTY_L1_________________, - KC_CAPS, _________________QWERTY_L2_________________, KC_H, - KC_LSFT, _________________QWERTY_L3_________________, KC_N, - KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR, - - MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______, - KC_6, KC_7, KC_8, KC_9, KC_BSPC, - _________________QWERTY_R1_________________, KC_DEL, - KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT, - KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT, - KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_COLEMAK] = LAYOUT_wrapper( - _________________NUMBER_L__________________, - QK_GESC, KC_TAB, _________________COLEMAK_L1________________, - KC_LCTL, _________________COLEMAK_L2________________, KC_ENT, - KC_LSFT, _________________COLEMAK_L3________________, KC_M, - KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR, - - MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______, - KC_6, KC_7, KC_8, KC_9, KC_BSPC, - _________________COLEMAK_R1________________, KC_DEL, - KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT, - KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT, - KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_MISC] = LAYOUT_wrapper( - _________________FUNC__L___________________, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, KC_F10, _______, - KC_F6, KC_F7, KC_F8, KC_F9, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_QUOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT( - DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - - _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EE_CLR, RGB_TOG - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_QWERTY] = { ENCODER_CCW_CW(_______, _______) }, - [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) }, - [_MISC] = { ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, -}; -#endif - -void my_init(void){ - // Set octave to 0 - midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN; - - // avoid using 127 since it is used as a special number in some sound sources. - midi_config.velocity = MIDI_INITIAL_VELOCITY; -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - midi_init(); - my_init(); -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD); - rgb_matrix_sethsv(HSV_BLUE); - - rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); - // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -#endif -} - -void keyboard_post_init_user(void) { - my_init(); - - // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) - rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case VERSION: // Output firmware info. - if (record->event.pressed) { - SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE); - } - break; - } - return true; -} - -#ifdef RGB_MATRIX_ENABLE -bool rgb_matrix_indicators_user(void) { - if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - uint8_t layer = get_highest_layer(layer_state); - switch (layer) { - case _CLOSE: - // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy. - - // Close state indicator - rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc - break; - - case _FN: - // left hand side - rgb_matrix_set_color( 46, RGB_DARKORANGE); // DF_OPEN - rgb_matrix_set_color( 48, RGB_DARKWHITE); // DF_QWER - rgb_matrix_set_color( 60, RGB_DARKWHITE); // DF_COLE - - rgb_matrix_set_color( 73, RGB_DARKYELLOW); // AG_SWAP - rgb_matrix_set_color( 72, RGB_DARKYELLOW); // AG_NORM - - - // right hand side - rgb_matrix_set_color( 1, RGB_DARKYELLOW); // MI_OCTD - rgb_matrix_set_color(13, RGB_DARKGREEN); // MI_OCTU - rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD - rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU - - rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD - rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI - rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD - rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI - rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD - rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI - rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD - rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI - - rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD - rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD - rgb_matrix_set_color(38, RGB_DARKPINK); // EE_CLR - rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG - - rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN - break; - } - } - return false; -} -#endif diff --git a/keyboards/bandominedoni/keymaps/led/readme.md b/keyboards/bandominedoni/keymaps/led/readme.md deleted file mode 100644 index 77e709c70bab..000000000000 --- a/keyboards/bandominedoni/keymaps/led/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The keymap with led for bandominedoni diff --git a/keyboards/bandominedoni/keymaps/led/rules.mk b/keyboards/bandominedoni/keymaps/led/rules.mk deleted file mode 100644 index 0a1c4b1858e0..000000000000 --- a/keyboards/bandominedoni/keymaps/led/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_KB = yes # - -ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31. diff --git a/keyboards/bandominedoni/keymaps/lednotg/keymap.c b/keyboards/bandominedoni/keymaps/lednotg/keymap.c deleted file mode 100644 index 6f904a06d2b3..000000000000 --- a/keyboards/bandominedoni/keymaps/lednotg/keymap.c +++ /dev/null @@ -1,255 +0,0 @@ -/* Copyright 2021 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "version.h" - -#define DF_COLE DF(_COLEMAK) - -#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_________________ KC_Z, KC_X, KC_C, KC_V, KC_B - -#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 -#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH - -#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G -#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D -#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B - -#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O -#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH - -#define _________________NUMBER_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5 -// #define _________________NUMBER_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0 - -#define _________________FUNC__L___________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -// #define _________________FUNC__R___________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 - -// Defines names for use in layer keycodes and the keymap -enum layer_names { -#ifndef PEDAL_NORMALLY_CLOSED - _OPEN, -#endif - _CLOSE, -#ifdef PEDAL_NORMALLY_CLOSED - _OPEN, -#endif - _QWERTY, - _COLEMAK, - _MISC, - _FN -}; - -enum custom_keycodes { - VERSION = SAFE_RANGE -}; - -// Alias layout macros that expand groups of keys. -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_OPEN] = LAYOUT( - MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3, - MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1, - MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, MI_B, - MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1, - MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1, - - MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE, - MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5, - MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5, - MI_G2, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4, - MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4, - MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4 - ), - - [_CLOSE] = LAYOUT( - MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3, - MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1, - MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, MI_B, - MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1, - MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1, - - MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE, - MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5, - MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5, - MI_G2, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4, - MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5, - MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4 - ), - - [_QWERTY] = LAYOUT_wrapper( - _________________NUMBER_L__________________, - QK_GESC, KC_TAB, _________________QWERTY_L1_________________, - KC_CAPS, _________________QWERTY_L2_________________, KC_H, - KC_LSFT, _________________QWERTY_L3_________________, KC_N, - KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR, - - MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______, - KC_6, KC_7, KC_8, KC_9, KC_BSPC, - _________________QWERTY_R1_________________, KC_DEL, - KC_PGUP, KC_G, _________________QWERTY_R2_________________, KC_ENT, - KC_PGDN, KC_B, _________________QWERTY_R3_________________, KC_RSFT, - KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_COLEMAK] = LAYOUT_wrapper( - _________________NUMBER_L__________________, - QK_GESC, KC_TAB, _________________COLEMAK_L1________________, - KC_LCTL, _________________COLEMAK_L2________________, KC_ENT, - KC_LSFT, _________________COLEMAK_L3________________, KC_M, - KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, MIS_EIS, KC_SPC, KC_SPC, KC_PSCR, - - MO(_MISC), KC_LBRC, KC_RBRC, KC_BSLS, KC_0, _______, - KC_6, KC_7, KC_8, KC_9, KC_BSPC, - _________________COLEMAK_R1________________, KC_DEL, - KC_PGUP, KC_D, _________________COLEMAK_R2________________, KC_ENT, - KC_PGDN, KC_B, _________________COLEMAK_R3________________, KC_RSFT, - KC_HOME, KC_END, KC_SPC, MIS_KAN, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_MISC] = LAYOUT_wrapper( - _________________FUNC__L___________________, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, KC_F10, _______, - KC_F6, KC_F7, KC_F8, KC_F9, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_QUOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT( - DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DF_QWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - - _______, KC_VOLD, KC_VOLU, MI_VELD, MI_VELU, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EE_CLR, RGB_TOG - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_OPEN] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) }, - [_CLOSE] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) }, - [_QWERTY] = { ENCODER_CCW_CW(_______, _______) }, - [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) }, - [_MISC] = { ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, -}; -#endif - -void my_init(void){ - // Set octave to 0 - midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN; - - // avoid using 127 since it is used as a special number in some sound sources. - midi_config.velocity = MIDI_INITIAL_VELOCITY; -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - midi_init(); - my_init(); -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD); - rgb_matrix_sethsv(HSV_BLUE); - - rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); - // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -#endif -} - -void keyboard_post_init_user(void) { - my_init(); - - // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) - rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case VERSION: // Output firmware info. - if (record->event.pressed) { - SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE); - } - break; - } - return true; -} - -#ifdef RGB_MATRIX_ENABLE -bool rgb_matrix_indicators_user(void) { - if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - uint8_t layer = biton32(layer_state); - switch (layer) { - case _CLOSE: - // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy. - - // Close state indicator - rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc - break; - - case _FN: - // left hand side - rgb_matrix_set_color( 46, RGB_DARKORANGE); // DF_OPEN - rgb_matrix_set_color( 48, RGB_DARKWHITE); // DF_QWER - rgb_matrix_set_color( 60, RGB_DARKWHITE); // DF_COLE - - rgb_matrix_set_color( 73, RGB_DARKYELLOW); // AG_SWAP - rgb_matrix_set_color( 72, RGB_DARKYELLOW); // AG_NORM - - - // right hand side - rgb_matrix_set_color( 1, RGB_DARKYELLOW); // MI_OCTD - rgb_matrix_set_color(13, RGB_DARKGREEN); // MI_OCTU - rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD - rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU - - rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD - rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI - rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD - rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI - rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD - rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI - rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD - rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI - - rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD - rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD - rgb_matrix_set_color(38, RGB_DARKPINK); // EE_CLR - rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG - - rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN - break; - } - } - return false; -} -#endif diff --git a/keyboards/bandominedoni/keymaps/lednotg/readme.md b/keyboards/bandominedoni/keymaps/lednotg/readme.md deleted file mode 100644 index 803d1d39f82f..000000000000 --- a/keyboards/bandominedoni/keymaps/lednotg/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The keymap with led and no TG keys on the layout for bandominedoni diff --git a/keyboards/bandominedoni/keymaps/lednotg/rules.mk b/keyboards/bandominedoni/keymaps/lednotg/rules.mk deleted file mode 100644 index 0a1c4b1858e0..000000000000 --- a/keyboards/bandominedoni/keymaps/lednotg/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_KB = yes # - -ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31. diff --git a/keyboards/barleycorn_smd/config.h b/keyboards/barleycorn_smd/config.h index 167c3b5c87c4..06c67798c010 100644 --- a/keyboards/barleycorn_smd/config.h +++ b/keyboards/barleycorn_smd/config.h @@ -38,19 +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 -#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 -#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 0f759e5f4d53..b4aef08b62da 100644 --- a/keyboards/barleycorn_smd/info.json +++ b/keyboards/barleycorn_smd/info.json @@ -12,6 +12,22 @@ "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/barleycorn_smd/rules.mk b/keyboards/barleycorn_smd/rules.mk index 173368a047c7..69ecebae2ae1 100644 --- a/keyboards/barleycorn_smd/rules.mk +++ b/keyboards/barleycorn_smd/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h b/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h deleted file mode 100644 index 3807c29fa7b4..000000000000 --- a/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2020 2Moons - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - -/* Select hand configuration */ - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 180 -//#define MASTER_RIGHT diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c deleted file mode 100644 index 7d84ce3ae0bb..000000000000 --- a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c +++ /dev/null @@ -1,195 +0,0 @@ -/* Copyright 2020 2Moons - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "keymap_japanese.h" - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _FLOCK, - _FN, - _LOWER, - _RAISE, - _ADJUST, -}; - -enum custom_keycodes { - RGB_RST = SAFE_RANGE -}; - -enum tapdances{ - TD_ESFL = 0, - TD_ESQW, -}; - -tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_all( - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) - //`----------------------------------------------------------------| |--------------------------------------------' - ), - - [_FLOCK] = LAYOUT_all( - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) - //`----------------------------------------------------------------| |--------------------------------------------' - ), - - [_FN] = LAYOUT_all( - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - KC_ESC, TG(_ADJUST), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_BSPC, KC_DEL, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______, _______, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - //`----------------------------------------------------------------| |--------------------------------------------' - ), - - [_LOWER] = LAYOUT_all( - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) - //`----------------------------------------------------------------| |--------------------------------------------' - ), - - [_RAISE] = LAYOUT_all( - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_FORWARD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_GRADIENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_MODE_XMAS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN) - //`----------------------------------------------------------------| |--------------------------------------------' - ), - - [_ADJUST] = LAYOUT_all( /* Base */ - //,------------------------------------------------------------------------| |----------------------------------------------------------------. - XXXXXXX, TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - //`----------------------------------------------------------------| |--------------------------------------------' - ) -}; - - -//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 _FLOCK: - rgblight_sethsv_at(HSV_YELLOW, 0); - break; - case _FN: - rgblight_sethsv_at(HSV_GREEN, 0); - break; - 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, 4); -#endif -return state; -} - -int RGB_current_mode; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool result = false; - switch (keycode) { - #ifdef RGBLIGHT_ENABLE - case RGB_MOD: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - break; - case RGB_RST: - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - break; - #endif - default: - result = true; - break; - } - - return result; -} diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk b/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/basekeys/slice/rev1/keymaps/2moons/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h index 996e538ae3b3..8a0c1946c16f 100644 --- a/keyboards/basekeys/slice/rev1_rgb/config.h +++ b/keyboards/basekeys/slice/rev1_rgb/config.h @@ -26,23 +26,4 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* RGB LED */ -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 69 // Number of LEDs. backlight x69 -#define RGBLED_SPLIT { 34, 35 } -#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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - #define OLED_FONT_H "keyboards/basekeys/slice/slice_font.c" diff --git a/keyboards/basekeys/slice/rev1_rgb/info.json b/keyboards/basekeys/slice/rev1_rgb/info.json index 38a6e8398a9b..faec5a995330 100644 --- a/keyboards/basekeys/slice/rev1_rgb/info.json +++ b/keyboards/basekeys/slice/rev1_rgb/info.json @@ -20,7 +20,22 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 120 + "hue_steps": 10, + "led_count": 69, + "max_brightness": 120, + "split_count": [34, 35], + "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 + } }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/basekeys/slice/rev1_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/rules.mk index e9d1e52c1664..1e24ec177f92 100644 --- a/keyboards/basekeys/slice/rev1_rgb/rules.mk +++ b/keyboards/basekeys/slice/rev1_rgb/rules.mk @@ -12,6 +12,5 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Disable OLED driver. LTO_ENABLE = yes diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h index 85ae15513e55..341f6f03e0f6 100644 --- a/keyboards/basekeys/trifecta/config.h +++ b/keyboards/basekeys/trifecta/config.h @@ -18,24 +18,6 @@ #define RGB_MATRIX_LED_COUNT 80 -/* 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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -53,10 +35,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 3cc2c19f8b9f..338eb1ae9006 100644 --- a/keyboards/basekeys/trifecta/info.json +++ b/keyboards/basekeys/trifecta/info.json @@ -27,7 +27,26 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 128 + "hue_steps": 10, + "led_count": 80, + "max_brightness": 128, + "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 + } + }, + "rgb_matrix": { + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/basketweave/config.h b/keyboards/basketweave/config.h index 36054e7bb6fb..ebf85963191c 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 8f9be9b4062e..705ef675ba83 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 3fc4587f36b7..a20b2ce636ab 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 c48862af2c90..4bd570ddd8c3 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk @@ -23,7 +23,4 @@ POINTING_DEVICE_DRIVER = pmw3360 MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes -EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h deleted file mode 100644 index d7b6d01bcea0..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h +++ /dev/null @@ -1,155 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#ifdef VIA_ENABLE -/* Via configuration. */ -# define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#endif // VIA_ENABLE - -#ifndef __arm__ -/* Disable unused features. */ -# define NO_ACTION_ONESHOT -#endif // __arm__ - -/** - * Configure the global tapping term (default: 200ms). - * If you have a lot of accidental mod activations, crank up the tapping term. - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term - */ -#ifndef TAPPING_TERM -# define TAPPING_TERM 160 -#endif // TAPPING_TERM - -/** - * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key - * twice, except for one-shot keys. - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold - */ -#define QUICK_TAP_TERM 0 - -/* - * Tap-or-Hold decision modes. - * - * Note that the following flags behave differently when combined (ie. when 2 or - * more are enabled). - * - * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold - * decision modes. - */ - -/** - * Faster tap-hold trigger. - * - * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae - * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold - */ -#define PERMISSIVE_HOLD - -/** Charybdis-specific features. */ - -#ifdef POINTING_DEVICE_ENABLE -// Automatically enable the pointer layer when moving the trackball. See also: -// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS` -// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD` -// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE - -// Flip horizontal direction for drag-scroll. -# define CHARYBDIS_DRAGSCROLL_REVERSE_X -// #define CHARYBDIS_DRAGSCROLL_REVERSE_Y -#endif // POINTING_DEVICE_ENABLE - -/** RGB Matrix. */ - -#ifdef RGB_MATRIX_ENABLE -# ifdef __arm__ -// Enable all animations on ARM boards since they have plenty of memory -// available for it. -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# 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_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# 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 -# else -// Disable control of RGB matrix by keycodes (must use firmware implementation -// to control the feature). -# define RGB_MATRIX_DISABLE_KEYCODES -# endif - -// Limit maximum brightness to keep power consumption reasonable, and avoid -// disconnects. -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64 - -// Rainbow swirl as startup mode. -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - -// Slow swirl at startup. -# undef RGB_MATRIX_DEFAULT_SPD -# define RGB_MATRIX_DEFAULT_SPD 32 - -// Startup values. -# undef RGB_MATRIX_DEFAULT_HUE -# define RGB_MATRIX_DEFAULT_HUE 0 -# undef RGB_MATRIX_DEFAULT_SAT -# define RGB_MATRIX_DEFAULT_SAT 255 -# undef RGB_MATRIX_DEFAULT_VAL -# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c deleted file mode 100644 index 8f02227c0182..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/keymap.c +++ /dev/null @@ -1,224 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum charybdis_keymap_bstiq_layers { - LAYER_BASE = 0, - LAYER_MBO, - LAYER_MEDIA, - LAYER_NAV, - LAYER_MOUSE, - LAYER_SYM, - LAYER_NUM, - LAYER_FUN, -}; - -// Automatically enable sniping when the mouse layer is on. -#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_MOUSE - -#define BSP_NAV LT(LAYER_NAV, KC_BSPC) -#define ENT_MBO LT(LAYER_MBO, KC_ENT) -#define TAB_MED LT(LAYER_MEDIA, KC_TAB) -#define ESC_SYM LT(LAYER_SYM, KC_ESC) -#define SPC_NUM LT(LAYER_NUM, KC_SPC) -#define MOUSE(KC) LT(LAYER_MOUSE, KC) - -#define USR_RDO KC_AGAIN -#define USR_PST S(KC_INS) -#define USR_CPY C(KC_INS) -#define USR_CUT S(KC_DEL) -#define USR_UND KC_UNDO - -#define MS_L KC_MS_LEFT -#define MS_R KC_MS_RIGHT -#define MS_D KC_MS_DOWN -#define MS_U KC_MS_UP - -#define WH_L KC_MS_WH_LEFT -#define WH_R KC_MS_WH_RIGHT -#define WH_D KC_MS_WH_DOWN -#define WH_U KC_MS_WH_UP - -// clang-format off -/** Convenience macro. */ -#define _KC_LAYOUT_wrapper( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ - ...) \ - KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \ - KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \ - KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \ - __VA_ARGS__ -#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__) - -/** Base layer with BÉPO layout. */ -#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \ - B, Z, P, O, QUOT, DOT, V, D, L, J, \ - A, U, I, E, COMM, C, T, S, R, N, \ - W, Y, X, SLSH, K, M, Q, G, H, F, \ - BSP_NAV, ENT_MBO, TAB_MED, ESC_SYM, SPC_NUM) - -/** Convenience key shorthands. */ -#define U_NA KC_NO // Present but not available for use. -#define U_NU KC_NO // Available but not used. - -/** Convenience row shorthands. */ -#define __________________RESET_L__________________ QK_BOOT, U_NA, U_NA, U_NA, U_NA -#define __________________RESET_R__________________ U_NA, U_NA, U_NA, U_NA, QK_BOOT -#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA -#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA -#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI -#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA - -/** Layers. */ - -// Buttons. -#define LAYOUT_LAYER_MBO \ - __________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ - KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ - U_NA, U_NA, U_NA, KC_ENT, KC_DEL - -// Media. -#define LAYOUT_LAYER_MEDIA \ - __________________RESET_L__________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \ - ______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \ - U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3 - -// Navigation. -#define LAYOUT_LAYER_NAV \ - __________________RESET_L__________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ - ______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \ - ______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \ - U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY - -// Mouse. -#define LAYOUT_LAYER_MOUSE \ - S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - DPI_MOD, DRGSCRL, KC_LSFT, KC_LCTL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \ - USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \ - KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN1, KC_BTN3 - -// Symbols. -#define LAYOUT_LAYER_SYM \ - KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, __________________RESET_R__________________, \ - KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, ______________HOME_ROW_ALGR_R______________, \ - KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA - -// Numerals. -#define LAYOUT_LAYER_NUM \ - KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, __________________RESET_R__________________, \ - KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \ - KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, ______________HOME_ROW_ALGR_R______________, \ - KC_DOT, KC_0, KC_MINS, U_NA, U_NA - -// Function keys. -#define LAYOUT_LAYER_FUN \ - KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, __________________RESET_R__________________, \ - KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, ______________HOME_ROW_GASC_R______________, \ - KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\ - KC_APP, KC_SPC, KC_TAB, U_NA, U_NA - -/** - * Add Home Row mod to a layout. - * - * Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl) - * home row. The layout passed in parameter must contain at least 20 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO) - */ -#define _HOME_ROW_MOD_GASC( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \ - R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \ - __VA_ARGS__ -#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__) - -/** - * Add mouse layer keys to a layout. - * - * Expects a 10-key per row layout. The layout passed in parameter must contain - * at least 30 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO) - */ -#define _MOUSE_MOD( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, \ - R15, R16, R17, R18, R19, \ - MOUSE(L20), L21, L22, L23, L24, \ - R25, R26, R27, R28, MOUSE(R29), \ - __VA_ARGS__ -#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__) - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_wrapper( - MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)) - ), - [LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO), - [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA), - [LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV), - [LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE), - [LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM), - [LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM), - [LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN), -}; -// clang-format on - -#if defined(POINTING_DEVICE_ENABLE) && defined(CHARYBDIS_AUTO_SNIPING_ON_LAYER) -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER)); - return state; -} -#endif // POINTING_DEVICE_ENABLE && CHARYBDIS_AUTO_SNIPING_ON_LAYER - -#ifdef RGB_MATRIX_ENABLE -// Forward-declare this helper function since it is defined in rgb_matrix.c. -void rgb_matrix_update_pwm_buffers(void); -#endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_setrgb(RGB_RED); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/readme.md b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/readme.md deleted file mode 100644 index 5d9f7fcd5f3d..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Charybdis (3x5) @bstiq keymap - -Inspired from Miryoku, using home-rows. diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk deleted file mode 100644 index 5d9106460788..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -ifeq ($(MCU),atmega32u4) - # Space saving settings. - TAP_DANCE_ENABLE = no - COMBO_ENABLE = no - QMK_SETTINGS = no -else ifeq ($(MCU),STM32F411) - EEPROM_DRIVER = vendor -endif - -VIA_ENABLE = yes diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h deleted file mode 100644 index 6d24808af2d1..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - -Copyright 2021 Quentin LEBASTARD - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#ifdef KEYBOARD_bastardkb_charybdis_3x5_blackpill - -# undef MATRIX_ROW_PINS -# define MATRIX_ROW_PINS \ - { B12, B13, B14, B15 } -# undef MATRIX_COL_PINS -# define MATRIX_COL_PINS \ - { A15, B3, B4, B5, B6 } - -# undef MATRIX_ROW_PINS_RIGHT -# define MATRIX_ROW_PINS_RIGHT \ - { B12, B13, B14, B15 } -# undef MATRIX_COL_PINS_RIGHT -# define MATRIX_COL_PINS_RIGHT \ - { A15, B3, B4, B5, B6 } - -# define USB_VBUS_PIN B10 -# undef SPLIT_HAND_PIN -# define SPLIT_HAND_PIN C14 // high = left, low = right - -// WS2812 RGB LED strip input and number of LEDs -# undef WS2812_DI_PIN -# define WS2812_DI_PIN A1 -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 -# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 -# define WS2812_PWM_CHANNEL 2 // default: 2 -# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 -# define WS2812_EXTERNAL_PULLUP -//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). -# undef WS2812_DMA_STREAM -# define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // 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 WS2812_PWM_TARGET_PERIOD 800000 - -# define DEBUG_LED_PIN C13 - -/* Audio config */ -# define AUDIO_PIN B1 -# define AUDIO_PWM_DRIVER PWMD3 -# define AUDIO_PWM_CHANNEL 4 -# define AUDIO_PWM_PAL_MODE 2 - -/* serial.c configuration for split keyboard */ -# undef SOFT_SERIAL_PIN -# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. -# undef SERIAL_USART_TX_PIN -# define SERIAL_USART_TX_PIN A2 -# undef SERIAL_USART_RX_PIN -# define SERIAL_USART_RX_PIN A3 -# define SERIAL_USART_DRIVER SD2 -# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 -# define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 -# define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100 -# define SERIAL_USART_SPEED 921600 -// #define SERIAL_USART_PIN_SWAP // swap RX and TX pins on master -// To use the highest possible baudrate (3.75Mbit/s) uncomment the following -// line, this can result in dropped communications so lower the speed if there -// are many timeouts. -// #define SERIAL_USART_SPEED (STM32_PCLK2 >> 4) - -# define CRC8_USE_TABLE -# define CRC8_OPTIMIZE_SPEED - -/* spi config for eeprom and pmw3360 sensor */ -# define SPI_DRIVER SPID1 -# define SPI_SCK_PIN A5 -# define SPI_SCK_PAL_MODE 5 -# define SPI_MOSI_PIN A7 -# define SPI_MOSI_PAL_MODE 5 -# define SPI_MISO_PIN A6 -# define SPI_MISO_PAL_MODE 5 - -/* eeprom config */ -# define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 -# define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64 -// #define EXTERNAL_EEPROM_BYTE_COUNT 8196 -// #define EXTERNAL_EEPROM_PAGE_SIZE 32 -// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2 - -/* pmw3360 config */ -# undef PMW33XX_CS_PIN -# define PMW33XX_CS_PIN B0 -#endif - -#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200 -#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400 -#define CHARYBDIS_MINIMUM_SNIPING_DPI 200 -#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h deleted file mode 100644 index 3b254172b483..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can 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 - -#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill) -# define HAL_USE_PWM TRUE -# define HAL_USE_SERIAL TRUE -# define HAL_USE_I2C TRUE -# define HAL_USE_SPI TRUE -# define SPI_USE_WAIT TRUE -# define SPI_SELECT_MODE SPI_SELECT_MODE_PAD -#endif - -#include_next diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c deleted file mode 100644 index e458a8437334..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD - * 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" - -#define LAYOUT_charybdis_3x5_wrapper(...) LAYOUT_charybdis_3x5(__VA_ARGS__) -#define LAYOUT_charybdis_3x5_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_charybdis_3x5 ( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - ALT_T(K11), K12, K13, K14, GUI_T(K15), LGUI_T(K16), K17, K18, K19, LALT_T(K1A), \ - CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), \ - LSFT_T(KC_GRV), KC_SPC, BK_LWER, DL_RAIS, RSFT_T(KC_ENT) \ - ) -#define LAYOUT_charybdis_3x5_base_wrapper(...) LAYOUT_charybdis_3x5_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DEFAULT_LAYER_1] = LAYOUT_charybdis_3x5_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_charybdis_3x5_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_charybdis_3x5_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_charybdis_3x5_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_MOUSE] = LAYOUT_charybdis_3x5( - _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, - _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, - _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, - _______, SNIPING, _______, _______, _______ - ), - [_LOWER] = LAYOUT_charybdis_3x5_wrapper( - _________________LOWER_L1__________________, _________________LOWER_R1__________________, - _________________LOWER_L2__________________, _________________LOWER_R2__________________, - _________________LOWER_L3__________________, _________________LOWER_R3__________________, - _______, _______, _______, _______, AUTO_CTN - ), - [_RAISE] = LAYOUT_charybdis_3x5_wrapper( - _________________RAISE_L1__________________, _________________RAISE_R1__________________, - _________________RAISE_L2__________________, _________________RAISE_R2__________________, - _________________RAISE_L3__________________, _________________RAISE_R3__________________, - QK_RBT, _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_charybdis_3x5_wrapper( - _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, - _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, - _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, - EE_CLR, KC_NUKE, _______, _______, QK_BOOT - ), -}; diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h deleted file mode 100644 index 3defeed4dd64..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill) -# undef STM32_I2C_USE_I2C1 -# define STM32_I2C_USE_I2C1 TRUE - -// #undef STM32_I2C_I2C1_RX_DMA_STREAM -// #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) -# undef STM32_I2C_I2C1_TX_DMA_STREAM -# define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) - -# undef STM32_PWM_USE_TIM2 -# define STM32_PWM_USE_TIM2 TRUE - -# undef STM32_PWM_USE_TIM3 -# define STM32_PWM_USE_TIM3 TRUE - -# undef STM32_SPI_USE_SPI1 -# define STM32_SPI_USE_SPI1 TRUE - -# undef STM32_SERIAL_USE_USART2 -# define STM32_SERIAL_USE_USART2 TRUE - -# undef STM32_ST_USE_TIMER -# define STM32_ST_USE_TIMER 5 -#endif diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk deleted file mode 100644 index 029b4a498b30..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk +++ /dev/null @@ -1,43 +0,0 @@ -RGB_MATRIX_ENABLE = no -CUSTOM_UNICODE_ENABLE = no -CUSTOM_POINTING_DEVICE = no -CUSTOM_SPLIT_TRANSPORT_SYNC = no - - -ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/blackpill) - # Bootloader selection - BOOTLOADER := tinyuf2 - - LTO_ENABLE := no - - AUDIO_SUPPORTED = yes - AUDIO_ENABLE = yes - AUDIO_DRIVER = pwm_hardware - - OVERLOAD_FEATURES = yes -endif - -ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/v2/stemcell) - OVERLOAD_FEATURES = yes -endif -ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/3x5/v2/splinky) - OVERLOAD_FEATURES = yes -endif - - -ifeq ($(strip $(OVERLOAD_FEATURES)), yes) - BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite - KEYBOARD_SHARED_EP = yes - MOUSE_SHARED_EP = yes - - MOUSEKEY_ENABLE = yes - NKRO_ENABLE = yes - CONSOLE_ENABLE = yes - RGB_MATRIX_ENABLE = yes - - AUTOCORRECT_ENABLE = yes - - CUSTOM_UNICODE_ENABLE = yes - CUSTOM_POINTING_DEVICE = yes - CUSTOM_SPLIT_TRANSPORT_SYNC = yes -endif diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 935444af1b75..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 LAYOUT_miryoku( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT_charybdis_3x5( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - K32, K33, K34, K35, K36 \ -) diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk deleted file mode 100644 index ef40279cbcd6..000000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/manna-harbour_miryoku/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2021 Manna Harbour -# https://github.com/manna-harbour/miryoku - -MIRYOKU_KLUDGE_THUMBCOMBOS=yes diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c index 4a9154809052..5299444ad390 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c @@ -255,15 +255,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { // rgb_matrix.c. void rgb_matrix_update_pwm_buffers(void); #endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_setrgb(RGB_RED); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json index 80a68aea5ded..bbb0fd66ba22 100644 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json index ee2692fa062b..4b69b244fbe5 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json index 3feffac0abbc..2c0faa956756 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json index c80cd648c368..0a88daf352d6 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json index 7fd33fdc4deb..c119df524c31 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 f10636573e74..4436426f3033 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 a02c176d5ecf..bda53275f830 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 c48862af2c90..4bd570ddd8c3 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk @@ -23,7 +23,4 @@ POINTING_DEVICE_DRIVER = pmw3360 MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes -EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c index fd56cce25dc0..d78ce8b7ffd1 100644 --- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c +++ b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c @@ -134,15 +134,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { // Forward-declare this helper function since it is defined in rgb_matrix.c. void rgb_matrix_update_pwm_buffers(void); #endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(1); - rgblight_setrgb(RGB_RED); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json index 8fba6b33cd5f..69c8bd6fb4fd 100644 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json index 7822fbc36d6c..67ada55640e1 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json index f4b25121ef1c..9b44b3f336c4 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json index 8e9b413329b6..d1ac62e1abe8 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json index e67aa0d64083..85b66277cf20 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 f10636573e74..4436426f3033 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 c6bff84bf5c1..b4040e84a5bc 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 8ac0939d0137..f8de9a3fb13e 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk @@ -23,7 +23,4 @@ POINTING_DEVICE_DRIVER = pmw3360 MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes -EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h deleted file mode 100644 index 7fa982612550..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/config.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill) -# undef MATRIX_COL_PINS -# define MATRIX_COL_PINS \ - { B0, B1, B12, B3, B4, B5 } - -# define USB_VBUS_PIN B10 -# define DEBUG_LED_PIN C13 - -# define AUDIO_PIN B7 -# define AUDIO_PWM_DRIVER PWMD4 -# define AUDIO_PWM_CHANNEL 2 -# define AUDIO_PWM_PAL_MODE 2 -# define AUDIO_INIT_DELAY -# define AUDIO_ENABLE_TONE_MULTIPLEXING -# define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10 - -# define SERIAL_USART_SPEED (1 * 1024 * 1024) - -# undef POINTING_DEVICE_CS_PIN -# define POINTING_DEVICE_CS_PIN A15 // b14 -# define PMW33XX_LIFTOFF_DISTANCE 0b1111 - -# define RGB_MATRIX_LED_FLUSH_LIMIT 33 -# define RGB_MATRIX_LED_PROCESS_LIMIT 29 -#endif - -#undef ROTATIONAL_TRANSFORM_ANGLE -#define ROTATIONAL_TRANSFORM_ANGLE 25 -#define POINTING_DEVICE_ROTATION_270 - -/* RGB Matrix. */ -#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - -#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200 -#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400 -#define CHARYBDIS_MINIMUM_SNIPING_DPI 200 -#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100 - -#define CHARYBDIS_CONFIG_SYNC - -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 5 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 -#define BOOTMAGIC_LITE_EEPROM_ROW 1 -#define BOOTMAGIC_LITE_EEPROM_COLUMN 0 -#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 1 -#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 0 - -#define DEBOUNCE 15 diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c deleted file mode 100644 index 31d1e92a7fb8..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c +++ /dev/null @@ -1,154 +0,0 @@ -/** - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "drashna.h" - -// clang-format off -#define LAYOUT_charybdis_4x6_wrapper(...) LAYOUT_charybdis_4x6(__VA_ARGS__) -#define LAYOUT_charybdis_4x6_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_charybdis_4x6_wrapper( \ - KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_CLUE, \ - SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ - OS_LSFT,CTL_T(K21),ALT_T(K22),GUI_T(K23),K24,K25, K26,K27,RGUI_T(K28),RALT_T(K29),RCTL_T(K2A), OS_RSFT, \ - SFT_T(KC_GRV), OS_LALT, OS_LGUI, TT(_MOUSE), KC_ENT, \ - KC_SPC, BK_LWER, DL_RAIS \ - ) - -#define LAYOUT_base_wrapper(...) LAYOUT_charybdis_4x6_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_GAMEPAD] = LAYOUT_charybdis_4x6( - KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______, - KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, - KC_V, _______, _______, _______, TG_GAME, - KC_SPC, KC_H, _______ - ), - [_DIABLO] = LAYOUT_charybdis_4x6( - KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, - KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, - KC_G, _______, _______, TO(_DIABLOII), TG_DBLO, - KC_LSFT, KC_LCTL, _______ - ), - [_DIABLOII] = LAYOUT_charybdis_4x6( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_GRV, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_A, KC_T, KC_Q, KC_I, KC_M, _______, _______, _______, _______, _______, _______, - KC_S, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, - KC_DIABLO_CLEAR, _______, _______, _______, TG(_DIABLOII), - SFT_T(KC_SPACE), ALT_T(KC_Q), _______ - ), - [_MOUSE] = LAYOUT_charybdis_4x6( - _______, _______, _______, _______, _______, _______, _______, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, PD_JIGGLER, - _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, DRGSCRL, - _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, - _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______ - ), - - [_LOWER] = LAYOUT_charybdis_4x6_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, - _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, _______, - _______, _______, _______ - ), - - [_RAISE] = LAYOUT_charybdis_4x6_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, _______, - _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_charybdis_4x6_wrapper( - QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_COMIC,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT, - VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR, - KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, - QK_RBT, AUTO_CTN, _______, _______, KC_NUKE, - _______, _______, _______ - ) -}; -// clang-format on - -void keyboard_post_init_keymap(void) { -#ifdef RGB_MATRIX_ENABLE - g_led_config.flags[53] = g_led_config.flags[54] = g_led_config.flags[55] = g_led_config.flags[0] = g_led_config.flags[1] = g_led_config.flags[2] = g_led_config.flags[3] = g_led_config.flags[29] = g_led_config.flags[30] = g_led_config.flags[31] = g_led_config.flags[32] = LED_FLAG_MODIFIER; -#endif -} - -#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill) -void keyboard_pre_init_keymap(void) { - setPinInputHigh(A0); -} -#endif - -#ifdef SWAP_HANDS_ENABLE -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - /* Left hand, matrix positions */ - {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, - {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, - {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, - {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}}, - {{2, 9}, {4, 9}, {5, 9}, {1, 9}, {0, 9}, {3, 9}}, - /* Right hand, matrix positions */ - {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, - {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, - {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, - {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, - {{0, 4}, {3, 4}, {2, 4}, {5, 4}, {4, 4}, {2, 4}} -}; - -# ifdef ENCODER_MAP_ENABLE -const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; -# endif -#endif diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h deleted file mode 100644 index 0541043c5384..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill) -# undef STM32_PWM_USE_ADVANCED -# define STM32_PWM_USE_ADVANCED TRUE - -# undef STM32_PWM_USE_TIM4 -# define STM32_PWM_USE_TIM4 TRUE -#endif diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk deleted file mode 100644 index ef6b7cd24b86..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk +++ /dev/null @@ -1,52 +0,0 @@ -CUSTOM_UNICODE_ENABLE = no -CUSTOM_POINTING_DEVICE = no -CUSTOM_SPLIT_TRANSPORT_SYNC = no -PER_KEY_TAPPING = yes - -ifeq ($(strip $(KEYBOARD)), bastardkb/charybdis/4x6/blackpill) - # MCU name - # Bootloader selection - BOOTLOADER := tinyuf2 - - AUDIO_ENABLE = yes # Audio output - AUDIO_SUPPORTED = yes # is set to no in kb, needs to be forcibly enabled - AUDIO_DRIVER = pwm_hardware - - BACKLIGHT_DRIVER = pwm - - OVERLOAD_FEATURES = yes -endif - -ifeq ($(strip $(MCU)), atmega32u4) - LTO_ENABLE = yes - BOOTLOADER = qmk-hid - BOOTLOADER_SIZE = 512 - EXTRAKEY_ENABLE = no -else - OVERLOAD_FEATURES = yes -endif - -ifeq ($(strip $(OVERLOAD_FEATURES)), yes) - BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite - MOUSEKEY_ENABLE = yes # Mouse keys - EXTRAKEY_ENABLE = yes # Audio control and System control - CONSOLE_ENABLE = yes # Console for debug - COMMAND_ENABLE = no # Commands for debug and configuration - NKRO_ENABLE = yes # Enable N-Key Rollover - RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow - - MOUSE_SHARED_EP = no - - AUTOCORRECT_ENABLE = yes - CAPS_WORD_ENABLE = yes - SWAP_HANDS_ENABLE = yes - TAP_DANCE_ENABLE = yes - WPM_ENABLE = yes - LTO_ENABLE = no - # OPT = 3 - - CUSTOM_UNICODE_ENABLE = yes - CUSTOM_POINTING_DEVICE = yes - CUSTOM_SPLIT_TRANSPORT_SYNC = yes - -endif diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index aa8dc8505422..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2022 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT_charybdis_4x6( \ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ - K32, K33, K34, K35, K36, \ - XXX, K32, K37 \ -) diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk deleted file mode 100644 index ef40279cbcd6..000000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/manna-harbour_miryoku/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2021 Manna Harbour -# https://github.com/manna-harbour/miryoku - -MIRYOKU_KLUDGE_THUMBCOMBOS=yes diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c index fb795829fde1..a0657b02ec89 100644 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c @@ -157,15 +157,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { // Forward-declare this helper function since it is defined in rgb_matrix.c. void rgb_matrix_update_pwm_buffers(void); #endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(1); - rgblight_setrgb(RGB_RED); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json index 36f341e0e7b8..161d36f45d4d 100644 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json index 3043400b7b6d..2ee88c4f9e4f 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json index e6b47c984e6f..961a0b1420d1 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json index 7814c4197670..28a1dee31f41 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk index 80098fbbf670..87a2d912b894 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json index 723f8ae5b133..cfae56715f1b 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 f10636573e74..4436426f3033 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/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c index c321af7aa913..c9f0e6317283 100644 --- a/keyboards/bastardkb/charybdis/charybdis.c +++ b/keyboards/bastardkb/charybdis/charybdis.c @@ -382,3 +382,20 @@ void matrix_scan_kb(void) { matrix_scan_user(); } #endif // KEYBOARD_bastardkb_charybdis_3x5_blackpill || KEYBOARD_bastardkb_charybdis_4x6_blackpill + +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } +#ifdef RGBLIGHT_ENABLE + rgblight_enable_noeeprom(); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_setrgb(RGB_RED); +#endif // RGBLIGHT_ENABLE +#ifdef RGB_MATRIX_ENABLE + void rgb_matrix_update_pwm_buffers(void); + rgb_matrix_set_color_all(RGB_RED); + rgb_matrix_update_pwm_buffers(); +#endif // RGB_MATRIX_ENABLE + return true; +} diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h index ced39ef4a1fa..2cd4394da0d3 100644 --- a/keyboards/bastardkb/charybdis/config.h +++ b/keyboards/bastardkb/charybdis/config.h @@ -41,8 +41,6 @@ # define RGB_MATRIX_KEYPRESSES // Startup values. -# define RGB_MATRIX_DEFAULT_HUE 0 -# define RGB_MATRIX_DEFAULT_SAT 255 # define RGB_MATRIX_DEFAULT_VAL 64 // Rainbow swirl as startup mode. diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk index 5db74a9d847b..b4722fc8e6a7 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk @@ -22,6 +22,3 @@ POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = cirque_pinnacle_spi # Assembled version uses SPI. SPLIT_KEYBOARD = yes - -# RP2040-specific options -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h deleted file mode 100644 index 8d8baa5c321b..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h +++ /dev/null @@ -1,138 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#ifdef VIA_ENABLE -/* Via configuration. */ -# define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#endif // VIA_ENABLE - -/** - * Configure the global tapping term (default: 200ms). - * If you have a lot of accidental mod activations, crank up the tapping term. - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term - */ -#ifndef TAPPING_TERM -# define TAPPING_TERM 160 -#endif // TAPPING_TERM - -// disable trackpad taps -// #define CIRQUE_PINNACLE_TAPPING_TERM 0 - -/** - * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key - * twice, except for one-shot keys. - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold - */ -#define QUICK_TAP_TERM 0 - -/* - * Tap-or-Hold decision modes. - * - * Note that the following flags behave differently when combined (ie. when 2 or - * more are enabled). - * - * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold - * decision modes. - */ - -/** - * Faster tap-hold trigger. - * - * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae - * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e - * - * See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold - */ -#define PERMISSIVE_HOLD - -/** Dilemma-specific features. */ - -#ifdef POINTING_DEVICE_ENABLE -// Flip horizontal direction for drag-scroll. -# define DILEMMA_DRAGSCROLL_REVERSE_X -// #define DILEMMA_DRAGSCROLL_REVERSE_Y -#endif // POINTING_DEVICE_ENABLE - -/** RGB Matrix. */ - -#ifdef RGB_MATRIX_ENABLE -// Enable all animations on ARM boards since they have plenty of memory -// available for it. -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# 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_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# 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 - -// Limit maximum brightness to keep power consumption reasonable, and avoid -// disconnects. -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64 - -// Rainbow swirl as startup mode. -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - -// Slow swirl at startup. -# define RGB_MATRIX_DEFAULT_SPD 32 - -// Startup values. -# define RGB_MATRIX_DEFAULT_HUE 0 -# define RGB_MATRIX_DEFAULT_SAT 255 -# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c deleted file mode 100644 index e8c0441d7bbf..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/keymap.c +++ /dev/null @@ -1,224 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum bstiq_layers { - LAYER_BASE = 0, - LAYER_MBO, - LAYER_MEDIA, - LAYER_NAV, - LAYER_MOUSE, - LAYER_SYM, - LAYER_NUM, - LAYER_FUN, -}; - -// Automatically enable sniping when the mouse layer is on. -#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_MOUSE - -#define BSP_NAV LT(LAYER_NAV, KC_BSPC) -#define ENT_MBO LT(LAYER_MBO, KC_ENT) -#define TAB_MED LT(LAYER_MEDIA, KC_TAB) -#define ESC_SYM LT(LAYER_SYM, KC_ESC) -#define SPC_NUM LT(LAYER_NUM, KC_SPC) -#define SPC_MBO LT(LAYER_MBO, KC_SPC) -#define MOUSE(KC) LT(LAYER_MOUSE, KC) - -#define USR_RDO KC_AGAIN -#define USR_PST S(KC_INS) -#define USR_CPY C(KC_INS) -#define USR_CUT S(KC_DEL) -#define USR_UND KC_UNDO - -#define MS_L KC_MS_LEFT -#define MS_R KC_MS_RIGHT -#define MS_D KC_MS_DOWN -#define MS_U KC_MS_UP - -#define WH_L KC_MS_WH_LEFT -#define WH_R KC_MS_WH_RIGHT -#define WH_D KC_MS_WH_DOWN -#define WH_U KC_MS_WH_UP - -// clang-format off -/** Convenience macro. */ -#define _KC_LAYOUT_wrapper( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ - ...) \ - KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \ - KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \ - KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \ - __VA_ARGS__ -#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__) - -/** Base layer with BÉPO layout. */ -#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \ - B, W, P, O, QUOT, DOT, V, D, L, J, \ - A, U, I, E, COMM, C, T, S, R, N, \ - Z, Y, X, SLSH, K, M, Q, G, H, F, \ - SPC_MBO, TAB_MED, ESC_SYM, SPC_NUM) - -/** Convenience key shorthands. */ -#define U_NA KC_NO // Present but not available for use. -#define U_NU KC_NO // Available but not used. - -/** Convenience row shorthands. */ -#define ________________HOME_ROW_NA________________ U_NA, U_NA, U_NA, U_NA, U_NA -#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA -#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA -#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI -#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA - -/** Layers. */ - -// Buttons. -#define LAYOUT_LAYER_MBO \ - ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ - KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ - U_NA, U_NA, KC_ENT, KC_ENT - -// Media. -#define LAYOUT_LAYER_MEDIA \ - ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \ - ______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \ - U_NA, U_NA, KC_BTN1, KC_BTN3 - -// Navigation. -#define LAYOUT_LAYER_NAV \ - ________________HOME_ROW_NA________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ - ______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \ - ______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \ - U_NA, U_NA, KC_MSTP, KC_MPLY - -// Mouse. -#define LAYOUT_LAYER_MOUSE \ - S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - DPI_MOD, DRGSCRL, KC_LSFT, DRGSCRL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \ - USR_RDO, USR_PST, USR_CPY, KC_BTN3, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \ - KC_BTN1, KC_BTN2, KC_BTN1, KC_BTN3 - -// Symbols. -#define LAYOUT_LAYER_SYM \ - KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, ________________HOME_ROW_NA________________, \ - KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_MINS, ______________HOME_ROW_ALGR_R______________, \ - KC_RPRN, KC_LPRN, U_NA, U_NA - -// Numerals. -#define LAYOUT_LAYER_NUM \ - KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, ________________HOME_ROW_NA________________, \ - KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \ - KC_GRV, KC_1, KC_2, KC_3, KC_UNDS, ______________HOME_ROW_ALGR_R______________, \ - KC_0, KC_MINS, U_NA, U_NA - -// Function keys. -#define LAYOUT_LAYER_FUN \ - KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, ________________HOME_ROW_NA________________, \ - KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, ______________HOME_ROW_GASC_R______________, \ - KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\ - KC_APP, KC_TAB, U_NA, U_NA - -/** - * Add Home Row mod to a layout. - * - * Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl) - * home row. The layout passed in parameter must contain at least 20 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO) - */ -#define _HOME_ROW_MOD_GASC( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \ - R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \ - __VA_ARGS__ -#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__) - -/** - * Add mouse layer keys to a layout. - * - * Expects a 10-key per row layout. The layout passed in parameter must contain - * at least 30 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO) - */ -#define _MOUSE_MOD( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, \ - R15, R16, R17, R18, R19, \ - L20, MOUSE(L21), L22, L23, L24, \ - R25, R26, R27, R28, MOUSE(R29), \ - __VA_ARGS__ -#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__) - -#define LAYOUT_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_wrapper( - MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)) - ), - [LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO), - [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA), - [LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV), - [LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE), - [LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM), - [LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM), - [LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN), -}; -// clang-format on - -#if defined(POINTING_DEVICE_ENABLE) && defined(DILEMMA_AUTO_SNIPING_ON_LAYER) -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); - return state; -} -#endif // POINTING_DEVICE_ENABLE && DILEMMA_AUTO_SNIPING_ON_LAYER - -#ifdef RGB_MATRIX_ENABLE -// Forward-declare this helper function since it is defined in rgb_matrix.c. -void rgb_matrix_update_pwm_buffers(void); -#endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_setrgb(RGB_RED); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/readme.md b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/readme.md deleted file mode 100644 index df1f43cbcb38..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Dilemma @bstiq keymap - -Inspired from Miryoku, using home-rows. diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/config.h deleted file mode 100644 index 7c46c833102f..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/config.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define CIRQUE_PINNACLE_TAP_ENABLE -#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE -#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE - -#define OLED_DISPLAY_128X128 diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h deleted file mode 100644 index 906bd6519780..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define HAL_USE_SPI TRUE -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/keymap.c deleted file mode 100644 index bf75e97841b0..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/keymap.c +++ /dev/null @@ -1,176 +0,0 @@ -/** - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" - -// clang-format off -#define LAYOUT_split_3x5_2_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__) -#define LAYOUT_split_3x5_2_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_split_3x5_2 ( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - ALT_T(K11), K12, K13, K14, GUI_T(K15), LGUI_T(K16), K17, K18, K19, LALT_T(K1A), \ - CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), \ - KC_SPC, BK_LWER, DL_RAIS, RSFT_T(KC_ENT) \ - ) - -#define LAYOUT_split_3x5_2_base_wrapper(...) LAYOUT_split_3x5_2_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DEFAULT_LAYER_1] = LAYOUT_split_3x5_2_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_split_3x5_2_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_split_3x5_2_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_split_3x5_2_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_MOUSE] = LAYOUT_split_3x5_2( - _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, - _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, - _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, - SNIPING, _______, _______, _______ - ), - [_LOWER] = LAYOUT_split_3x5_2_wrapper( - _________________LOWER_L1__________________, _________________LOWER_R1__________________, - _________________LOWER_L2__________________, _________________LOWER_R2__________________, - _________________LOWER_L3__________________, _________________LOWER_R3__________________, - _______, _______, _______, AUTO_CTN - ), - [_RAISE] = LAYOUT_split_3x5_2_wrapper( - _________________RAISE_L1__________________, _________________RAISE_R1__________________, - _________________RAISE_L2__________________, _________________RAISE_R2__________________, - _________________RAISE_L3__________________, _________________RAISE_R3__________________, - _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_split_3x5_2_wrapper( - _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, - _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, - _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, - KC_NUKE, _______, _______, QK_BOOT - ), -}; - -#if defined(OLED_ENABLE) && defined(OLED_DISPLAY_128X128) -# ifdef UNICODE_COMMON_ENABLE -# include "process_unicode_common.h" -# include "keyrecords/unicode.h" -# endif - -extern const char PROGMEM display_border[3]; - -extern bool is_oled_enabled; - - -bool oled_task_keymap(void) { - static const char PROGMEM header_image[] = { - 0, 192, 32, 16, 8, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 7, 15, 31, 63, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 63, 31, 15, 7, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 8, 16, 32, 192, 0, - // 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0 - }; - oled_write_raw_P(header_image, sizeof(header_image)); - oled_set_cursor(7, 0); - oled_write_P(PSTR("Dilemma"), true); - - render_default_layer_state(1, 1); - render_layer_state(1, 2); - render_kitty(0, 5); - render_wpm(1, 7, 5); -# if defined(POINTING_DEVICE_ENABLE) - render_pointing_dpi_status(dilemma_get_pointer_sniping_enabled() ? dilemma_get_pointer_sniping_dpi() : dilemma_get_pointer_default_dpi(), 1, 7, 6); - render_mouse_mode(17, 6); -# elif defined(WPM_ENABLE) && defined(DEBUG_MATRIX_SCAN_RATE) - render_matrix_scan_rate(1, 7, 6); -# endif - render_bootmagic_status(7, 7); - render_user_status(1, 9); - - render_mod_status(get_mods() | get_oneshot_mods(), 1, 10); - render_keylock_status(host_keyboard_led_state(), 1, 11); - render_unicode_mode(1, 12); - -// render_rgb_hsv(1, 13); - oled_set_cursor(1, 13); - oled_write_P(PSTR("OS: "), false); - extern os_variant_t os_type; - switch (os_type) { - case OS_LINUX: - oled_write_ln_P(PSTR("Linux"), false); - break; - case OS_WINDOWS: - oled_write_ln_P(PSTR("Windows"), false); - break; - case OS_MACOS: - oled_write_ln_P(PSTR("MacOS"), false); - break; - case OS_IOS: - oled_write_ln_P(PSTR("iOS"), false); - break; - default: - break; - } - - render_keylogger_status(1, 14); - - for (uint8_t i = 1; i < 15; i++) { - oled_set_cursor(0, i); - oled_write_raw_P(display_border, sizeof(display_border)); - oled_set_cursor(21, i); - oled_write_raw_P(display_border, sizeof(display_border)); - } - - static const char PROGMEM footer_image[] = {0, 3, 4, 8, 16, 32, 64, 128, 128, 128, 128, 128, 128, 128, 192, 224, 240, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 240, 224, 192, 128, 128, 128, 128, 128, 128, 128, 64, 32, 16, 8, 4, 3, 0}; - oled_set_cursor(0, 15); - oled_write_raw_P(footer_image, sizeof(footer_image)); - - return false; -} -#endif - - -#ifdef SWAP_HANDS_ENABLE -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - /* Left hand, matrix positions */ - {{0, 4}, {3, 4}, {2, 4}, {5, 4}, {4, 4}}, - {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}}, - {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}, - {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}}, - /* Right hand, matrix positions */ - {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}}, - {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}}, - {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}}, - {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}}, - }; -#endif diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h deleted file mode 100644 index f194dd225ced..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE - -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/rules.mk deleted file mode 100644 index a1be9cb8fd14..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -SWAP_HANDS_ENABLE = no -AUTOCORRECT_ENABLE = yes -CAPS_WORD_ENABLE = yes -CONSOLE_ENABLE = yes -KEYLOGGER_ENABLE = no -WPM_ENABLE = yes -OLED_ENABLE = yes diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk index 1e33cc108651..227d42fa24db 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk +++ b/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk @@ -22,6 +22,3 @@ POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c # DIY version uses I2C. SPLIT_KEYBOARD = yes - -# RP2040-specific options -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. diff --git a/keyboards/bastardkb/dilemma/3x5_3/config.h b/keyboards/bastardkb/dilemma/3x5_3/config.h index c5fa0dc192b1..d25bb0752845 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/config.h +++ b/keyboards/bastardkb/dilemma/3x5_3/config.h @@ -41,18 +41,12 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U -/* RGB settings. */ -#define RGBLED_NUM 36 -#define RGBLED_SPLIT \ - { 18, 18 } - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# 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 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json index 57ea2c16dff2..4ab43d6a8e84 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/info.json +++ b/keyboards/bastardkb/dilemma/3x5_3/info.json @@ -5,7 +5,7 @@ "pid": "0x1835" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP8", "GP9", "GP7", "GP6", "GP28"], @@ -15,6 +15,9 @@ "split": { "soft_serial_pin": "GP1" }, + "rgblight": { + "split_count": [18, 18] + }, "ws2812": { "pin": "GP0", "driver": "vendor" diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h deleted file mode 100644 index cfdafc4a512c..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h +++ /dev/null @@ -1,132 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#ifdef VIA_ENABLE -/* Via configuration. */ -# define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#endif // VIA_ENABLE - -/** - * Configure the global tapping term (default: 200ms). - * If you have a lot of accidental mod activations, crank up the tapping term. - */ -#ifndef TAPPING_TERM -# define TAPPING_TERM 160 -#endif // TAPPING_TERM - -// disable trackpad taps -// #define CIRQUE_PINNACLE_TAPPING_TERM 0 - -/** - * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key - * twice, except for one-shot keys. - */ -#define QUICK_TAP_TERM 0 - -/* - * Tap-or-Hold decision modes. - * - * Note that the following flags behave differently when combined (ie. when 2 or - * more are enabled). - * - * See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold - * decision modes. - */ - -/** - * Faster tap-hold trigger. - * - * Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae - * With `PERMISSIVE_HOLD`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e - */ -#define PERMISSIVE_HOLD - -/** Dilemma-specific features. */ - -#ifdef POINTING_DEVICE_ENABLE -// Flip horizontal direction for drag-scroll. -# define DILEMMA_DRAGSCROLL_REVERSE_X -// #define DILEMMA_DRAGSCROLL_REVERSE_Y -#endif // POINTING_DEVICE_ENABLE - -/** RGB Matrix. */ - -#ifdef RGB_MATRIX_ENABLE -// Enable all animations on ARM boards since they have plenty of memory -// available for it. -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# 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_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# 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 - -// Limit maximum brightness to keep power consumption reasonable, and avoid -// disconnects. -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64 - -// Rainbow swirl as startup mode. -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - -// Slow swirl at startup. -# define RGB_MATRIX_DEFAULT_SPD 32 - -// Startup values. -# define RGB_MATRIX_DEFAULT_HUE 0 -# define RGB_MATRIX_DEFAULT_SAT 255 -# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c deleted file mode 100644 index 2c262521bc82..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/keymap.c +++ /dev/null @@ -1,223 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum bstiq_layers { - LAYER_BASE = 0, - LAYER_MBO, - LAYER_MEDIA, - LAYER_NAV, - LAYER_MOUSE, - LAYER_SYM, - LAYER_NUM, - LAYER_FUN, -}; - -// Automatically enable sniping when the mouse layer is on. -#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_MOUSE - -#define BSP_NAV LT(LAYER_NAV, KC_BSPC) -#define ENT_MBO LT(LAYER_MBO, KC_ENT) -#define TAB_MED LT(LAYER_MEDIA, KC_TAB) -#define ESC_SYM LT(LAYER_SYM, KC_ESC) -#define SPC_NUM LT(LAYER_NUM, KC_SPC) -#define SPC_MBO LT(LAYER_MBO, KC_SPC) -#define MOUSE(KC) LT(LAYER_MOUSE, KC) - -#define USR_RDO KC_AGAIN -#define USR_PST S(KC_INS) -#define USR_CPY C(KC_INS) -#define USR_CUT S(KC_DEL) -#define USR_UND KC_UNDO - -#define MS_L KC_MS_LEFT -#define MS_R KC_MS_RIGHT -#define MS_D KC_MS_DOWN -#define MS_U KC_MS_UP - -#define WH_L KC_MS_WH_LEFT -#define WH_R KC_MS_WH_RIGHT -#define WH_D KC_MS_WH_DOWN -#define WH_U KC_MS_WH_UP - -// clang-format off -/** Convenience macro. */ -#define _KC_LAYOUT_wrapper( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ - ...) \ - KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, \ - KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, \ - KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, \ - __VA_ARGS__ -#define KC_LAYOUT_wrapper(...) _KC_LAYOUT_wrapper(__VA_ARGS__) - -/** Base layer with BÉPO layout. */ -#define LAYOUT_LAYER_BASE_BEPO KC_LAYOUT_wrapper( \ - B, W, P, O, QUOT, DOT, V, D, L, J, \ - A, U, I, E, COMM, C, T, S, R, N, \ - Z, Y, X, SLSH, K, M, Q, G, H, F, \ - KC_A, SPC_MBO, TAB_MED, ESC_SYM, SPC_NUM, KC_A) - -/** Convenience key shorthands. */ -#define U_NA KC_NO // Present but not available for use. -#define U_NU KC_NO // Available but not used. - -/** Convenience row shorthands. */ -#define ________________HOME_ROW_NA________________ U_NA, U_NA, U_NA, U_NA, U_NA -#define ______________HOME_ROW_GASC_L______________ KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, U_NA -#define ______________HOME_ROW_ALGR_L______________ U_NA, KC_ALGR, U_NA, U_NA, U_NA -#define ______________HOME_ROW_GASC_R______________ U_NA, KC_LCTL, KC_LSFT, KC_LALT, KC_LGUI -#define ______________HOME_ROW_ALGR_R______________ U_NA, U_NA, U_NA, KC_ALGR, U_NA - -/** Layers. */ - -// Buttons. -#define LAYOUT_LAYER_MBO \ - ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ - KC_BTN3, KC_ALGR, KC_BTN2, KC_BTN1, U_NA, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ - U_NA, U_NA, U_NA, KC_ENT, KC_ENT, KC_ENT - -// Media. -#define LAYOUT_LAYER_MEDIA \ - ________________HOME_ROW_NA________________, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - ______________HOME_ROW_GASC_L______________, U_NU, MS_L, MS_D, MS_U, MS_R, \ - ______________HOME_ROW_ALGR_L______________, U_NU, WH_L, WH_D, WH_U, WH_R, \ - U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2 - -// Navigation. -#define LAYOUT_LAYER_NAV \ - ________________HOME_ROW_NA________________, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ - ______________HOME_ROW_GASC_L______________, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \ - ______________HOME_ROW_ALGR_L______________, U_NU, U_NU, U_NU, U_NU, U_NU, \ - U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, U_NA - -// Mouse. -#define LAYOUT_LAYER_MOUSE \ - S_D_MOD, USR_PST, USR_CPY, USR_CUT, USR_UND, USR_RDO, USR_PST, USR_CPY, USR_CUT, USR_UND, \ - DPI_MOD, DRGSCRL, KC_LSFT, DRGSCRL, _______, U_NU, MS_L, MS_D, MS_U, MS_R, \ - USR_RDO, USR_PST, USR_CPY, KC_BTN3, USR_UND, U_NU, WH_L, WH_D, WH_U, WH_R, \ - KC_BTN3, KC_BTN1, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN2 - -// Symbols. -#define LAYOUT_LAYER_SYM \ - KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, ________________HOME_ROW_NA________________, \ - KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GASC_R______________, \ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_MINS, ______________HOME_ROW_ALGR_R______________, \ - U_NA, KC_RPRN, KC_LPRN, U_NA, U_NA, U_NA - -// Numerals. -#define LAYOUT_LAYER_NUM \ - KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, ________________HOME_ROW_NA________________, \ - KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GASC_R______________, \ - KC_GRV, KC_1, KC_2, KC_3, KC_UNDS, ______________HOME_ROW_ALGR_R______________, \ - U_NA, KC_0, KC_MINS, U_NA, U_NA, U_NA - -// Function keys. -#define LAYOUT_LAYER_FUN \ - KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, ________________HOME_ROW_NA________________, \ - KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, ______________HOME_ROW_GASC_R______________, \ - KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, ______________HOME_ROW_ALGR_R______________,\ - U_NA, KC_APP, KC_TAB, U_NA, U_NA, U_NA - -/** - * Add Home Row mod to a layout. - * - * Expects a 10-key per row layout. Adds support for GASC (Gui, Alt, Shift, Ctl) - * home row. The layout passed in parameter must contain at least 20 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO) - */ -#define _HOME_ROW_MOD_GASC( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - LGUI_T(L10), LALT_T(L11), LSFT_T(L12), LCTL_T(L13), L14, \ - R15, RCTL_T(R16), RSFT_T(R17), LALT_T(R18), RGUI_T(R19), \ - __VA_ARGS__ -#define HOME_ROW_MOD_GASC(...) _HOME_ROW_MOD_GASC(__VA_ARGS__) - -/** - * Add mouse layer keys to a layout. - * - * Expects a 10-key per row layout. The layout passed in parameter must contain - * at least 30 keycodes. - * - * This is meant to be used with `LAYOUT_LAYER_BASE_BEPO` defined above, eg.: - * - * MOUSE_MOD(LAYOUT_LAYER_BASE_BEPO) - */ -#define _MOUSE_MOD( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, \ - R15, R16, R17, R18, R19, \ - L20, MOUSE(L21), L22, L23, L24, \ - R25, R26, R27, R28, MOUSE(R29), \ - __VA_ARGS__ -#define MOUSE_MOD(...) _MOUSE_MOD(__VA_ARGS__) - -#define LAYOUT_wrapper(...) LAYOUT_split_3x5_3(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_wrapper( - MOUSE_MOD(HOME_ROW_MOD_GASC(LAYOUT_LAYER_BASE_BEPO)) - ), - [LAYER_MBO] = LAYOUT_wrapper(LAYOUT_LAYER_MBO), - [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA), - [LAYER_NAV] = LAYOUT_wrapper(LAYOUT_LAYER_NAV), - [LAYER_MOUSE] = LAYOUT_wrapper(LAYOUT_LAYER_MOUSE), - [LAYER_SYM] = LAYOUT_wrapper(LAYOUT_LAYER_SYM), - [LAYER_NUM] = LAYOUT_wrapper(LAYOUT_LAYER_NUM), - [LAYER_FUN] = LAYOUT_wrapper(LAYOUT_LAYER_FUN), -}; -// clang-format on - -#if defined(POINTING_DEVICE_ENABLE) && defined(DILEMMA_AUTO_SNIPING_ON_LAYER) -layer_state_t layer_state_set_user(layer_state_t state) { - dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); - return state; -} -#endif // POINTING_DEVICE_ENABLE && DILEMMA_AUTO_SNIPING_ON_LAYER - -#ifdef RGB_MATRIX_ENABLE -// Forward-declare this helper function since it is defined in rgb_matrix.c. -void rgb_matrix_update_pwm_buffers(void); -#endif - -void shutdown_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_setrgb_red(); -#endif // RGBLIGHT_ENABLE -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_color_all(RGB_RED); - rgb_matrix_update_pwm_buffers(); -#endif // RGB_MATRIX_ENABLE -} diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/readme.md b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/readme.md deleted file mode 100644 index df1f43cbcb38..000000000000 --- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Dilemma @bstiq keymap - -Inspired from Miryoku, using home-rows. diff --git a/keyboards/bastardkb/dilemma/3x5_3/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/rules.mk index 2b52cffbf707..3cdb41160c21 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/rules.mk +++ b/keyboards/bastardkb/dilemma/3x5_3/rules.mk @@ -22,6 +22,3 @@ POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = cirque_pinnacle_spi SPLIT_KEYBOARD = yes - -# RP2040-specific options -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. diff --git a/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c new file mode 100644 index 000000000000..c80ccbc8eb83 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c @@ -0,0 +1,59 @@ +/** + * Copyright 2020 Christopher Courtney (@drashna) + * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Publicw License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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 SWAP_HANDS_ENABLE +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, + {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}}, + {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}}, + /* Right hand, matrix positions */ + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}} +}; + +# ifdef ENCODER_MAP_ENABLE +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; +# endif +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (index) { + case 0: // Left-half encoder, mouse scroll. + tap_code(clockwise ? KC_MS_WH_DOWN : KC_MS_WH_UP); + break; + case 1: // Right-half encoder, volume control. + tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN); + break; + } + return true; +} +#endif // ENCODER_ENABLE diff --git a/keyboards/bastardkb/dilemma/4x6_4/config.h b/keyboards/bastardkb/dilemma/4x6_4/config.h new file mode 100644 index 000000000000..9c76cb76f9e0 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/config.h @@ -0,0 +1,54 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* Handedness. */ +#define SPLIT_HAND_PIN GP29 +#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. + +/* VBUS detection. */ +#define USB_VBUS_PIN GP19 + +/* CRC. */ +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED + +/* Cirque trackpad over SPI. */ +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP22 +#define SPI_MOSI_PIN GP23 +#define SPI_MISO_PIN GP20 +#define POINTING_DEVICE_CS_PIN GP21 +#undef CIRQUE_PINNACLE_DIAMETER_MM +#define CIRQUE_PINNACLE_DIAMETER_MM 40 + +/* Reset. */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +/* RGB matrix support. */ +#define SPLIT_TRANSPORT_MIRROR +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// Startup values. +#define RGB_MATRIX_DEFAULT_VAL 64 +#define RGB_MATRIX_DEFAULT_SPD 32 diff --git a/keyboards/bastardkb/dilemma/4x6_4/halconf.h b/keyboards/bastardkb/dilemma/4x6_4/halconf.h new file mode 100644 index 000000000000..57d15376d63a --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/halconf.h @@ -0,0 +1,22 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/bastardkb/dilemma/4x6_4/info.json b/keyboards/bastardkb/dilemma/4x6_4/info.json new file mode 100644 index 000000000000..ba07a7fccf28 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/info.json @@ -0,0 +1,266 @@ +{ + "keyboard_name": "Dilemma Max", + "usb": { + "device_version": "1.0.0", + "pid": "0x1837" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", + "matrix_pins": { + "cols": ["GP14", "GP8", "GP9", "GP7", "GP6", "GP28"], + "rows": ["GP15", "GP4", "GP5", "GP27", "GP26"] + }, + "diode_direction": "ROW2COL", + "split": { + "enabled": true, + "soft_serial_pin": "GP1", + "bootmagic": { + "matrix": [5, 0] + } + }, + "encoder": { + "enabled" : true, + "rotary" : [ + {"pin_a": "GP25", "pin_b": "GP24"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "caps_word": true, + "tri_layer": true + }, + "ws2812": { + "pin": "GP10", + "driver": "vendor" + }, + "rgb_matrix": { + "driver": "ws2812", + "split_count": [52, 52], + "max_brightness": 176, + "center_point": [112, 28], + "animations": { + "solid_color": true, + "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": [ + {"x": 81, "y": 4, "flags": 2}, + {"x": 65, "y": 2, "flags": 2}, + {"x": 40, "y": 0, "flags": 2}, + {"x": 29, "y": 9, "flags": 2}, + {"x": 16, "y": 9, "flags": 2}, + {"x": 0, "y": 16, "flags": 2}, + {"x": 0, "y": 29, "flags": 2}, + {"x": 0, "y": 40, "flags": 2}, + {"x": 5, "y": 50, "flags": 2}, + {"x": 17, "y": 49, "flags": 2}, + {"x": 28, "y": 44, "flags": 2}, + {"x": 40, "y": 43, "flags": 2}, + {"x": 49, "y": 51, "flags": 2}, + {"x": 62, "y": 53, "flags": 2}, + {"x": 73, "y": 56, "flags": 2}, + {"x": 85, "y": 59, "flags": 2}, + {"x": 100, "y": 64, "flags": 2}, + {"x": 106, "y": 55, "flags": 2}, + {"x": 107, "y": 45, "flags": 2}, + {"x": 91, "y": 51, "flags": 2}, + {"x": 94, "y": 40, "flags": 2}, + {"x": 108, "y": 33, "flags": 2}, + {"x": 106, "y": 25, "flags": 2}, + {"x": 108, "y": 16, "flags": 2}, + + {"matrix": [0, 5], "x": 75, "y": 10, "flags": 4}, + {"matrix": [0, 4], "x": 62, "y": 9, "flags": 4}, + {"matrix": [0, 3], "x": 49, "y": 6, "flags": 4}, + {"matrix": [0, 2], "x": 35, "y": 10, "flags": 4}, + {"matrix": [0, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [0, 0], "x": 9, "y": 16, "flags": 1}, + {"matrix": [1, 0], "x": 9, "y": 27, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 27, "flags": 4}, + {"matrix": [1, 2], "x": 35, "y": 20, "flags": 4}, + {"matrix": [1, 3], "x": 49, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 62, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 31, "flags": 4}, + {"matrix": [2, 4], "x": 62, "y": 30, "flags": 4}, + {"matrix": [2, 3], "x": 49, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 35, "y": 31, "flags": 4}, + {"matrix": [2, 1], "x": 22, "y": 37, "flags": 4}, + {"matrix": [2, 0], "x": 9, "y": 37, "flags": 1}, + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 22, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 35, "y": 41, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 75, "y": 42, "flags": 4}, + {"matrix": [4, 3], "x": 54, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 68, "y": 53, "flags": 4}, + {"matrix": [4, 2], "x": 81, "y": 57, "flags": 4}, + {"matrix": [4, 4], "x": 92, "y": 64, "flags": 4}, + + {"x": 143, "y": 4, "flags": 2}, + {"x": 159, "y": 2, "flags": 2}, + {"x": 184, "y": 0, "flags": 2}, + {"x": 195, "y": 9, "flags": 2}, + {"x": 208, "y": 9, "flags": 2}, + {"x": 224, "y": 16, "flags": 2}, + {"x": 224, "y": 29, "flags": 2}, + {"x": 224, "y": 40, "flags": 2}, + {"x": 219, "y": 50, "flags": 2}, + {"x": 207, "y": 49, "flags": 2}, + {"x": 196, "y": 44, "flags": 2}, + {"x": 184, "y": 43, "flags": 2}, + {"x": 176, "y": 51, "flags": 2}, + {"x": 162, "y": 53, "flags": 2}, + {"x": 151, "y": 56, "flags": 2}, + {"x": 139, "y": 59, "flags": 2}, + {"x": 124, "y": 64, "flags": 2}, + {"x": 118, "y": 55, "flags": 2}, + {"x": 117, "y": 45, "flags": 2}, + {"x": 133, "y": 51, "flags": 2}, + {"x": 130, "y": 40, "flags": 2}, + {"x": 116, "y": 33, "flags": 2}, + {"x": 118, "y": 25, "flags": 2}, + {"x": 116, "y": 16, "flags": 2}, + + {"matrix": [5, 5], "x": 149, "y": 10, "flags": 4}, + {"matrix": [5, 4], "x": 162, "y": 9, "flags": 4}, + {"matrix": [5, 3], "x": 175, "y": 6, "flags": 4}, + {"matrix": [5, 2], "x": 189, "y": 10, "flags": 4}, + {"matrix": [5, 1], "x": 202, "y": 16, "flags": 4}, + {"matrix": [5, 0], "x": 215, "y": 16, "flags": 1}, + {"matrix": [6, 0], "x": 215, "y": 27, "flags": 1}, + {"matrix": [6, 1], "x": 202, "y": 27, "flags": 4}, + {"matrix": [6, 2], "x": 189, "y": 20, "flags": 4}, + {"matrix": [6, 3], "x": 175, "y": 17, "flags": 4}, + {"matrix": [6, 4], "x": 162, "y": 19, "flags": 4}, + {"matrix": [6, 5], "x": 149, "y": 21, "flags": 4}, + {"matrix": [7, 5], "x": 149, "y": 31, "flags": 4}, + {"matrix": [7, 4], "x": 162, "y": 30, "flags": 4}, + {"matrix": [7, 3], "x": 175, "y": 27, "flags": 4}, + {"matrix": [7, 2], "x": 189, "y": 31, "flags": 4}, + {"matrix": [7, 1], "x": 202, "y": 37, "flags": 4}, + {"matrix": [7, 0], "x": 215, "y": 37, "flags": 1}, + {"matrix": [8, 0], "x": 215, "y": 48, "flags": 1}, + {"matrix": [8, 1], "x": 202, "y": 48, "flags": 4}, + {"matrix": [8, 2], "x": 189, "y": 41, "flags": 4}, + {"matrix": [8, 3], "x": 175, "y": 38, "flags": 4}, + {"matrix": [8, 4], "x": 162, "y": 40, "flags": 4}, + {"matrix": [8, 5], "x": 149, "y": 42, "flags": 4}, + {"matrix": [9, 4], "x": 170, "y": 51, "flags": 4}, + {"matrix": [9, 2], "x": 156, "y": 53, "flags": 4}, + {"matrix": [9, 1], "x": 143, "y": 57, "flags": 4}, + {"matrix": [9, 3], "x": 132, "y": 64, "flags": 4} + ] + }, + "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":"L05", "matrix": [0, 5], "x":5, "y":0}, + {"label":"R05", "matrix": [5, 5], "x":8, "y":0}, + {"label":"R04", "matrix": [5, 4], "x":9, "y":0}, + {"label":"R03", "matrix": [5, 3], "x":10, "y":0}, + {"label":"R02", "matrix": [5, 2], "x":11, "y":0}, + {"label":"R01", "matrix": [5, 1], "x":12, "y":0}, + {"label":"R00", "matrix": [5, 0], "x":13, "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":"L15", "matrix": [1, 5], "x":5, "y":1}, + {"label":"R15", "matrix": [6, 5], "x":8, "y":1}, + {"label":"R14", "matrix": [6, 4], "x":9, "y":1}, + {"label":"R13", "matrix": [6, 3], "x":10, "y":1}, + {"label":"R12", "matrix": [6, 2], "x":11, "y":1}, + {"label":"R11", "matrix": [6, 1], "x":12, "y":1}, + {"label":"R10", "matrix": [6, 0], "x":13, "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": [7, 5], "x":8, "y":2}, + {"label":"R24", "matrix": [7, 4], "x":9, "y":2}, + {"label":"R23", "matrix": [7, 3], "x":10, "y":2}, + {"label":"R22", "matrix": [7, 2], "x":11, "y":2}, + {"label":"R21", "matrix": [7, 1], "x":12, "y":2}, + {"label":"R20", "matrix": [7, 0], "x":13, "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}, + {"label":"L35", "matrix": [3, 5], "x":5, "y":3}, + {"label":"R35", "matrix": [8, 5], "x":8, "y":3}, + {"label":"R34", "matrix": [8, 4], "x":9, "y":3}, + {"label":"R33", "matrix": [8, 3], "x":10, "y":3}, + {"label":"R32", "matrix": [8, 2], "x":11, "y":3}, + {"label":"R31", "matrix": [8, 1], "x":12, "y":3}, + {"label":"R30", "matrix": [8, 0], "x":13, "y":3}, + {"label":"L43", "matrix": [4, 3], "x":2.5, "y":4}, + {"label":"L41", "matrix": [4, 1], "x":3.5, "y":4}, + {"label":"L42", "matrix": [4, 2], "x":4.5, "y":4}, + {"label":"L44", "matrix": [4, 4], "x":5.5, "y":4}, + {"label":"R44", "matrix": [9, 4], "x":7.5, "y":4}, + {"label":"R42", "matrix": [9, 2], "x":8.5, "y":4}, + {"label":"R41", "matrix": [9, 1], "x":9.5, "y":4}, + {"label":"R43", "matrix": [9, 3], "x":10.5, "y":4} + ] + } + } +} diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c new file mode 100644 index 000000000000..2e5564f5e931 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum dilemma_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER, + LAYER_RAISE, +}; + +#define LOWER MO(LAYER_LOWER) +#define RAISE MO(LAYER_RAISE) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LALT, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_LGUI + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), + + [LAYER_LOWER] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), + + [LAYER_RAISE] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), +}; +// clang-format on diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md new file mode 100644 index 000000000000..2005c2fec91c --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md @@ -0,0 +1,2 @@ +# Dilemma Max (4x6+4) default keymap + diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h new file mode 100644 index 000000000000..24322f990440 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h @@ -0,0 +1,20 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c new file mode 100644 index 000000000000..6ac228d7231f --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c @@ -0,0 +1,125 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum dilemma_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER, + LAYER_RAISE, + LAYER_POINTER, +}; + +// Automatically enable sniping-mode on the pointer layer. +// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER + +#define LOWER MO(LAYER_LOWER) +#define RAISE MO(LAYER_RAISE) +#define PT_Z LT(LAYER_POINTER, KC_Z) +#define PT_SLSH LT(LAYER_POINTER, KC_SLSH) + +#ifndef POINTING_DEVICE_ENABLE +# define DRGSCRL KC_NO +# define DPI_MOD KC_NO +# define S_D_MOD KC_NO +# define SNIPING KC_NO +#endif // !POINTING_DEVICE_ENABLE + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_LCTL, PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, KC_LALT, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_MUTE + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), + + [LAYER_LOWER] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), + + [LAYER_RAISE] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), + + [LAYER_POINTER] = LAYOUT( + // ╭──────────────────────────────────────────────────────â•Ū ╭──────────────────────────────────────────────────────â•Ū + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX, + // ├──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â”Ī + XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX, + // ╰──────────────────────────────────────────────────────â”Ī ├──────────────────────────────────────────────────────â•Ŋ + XXXXXXX, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, XXXXXXX + // ╰───────────────────────────────────â•Ŋ ╰───────────────────────────────────â•Ŋ + ), +}; +// clang-format on + +#ifdef POINTING_DEVICE_ENABLE +# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER +layer_state_t layer_state_set_user(layer_state_t state) { + dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); + return state; +} +# endif // DILEMMA_AUTO_SNIPING_ON_LAYER +#endif // POINTING_DEVICE_ENABLEE + +#ifdef RGB_MATRIX_ENABLE +// Forward-declare this helper function since it is defined in rgb_matrix.c. +void rgb_matrix_update_pwm_buffers(void); +#endif + +#ifdef ENCODER_MAP_ENABLE +// clang-format off +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [LAYER_LOWER] = {ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)}, + [LAYER_RAISE] = {ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)}, +}; +// clang-format on +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md new file mode 100644 index 000000000000..f3636c8a40e3 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md @@ -0,0 +1,47 @@ +# Dilemma Max `via` keymap + +The Dilemma Max `via` keymap is based on the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Dilemma. + +This layout also supports VIA. + +## Customizing the keymap + +### Dynamic DPI scaling + +Use the following keycodes to change the default DPI: + +- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +Use the following keycodes to change the sniping mode DPI: + +- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +### Drag-scroll + +Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press. + +### Circular scroll + +By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad. + +To disable this, add the following to your keymap: + +```c +#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE +``` + +### Sniping + +Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press. + +Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer: + +```c +#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER +``` diff --git a/keyboards/keychron/v3/ansi_encoder/keymaps/vnmm/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/v3/ansi_encoder/keymaps/vnmm/rules.mk rename to keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk diff --git a/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h b/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h new file mode 100644 index 000000000000..52b726a56d5f --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h @@ -0,0 +1,23 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/dilemma/4x6_4/readme.md b/keyboards/bastardkb/dilemma/4x6_4/readme.md new file mode 100644 index 000000000000..30dd2a99f1de --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/readme.md @@ -0,0 +1,5 @@ +# Dilemma Max (4x6+4) + +This keyboard is an upsized version of the [3x5+3 Dilemma](../3x5_3/). + +The Dilemma Max is available at [bastardkb.com](https://bastardkb.com). diff --git a/keyboards/bastardkb/dilemma/4x6_4/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/rules.mk new file mode 100644 index 000000000000..4923c2c84a50 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/rules.mk @@ -0,0 +1,4 @@ +SERIAL_DRIVER = vendor + +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c index 5452f9e7f6a7..7c87fdcadd61 100644 --- a/keyboards/bastardkb/dilemma/dilemma.c +++ b/keyboards/bastardkb/dilemma/dilemma.c @@ -343,3 +343,20 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } + +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } +#ifdef RGBLIGHT_ENABLE + rgblight_enable_noeeprom(); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_setrgb(RGB_RED); +#endif // RGBLIGHT_ENABLE +#ifdef RGB_MATRIX_ENABLE + void rgb_matrix_update_pwm_buffers(void); + rgb_matrix_set_color_all(RGB_RED); + rgb_matrix_update_pwm_buffers(); +#endif // RGB_MATRIX_ENABLE + return true; +} diff --git a/keyboards/bastardkb/dilemma/readme.md b/keyboards/bastardkb/dilemma/readme.md index ac3c818bd6f1..876400ae52ac 100644 --- a/keyboards/bastardkb/dilemma/readme.md +++ b/keyboards/bastardkb/dilemma/readme.md @@ -1,16 +1,21 @@ # Dilemma -A very small keyboard made for ergonomic enthusiasts. +A family of split keyboards with embedded RP2040 controllers, support for Cirque GlidePoint circle trackpads, and SPI + I2C breakouts for other peripherals - Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -- Hardware Supported: RP2040-based controller (_eg._ Splinky, Elite-c, ...) +- Hardware Supported: [Bastardkb Dilemma](https://github.com/Bastardkb/Dilemma) - Hardware Availability: [Bastardkb.com](https://bastardkb.com/) -A pre-assembled version (with embedded controller) is also available. +A DIY version of the 3x5_2 PCB with promicro compatible footprint is also available. Make example for this keyboard (after setting up your build environment): - make bastardkb/dilemma/3x5_2/splinky:default - make bastardkb/dilemma/3x5_2/assembled:default + make bastardkb/dilemma/3x5_3:default + make bastardkb/dilemma/4x6_4:default + +Flashing example for this keyboard: + + make bastardkb/dilemma/3x5_3:default:flash + make bastardkb/dilemma/4x6_4:default:flash See the [keyboard build instructions](http://docs.bastardkb.com/) diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json index 8b6531710413..8d7cb4c823af 100644 --- a/keyboards/bastardkb/scylla/blackpill/info.json +++ b/keyboards/bastardkb/scylla/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 88d65fbb906f..b5612ce38a86 100644 --- a/keyboards/bastardkb/scylla/blackpill/rules.mk +++ b/keyboards/bastardkb/scylla/blackpill/rules.mk @@ -21,7 +21,4 @@ SPLIT_KEYBOARD = yes MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint 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 0ad3ecd17bcc..ec538f8a55b6 100644 --- a/keyboards/bastardkb/scylla/config.h +++ b/keyboards/bastardkb/scylla/config.h @@ -18,18 +18,12 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 58 -#define RGBLED_SPLIT \ - { 29, 29 } - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# 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 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json index 682b2dc6dbda..24a0262beebe 100644 --- a/keyboards/bastardkb/scylla/info.json +++ b/keyboards/bastardkb/scylla/info.json @@ -3,6 +3,10 @@ "usb": { "pid": "0x1829" }, + "rgblight": { + "led_count": 58, + "split_count": [29, 29] + }, "layouts": { "LAYOUT_split_4x6_5": { "layout": [ diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h deleted file mode 100644 index 6119f2738b69..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2021 Christian Eiden, cykedev -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#pragma once - -// Select hand configuration -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - -#define BOOTMAGIC_LITE_ROW_RIGHT 0 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 - -#define TAPPING_TERM 200 - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -// #define QUICK_TAP_TERM 0 - -// Apply the modifier on keys that are tapped during a short hold of a modtap -// #define PERMISSIVE_HOLD - -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY - -#define FORCE_NKRO diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c deleted file mode 100644 index a51f5b9d3869..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c +++ /dev/null @@ -1,199 +0,0 @@ -// Copyright 2021 Christian Eiden, cykedev -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more 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 CM_SPAL LGUI_T(KC_SPC) -#define CM_SPAR RGUI_T(KC_SPC) - -#define SH_ENL LSFT_T(KC_ENT) -#define SH_ENR RSFT_T(KC_ENT) - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -#define QWERT DF(_QWERTY) -#define COLEM DF(_COLEMAK_DH) - -enum layer_names { - _COLEMAK_DH, - _QWERTY, - _RAISE, - _LOWER, - _ADJUST -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK_DH] = LAYOUT_split_4x6_5( - /* COLEMAK_DH - * .-----------------------------------------. .-----------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Del | A | R | S | T | G | | M | N | E | I | O | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft | - * '-----------------------------------------/ \-----------------------------------------' - * / RAISE /---------------. .---------------\ LOWER \ - * / / Cmd / Shift / \ Shift \ Cmd \ \ - * '-------/ Space / Enter / \ Enter \ Space \-------' - * /---------------/ \---------------\ - * / Alt / Ctrl / \ Ctrl \ Alt \ - * / / / \ \ \ - * '---------------' '---------------' - */ - 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_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, - KC_DEL , 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, - RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER , - KC_LALT, KC_LCTL, KC_RCTL, KC_RALT - ), - [_QWERTY] = LAYOUT_split_4x6_5( - /* QWERTY - * .-----------------------------------------. .-----------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Del | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft | - * '-----------------------------------------/ \-----------------------------------------' - * / RAISE /---------------. .---------------\ LOWER \ - * / / Cmd / Shift / \ Shift \ Cmd \ \ - * '-------/ Space / Enter / \ Enter \ Space \-------' - * /---------------/ \---------------\ - * / Alt / Ctrl / \ Ctrl \ Alt \ - * / / / \ \ \ - * '---------------' '---------------' - */ - 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_BSLS, - KC_DEL , 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_LSFT, - RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER , - KC_LALT, KC_LCTL, KC_RCTL, KC_RALT - ), - [_RAISE] = LAYOUT_split_4x6_5( - /* RAISE - * .-----------------------------------------. .-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | [ | ] | | | $ | / | * | # | ~ | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ins | ! | @ | ( | ) | | | % | - | + | = | ? | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | { | } | | | ^ | & | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * / /---------------. .---------------\ \ - * / / / / \ \ \ \ - * '-------/ / / \ \ \-------' - * /---------------/ \---------------\ - * / / / \ \ \ - * / / / \ \ \ - * '---------------' '---------------' - */ - XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, KC_DLR , KC_SLSH, KC_ASTR, KC_HASH, KC_TILD, KC_F12 , - KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, KC_PERC, KC_MINS, KC_PPLS, KC_PEQL, KC_QUES, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, KC_CIRC, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - [_LOWER] = LAYOUT_split_4x6_5( - /* LOWER - * .-----------------------------------------. .-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | [ | ] | + | | | | up | | | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ins | ! | @ | ( | ) | - | | | left | down | rght | ? | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | { | } | = | | | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * / /---------------. .---------------\ \ - * / / / / \ \ \ \ - * '-------/ / / \ \ \-------' - * /---------------/ \---------------\ - * / / / \ \ \ - * / / / \ \ \ - * '---------------' '---------------' - */ - XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , - KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_split_4x6_5( - /* ADJUST - * .-----------------------------------------. .-----------------------------------------. - * | | | | | | QWERT| |COLEM | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | V+ | | B + | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | V- | | B - | << | play | >> | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | Mute | | | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * / /---------------. .---------------\ \ - * / / / / \ \ \ \ - * '-------/ / / \ \ \-------' - * /---------------/ \---------------\ - * / / / \ \ \ - * / / / \ \ \ - * '---------------' '---------------' - */ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - if (keycode == CM_SPAR) { - return false; - } else if (QK_MOD_TAP <= keycode && keycode <= QK_MOD_TAP_MAX) { - return true; - } else { - return false; - } -} - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -// Flexible macOS-friendly Grave Escape -// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape - -const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE)); -const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE); -const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DELETE); - - -const key_override_t **key_overrides = (const key_override_t *[]){ - &tilde_esc_override, - &grave_esc_override, - &delete_key_override, - NULL -}; diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk b/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk deleted file mode 100644 index 1ef732910bfc..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -MOUSEKEY_ENABLE = no # Mouse keys -NKRO_ENABLE = yes # USB Nkey Rollover -RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix -KEY_OVERRIDE_ENABLE = yes # Enable Key Overrides, see https://docs.qmk.fm/#/feature_key_overrides diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c deleted file mode 100644 index c5f563c90ba1..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2021 Joschua Gandert - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_german.h" - - -enum layer_names { - _BASE, - _GAME, /* WASD shifted right once */ - _LOWER, - _RAISE, - _ADJUST /* when both LOWER and RAISE pressed */ -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_split_4x6_5( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA, - KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS, - - RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER, - KC_ENT, KC_LALT, KC_LGUI, KC_RSFT - ), - - [_GAME] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______, - KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT_split_4x6_5( - KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL , - _______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC , - _______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ , - _______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL, - - _______, KC_RGHT, _______, _______, _______, _______, - KC_LEFT, _______, QK_BOOT, _______ - ), - - [_RAISE] = LAYOUT_split_4x6_5( - KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - _______, _______, _______, KC_UP , _______, _______, KC_LALT, KC_INS , KC_NUM , KC_CALC, KC_PSCR , KC_MUTE, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU, - _______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SCRL , KC_VOLD, - - _______, _______, _______, _______, KC_UP , _______, - _______, _______, _______, KC_DOWN - ), - - [_ADJUST] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md b/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md deleted file mode 100644 index 14de01ac4158..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -![German Gaming Layout Image](https://i.imgur.com/0y938rGh.png) - -Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion). -​ - -# German Gaming Layout -​ -This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that WASD is on the ESDF keys. The reason this layer was added is that using WASD is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. ESDF also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so TGB, ends up in the leftmost position. - -Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on IJKL. - - -## Raise and Lower layer - -Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access Home, End, Page Down and Page Up via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard. - -The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer. - - -## Firmware - -The keyboard can be put into Reset mode (for flashing a keymap) by pressing **LOWER** + Super (also known as Windows key), or by pressing **LOWER** + **RAISE** + R. - -`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large. diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk b/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 5a3153ae37ab..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT_split_4x6_5( \ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ - K32, K33, K34, K35, K36, K37, \ - XXX, XXX, XXX, XXX \ -) diff --git a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h deleted file mode 100644 index 4fa185e9564c..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 300 \ No newline at end of file diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c deleted file mode 100644 index 2fb26dbf6f4d..000000000000 --- a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2021 Ian Sterling - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST }; - -enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST }; - -// Aliases to keep the keymap tidy -#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. -#define RGB_SWR RGB_M_SW // Swirl Animation alias -#define RGB_SNK RGB_M_SN // Snake Animation alias -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! -#define WINLOCK LGUI(KC_L) // Lock my PC! -#define DELGUI GUI_T(KC_DEL) -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_WINDOWS] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_MAC] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_LOWER] = LAYOUT_split_4x6_5( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_RAISE] = LAYOUT_split_4x6_5( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_ADJUST] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -}; - -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) { - if (record->event.pressed) { - switch (keycode) { - case WINDOWS: - set_single_persistent_default_layer(_WINDOWS); - return false; - case MAC: - set_single_persistent_default_layer(_MAC); - return false; - } - } - return true; -} diff --git a/keyboards/bastardkb/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json index ffac558bbc7a..3984c69f2faa 100644 --- a/keyboards/bastardkb/scylla/v1/elitec/info.json +++ b/keyboards/bastardkb/scylla/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/scylla/v2/elitec/info.json b/keyboards/bastardkb/scylla/v2/elitec/info.json index 1a8643b27df7..f9069afd911b 100644 --- a/keyboards/bastardkb/scylla/v2/elitec/info.json +++ b/keyboards/bastardkb/scylla/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/info.json b/keyboards/bastardkb/scylla/v2/splinky_2/info.json index 8ba2d4d19ab8..0c7dc406b074 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_2/info.json +++ b/keyboards/bastardkb/scylla/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk b/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/info.json b/keyboards/bastardkb/scylla/v2/splinky_3/info.json index c0cd88672b7c..377fd4424ac1 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_3/info.json +++ b/keyboards/bastardkb/scylla/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk b/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/scylla/v2/stemcell/info.json b/keyboards/bastardkb/scylla/v2/stemcell/info.json index 2c66f255541f..d463418cf19c 100644 --- a/keyboards/bastardkb/scylla/v2/stemcell/info.json +++ b/keyboards/bastardkb/scylla/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 c42b71866e90..8dda103d07a7 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 2bec7f198118..c0f0d6a3b118 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/info.json +++ b/keyboards/bastardkb/skeletyl/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 88d65fbb906f..b5612ce38a86 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/rules.mk +++ b/keyboards/bastardkb/skeletyl/blackpill/rules.mk @@ -21,7 +21,4 @@ SPLIT_KEYBOARD = yes MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint 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 3e282f0f15ee..58dacb5c53b0 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -18,18 +18,12 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 36 -#define RGBLED_SPLIT \ - { 18, 18 } - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# 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 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json index b325ca719686..b4bb9ea78e5c 100644 --- a/keyboards/bastardkb/skeletyl/info.json +++ b/keyboards/bastardkb/skeletyl/info.json @@ -3,6 +3,10 @@ "usb": { "pid": "0x1830" }, + "rgblight": { + "led_count": 36, + "split_count": [18, 18] + }, "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/bastardkb/skeletyl/readme.md b/keyboards/bastardkb/skeletyl/readme.md index 5a595d338f36..bd05820d35c0 100644 --- a/keyboards/bastardkb/skeletyl/readme.md +++ b/keyboards/bastardkb/skeletyl/readme.md @@ -20,8 +20,8 @@ qmk compile -kb bastardkb/skeletyl/{VERSION}/elitec -km {KEYMAP} | --------------- | --------------------------------------------------------------- | ----------------------------------------------------------- | | v1 (Elite-C) | `qmk compile -kb bastardkb/skeletyl/v1/elitec -km default` | `qmk compile -kb bastardkb/skeletyl/v1/elitec -km via` | | v2 (Elite-C) | `qmk compile -kb bastardkb/skeletyl/v2/elitec -km default` | `qmk compile -kb bastardkb/skeletyl/v2/elitec -km via` | -| v2 (Splinky v2) | `qmk compile -kb bastardkb/skeletyl/v2/splinky/v2 -km default` | `qmk compile -kb bastardkb/skeletyl/v2/splinky/v2 -km via` | -| v2 (Splinky v3) | `qmk compile -kb bastardkb/skeletyl/v2/splinky/v3 -km default` | `qmk compile -kb bastardkb/skeletyl/v2/splinky/v3 -km via` | +| v2 (Splinky v2) | `qmk compile -kb bastardkb/skeletyl/v2/splinky_2 -km default` | `qmk compile -kb bastardkb/skeletyl/v2/splinky_2 -km via` | +| v2 (Splinky v3) | `qmk compile -kb bastardkb/skeletyl/v2/splinky_3 -km default` | `qmk compile -kb bastardkb/skeletyl/v2/splinky_3 -km via` | | v2 (STeMCell) | `qmk compile -kb bastardkb/skeletyl/v2/stemcell -km default` | `qmk compile -kb bastardkb/skeletyl/v2/stemcell -km via` | This keyboard is made to be used with the Miryoku layout, do not use the default keymap. diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json index f81bca976eef..f3eb68587d09 100644 --- a/keyboards/bastardkb/skeletyl/v1/elitec/info.json +++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/info.json b/keyboards/bastardkb/skeletyl/v2/elitec/info.json index 2c43204acead..5e5ccd25458c 100644 --- a/keyboards/bastardkb/skeletyl/v2/elitec/info.json +++ b/keyboards/bastardkb/skeletyl/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json index 023c4d553e6e..e9c2b3459233 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk b/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json index 56a00a3c3dc1..a47464720c0f 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json +++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk b/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json index cc4bcf887f9e..b44d64a47aae 100644 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json +++ b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 c42b71866e90..8dda103d07a7 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 40a9b2cbeb84..8515cac5ef06 100644 --- a/keyboards/bastardkb/tbk/config.h +++ b/keyboards/bastardkb/tbk/config.h @@ -17,18 +17,4 @@ #pragma once -#define RGBLED_NUM 38 -#define RGBLED_SPLIT { 19, 19 } -#define RGBLIGHT_SPLIT -#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 - #define MASTER_RIGHT diff --git a/keyboards/bastardkb/tbk/info.json b/keyboards/bastardkb/tbk/info.json index 7da2d56ad538..3afca1e792e9 100644 --- a/keyboards/bastardkb/tbk/info.json +++ b/keyboards/bastardkb/tbk/info.json @@ -5,6 +5,22 @@ "device_version": "0.0.1", "pid": "0x1828" }, + "rgblight": { + "led_count": 38, + "split_count": [19, 19], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c deleted file mode 100644 index c5f563c90ba1..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/german_gaming/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2021 Joschua Gandert - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_german.h" - - -enum layer_names { - _BASE, - _GAME, /* WASD shifted right once */ - _LOWER, - _RAISE, - _ADJUST /* when both LOWER and RAISE pressed */ -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_split_4x6_5( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA, - KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS, - - RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER, - KC_ENT, KC_LALT, KC_LGUI, KC_RSFT - ), - - [_GAME] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______, - KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT_split_4x6_5( - KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL , - _______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC , - _______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ , - _______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL, - - _______, KC_RGHT, _______, _______, _______, _______, - KC_LEFT, _______, QK_BOOT, _______ - ), - - [_RAISE] = LAYOUT_split_4x6_5( - KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - _______, _______, _______, KC_UP , _______, _______, KC_LALT, KC_INS , KC_NUM , KC_CALC, KC_PSCR , KC_MUTE, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU, - _______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SCRL , KC_VOLD, - - _______, _______, _______, _______, KC_UP , _______, - _______, _______, _______, KC_DOWN - ), - - [_ADJUST] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md b/keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md deleted file mode 100644 index 9e6a328bcb8b..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/german_gaming/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -![German Gaming Layout Image](https://i.imgur.com/0y938rG.png) - -Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion). -​ - -# German Gaming Layout -​ -This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that WASD is on the ESDF keys. The reason this layer was added is that using WASD is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. ESDF also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so TGB, ends up in the leftmost position. - -Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on IJKL. - - -## Raise and Lower layer - -Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access Home, End, Page Down and Page Up via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard. - -The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer. - - -## Firmware - -The keyboard can be put into Reset mode (for flashing a keymap) by pressing **LOWER** + Super (also known as Windows key), or by pressing **LOWER** + **RAISE** + R. - -`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large. diff --git a/keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk b/keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/german_gaming/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/config.h b/keyboards/bastardkb/tbk/keymaps/xyverz/config.h deleted file mode 100644 index 4fa185e9564c..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/xyverz/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 300 \ No newline at end of file diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c b/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c deleted file mode 100644 index 2fb26dbf6f4d..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2021 Ian Sterling - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST }; - -enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST }; - -// Aliases to keep the keymap tidy -#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. -#define RGB_SWR RGB_M_SW // Swirl Animation alias -#define RGB_SNK RGB_M_SN // Snake Animation alias -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! -#define WINLOCK LGUI(KC_L) // Lock my PC! -#define DELGUI GUI_T(KC_DEL) -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_WINDOWS] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_MAC] = LAYOUT_split_4x6_5( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_LOWER] = LAYOUT_split_4x6_5( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_RAISE] = LAYOUT_split_4x6_5( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_ADJUST] = LAYOUT_split_4x6_5( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -}; - -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) { - if (record->event.pressed) { - switch (keycode) { - case WINDOWS: - set_single_persistent_default_layer(_WINDOWS); - return false; - case MAC: - set_single_persistent_default_layer(_MAC); - return false; - } - } - return true; -} diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md b/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md deleted file mode 100644 index b806bd265a96..000000000000 --- a/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# The Bastard Keyboard - -A split ergonomic keyboard. - -* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -* Hardware Supported: elite-C V4 -* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/) - -Make example for this keyboard (after setting up your build environment): - - make bastardkb/tbk:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -See the [keyboard build instructions](https://docs.bastardkb.com) - - -## Important information regarding the reset - -If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. - -Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json index 30a1b0ac9437..c41046085746 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/info.json +++ b/keyboards/bastardkb/tbkmini/blackpill/info.json @@ -3,13 +3,19 @@ "usb": { "device_version": "1.0.0" }, + "eeprom": { + "driver": "spi" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 88d65fbb906f..b5612ce38a86 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/rules.mk +++ b/keyboards/bastardkb/tbkmini/blackpill/rules.mk @@ -21,7 +21,4 @@ SPLIT_KEYBOARD = yes MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint 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 06c6e3ada400..1a1540b280da 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -18,18 +18,12 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 42 -#define RGBLED_SPLIT \ - { 21, 21 } - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# 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 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json index 94c357cd3b56..ec0433d38733 100644 --- a/keyboards/bastardkb/tbkmini/info.json +++ b/keyboards/bastardkb/tbkmini/info.json @@ -3,6 +3,10 @@ "usb": { "pid": "0x1828" }, + "rgblight": { + "led_count": 42, + "split_count": [21, 21] + }, "community_layouts": ["split_3x6_3"], "layouts": { "LAYOUT_split_3x6_3": { diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json index a5a90811ec8d..f246ce0e7cee 100644 --- a/keyboards/bastardkb/tbkmini/v1/elitec/info.json +++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json index 28c30f9ab7bb..07bf99658b1f 100644 --- a/keyboards/bastardkb/tbkmini/v2/elitec/info.json +++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json @@ -7,7 +7,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json index 1dc6607f3d0d..3bcae1df6079 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk +++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json index 2c96b46c2add..e7f01c359dcf 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json +++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk index 274e95c039d1..53f4c0baa87c 100644 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk +++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk @@ -1,7 +1,3 @@ -# RP2040-specific options -ALLOW_WARNINGS = yes -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS. - # Build Options # change yes to no to disable # diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json index ae8a3c4d88af..a75db584e798 100644 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json +++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json @@ -4,12 +4,15 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "ws2812": { "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 c42b71866e90..8dda103d07a7 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 4cad8086cd3c..98088d31c4a2 100644 --- a/keyboards/bbrfkr/dynamis/config.h +++ b/keyboards/bbrfkr/dynamis/config.h @@ -16,18 +16,5 @@ #pragma once -/* rgb num */ -#define RGBLED_NUM 10 -#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 - #define PMW33XX_CS_PIN SPI_SS_PIN #define POINTING_DEVICE_INVERT_Y diff --git a/keyboards/bbrfkr/dynamis/info.json b/keyboards/bbrfkr/dynamis/info.json index c9f403a04551..6d1ae830ebe9 100644 --- a/keyboards/bbrfkr/dynamis/info.json +++ b/keyboards/bbrfkr/dynamis/info.json @@ -18,6 +18,21 @@ {"pin_a": "B7", "pin_b": "E6"} ] }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json index 0c3e6148033c..e0df316093d5 100644 --- a/keyboards/bear_face/info.json +++ b/keyboards/bear_face/info.json @@ -15,6 +15,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "F7" }, "processor": "atmega32u4", diff --git a/keyboards/beatervan/keymaps/oj/keymap.c b/keyboards/beatervan/keymaps/oj/keymap.c deleted file mode 100644 index 6b32c4ddc1bd..000000000000 --- a/keyboards/beatervan/keymaps/oj/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright 2020 OJtheTiny - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layers { - _QW, - _DV, - _CM, - _L1, - _L2, - _L3 -}; -enum custom_keycodes { - DVORAK = SAFE_RANGE, - QWERTY, - COLEMAK -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2), - KC_TAB, MO(_L1), KC_LGUI, KC_SPC, KC_BSPC, KC_LALT, KC_RALT, TG(_L3) - ), - [_DV] = LAYOUT( /* Dvorak */ - KC_ESC, KC_SLSH, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_QUOT, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENTER, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(_L2), - KC_TAB, MO(_L1), KC_LGUI, KC_SPC, KC_BSPC, KC_LALT, KC_RALT, TG(_L3) - ), - [_CM] = LAYOUT( /* Colemak */ - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_QUOT, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2), - KC_TAB, MO(_L1), KC_LGUI, KC_SPC, KC_BSPC, KC_LALT, KC_RALT, TG(_L3) - ), - [_L1] = LAYOUT( /* NUM */ - 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_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS, - _______, _______, _______, KC_PSCR, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_L2] = LAYOUT( /* F Keys */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_ENTER, - _______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_L3] = LAYOUT( /* Gaming */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, _______, MO(_L2), KC_F9, KC_F10, KC_F11, KC_F12, _______, - KC_LSFT, KC_Z, KC_B, KC_SPC, KC_BSPC, _______, _______, TG(_L3) - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DV); - } - return false; - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QW); - } - return false; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_CM); - } - return false; - default: - return true; - } - return true; -}; diff --git a/keyboards/beatervan/keymaps/oj/readme.md b/keyboards/beatervan/keymaps/oj/readme.md deleted file mode 100644 index 34c2f075c855..000000000000 --- a/keyboards/beatervan/keymaps/oj/readme.md +++ /dev/null @@ -1 +0,0 @@ -#Objectively superior keymap for v44 diff --git a/keyboards/beekeeb/piantor_pro/config.h b/keyboards/beekeeb/piantor_pro/config.h new file mode 100644 index 000000000000..4f0be6dbbea0 --- /dev/null +++ b/keyboards/beekeeb/piantor_pro/config.h @@ -0,0 +1,17 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN GP19 + +#define SPLIT_HAND_PIN GP17 +#define SPLIT_HAND_PIN_LOW_IS_LEFT diff --git a/keyboards/beekeeb/piantor_pro/info.json b/keyboards/beekeeb/piantor_pro/info.json new file mode 100644 index 000000000000..c85247550e21 --- /dev/null +++ b/keyboards/beekeeb/piantor_pro/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "beekeeb", + "keyboard_name": "piantor_pro", + "maintainer": "beekeeb", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP11", "GP12", "GP13", "GP14", "GP15", "GP16"], + "rows": ["GP7", "GP8", "GP9", "GP10"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0xBEEB" + }, + "split": { + "enabled": true + }, + "community_layouts": [ "split_3x6_3" ], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [4, 5], "x": 8, "y": 0.25}, + {"matrix": [4, 4], "x": 9, "y": 0.125}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.125}, + {"matrix": [4, 1], "x": 12, "y": 0.25}, + {"matrix": [4, 0], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 5], "x": 8, "y": 1.25}, + {"matrix": [5, 4], "x": 9, "y": 1.125}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.125}, + {"matrix": [5, 1], "x": 12, "y": 1.25}, + {"matrix": [5, 0], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [6, 5], "x": 8, "y": 2.25}, + {"matrix": [6, 4], "x": 9, "y": 2.125}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.125}, + {"matrix": [6, 1], "x": 12, "y": 2.25}, + {"matrix": [6, 0], "x": 13, "y": 2.25}, + {"matrix": [3, 3], "x": 3.5, "y": 3.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3.5}, + {"matrix": [3, 5], "x": 5.5, "y": 3.75}, + {"matrix": [7, 5], "x": 7.5, "y": 3.75}, + {"matrix": [7, 4], "x": 8.5, "y": 3.5}, + {"matrix": [7, 3], "x": 9.5, "y": 3.25} + ] + } + } +} diff --git a/keyboards/beekeeb/piantor_pro/keymaps/default/keymap.c b/keyboards/beekeeb/piantor_pro/keymaps/default/keymap.c new file mode 100644 index 000000000000..ed09dd7d069f --- /dev/null +++ b/keyboards/beekeeb/piantor_pro/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +// 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_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/beekeeb/piantor_pro/readme.md b/keyboards/beekeeb/piantor_pro/readme.md new file mode 100644 index 000000000000..08012e43dff2 --- /dev/null +++ b/keyboards/beekeeb/piantor_pro/readme.md @@ -0,0 +1,20 @@ +# Piantor Pro + +![Piantor Pro](https://i.imgur.com/UPRI64ch.jpg) + +A 42 key hotswappable keyboard with RP2040. + +* Keyboard Maintainer: [beekeeb](https://github.com/beekeeb) +* Hardware Availability: [beekeeb.shop](https://beekeeb.shop) + +Make example for this keyboard (after setting up your build environment): + + make beekeeb/piantor_pro:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Flashing + +To enter the bootloader mode, disconnect the keyboard from the computer. While holding the BOOT button, connect the keyboard to the computer. + +Run `make beekeeb/piantor_pro:default:flash` or copy the compiled uf2 firmware to the USB mass storage device. diff --git a/keyboards/beekeeb/piantor_pro/rules.mk b/keyboards/beekeeb/piantor_pro/rules.mk new file mode 100644 index 000000000000..161ec22b16e2 --- /dev/null +++ b/keyboards/beekeeb/piantor_pro/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/bemeier/bmek/bmek.c b/keyboards/bemeier/bmek/bmek.c index eaae446d6384..dd0372aaee46 100755 --- a/keyboards/bemeier/bmek/bmek.c +++ b/keyboards/bemeier/bmek/bmek.c @@ -15,9 +15,12 @@ */ #include "quantum.h" -__attribute__((weak)) -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } #ifdef RGBLIGHT_ENABLE rgblight_setrgb(255, 0, 0); #endif + return true; } diff --git a/keyboards/bemeier/bmek/config.h b/keyboards/bemeier/bmek/config.h index 6c147e6368ce..1deca961a0cb 100755 --- a/keyboards/bemeier/bmek/config.h +++ b/keyboards/bemeier/bmek/config.h @@ -15,18 +15,4 @@ */ #pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20 - -#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/info.json b/keyboards/bemeier/bmek/info.json index 0959f9f3a6f2..31d2b5f9bd96 100755 --- a/keyboards/bemeier/bmek/info.json +++ b/keyboards/bemeier/bmek/info.json @@ -7,6 +7,9 @@ "vid": "0x626D", "pid": "0x656B" }, + "dynamic_keymap": { + "layer_count": 5 + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/bemeier/bmek/rev1/info.json b/keyboards/bemeier/bmek/rev1/info.json index c50cae166e27..70873aa52741 100644 --- a/keyboards/bemeier/bmek/rev1/info.json +++ b/keyboards/bemeier/bmek/rev1/info.json @@ -2,6 +2,18 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true + } + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bemeier/bmek/rev2/info.json b/keyboards/bemeier/bmek/rev2/info.json index 1ac54f5c79d6..f1440afaf24f 100644 --- a/keyboards/bemeier/bmek/rev2/info.json +++ b/keyboards/bemeier/bmek/rev2/info.json @@ -2,6 +2,18 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true + } + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bemeier/bmek/rev3/info.json b/keyboards/bemeier/bmek/rev3/info.json index c951ca8e43bb..ac0faf870634 100644 --- a/keyboards/bemeier/bmek/rev3/info.json +++ b/keyboards/bemeier/bmek/rev3/info.json @@ -2,6 +2,18 @@ "usb": { "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true + } + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bestway/bestway.c b/keyboards/bestway/bestway.c new file mode 100644 index 000000000000..e41836ca691b --- /dev/null +++ b/keyboards/bestway/bestway.c @@ -0,0 +1,43 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGBLIGHT_ENABLE + +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_RED} +); + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); + +bool led_update_kb(led_t led_state) { + if (!led_update_user(led_state)) { return false; } + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} + +void keyboard_post_init_kb(void) { + rgblight_layers = my_rgb_layers; + keyboard_post_init_user(); +} + +#endif +void board_init(void) { + AFIO->MAPR |= AFIO_MAPR_TIM2_REMAP_PARTIALREMAP2; +} diff --git a/keyboards/bestway/config.h b/keyboards/bestway/config.h new file mode 100644 index 000000000000..c63a25d9a661 --- /dev/null +++ b/keyboards/bestway/config.h @@ -0,0 +1,22 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define WS2812_PWM_DRIVER PWMD2 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 2 diff --git a/keyboards/bestway/halconf.h b/keyboards/bestway/halconf.h new file mode 100644 index 000000000000..76f44ff900a3 --- /dev/null +++ b/keyboards/bestway/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/bestway/info.json b/keyboards/bestway/info.json new file mode 100644 index 000000000000..66856115f8bd --- /dev/null +++ b/keyboards/bestway/info.json @@ -0,0 +1,212 @@ +{ + "manufacturer": "meet_lab", + "keyboard_name": "Best", + "maintainer": "yuezp", + "development_board": "bluepill", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B3", "B9", "B8", "B7", "B6", "B5", "B4", "B10", "A7", "A3", "A4", "A5", "A6", "B0", "B12", "B13", "B14"], + "rows": ["A15", "A10", "A8", "A9", "B15"] + }, + "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 + }, + "layers": { + "enabled": true, + "override_rgb": false + }, + "brightness_steps": 10, + "led_count": 3, + "saturation_steps": 8 + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0xBB05", + "vid": "0xAA05" + }, + "ws2812": { + "driver": "pwm", + "pin": "B11" + }, + "community_layouts": ["tkl_nofrow_ansi"], + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "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, "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, 12], "x": 12.75, "y": 2, "w": 2.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": [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, 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.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, 5], "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, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}, + {"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_tkl_nofrow_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, 12], "x": 12.75, "y": 2, "w": 2.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": [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, 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.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, 5], "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, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}, + {"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/bestway/keymaps/default/keymap.c b/keyboards/bestway/keymaps/default/keymap.c new file mode 100644 index 000000000000..8cddc919321c --- /dev/null +++ b/keyboards/bestway/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/bestway/keymaps/via/keymap.c b/keyboards/bestway/keymaps/via/keymap.c new file mode 100644 index 000000000000..ae87243f2406 --- /dev/null +++ b/keyboards/bestway/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/keychron/q4/ansi_v1/keymaps/via/rules.mk b/keyboards/bestway/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q4/ansi_v1/keymaps/via/rules.mk rename to keyboards/bestway/keymaps/via/rules.mk diff --git a/keyboards/bestway/matrix_diagram.md b/keyboards/bestway/matrix_diagram.md new file mode 100644 index 000000000000..f9757653c125 --- /dev/null +++ b/keyboards/bestway/matrix_diagram.md @@ -0,0 +1,19 @@ +# Matrix Diagram for Best + +``` +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ +│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 ││1E │1F │1G │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐2C │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │1D │ │ +├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │ │3F │ +├────────â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ +│40 │41 │42 │45 │49 │4A │4B │4C ││4E │4F │4G │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ + +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│40 │41 │42 │45 │4A │4B │4C │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/bestway/mcuconf.h b/keyboards/bestway/mcuconf.h new file mode 100644 index 000000000000..206afe376eba --- /dev/null +++ b/keyboards/bestway/mcuconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#include_next + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE diff --git a/keyboards/bestway/readme.md b/keyboards/bestway/readme.md new file mode 100644 index 000000000000..c91d09e83f20 --- /dev/null +++ b/keyboards/bestway/readme.md @@ -0,0 +1,27 @@ +# Best - PCB + +![bestway](https://i.imgur.com/5q7i7ayh.jpg) + +A 71 keys keyboard with rgb. +This keyboard use 16mhz HSE and STM32F103 as MCU. + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: bestway PCB + +Make example for this keyboard (after setting up your build environment): + + make bestway:default + +Flashing example for this keyboard: + + make bestway: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/soda/mango/rules.mk b/keyboards/bestway/rules.mk similarity index 100% rename from keyboards/soda/mango/rules.mk rename to keyboards/bestway/rules.mk diff --git a/keyboards/bfake/config.h b/keyboards/bfake/config.h deleted file mode 100644 index ddc21dae3085..000000000000 --- a/keyboards/bfake/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 16 - -#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/bfake/info.json b/keyboards/bfake/info.json index 374e3377929f..3aae216047fd 100644 --- a/keyboards/bfake/info.json +++ b/keyboards/bfake/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/bfake/keymaps/mechmerlin/keymap.c b/keyboards/bfake/keymaps/mechmerlin/keymap.c deleted file mode 100644 index fec728d87eb1..000000000000 --- a/keyboards/bfake/keymaps/mechmerlin/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(2), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(1), KC_RALT, KC_RGUI, KC_RCTL - ), - [1] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, 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_CAPS, 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_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [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_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [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, 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 - ), -}; - diff --git a/keyboards/bfake/keymaps/mechmerlin/readme.md b/keyboards/bfake/keymaps/mechmerlin/readme.md deleted file mode 100644 index b85b6537c1c6..000000000000 --- a/keyboards/bfake/keymaps/mechmerlin/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -MechMerlin's FaceW Sprit Edition Layout -====================== - -This is the preferred 60% layout used by u/merlin36, host of the [MechMerlin YouTube channel](www.youtube.com/mechmerlin). - -## Keyboard Notes -- The FaceW Sprit Edition can be purchased on [mechanicalkeyboards.com](www.mechanicalkeyboards.com) -- Uses ps2avru instead of ps2avrgb -- To put in reset mode hold `q` while inserting the USB cable -- Use flashing instructions from ps2avrgb QMK port - -## Keymap Notes -- Does not support any form of inswitch lighting as Merlin hates them. -- Arrow toggle switch to the right of right shift -- Reset is FN + Left Shift + R - -### Build -To build this keymap, simply run `make bfake:mechmerlin` from the qmk_firmware directory. diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h deleted file mode 100644 index f12d6fb3d4ae..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// #define USE_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c deleted file mode 100644 index 9440af886a71..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/keymap.c +++ /dev/null @@ -1,157 +0,0 @@ -#include QMK_KEYBOARD_H -#include "action_layer.h" -#include "eeconfig.h" - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define META 1 -#define SYMB 2 -#define GAME 3 -#define BIAC 4 -#define BMETA 5 -#define BSYMB 6 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, TG(BIAC),LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_INT3 -), - -/* META - * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ -), - -/* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -/* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ -[GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 -), - -/* BIAC - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | ; | , | . | P | Q | [ | | ] | Y | G | D | M | F | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | O | E | I | U | ( | | ) | B | N | T | R | S | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | W | { | | } | H | J | K | L | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |=>BIAC|ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc | | | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[BIAC] = LAYOUT( - KC_TAB, KC_SCLN,KC_COMM, KC_DOT, KC_P, KC_Q, KC_RBRC, KC_BSLS, KC_Y, KC_G, KC_D, KC_M, KC_F, KC_LBRC, - KC_LALT, KC_A, KC_O, KC_E, KC_I, KC_U, S(KC_8), S(KC_9), KC_B, KC_N, KC_T, KC_R, KC_S, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_W, S(KC_RBRC), S(KC_BSLS), KC_H, KC_J, KC_K, KC_L, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, _______, LT(BSYMB, KC_ESC),RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(BMETA, KC_ENT),KC_DEL, KC_PSCR, XXXXXXX, XXXXXXX, KC_INT3 -), - -/* META - * ,------------------------------------------------. ,------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | 1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App | |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset | | | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[BMETA] = 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_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, SFT_T(KC_INT1), - _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ -), - -/* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | | | | | | | [ | | ] | | | [ | ] | + | * | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | " | # | $ | % | & | ( | | ) | ' | ( | ) | | = | ~ | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | ! | | | | | { | | } | { | } | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App | |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc | | | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[BSYMB] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_RBRC, KC_BSLS, S(KC_SCLN), S(KC_QUOT), - _______, S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), _______, _______, S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, S(KC_1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, S(KC_RBRC), S(KC_BSLS), S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c deleted file mode 100644 index c20391777317..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/keymap.c +++ /dev/null @@ -1,89 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define META 1 -#define SYMB 2 -#define GAME 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |Cmd |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), GUI_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_INT3 - ), - - /* META - * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |Ctrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ - ), - - /* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |Ctrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 - ) - -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h deleted file mode 100644 index a56bd0f2e72e..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -// Underglow -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs -#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 -#define RGBLIGHT_SLEEP diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c deleted file mode 100644 index b7a8ba3fb006..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/keymap.c +++ /dev/null @@ -1,151 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define META 1 -#define SYMB 2 -#define GAME 3 -#define RGB 4 - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -enum custom_keycodes { - RGB_RST = SAFE_RANGE, - TAP_ANIM -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>RGB | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(RGB), KC_INT3 - ), - - /* META - * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>RGB | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ - ), - - /* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>RGB | \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>RGB | \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 - ), - - /* RGB - * ,------------------------------------------------. ,------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | | | | | | | | | TOG | HUI | SAI | VAI |HUANIM| | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | | | | | | | | | MOD | HUD | SAD | VAD |QK_BOOT | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | |=>RGB | | - * `------------------------------------------------' `------------------------------------------------' - */ - [RGB] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, TAP_ANIM,XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_RST, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX - ) - -}; - -bool isTapAnim = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_MOD: - if (record->event.pressed) { - isTapAnim = false; - } - break; - case RGB_RST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - break; - case TAP_ANIM: - if (record->event.pressed) { - isTapAnim = !isTapAnim; - } - break; - } - - if (isTapAnim) { - rgblight_mode_noeeprom(1); - uint16_t hue = (rgblight_config.hue + 5) % 360; - rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val); - } - - return true; -} - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/rules.mk b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/rules.mk deleted file mode 100644 index 1e3cebb14515..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c deleted file mode 100644 index 17a52693bf2b..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ -// WindowsでJIS配列ãĻしãĶčŠč­˜ã—ãĶいるãĻきãŦ、US配列ãĻしãĶä―ŋうためãŪキママップ -// hdbx から2行ã‚ģピマさせãĶ頂きãūした。 - -#include QMK_KEYBOARD_H -#include "keymap_japanese.h" // qmk_firmware-master/quantum/keymap_extras/keymap_japanese.h æ—ĨæœŽčŠžã‚­ãƒžãƒœãƒžãƒ‰čĻ­åŪšį”Ļ -// マã‚Ŋロがåŋ…čĶãŦおãĢたらã‚ģãƒĄãƒģトã‚ĪãƒģするこãĻ -// #include "sendstring_japanese.h" // macro sendstring for jis keyboard マã‚Ŋロ文字列送äŋĄæ™‚ãŦæ—ĨæœŽčŠžã‚­ãƒžãƒœãƒžãƒ‰čĻ­åŪšã§ãŪ文字化け回éŋ> - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define META 1 -#define SYMB 2 -#define GAME 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(JP_BSLS), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), JP_YEN - ), - - /* META - * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, JP_MHEN, JP_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(JP_BSLS), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ - ), - - /* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(JP_BSLS), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(JP_BSLS), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, JP_YEN - ) - -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c b/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c deleted file mode 100644 index 61b307d26587..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/biacco/keymap.c +++ /dev/null @@ -1,89 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define META 1 -#define SYMB 2 -#define GAME 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC),SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_INT3 - ), - - /* META - * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ - ), - - /* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 - ) - -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/config.h b/keyboards/biacco42/ergo42/keymaps/hdbx/config.h deleted file mode 100644 index 983305e2558a..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/config.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -/* Use RGB Underglow */ - -#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 -#define RGBLIGHT_SLEEP -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c deleted file mode 100644 index 46a1b503b809..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c +++ /dev/null @@ -1,215 +0,0 @@ -// WindowsでJIS配列ãĻしãĶčŠč­˜ã—ãĶいるãĻきãŦ、US配列ãĻしãĶä―ŋうためãŪキママップ -// @leopard_gecko さんがPlanckį”ĻãŦä―œæˆã•ã‚ŒãŸã‚­ãƒžãƒžãƒƒãƒ—ã‚’ã‹ãŠã‚Šå‚č€ƒãŦしãĶいãūす。 - -#include QMK_KEYBOARD_H -#include "keymap_japanese.h" // qmk_firmware-master/quantum/keymap_extras/keymap_japanese.h æ—ĨæœŽčŠžã‚­ãƒžãƒœãƒžãƒ‰čĻ­åŪšį”Ļ -#include "sendstring_japanese.h" // macro sendstring for jis keyboard マã‚Ŋロ文字列送äŋĄæ™‚ãŦæ—ĨæœŽčŠžã‚­ãƒžãƒœãƒžãƒ‰čĻ­åŪšã§ãŪ文字化け回éŋ - -extern keymap_config_t keymap_config; - -// ノã‚ĪãƒĪマ -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _GAME 3 -#define _ADJUST 4 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, // QWERTYノã‚ĪãƒĪマãļ - MCR1, // マã‚Ŋロ1 - MCR2, // マã‚Ŋロ2 - MCR3, // マã‚Ŋロ3 - DYNAMIC_MACRO_RANGE, // ダã‚Īナミッã‚Ŋマã‚Ŋロ - WN_SCLN, // ã‚ŋップでJISãŪ「:」 シフトでJISãŪ「;」 (Windows) -}; - -// Use Dynamic macro -#include "dynamic_macro.h" - -#define KC_LOWR LT(_LOWER, JP_MHEN) // ã‚ŋップでį„ĄåĪ‰æ› ホマãƒŦドでLower -#define KC_RASE LT(_RAISE, JP_HENK) // ã‚ŋップでåĪ‰æ› ホマãƒŦドでRaise -#define KC_LSLB MT(MOD_LSFT, JP_LBRC) // ã‚ŋップで[ ホマãƒŦドでå·ĶShift -#define KC_RSRB MT(MOD_RSFT, JP_RBRC) // ã‚ŋップで] ホマãƒŦドでåģShift -#define KC_ALTB MT(MOD_LALT, KC_TAB) // ã‚ŋップでTAB ホマãƒŦドでå·ĶAlt -#define CTL_ZH CTL_T(JP_ZKHK) // ã‚ŋãƒƒãƒ—ã§åŠč§’/å…Ļ角 ホマãƒŦドでå·ĶControl (Windows) -#define WN_CAPS S(KC_CAPS) // Caps Lock (Windows) -#define KC_ALPS LALT(KC_PSCR) // Alt + PrintScreen -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define GAME DF(_GAME) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* QWERTY // WindowsでJIS配列時ãŪデフã‚ĐãƒŦトキママップ - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * |Tab/Alt| Q | W | E | R | T | - | | ~ | Y | U | I | O | P | BSPC | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * |ZH/Ctrl| A | S | D | F | G | ( | | ) | H | J | K | L | : | ' | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | [/Sft | Z | X | C | V | B | F2 | | Home | N | M | , | . | / | ]/Sft | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * |WN CAPS| GUI | \ | Esc |į„ĄåĪ‰æ› | Enter | Del | | End | Space | åĪ‰æ› | Left | Down | Up | Right | - * | | | | | LOWER | | | | | | RAISE | | | | | - * `-------------------------------------------------------' `-------------------------------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_ALTB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, JP_TILD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - CTL_ZH, KC_A, KC_S, KC_D, KC_F, KC_G, JP_LPRN, JP_RPRN, KC_H, KC_J, KC_K, KC_L, WN_SCLN, JP_QUOT, - KC_LSLB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F2, KC_HOME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSRB, - WN_CAPS, KC_LGUI, JP_YEN, KC_ESC, KC_LOWR, KC_ENT, KC_DEL, KC_END, KC_SPC, KC_RASE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* LOWER // 数字å…Ĩ力į”Ļノã‚ĪãƒĪマ - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | 6 | | Esc | 7 | 8 | 9 | . | = | | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | | F2 | 4 | 5 | 6 | - | / | Enter | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Shift | F7 | F8 | F9 | F10 | F11 | F12 | | | 1 | 2 | 3 | + | * | Shift | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | | |XXXXXXX| | | | | | | 0 | | | | | | - * `-------------------------------------------------------' `-------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_ESC, KC_7, KC_8, KC_9, KC_PDOT, JP_EQL, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F2, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS, KC_ENT, - KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, KC_RSFT, - _______, _______, XXXXXXX, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, _______, _______ - ), - - /* RAISE // čĻ˜å·å…Ĩ力į”Ļノã‚ĪãƒĪマ - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * | | ! | @ | # | $ | % | _ | | ` | ^ | & | Ins | \ |PrntScr| | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| { | | } | Left | Down | Up | Right | ; | " | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Shift |M-PLAY |M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| |PageUp |XXXXXXX|XXXXXXX| < | > | ? | Shift | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | | | | | | | | | |PageDwn| | | | | | | - * `-------------------------------------------------------' `-------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - _______, KC_EXLM, JP_AT, KC_HASH, KC_DLR, KC_PERC, JP_UNDS, JP_GRV, JP_CIRC, JP_AMPR, KC_INS, JP_YEN, KC_ALPS, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQUO, - KC_LSFT, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_PGUP, XXXXXXX, XXXXXXX, KC_LT, KC_GT, KC_QUES, KC_RSFT, - _______, _______, JP_PIPE, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ - ), - - /* GAME // å·Ķ手ãŊã‚ēマムį”Ļノã‚ĪãƒĪマ、åģ手ãŊNumPad - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * | Tab | Q | W | E | R | T |PrntScr| | Esc | 7 | 8 | 9 | . | = | BSPC | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Ctrl | A | S | D | F | G | F1 | | F2 | 4 | 5 | 6 | - | / | Enter | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Shift | Z | X | C | V | B | F2 | | Home | 1 | 2 | 3 | + | * | Shift | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Del | GUI | Alt | Esc | LOWER | Space | Enter | | End | 0 | RAISE | Left | Down | Up | Right | - * `-------------------------------------------------------' `-------------------------------------------------------' - */ - [_GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ALPS, KC_ESC, KC_P7, KC_P8, KC_P9, KC_PDOT, JP_EQL, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F1, KC_F2, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F2, KC_HOME, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, KC_RSFT, - KC_DEL, KC_LGUI, KC_LALT, KC_ESC, LOWER, KC_SPC, KC_ENT, KC_PGDN, KC_P0, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* ADJUST // čĻ­åŪšį”Ļノã‚ĪãƒĪマ (LOWER+RAISE) - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * |RGB_TOG| MCR1 | MCR2 | MCR3 |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|PLAY_M1|PLAY_M2|REC_M1 |REC_M2 |STP_REC| BSPC | - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | QK_BOOT | | | | | | | |XXXXXXX|XXXXXXX|QWERTY | GAME |XXXXXXX|XXXXXXX|XXXXXXX| - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Shift | | | | | | | |XXXXXXX| M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| - * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - * | Debug |XXXXXXX|XXXXXXX| | |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| | Left | Down | Up | Right | - * `-------------------------------------------------------' `-------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - RGB_TOG, MCR1, MCR2, MCR3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, KC_BSPC, - QK_BOOT, RGB_MOD, RGB_M_P, RGB_M_B, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, QWERTY, GAME, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LSFT, RGB_M_R, RGB_M_SN,RGB_M_G, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, - DB_TOGG, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - -}; - -// RGB Underglowä―ŋį”Ļ時ãŪノã‚ĪãƒĪマæŊŽãŪã‚ŦãƒĐマ切りæ›ŋえ -layer_state_t layer_state_set_keymap (layer_state_t state) { - return state; -} - -void matrix_init_user(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_setrgb(RGB_TEAL); -#endif -} - -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 _RAISE: - rgblight_setrgb(RGB_CHARTREUSE); // RAISE:シãƒĢãƒŦトナãƒĨマ゚ - break; - case _LOWER: - rgblight_setrgb(RGB_PINK); // LOWER:ピãƒģã‚Ŋ - break; - case _ADJUST: - rgblight_setrgb(RGB_RED); // ADJUST:ノッド - break; - default: // for any other layers, or the default layer - rgblight_setrgb(RGB_TEAL); // äŧ–:テã‚ĢマãƒŦ - break; - } -#endif -return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static bool lshift = false; - if (!process_record_dynamic_macro(keycode, record)) { - return false; - } - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case WN_SCLN: // ã‚ģロãƒģ「;:」 - if (record->event.pressed) { - lshift = keyboard_report->mods & MOD_BIT(KC_LSFT); - if (lshift) { - unregister_code(KC_LSFT); - register_code(JP_SCLN); - unregister_code(JP_SCLN); - } else { - register_code(JP_COLN); - unregister_code(JP_COLN); - } - } - return false; - break; - case MCR1: - if (record->event.pressed) { - SEND_STRING("hoge"); // 送äŋĄæ–‡å­—列 - } - return false; - break; - case MCR2: - if (record->event.pressed) { - SEND_STRING("hogehoge"SS_TAP(X_ENTER)); // 送äŋĄæ–‡å­—列 - } - return false; - break; - case MCR3: - if (record->event.pressed) { - SEND_STRING("hoge@hoge.hoge"); // 送äŋĄæ–‡å­—列 - } - return false; - break; - } - return true; -} diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/readme.md b/keyboards/biacco42/ergo42/keymaps/hdbx/readme.md deleted file mode 100644 index 3f3ca3e5ce6d..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -# hdbx - -Designed for Japanese Keyboardists using JIS on the Ergo42. - -## Layer - -```` -QWERTY - ,-------------------------------------------------------. ,-------------------------------------------------------. - |Tab/Alt| Q | W | E | R | T | - | | ~ | Y | U | I | O | P | BSPC | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - |ZH/Ctrl| A | S | D | F | G | ( | | ) | H | J | K | L | : | ' | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | [/Sft | Z | X | C | V | B | F2 | | Home | N | M | , | . | / | ]/Sft | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - |WN CAPS| GUI | \ | Esc | MHEN/ | Enter | Del | | End | Space | HENK/ | Left | Down | Up | Right | - | | | | | LOWER | | | | | | RAISE | | | | | - `-------------------------------------------------------' `-------------------------------------------------------' - -LOWER - ,-------------------------------------------------------. ,-------------------------------------------------------. - | | 1 | 2 | 3 | 4 | 5 | 6 | | Esc | 7 | 8 | 9 | . | = | | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | | F1 | F2 | F3 | F4 | F5 | F6 | | F2 | 4 | 5 | 6 | - | / | Enter | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Shift | F7 | F8 | F9 | F10 | F11 | F12 | | | 1 | 2 | 3 | + | * | Shift | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | | |XXXXXXX| | | | | | | 0 | | | | | | - `-------------------------------------------------------' `-------------------------------------------------------' - -RAISE - ,-------------------------------------------------------. ,-------------------------------------------------------. - | | ! | @ | # | $ | % | _ | | ` | ^ | & | Ins | \ |PrntScr| | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| { | | } | Left | Down | Up | Right | ; | " | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | | M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| |PageUp |XXXXXXX|XXXXXXX| < | > | ? | Shift | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | | | | | | | | | |PageDwn| | | | | | | - `-------------------------------------------------------' `-------------------------------------------------------' - -ADJUST - ,-------------------------------------------------------. ,-------------------------------------------------------. - |RGB_TOG| MCR1 | MCR2 | MCR3 |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|PLAY_M1|PLAY_M2|REC_M1 |REC_M2 |STP_REC| BSPC | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | RESET | | | | | | | |XXXXXXX|XXXXXXX|QWERTY | GAME |XXXXXXX|XXXXXXX|XXXXXXX| - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Shift | | | | | | | |XXXXXXX| M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Debug |XXXXXXX|XXXXXXX| | |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| | Left | Down | Up | Right | - `-------------------------------------------------------' `-------------------------------------------------------' - -GAME - ,-------------------------------------------------------. ,-------------------------------------------------------. - | Tab | Q | W | E | R | T |PrntScr| | Esc | 7 | 8 | 9 | . | = | BSPC | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Ctrl | A | S | D | F | G | F1 | | F2 | 4 | 5 | 6 | - | / | Enter | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Shift | Z | X | C | V | B | F2 | | Home | 1 | 2 | 3 | + | * | Shift | - |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - | Del | GUI | Alt | Esc | LOWER | Space | Enter | | End | 0 | RAISE | Left | Down | Up | Right | - `-------------------------------------------------------' `-------------------------------------------------------' -```` - -## Notes - -Supports RGB Underglow color sync to layer switching. diff --git a/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h b/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/ichi-t/keymap.c b/keyboards/biacco42/ergo42/keymaps/ichi-t/keymap.c deleted file mode 100644 index 39442742908f..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/ichi-t/keymap.c +++ /dev/null @@ -1,108 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _CMOVE 3 -#define _WIN 4 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | PGUP | | PGDN | Y | U | I | O | P | BSPC | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | <- | | -> | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | HOME | | END | N | M | , | . | / |ET/SFT| - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | ESC | WIN | ALT | ALT | GUI |LOWER |Space | |Space |RAISE | GUI | HOME | LEFT | RGHT | CMOVE| - * `------------------------------------------------' `------------------------------------------------' - */ - -[_QWERTY] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_PGUP, KC_PGDN, 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_LEFT, KC_RGHT, 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), - KC_ESC, TT(_WIN), KC_LALT, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_RGUI, KC_RCTL, KC_RSFT, KC_RALT, MO(_CMOVE) -), - -/* RAISE - * ,------------------------------------------------. ,------------------------------------------------. - * | GRV | 1 | 2 | 3 | 4 | 5 | HOME | | END | 6 | 7 | 8 | 9 | 0 | DEL | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | <- | | -> | F6 | MINS | EQL | LBRC | RBRC | BSLS | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | PGUP | | PGDN | F12 | | | | | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | |Space | |Space | | | | | | Alt+~| - * `------------------------------------------------' `------------------------------------------------' - */ -[_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RALT(KC_GRV) -), - - -/* LOWER - * ,------------------------------------------------. ,------------------------------------------------. - * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | DEL | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | | UP | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | DOWN | F12 | | PGUP | HOME | UP | END | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | PGDN | LEFT | DOWN | RGHT | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_UP, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_DOWN, KC_F12, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT -), - -/* CMOVE - * ,------------------------------------------------. ,------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | | | | | | | | | | PGUP | HOME | UP | END | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | | | | | | | | | | PGDN | LEFT | DOWN | RIGHT| | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_CMOVE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -/* WIN - * ,------------------------------------------------. ,------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | LGUI | ALT | | | | | | | ALT | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_WIN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_LGUI, ALT_T(KC_INT5), _______, _______, _______, _______, ALT_T(KC_INT4), _______, _______, _______, _______ -), - -}; diff --git a/keyboards/biacco42/ergo42/keymaps/koba/config.h b/keyboards/biacco42/ergo42/keymaps/koba/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/koba/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c b/keyboards/biacco42/ergo42/keymaps/koba/keymap.c deleted file mode 100644 index 3f96db275168..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/koba/keymap.c +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright 2018 Daisuke Kobayashi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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" - -enum { - _WIN, - _MACOS, - _LOWER, - _RAISE, - _FUNC -}; - -#define KC_KNA KC_LNG1 -#define KC_EISU KC_LNG2 -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define FN MO(_FUNC) -#define WIN DF(_WIN) -#define MACOS DF(_MACOS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* WIN - * ,------------------------------------------------. ,------------------------------------------------. - * | Esc | Del | Q | W | E | R | T | | Y | U | I | O | P | @ ` | Bksp | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Tab | Ctrl | A | S | D | F | G | | H | J | K | L | ; + | ; * |Enter | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | H/Z |Shift | Z | X | C | V | B | | N | M | , < | . > | / ? | Up |Shift | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Fn | Ctrl | Win | Alt | Mhen |LOWER |Space | |Space |RAISE | Henk | Menu | Left | Down |Right | - * `------------------------------------------------' `------------------------------------------------' - */ - [_WIN] = LAYOUT( - KC_ESC, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, - KC_TAB, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, - JP_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - FN, KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, LOWER, KC_SPC, KC_SPC, RAISE, JP_HENK, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* MACOS - * ,------------------------------------------------. ,------------------------------------------------. - * | Esc | Del | Q | W | E | R | T | | Y | U | I | O | P | @ ` | Bksp | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Tab | Ctrl | A | S | D | F | G | | H | J | K | L | ; + | ; * |Enter | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Caps |Shift | Z | X | C | V | B | | N | M | , < | . > | / ? | Up |Shift | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Fn | Ctrl | Opt | Cmd | Eisu |LOWER |Space | |Space |RAISE | Kana | Cmd | Left | Down |Right | - * `------------------------------------------------' `------------------------------------------------' - */ - [_MACOS] = LAYOUT( - KC_ESC, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_BSPC, - KC_TAB, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, KC_ENT, - KC_CAPS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - FN, KC_LCTL, KC_LALT, KC_LGUI, KC_EISU, LOWER, KC_SPC, KC_SPC, RAISE, KC_KNA, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* LOWER - * ,------------------------------------------------. ,------------------------------------------------. - * | | | ! | " | # | $ | % | | & | ' | ( | ) | | = | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | XXXX | XXXX | XXXX | { | ( | | ) | } | XXXX | ~ | | | _ | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | XXXX | XXXX | XXXX | XXXX | XXXX | | XXXX | XXXX | XXXX | XXXX | XXXX | PgUp | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | Home | PgDn | End | - * `------------------------------------------------' `------------------------------------------------' - */ - [_LOWER] = LAYOUT( - _______, _______, 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), S(KC_0), JP_EQL, _______, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_LPRN, JP_RPRN, JP_RCBR, XXXXXXX, JP_TILD, JP_PIPE, JP_UNDS, _______, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - /* RAISE - * ,------------------------------------------------. ,------------------------------------------------. - * | | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | F11 | F12 | XXXX | [ | ( | | ) | ] | XXXX | ^ | \ | \ | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - [_RAISE] = LAYOUT( - _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, _______, - _______, _______, KC_F11, KC_F12, XXXXXXX, JP_LBRC, JP_LPRN, JP_RPRN, JP_RBRC, XXXXXXX, JP_CIRC, JP_YEN, JP_BSLS, _______, - _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* FUNC - * ,------------------------------------------------. ,------------------------------------------------. - * |Reset | Ins | XXXX | XXXX | XXXX | XXXX | XXXX | | XXXX | XXXX |PrtSc |SrcLk |Pause | XXXX | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | XXXX | XXXX | XXXX | XXXX | >Win | | * | / | Home | PgUp | XXXX | XXXX | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Caps | | XXXX | XXXX | XXXX | XXXX | >Mac | | + | - | End | PgDn | XXXX | Vol+ | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | | | Mute | Vol- | Play | - * `------------------------------------------------' `------------------------------------------------' - */ - [_FUNC] = LAYOUT( - QK_BOOT, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, _______, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, WIN, JP_ASTR, KC_SLSH, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, _______, - KC_CAPS, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MACOS, JP_PLUS, KC_MINS, KC_END, KC_PGDN, XXXXXXX, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY - ) -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/koba/readme.md b/keyboards/biacco42/ergo42/keymaps/koba/readme.md deleted file mode 100644 index bbf9c1c4a6c9..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/koba/readme.md +++ /dev/null @@ -1,57 +0,0 @@ -# Keymap for Ergo42 - -## About - -This keymap is for Ergo42. - -- JIS layout. -- Independent Windows layout/MacOS layout layers. -- Bottom row keys are arranged like a standard keyboard. -- Arrow keys are designed in the inverted-T. - -## Layout - -![keyboard-layout](https://user-images.githubusercontent.com/1042121/52666273-32a45e00-2f51-11e9-9e15-c231155f3bed.png) - -## Windows mode/MacOS mode - -|mode |key | -|------------|------------| -|Windows mode|Function + g| -|MacOS mode |Function + b| - -When switching mode, the following keys switches. - -|Windows |MacOS | -|---------------|------------| -|Alt |Command(GUI)| -|Windows(GUI) |Option(Alt) | -|Menu(App) |Command(GUI)| -|Muhenkan |Eisu | -|Henkan |Kana | -|Hankaku/Zenkaku|Caps | - -## Layers - -|No.|Name |Description | -|---|--------|---------------------------| -| 4 |Function|Mode switch, Media | -| 3 |Raise |Number, Function | -| 2 |Lower |Symbol, Home/End, PgUp/PgDn| -| 1 |MacOS |MacOS layout | -| 0 |Windows |Windows layout | - -When power is turn on, No.0 Windows layer becomes enabled. - -## Windows/MacOS layers - -Standard layers for Windows mode/MacOS mode. - -## Raise/Lower layers - -Layer enabled during pressing Raise or Lower key. - -## Function layer - -Layer enabled during pressing Function key. - diff --git a/keyboards/biacco42/ergo42/keymaps/koba/readme_ja.md b/keyboards/biacco42/ergo42/keymaps/koba/readme_ja.md deleted file mode 100644 index 188fb48310e2..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/koba/readme_ja.md +++ /dev/null @@ -1,62 +0,0 @@ -# Keymap for Ergo42 - -## æĶ‚čĶ - -Ergo42 į”Ļキママップです。 - -- JIS 配列 -- į‹ŽįŦ‹ã—た Windows 配列/MacOS 配列ノã‚ĪãƒĪマ -- æ™Ū通ãŪキマボマド配列ãŦ䞞せた最äļ‹æŪĩキマ -- 逆 T 字 (å‡ļ型) 配列ãŪįŸĒ印キマ - -## ノã‚Īã‚Ēã‚Ķト - -![keyboard-layout](https://user-images.githubusercontent.com/1042121/52666273-32a45e00-2f51-11e9-9e15-c231155f3bed.png) - -## Windows ãƒĒマド/MacOS ãƒĒマド - -|ãƒĒマド |キマ | -|--------------|------------| -|Windows ãƒĒマド|Function + g| -|MacOS ãƒĒマド |Function + b| - -ãƒĒマドを切りæ›ŋえるこãĻでäļ‹čĻ˜ãŪキマが切りæ›ŋわりãūす。 - -|Windows |MacOS | -|------------|------------| -|Alt |Command(GUI)| -|Windows(GUI)|Option(Alt) | -|Menu(App) |Command(GUI)| -|į„ĄåĪ‰æ› |č‹ąæ•° | -|åĪ‰æ› |かお | -|åŠč§’/å…Ļ角 |Caps | - -## ノã‚ĪãƒĪマ - -|No.|名į§° |内åŪđ | -|---|--------|--------------------------| -| 4 |Function|ãƒĒマド切æ›ŋ, ãƒĄãƒ‡ã‚Ģã‚Ē | -| 3 |Raise |数字, ãƒ•ã‚Ąãƒģã‚Ŋショãƒģキマ | -| 2 |Lower |čĻ˜å·, Home/End, PgUp/PgDn | -| 1 |MacOS |MacOS 配列 | -| 0 |Windows |Windows 配列 | - -é›ŧ暐 ON ãŦより No.0 ãŪ Windows ノã‚ĪãƒĪマが有åŠđãŦおりãūす。 - -## Windows/MacOS ノã‚ĪãƒĪマ - -Windows ãƒĒマド/MacOS ãƒĒマドãŪæĻ™æš–ノã‚ĪãƒĪマ。 - -## Raise/Lower ノã‚ĪãƒĪマ - -Raise キマãūたãŊ Lower キマを択しãĶいる間だけ有åŠđãŦおるノã‚ĪãƒĪマ。 - -æ™Ū通ãŪキマボマドãŪ最äļŠæŪĩキマ (数字/čĻ˜å·) ãŦ加えãĶ、æĻ™æš–ノã‚ĪãƒĪマãŦå…ĨらおかãĢたčĻ˜å·ã‚­ãƒžãŒ3ãĪ (`[{`, `]}`, `\_`) å…ĨãĢãĶいãūす。 -拎垧キマ `[{`, `]}` ãŊ `(`, `)` を加えãĶ、å·ĶåģåŊūį§°ãŦ配į―Ūしãūした。 - -## Function ノã‚ĪãƒĪマ - -Function キマを択しãĶいる間だけ有åŠđãŦおるノã‚ĪãƒĪマ。 - -Windows ãƒĒマド/MacOS ãƒĒマドãŪ切りæ›ŋãˆã€ãƒĄãƒ‡ã‚Ģã‚ĒįģŧãŪæ“ä―œã€æĻ™æš–ノã‚ĪãƒĪマãŦå…ĨらおかãĢたæĐŸčƒ―ã‚­ãƒžãŪノã‚ĪãƒĪマです。 - diff --git a/keyboards/biacco42/ergo42/keymaps/shinze/config.h b/keyboards/biacco42/ergo42/keymaps/shinze/config.h deleted file mode 100644 index f0717a463284..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/shinze/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - diff --git a/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c b/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c deleted file mode 100644 index 0240a2e84afd..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/shinze/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_bepo.h" -#include "keymap_french.h" - -extern keymap_config_t keymap_config; - -#define BASE 0 -#define NUMB 1 -#define SHORT 2 - -// Special keys -#define COPY RGUI(BP_C) -#define PASTE RGUI(BP_V) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT( - KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_ESC, KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, - BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM, _______, _______, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, - KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, _______, _______, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED, - MO(SHORT), KC_LCTL, _______, KC_LALT, KC_LGUI, KC_SPC, MO(NUMB), KC_ENT , KC_RSFT, KC_SPC, _______, _______, _______, _______ - ), - - [NUMB] = LAYOUT( - BP_HASH, BP_DQUO, BP_LDQU, BP_RDQU, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC, KC_BSPC, - BP_DLR, BP_1, BP_2, BP_3, BP_4, BP_5, KC_LBRC, KC_RBRC, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [SHORT] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, COPY, PASTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - diff --git a/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h b/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h deleted file mode 100644 index eb2dbd6dd070..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -/* auto shift config */ -#define AUTO_SHIFT_TIMEOUT 150 - diff --git a/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c b/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c deleted file mode 100644 index 894af40b3d8f..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/yshrsmz/keymap.c +++ /dev/null @@ -1,162 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _BASE 0 -#define _META 1 -#define _SYMB 2 -#define _GAME 3 - - -enum custom_keycodes { - BASE = SAFE_RANGE, - META, - SYMB, - GAME, - EISU, - KANA -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* BASE - * ,------------------------------------------------. ,------------------------------------------------. - * | = | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Tab | A | S | D | F | G | ( | | ) | H | J | K | L | ; | ' | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | EISU | Ctrl | Alt | GUI | ESC/ |Del |Back | |Enter |Space | META | GUI |=>GAME|=>SYMB| KANA | - * | | | | | SYMB | |Space | | | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_BASE] = LAYOUT( - KC_EQL, 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_MINS, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, - EISU, KC_LCTL, KC_LALT, KC_LGUI, LT(_SYMB, KC_ESC),KC_DEL, KC_BSPC, KC_ENT, KC_SPC, META, KC_LGUI, TG(_GAME), TG(_SYMB), KANA -), - -/* META - * ,------------------------------------------------. ,------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | | | Left | Down | Up |Right | PgUp | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End |Alt+← |Alt+→ | PgDn | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | |Reset | | | | - * | | | | | | | | | | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_META] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, KC_END, LALT(KC_LEFT), LALT(KC_RGHT), KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ -), - -/* SYMB - * ,------------------------------------------------. ,------------------------------------------------. - * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | - | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | | | Left | Down | Up |Right | PgUp | | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End |Alt+← |Alt+→ | PgDn | | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | | | | | | | | | | | |Reset | | | | - * | | | | | | | | | | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ - -[_SYMB] = LAYOUT( - KC_TILD, 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), S(KC_0), _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_HOME, KC_END, LALT(KC_LEFT), LALT(KC_RGHT), KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ -), - -/* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ -[_GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 -) - -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case BASE: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_BASE); - } - return false; - break; - case META: - if (record->event.pressed) { - layer_on(_META); - update_tri_layer(_META, _SYMB, _GAME); - } else { - layer_off(_META); - update_tri_layer(_META, _SYMB, _GAME); - } - return false; - break; - case SYMB: - if (record->event.pressed) { - layer_on(_SYMB); - update_tri_layer(_META, _SYMB, _GAME); - } else { - layer_off(_SYMB); - update_tri_layer(_META, _SYMB, _GAME); - } - return false; - break; - case GAME: - if (record->event.pressed) { - layer_on(_GAME); - } else { - layer_off(_GAME); - } - return false; - break; - case EISU: - if (record->event.pressed) { - register_code(KC_LNG2); - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - register_code(KC_LNG1); - } else { - unregister_code(KC_LNG1); - } - return false; - break; - } - return true; -} diff --git a/keyboards/biacco42/ergo42/keymaps/yshrsmz/rules.mk b/keyboards/biacco42/ergo42/keymaps/yshrsmz/rules.mk deleted file mode 100644 index a779882fadfe..000000000000 --- a/keyboards/biacco42/ergo42/keymaps/yshrsmz/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGBLIGHT_ENABLE = no -BACKLIGHT_ENABLE = no - -AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/biacco42/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h index 8f990eb8ed0c..179b11724307 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 96ecd7010e1c..67f27ad61298 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/biacco42/meishi2/keymaps/led_status/keymap.c b/keyboards/biacco42/meishi2/keymaps/led_status/keymap.c deleted file mode 100644 index fb8a33930f3f..000000000000 --- a/keyboards/biacco42/meishi2/keymaps/led_status/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2019 Biacco42 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -#define PRO_MICRO_LED_TX D5 -#define PRO_MICRO_LED_RX B0 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ - LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V) - ) -}; - -void matrix_init_user(void) { - setPinOutput(PRO_MICRO_LED_TX); - setPinOutput(PRO_MICRO_LED_RX); -} - -bool led_update_user(led_t led_state) { - writePin(PRO_MICRO_LED_TX, !led_state.num_lock); - writePin(PRO_MICRO_LED_RX, !led_state.caps_lock); - return true; -} diff --git a/keyboards/biacco42/meishi2/keymaps/led_status/readme.md b/keyboards/biacco42/meishi2/keymaps/led_status/readme.md deleted file mode 100644 index 802ada91db17..000000000000 --- a/keyboards/biacco42/meishi2/keymaps/led_status/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# modified keymap for meishi2 - -The LED on Pro Micro lights up when CAPS LOCK and NUM LOCK are in place. diff --git a/keyboards/biacco42/meishi2/keymaps/moc/config.h b/keyboards/biacco42/meishi2/keymaps/moc/config.h deleted file mode 100644 index 9b5675af6b12..000000000000 --- a/keyboards/biacco42/meishi2/keymaps/moc/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 Atsushi Nagase - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/biacco42/meishi2/keymaps/moc/keymap.c b/keyboards/biacco42/meishi2/keymaps/moc/keymap.c deleted file mode 100644 index 5e6c2e9c20f4..000000000000 --- a/keyboards/biacco42/meishi2/keymaps/moc/keymap.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2021 Atsushi Nagase - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 meishi2_moc_layers { - _DEFAULT, - _RAISE -}; - -#define PRO_MICRO_LED_TX D5 -#define RAISE MO(_RAISE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT] = LAYOUT( /* Base */ - RAISE, KC_B, KC_N, KC_SPC - ), - [_RAISE] = LAYOUT( /* Raise */ - _______, KC_LEFT, KC_RGHT, LSFT(KC_S) - ) -}; - -void matrix_init_user(void) { - setPinOutput(PRO_MICRO_LED_TX); - writePinHigh(PRO_MICRO_LED_TX); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode == RAISE) { - writePin(PRO_MICRO_LED_TX, !record->event.pressed); - } - return true; -} diff --git a/keyboards/biacco42/meishi2/keymaps/moc/readme.md b/keyboards/biacco42/meishi2/keymaps/moc/readme.md deleted file mode 100644 index aac1b25c9eb2..000000000000 --- a/keyboards/biacco42/meishi2/keymaps/moc/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# [MOC] keymap for meishi2 - -``` -,--------- ------ ------ -----, -| RAISE | âŪ | ⏭ | âŊ | -`--------- ------ ------ -----' -``` - -## Raise Layer - -``` -,--------- ------ ------ -----, -| | ⏊ | âĐ | 🔀 | -`--------- ------ ------ -----' -``` - -[moc]: http://moc.daper.net/ diff --git a/keyboards/binepad/bn006/config.h b/keyboards/binepad/bn006/config.h index 41c3822655c4..0569ccff03cf 100755 --- a/keyboards/binepad/bn006/config.h +++ b/keyboards/binepad/bn006/config.h @@ -3,14 +3,6 @@ #pragma once -/* - * Wear Leveling EEPROM Emulation - */ - -#define WEAR_LEVELING_LOGICAL_SIZE 2048 // Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) // Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. - - /* * RGB Matrix */ diff --git a/keyboards/binepad/bn006/info.json b/keyboards/binepad/bn006/info.json index 2c2aecbf82cc..81e68d2e0c62 100755 --- a/keyboards/binepad/bn006/info.json +++ b/keyboards/binepad/bn006/info.json @@ -24,11 +24,16 @@ "pid": "0x426E", "device_version": "1.0.0" }, + "eeprom": { + "wear_leveling": { + "backing_size": 4096 + } + }, "ws2812": { "pin": "B15" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 112, "y": 0}, diff --git a/keyboards/binepad/bn006/rules.mk b/keyboards/binepad/bn006/rules.mk index 58561c984b4f..7ff128fa692e 100755 --- a/keyboards/binepad/bn006/rules.mk +++ b/keyboards/binepad/bn006/rules.mk @@ -1,5 +1 @@ -# Copyright 2022 Binepad (@binpad) -# SPDX-License-Identifier: GPL-2.0-or-later - -EPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = embedded_flash +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/binepad/bn009/keymaps/default/keymap.json b/keyboards/binepad/bn009/keymaps/default/keymap.json index 2d5410de04fb..bcce7475c6d1 100644 --- a/keyboards/binepad/bn009/keymaps/default/keymap.json +++ b/keyboards/binepad/bn009/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "binepad/bn009r2", + "keyboard": "binepad/bn009/r2", "version": 1, "author": "binepad", "notes": "This file is a keymap.json file for binepad/bn009r2", diff --git a/keyboards/binepad/bn009/keymaps/via/keymap.json b/keyboards/binepad/bn009/keymaps/via/keymap.json index 414859ec9609..1790cf9328a2 100644 --- a/keyboards/binepad/bn009/keymaps/via/keymap.json +++ b/keyboards/binepad/bn009/keymaps/via/keymap.json @@ -4,7 +4,7 @@ "via": true } }, - "keyboard": "binepad/bn009r2", + "keyboard": "binepad/bn009/r2", "version": 1, "author": "binepad", "notes": "This file is a keymap.json file for binepad/bn009r2", diff --git a/keyboards/binepad/bn009/r2/config.h b/keyboards/binepad/bn009/r2/config.h deleted file mode 100644 index 45b63ec10528..000000000000 --- a/keyboards/binepad/bn009/r2/config.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2023 Binepad (@binepad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - - -/* - * Wear Leveling EEPROM Emulation - */ - -#define WEAR_LEVELING_LOGICAL_SIZE 2048 // Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM. -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) // Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. diff --git a/keyboards/binepad/bn009/r2/info.json b/keyboards/binepad/bn009/r2/info.json index c011fe0e32df..870608b5c80b 100644 --- a/keyboards/binepad/bn009/r2/info.json +++ b/keyboards/binepad/bn009/r2/info.json @@ -6,6 +6,11 @@ "cols": ["A1", "A2", "A6"], "rows": ["B6", "B7", "B2"] }, + "eeprom": { + "wear_leveling": { + "backing_size": 4096 + } + }, "processor": "STM32F103", "usb": { "device_version": "2.0.0" diff --git a/keyboards/binepad/bnr1/v2/config.h b/keyboards/binepad/bnr1/v2/config.h deleted file mode 100644 index c408f95d383d..000000000000 --- a/keyboards/binepad/bnr1/v2/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 BINEPAD (@binepad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WEAR_LEVELING_LOGICAL_SIZE 1024 -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) diff --git a/keyboards/binepad/bnr1/v2/rules.mk b/keyboards/binepad/bnr1/v2/rules.mk old mode 100755 new mode 100644 index a9a826d49ff6..6e7633bfe015 --- a/keyboards/binepad/bnr1/v2/rules.mk +++ b/keyboards/binepad/bnr1/v2/rules.mk @@ -1,7 +1 @@ -# This file only contains EFL/WL settings and enables F103 low-power mode - -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 +# This file intentionally left blank diff --git a/keyboards/binepad/pixie/config.h b/keyboards/binepad/pixie/config.h new file mode 100644 index 000000000000..00d5ddf0355f --- /dev/null +++ b/keyboards/binepad/pixie/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 binepad (@binepad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution diff --git a/keyboards/binepad/pixie/info.json b/keyboards/binepad/pixie/info.json new file mode 100644 index 000000000000..7d9d2ceb9ad9 --- /dev/null +++ b/keyboards/binepad/pixie/info.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "binepad", + "keyboard_name": "PIXIE", + "url": "http://binepad.com", + "maintainer": "binepad", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4249", + "pid": "0x5078", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "encoder": true + }, + "matrix_pins": { + "cols": ["GP19", "GP4"], + "rows": ["GP28", "GP5"] + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP18", + "pin_b": "GP17" + }, + { + "pin_a": "GP20", + "pin_b": "GP21" + } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "matrix": [1, 1], "x": 1.25, "y": 1.25 } + ] + } + } +} diff --git a/keyboards/binepad/pixie/keymaps/default/keymap.c b/keyboards/binepad/pixie/keymaps/default/keymap.c new file mode 100644 index 000000000000..b49c4db6de3a --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Binepad (@binpad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY, + KC_MPRV, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { + ENCODER_CCW_CW(KC_VOLD, KC_VOLU), + ENCODER_CCW_CW(KC_WH_U, KC_WH_D) + } +}; + +#endif diff --git a/keyboards/binepad/pixie/keymaps/default/rules.mk b/keyboards/binepad/pixie/keymaps/default/rules.mk new file mode 100644 index 000000000000..34789bf1728c --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/default/rules.mk @@ -0,0 +1,2 @@ + +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/binepad/pixie/keymaps/via/keymap.c b/keyboards/binepad/pixie/keymaps/via/keymap.c new file mode 100644 index 000000000000..b49c4db6de3a --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Binepad (@binpad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY, + KC_MPRV, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { + ENCODER_CCW_CW(KC_VOLD, KC_VOLU), + ENCODER_CCW_CW(KC_WH_U, KC_WH_D) + } +}; + +#endif diff --git a/keyboards/binepad/pixie/keymaps/via/rules.mk b/keyboards/binepad/pixie/keymaps/via/rules.mk new file mode 100644 index 000000000000..82b46f5873fc --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/via/rules.mk @@ -0,0 +1,3 @@ + +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/binepad/pixie/readme.md b/keyboards/binepad/pixie/readme.md new file mode 100644 index 000000000000..98287ab97bf3 --- /dev/null +++ b/keyboards/binepad/pixie/readme.md @@ -0,0 +1,27 @@ +# BINEPAD PIXIE + +![BINEPAD PIXIE](https://i.imgur.com/OnQnkdUh.jpeg) + +*A 2x2 macropad with 2x rotary encoders* + +* Keyboard Maintainer: [binepad](https://github.com/binepad) +* Hardware Supported: BINPAD PIXIE +* Hardware Availability: [binepad.com](https://www.binepad.com/pixie) + +Make example for this keyboard (after setting up your build environment): + + make binepad/pixie:default + +Flashing example for this keyboard: + + make binepad/pixie: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 (010) in the matrix (the bottom left key) and plug in the keyboard +* **Physical reset button**: Briefly press the PCB button located on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` or `RESET` if it is available diff --git a/keyboards/binepad/pixie/rules.mk b/keyboards/binepad/pixie/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/binepad/pixie/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/bioi/ble.c b/keyboards/bioi/ble.c deleted file mode 100644 index 12c180966a9f..000000000000 --- a/keyboards/bioi/ble.c +++ /dev/null @@ -1,174 +0,0 @@ -/* -Copyright 2019 Basic I/O Instruments(Scott Wei) -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include "bluetooth.h" -#include "ble.h" -#include "usart.h" -#include "progmem.h" -#include "wait.h" -#include "debug.h" -#include "usb_descriptor.h" -#include "report.h" - -keyboard_config_t ble_config; - -static void bluefruit_serial_send(uint8_t); - -void send_str(const char *str) -{ - uint8_t c; - while ((c = pgm_read_byte(str++))) - uart1_putc(c); -} - -void serial_send(uint8_t data) -{ - dprintf("Sending: %u\n", data); -} - -void send_bytes(uint8_t data) -{ - char hexStr[3]; - sprintf(hexStr, "%02X", data); - for (int j = 0; j < sizeof(hexStr) - 1; j++) - { - uart1_putc(hexStr[j]); - } -} - -#ifdef BLUEFRUIT_TRACE_SERIAL -static void bluefruit_trace_header(void) -{ - dprintf("+------------------------------------+\n"); - dprintf("| HID report to Bluefruit via serial |\n"); - dprintf("+------------------------------------+\n|"); -} - -static void bluefruit_trace_footer(void) -{ - dprintf("|\n+------------------------------------+\n\n"); -} -#endif - -static void bluefruit_serial_send(uint8_t data) -{ -#ifdef BLUEFRUIT_TRACE_SERIAL - dprintf(" "); - debug_hex8(data); - dprintf(" "); -#endif - serial_send(data); -} - -void bluetooth_init(void) { - usart_init(); -} - -void bluetooth_task(void) {} - -void bluetooth_send_keyboard(report_keyboard_t *report) -{ -#ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_header(); -#endif - dprintf("Sending...\n"); - - send_str(PSTR("AT+BLEKEYBOARDCODE=")); - - for (uint8_t i = 0; i < KEYBOARD_EPSIZE; i++) - { - send_bytes(report->raw[i]); - if (i < (KEYBOARD_EPSIZE - 1)) - { - send_str(PSTR("-")); - } - } - - send_str(PSTR("\r\n")); -#ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_footer(); -#endif -} - -void bluetooth_send_mouse(report_mouse_t *report) -{ -#ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_header(); -#endif - bluefruit_serial_send(0xFD); - bluefruit_serial_send(0x00); - bluefruit_serial_send(0x03); - bluefruit_serial_send(report->buttons); - bluefruit_serial_send(report->x); - bluefruit_serial_send(report->y); - bluefruit_serial_send(report->v); // should try sending the wheel v here - bluefruit_serial_send(report->h); // should try sending the wheel h here - bluefruit_serial_send(0x00); -#ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_footer(); -#endif -} - -/* -+-----------------+-------------------+-------+ -| Consumer Key | Bit Map | Hex | -+-----------------+-------------------+-------+ -| Home | 00000001 00000000 | 01 00 | -| KeyboardLayout | 00000010 00000000 | 02 00 | -| Search | 00000100 00000000 | 04 00 | -| Snapshot | 00001000 00000000 | 08 00 | -| VolumeUp | 00010000 00000000 | 10 00 | -| VolumeDown | 00100000 00000000 | 20 00 | -| Play/Pause | 01000000 00000000 | 40 00 | -| Fast Forward | 10000000 00000000 | 80 00 | -| Rewind | 00000000 00000001 | 00 01 | -| Scan Next Track | 00000000 00000010 | 00 02 | -| Scan Prev Track | 00000000 00000100 | 00 04 | -| Random Play | 00000000 00001000 | 00 08 | -| Stop | 00000000 00010000 | 00 10 | -+-------------------------------------+-------+ -*/ -#define CONSUMER2BLUEFRUIT(usage) \ - (usage == AUDIO_MUTE ? 0x00e2 : (usage == AUDIO_VOL_UP ? 0x00e9 : (usage == AUDIO_VOL_DOWN ? 0x00ea : (usage == TRANSPORT_NEXT_TRACK ? 0x00b5 : (usage == TRANSPORT_PREV_TRACK ? 0x00b6 : (usage == TRANSPORT_STOP ? 0x00b7 : (usage == TRANSPORT_STOP_EJECT ? 0x00b8 : (usage == TRANSPORT_PLAY_PAUSE ? 0x00b1 : (usage == AL_CC_CONFIG ? 0x0183 : (usage == AL_EMAIL ? 0x018c : (usage == AL_CALCULATOR ? 0x0192 : (usage == AL_LOCAL_BROWSER ? 0x0196 : (usage == AC_SEARCH ? 0x021f : (usage == AC_HOME ? 0x0223 : (usage == AC_BACK ? 0x0224 : (usage == AC_FORWARD ? 0x0225 : (usage == AC_STOP ? 0x0226 : (usage == AC_REFRESH ? 0x0227 : (usage == AC_BOOKMARKS ? 0x022a : 0))))))))))))))))))) - -void bluetooth_send_consumer(uint16_t usage) -{ - uint16_t bitmap = CONSUMER2BLUEFRUIT(usage); - -#ifdef BLUEFRUIT_TRACE_SERIAL - dprintf("\nData: "); - debug_hex16(data); - dprintf("; bitmap: "); - debug_hex16(bitmap); - dprintf("\n"); - bluefruit_trace_header(); -#endif - send_str(PSTR("AT+BLEHIDCONTROLKEY=0x")); - send_bytes((bitmap >> 8) & 0xFF); - send_bytes(bitmap & 0xFF); - send_str(PSTR("\r\n")); -#ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_footer(); -#endif -} - -void usart_init(void) -{ - uart1_init(UART_BAUD_SELECT_DOUBLE_SPEED(76800, 8000000L)); - wait_ms(250); - - send_str(PSTR("\r\n")); - send_str(PSTR("\r\n")); - send_str(PSTR("\r\n")); -} diff --git a/keyboards/bioi/ble.h b/keyboards/bioi/ble.h deleted file mode 100644 index 529ebf5241d6..000000000000 --- a/keyboards/bioi/ble.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2019 Basic I/O Instruments(Scott Wei) -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#include - -typedef union { - uint32_t raw; - struct { - bool init : 1; - }; -} keyboard_config_t; - -extern keyboard_config_t ble_config; - -void send_str(const char *str); -void usart_init(void); -void module_reset(void); diff --git a/keyboards/bioi/bluetooth_custom.c b/keyboards/bioi/bluetooth_custom.c new file mode 100644 index 000000000000..4ea277f731a6 --- /dev/null +++ b/keyboards/bioi/bluetooth_custom.c @@ -0,0 +1,163 @@ +/* +Copyright 2019 Basic I/O Instruments(Scott Wei) +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "bluetooth.h" +#include "uart.h" +#include "progmem.h" +#include "wait.h" +#include "debug.h" +#include "usb_descriptor.h" +#include "report.h" + +void send_str(const char *str) +{ + uint8_t c; + while ((c = pgm_read_byte(str++))) + uart_write(c); +} + +void serial_send(uint8_t data) +{ + dprintf("Sending: %u\n", data); +} + +void send_bytes(uint8_t data) +{ + char hexStr[3]; + sprintf(hexStr, "%02X", data); + for (int j = 0; j < sizeof(hexStr) - 1; j++) + { + uart_write(hexStr[j]); + } +} + +#ifdef BLUEFRUIT_TRACE_SERIAL +static void bluefruit_trace_header(void) +{ + dprintf("+------------------------------------+\n"); + dprintf("| HID report to Bluefruit via serial |\n"); + dprintf("+------------------------------------+\n|"); +} + +static void bluefruit_trace_footer(void) +{ + dprintf("|\n+------------------------------------+\n\n"); +} +#endif + +static void bluefruit_serial_send(uint8_t data) +{ +#ifdef BLUEFRUIT_TRACE_SERIAL + dprintf(" "); + debug_hex8(data); + dprintf(" "); +#endif + serial_send(data); +} + +void bluetooth_init(void) { + uart_init(76800); + wait_ms(250); + + send_str(PSTR("\r\n")); + send_str(PSTR("\r\n")); + send_str(PSTR("\r\n")); +} + +void bluetooth_task(void) {} + +void bluetooth_send_keyboard(report_keyboard_t *report) +{ +#ifdef BLUEFRUIT_TRACE_SERIAL + bluefruit_trace_header(); +#endif + dprintf("Sending...\n"); + + send_str(PSTR("AT+BLEKEYBOARDCODE=")); + + send_bytes(report->mods); + send_str(PSTR("-")); + send_bytes(0); + for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { + send_str(PSTR("-")); + send_bytes(report->keys[i]); + } + + send_str(PSTR("\r\n")); +#ifdef BLUEFRUIT_TRACE_SERIAL + bluefruit_trace_footer(); +#endif +} + +void bluetooth_send_mouse(report_mouse_t *report) +{ +#ifdef BLUEFRUIT_TRACE_SERIAL + bluefruit_trace_header(); +#endif + bluefruit_serial_send(0xFD); + bluefruit_serial_send(0x00); + bluefruit_serial_send(0x03); + bluefruit_serial_send(report->buttons); + bluefruit_serial_send(report->x); + bluefruit_serial_send(report->y); + bluefruit_serial_send(report->v); // should try sending the wheel v here + bluefruit_serial_send(report->h); // should try sending the wheel h here + bluefruit_serial_send(0x00); +#ifdef BLUEFRUIT_TRACE_SERIAL + bluefruit_trace_footer(); +#endif +} + +/* ++-----------------+-------------------+-------+ +| Consumer Key | Bit Map | Hex | ++-----------------+-------------------+-------+ +| Home | 00000001 00000000 | 01 00 | +| KeyboardLayout | 00000010 00000000 | 02 00 | +| Search | 00000100 00000000 | 04 00 | +| Snapshot | 00001000 00000000 | 08 00 | +| VolumeUp | 00010000 00000000 | 10 00 | +| VolumeDown | 00100000 00000000 | 20 00 | +| Play/Pause | 01000000 00000000 | 40 00 | +| Fast Forward | 10000000 00000000 | 80 00 | +| Rewind | 00000000 00000001 | 00 01 | +| Scan Next Track | 00000000 00000010 | 00 02 | +| Scan Prev Track | 00000000 00000100 | 00 04 | +| Random Play | 00000000 00001000 | 00 08 | +| Stop | 00000000 00010000 | 00 10 | ++-------------------------------------+-------+ +*/ +#define CONSUMER2BLUEFRUIT(usage) \ + (usage == AUDIO_MUTE ? 0x00e2 : (usage == AUDIO_VOL_UP ? 0x00e9 : (usage == AUDIO_VOL_DOWN ? 0x00ea : (usage == TRANSPORT_NEXT_TRACK ? 0x00b5 : (usage == TRANSPORT_PREV_TRACK ? 0x00b6 : (usage == TRANSPORT_STOP ? 0x00b7 : (usage == TRANSPORT_STOP_EJECT ? 0x00b8 : (usage == TRANSPORT_PLAY_PAUSE ? 0x00b1 : (usage == AL_CC_CONFIG ? 0x0183 : (usage == AL_EMAIL ? 0x018c : (usage == AL_CALCULATOR ? 0x0192 : (usage == AL_LOCAL_BROWSER ? 0x0196 : (usage == AC_SEARCH ? 0x021f : (usage == AC_HOME ? 0x0223 : (usage == AC_BACK ? 0x0224 : (usage == AC_FORWARD ? 0x0225 : (usage == AC_STOP ? 0x0226 : (usage == AC_REFRESH ? 0x0227 : (usage == AC_BOOKMARKS ? 0x022a : 0))))))))))))))))))) + +void bluetooth_send_consumer(uint16_t usage) +{ + uint16_t bitmap = CONSUMER2BLUEFRUIT(usage); + +#ifdef BLUEFRUIT_TRACE_SERIAL + dprintf("\nData: "); + debug_hex16(data); + dprintf("; bitmap: "); + debug_hex16(bitmap); + dprintf("\n"); + bluefruit_trace_header(); +#endif + send_str(PSTR("AT+BLEHIDCONTROLKEY=0x")); + send_bytes((bitmap >> 8) & 0xFF); + send_bytes(bitmap & 0xFF); + send_str(PSTR("\r\n")); +#ifdef BLUEFRUIT_TRACE_SERIAL + bluefruit_trace_footer(); +#endif +} diff --git a/keyboards/bioi/f60/config.h b/keyboards/bioi/f60/config.h index b06dcb251a75..39b9e8b47aca 100644 --- a/keyboards/bioi/f60/config.h +++ b/keyboards/bioi/f60/config.h @@ -17,18 +17,4 @@ 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 -# 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 WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB diff --git a/keyboards/bioi/f60/info.json b/keyboards/bioi/f60/info.json index 591181304347..6223ba7b5792 100644 --- a/keyboards/bioi/f60/info.json +++ b/keyboards/bioi/f60/info.json @@ -18,6 +18,23 @@ "levels": 8, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "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 + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bioi/g60/config.h b/keyboards/bioi/g60/config.h index d1039d089681..976841be799f 100644 --- a/keyboards/bioi/g60/config.h +++ b/keyboards/bioi/g60/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #pragma once -/* RGB Underglow */ -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/bioi/g60/info.json b/keyboards/bioi/g60/info.json index 10a92de946b4..a96d1acce57a 100644 --- a/keyboards/bioi/g60/info.json +++ b/keyboards/bioi/g60/info.json @@ -17,9 +17,29 @@ "pin": "B7", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, + "bluetooth": { + "driver": "custom" + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "layouts": { diff --git a/keyboards/bioi/g60/rules.mk b/keyboards/bioi/g60/rules.mk index a22a56ecec3f..375cb52732a1 100644 --- a/keyboards/bioi/g60/rules.mk +++ b/keyboards/bioi/g60/rules.mk @@ -15,11 +15,8 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Reduce firmware size BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = custom VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first. -SRC += usart.c ble.c - -OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16 -OPT_DEFS += -DUSART1_ENABLED +UART_DRIVER_REQUIRED = yes +SRC += bluetooth_custom.c diff --git a/keyboards/bioi/g60ble/config.h b/keyboards/bioi/g60ble/config.h index 24ced1fc0a21..0b4ce9a09075 100644 --- a/keyboards/bioi/g60ble/config.h +++ b/keyboards/bioi/g60ble/config.h @@ -1,21 +1,5 @@ #pragma once -/* RGB Underglow */ -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/bioi/g60ble/info.json b/keyboards/bioi/g60ble/info.json index 2b835f7c4828..1699f7275e09 100644 --- a/keyboards/bioi/g60ble/info.json +++ b/keyboards/bioi/g60ble/info.json @@ -17,9 +17,29 @@ "pin": "B7", "levels": 8 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, + "bluetooth": { + "driver": "custom" + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "community_layouts": ["60_ansi", "60_iso", "60_hhkb", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], diff --git a/keyboards/bioi/g60ble/keymaps/chemicalwill/keymap.c b/keyboards/bioi/g60ble/keymaps/chemicalwill/keymap.c deleted file mode 100644 index 680c96879573..000000000000 --- a/keyboards/bioi/g60ble/keymaps/chemicalwill/keymap.c +++ /dev/null @@ -1,206 +0,0 @@ -/* Copyright 2023 Will Hedges (@will-hedges) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _WORK, - _QWER, - _FN1 -}; - -enum custom_keycodes { - BASE_QWER = SAFE_RANGE, - BASE_WORK -}; - -// Tap Dance enum -enum { - N8_F8, - N9_F9, - N0_F10, - MINS_F11, - EQL_F12, - DEL_BSLS, - G_END, - H_HOME, - LALT_PGUP, - RALT_PGDN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_WORK] = LAYOUT_60_ansi( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, TD(N8_F8), TD(N9_F9), TD(N0_F10), TD(MINS_F11), TD(EQL_F12), 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, TD(DEL_BSLS), - LT(_FN1, KC_CAPS), KC_A, KC_S, KC_D, KC_F, TD(G_END), TD(H_HOME), 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, LALT_T(KC_PGUP), KC_SPC, RALT_T(KC_PGDN), KC_APP, MO(_FN1), KC_RCTL - ), - - [_QWER] = 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, TD(DEL_BSLS), - LT(_FN1, KC_CAPS), KC_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_APP, MO(_FN1), KC_RCTL - ), - - [_FN1] = LAYOUT_60_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, KC_DEL, - _______, _______, KC_PGUP, _______, QK_RBT, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, - _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, - _______, C(A(KC_DEL)), _______, _______, _______, BASE_WORK, _______, BASE_QWER - ) - -}; - - -// Tap Dance tap vs. hold docs @ https://docs.qmk.fm/#/feature_tap_dance?id=example-3 -// Macros are also used with process_record_user @ https://docs.qmk.fm/#/feature_macros?id=using-macros-in-c-keymaps -typedef struct { - uint16_t tap; - uint16_t hold; - uint16_t held; -} tap_dance_tap_hold_t; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_action_t *action; - - switch (keycode) { - // MACROS - case BASE_QWER: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWER); - } - break; - - case BASE_WORK: - if (record->event.pressed) { - set_single_persistent_default_layer(_WORK); - } - break; - - // TAP DANCES - case TD(N8_F8): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(N9_F9): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(N0_F10): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(MINS_F11): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(EQL_F12): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(DEL_BSLS): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(G_END): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - case TD(H_HOME): - action = &tap_dance_actions[TD_INDEX(keycode)]; - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - break; - - } - return true; -} - -void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; - - if (state->pressed) { - if (state->count == 1 -#ifndef PERMISSIVE_HOLD - && !state->interrupted -#endif - ) { - register_code16(tap_hold->hold); - tap_hold->held = tap_hold->hold; - } else { - register_code16(tap_hold->tap); - tap_hold->held = tap_hold->tap; - } - } -} - -void tap_dance_tap_hold_reset(tap_dance_state_t *state, void *user_data) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; - - if (tap_hold->held) { - unregister_code16(tap_hold->held); - tap_hold->held = 0; - } -} - -#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ - { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } - -tap_dance_action_t tap_dance_actions[] = { - [N8_F8] = ACTION_TAP_DANCE_TAP_HOLD(KC_8, KC_F8), - [N9_F9] = ACTION_TAP_DANCE_TAP_HOLD(KC_9, KC_F9), - [N0_F10] = ACTION_TAP_DANCE_TAP_HOLD(KC_0, KC_F10), - [MINS_F11] = ACTION_TAP_DANCE_TAP_HOLD(KC_MINS, KC_F11), - [EQL_F12] = ACTION_TAP_DANCE_TAP_HOLD(KC_EQL, KC_F12), - [DEL_BSLS] = ACTION_TAP_DANCE_TAP_HOLD(KC_DEL, KC_BSLS), - [G_END] = ACTION_TAP_DANCE_TAP_HOLD(KC_G, KC_END), - [H_HOME] = ACTION_TAP_DANCE_TAP_HOLD(KC_H, KC_HOME) -}; diff --git a/keyboards/bioi/g60ble/keymaps/chemicalwill/rules.mk b/keyboards/bioi/g60ble/keymaps/chemicalwill/rules.mk deleted file mode 100644 index c86c7b33406d..000000000000 --- a/keyboards/bioi/g60ble/keymaps/chemicalwill/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -# features enabled by default that I want to turn off -BACKLIGHT_ENABLE = no -MOUSEKEY_ENABLE = no -RGBLIGHT_ENABLE = no - -# features I want to add -TAP_DANCE_ENABLE = yes diff --git a/keyboards/bioi/g60ble/rules.mk b/keyboards/bioi/g60ble/rules.mk index d1edb6882dac..6bfcc62d7e00 100644 --- a/keyboards/bioi/g60ble/rules.mk +++ b/keyboards/bioi/g60ble/rules.mk @@ -13,9 +13,7 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes LTO_ENABLE = yes -# these lines are all for bluetooth BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = custom -SRC += usart.c ble.c -OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16 -OPT_DEFS += -DUSART1_ENABLED + +UART_DRIVER_REQUIRED = yes +SRC += bluetooth_custom.c diff --git a/keyboards/bioi/morgan65/config.h b/keyboards/bioi/morgan65/config.h index 93ab008b66a9..2e78cc2a3e15 100644 --- a/keyboards/bioi/morgan65/config.h +++ b/keyboards/bioi/morgan65/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #pragma once -/* RGB Underglow */ -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/bioi/morgan65/info.json b/keyboards/bioi/morgan65/info.json index c3fced4f783e..6cf66b843ac7 100644 --- a/keyboards/bioi/morgan65/info.json +++ b/keyboards/bioi/morgan65/info.json @@ -17,9 +17,29 @@ "pin": "B6", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, + "bluetooth": { + "driver": "custom" + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "community_layouts": [ diff --git a/keyboards/bioi/morgan65/rules.mk b/keyboards/bioi/morgan65/rules.mk index a22a56ecec3f..375cb52732a1 100644 --- a/keyboards/bioi/morgan65/rules.mk +++ b/keyboards/bioi/morgan65/rules.mk @@ -15,11 +15,8 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Reduce firmware size BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = custom VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first. -SRC += usart.c ble.c - -OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16 -OPT_DEFS += -DUSART1_ENABLED +UART_DRIVER_REQUIRED = yes +SRC += bluetooth_custom.c diff --git a/keyboards/bioi/s65/config.h b/keyboards/bioi/s65/config.h index 13f5533c9f6d..8134bd96cfa3 100644 --- a/keyboards/bioi/s65/config.h +++ b/keyboards/bioi/s65/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #pragma once -/* RGB Underglow */ -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/bioi/s65/info.json b/keyboards/bioi/s65/info.json index a3a783b61ff8..a2d63ae3f97f 100644 --- a/keyboards/bioi/s65/info.json +++ b/keyboards/bioi/s65/info.json @@ -17,6 +17,23 @@ "pin": "B6", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/bioi/usart.c b/keyboards/bioi/usart.c deleted file mode 100644 index f37845e5c63a..000000000000 --- a/keyboards/bioi/usart.c +++ /dev/null @@ -1,1522 +0,0 @@ -/************************************************************************* - - Title: Interrupt UART library with receive/transmit circular buffers - Author: Andy Gock - Software: AVR-GCC 4.1, AVR Libc 1.4 - Hardware: any AVR with built-in UART, tested on AT90S8515 & ATmega8 at 4 Mhz - License: GNU General Public License - Usage: see README.md and Doxygen manual - - Based on original library by Peter Fluery, Tim Sharpe, Nicholas Zambetti. - - https://github.com/andygock/avr-uart - - Updated UART library (this one) by Andy Gock - https://github.com/andygock/avr-uart - - Based on updated UART library (this one) by Tim Sharpe - http://beaststwo.org/avr-uart/index.shtml - - Based on original library by Peter Fluery - http://homepage.hispeed.ch/peterfleury/avr-software.html - -*************************************************************************/ - -/************************************************************************* - -LICENSE: - Copyright (C) 2012 Andy Gock - Copyright (C) 2006 Peter Fleury - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - -*************************************************************************/ - -/************************************************************************ -uart_available, uart_flush, uart1_available, and uart1_flush functions -were adapted from the Arduino HardwareSerial.h library by Tim Sharpe on -11 Jan 2009. The license info for HardwareSerial.h is as follows: - - HardwareSerial.cpp - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - Modified 23 November 2006 by David A. Mellis -************************************************************************/ - -/************************************************************************ -Changelog for modifications made by Tim Sharpe, starting with the current - library version on his Web site as of 05/01/2009. - -Date Description -========================================================================= -05/11/2009 Changed all existing UARTx_RECEIVE_INTERRUPT and UARTx_TRANSMIT_INTERRUPT - macros to use the "_vect" format introduced in AVR-Libc - v1.4.0. Had to split the 3290 and 6490 out of their existing - macro due to an inconsistency in the UART0_RECEIVE_INTERRUPT - vector name (seems like a typo: USART_RX_vect for the 3290/6490 - vice USART0_RX_vect for the others in the macro). - Verified all existing macro register names against the device - header files in AVR-Libc v1.6.6 to catch any inconsistencies. -05/12/2009 Added support for 48P, 88P, 168P, and 328P by adding them to the - existing 48/88/168 macro. - Added Arduino-style available() and flush() functions for both - supported UARTs. Really wanted to keep them out of the library, so - that it would be as close as possible to Peter Fleury's original - library, but has scoping issues accessing internal variables from - another program. Go C! -05/13/2009 Changed Interrupt Service Routine label from the old "SIGNAL" to - the "ISR" format introduced in AVR-Libc v1.4.0. - -************************************************************************/ - -#include -#include -#include -#include -#include "usart.h" - -/* - * constants and macros - */ - -/* size of RX/TX buffers */ -#define UART_RX0_BUFFER_MASK (UART_RX0_BUFFER_SIZE - 1) -#define UART_RX1_BUFFER_MASK (UART_RX1_BUFFER_SIZE - 1) -#define UART_RX2_BUFFER_MASK (UART_RX2_BUFFER_SIZE - 1) -#define UART_RX3_BUFFER_MASK (UART_RX3_BUFFER_SIZE - 1) - -#define UART_TX0_BUFFER_MASK (UART_TX0_BUFFER_SIZE - 1) -#define UART_TX1_BUFFER_MASK (UART_TX1_BUFFER_SIZE - 1) -#define UART_TX2_BUFFER_MASK (UART_TX2_BUFFER_SIZE - 1) -#define UART_TX3_BUFFER_MASK (UART_TX3_BUFFER_SIZE - 1) - -#if (UART_RX0_BUFFER_SIZE & UART_RX0_BUFFER_MASK) - #error RX0 buffer size is not a power of 2 -#endif -#if (UART_TX0_BUFFER_SIZE & UART_TX0_BUFFER_MASK) - #error TX0 buffer size is not a power of 2 -#endif - -#if (UART_RX1_BUFFER_SIZE & UART_RX1_BUFFER_MASK) - #error RX1 buffer size is not a power of 2 -#endif -#if (UART_TX1_BUFFER_SIZE & UART_TX1_BUFFER_MASK) - #error TX1 buffer size is not a power of 2 -#endif - -#if (UART_RX2_BUFFER_SIZE & UART_RX2_BUFFER_MASK) - #error RX2 buffer size is not a power of 2 -#endif -#if (UART_TX2_BUFFER_SIZE & UART_TX2_BUFFER_MASK) - #error TX2 buffer size is not a power of 2 -#endif - -#if (UART_RX3_BUFFER_SIZE & UART_RX3_BUFFER_MASK) - #error RX3 buffer size is not a power of 2 -#endif -#if (UART_TX3_BUFFER_SIZE & UART_TX3_BUFFER_MASK) - #error TX3 buffer size is not a power of 2 -#endif - -#if defined(__AVR_AT90S2313__) \ - || defined(__AVR_AT90S4414__) || defined(__AVR_AT90S4434__) \ - || defined(__AVR_AT90S8515__) || defined(__AVR_AT90S8535__) \ - || defined(__AVR_ATmega103__) - /* old AVR classic or ATmega103 with one UART */ - #define AT90_UART - #define UART0_RECEIVE_INTERRUPT UART_RX_vect - #define UART0_TRANSMIT_INTERRUPT UART_UDRE_vect - #define UART0_STATUS USR - #define UART0_CONTROL UCR - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_AT90S2333__) || defined(__AVR_AT90S4433__) - /* old AVR classic with one UART */ - #define AT90_UART - #define UART0_RECEIVE_INTERRUPT UART_RX_vect - #define UART0_TRANSMIT_INTERRUPT UART_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) \ - || defined(__AVR_ATmega323__) - /* ATmega with one USART */ - #define ATMEGA_USART - #define UART0_RECEIVE_INTERRUPT USART_RXC_vect - #define UART0_TRANSMIT_INTERRUPT USART_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega16U4__) || \ - defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega32U6__) - /* ATmega with one USART, but is called USART1 (untested) */ - #define ATMEGA_USART1 - #define UART1_RECEIVE_INTERRUPT USART1_RX_vect - #define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect - #define UART1_STATUS UCSR1A - #define UART1_CONTROL UCSR1B - #define UART1_DATA UDR1 - #define UART1_UDRIE UDRIE1 -#elif defined(__AVR_ATmega8515__) || defined(__AVR_ATmega8535__) - /* ATmega with one USART */ - #define ATMEGA_USART - #define UART0_RECEIVE_INTERRUPT USART_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega163__) - /* ATmega163 with one UART */ - #define ATMEGA_UART - #define UART0_RECEIVE_INTERRUPT UART_RX_vect - #define UART0_TRANSMIT_INTERRUPT UART_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega162__) - /* ATmega with two USART */ - #define ATMEGA_USART0 - #define ATMEGA_USART1 - #define UART0_RECEIVE_INTERRUPT USART0_RXC_vect - #define UART1_RECEIVE_INTERRUPT USART1_RXC_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 - #define UART1_STATUS UCSR1A - #define UART1_CONTROL UCSR1B - #define UART1_DATA UDR1 - #define UART1_UDRIE UDRIE1 -#elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) - /* ATmega with two USART */ - #define ATMEGA_USART0 - #define ATMEGA_USART1 - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART1_RECEIVE_INTERRUPT USART1_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 - #define UART1_STATUS UCSR1A - #define UART1_CONTROL UCSR1B - #define UART1_DATA UDR1 - #define UART1_UDRIE UDRIE1 -#elif defined(__AVR_ATmega161__) - /* ATmega with UART */ - #error "AVR ATmega161 currently not supported by this libaray !" -#elif defined(__AVR_ATmega169__) - /* ATmega with one USART */ - #define ATMEGA_USART - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega48__) ||defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__) || \ - defined(__AVR_ATmega48P__) ||defined(__AVR_ATmega88P__) || defined(__AVR_ATmega168P__) || \ - defined(__AVR_ATmega328P__) - /* TLS-Added 48P/88P/168P/328P */ - /* ATmega with one USART */ - #define ATMEGA_USART0 - #define UART0_RECEIVE_INTERRUPT USART_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 -#elif defined(__AVR_ATtiny2313__) || defined(__AVR_ATtiny2313A__) || defined(__AVR_ATtiny4313__) - #define ATMEGA_USART - #define UART0_RECEIVE_INTERRUPT USART_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART_UDRE_vect - #define UART0_STATUS UCSRA - #define UART0_CONTROL UCSRB - #define UART0_DATA UDR - #define UART0_UDRIE UDRIE -#elif defined(__AVR_ATmega329__) ||\ - defined(__AVR_ATmega649__) ||\ - defined(__AVR_ATmega325__) ||defined(__AVR_ATmega3250__) ||\ - defined(__AVR_ATmega645__) ||defined(__AVR_ATmega6450__) - /* ATmega with one USART */ - #define ATMEGA_USART0 - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 -#elif defined(__AVR_ATmega3290__) ||\ - defined(__AVR_ATmega6490__) - /* TLS-Separated these two from the previous group because of inconsistency in the USART_RX */ - /* ATmega with one USART */ - #define ATMEGA_USART0 - #define UART0_RECEIVE_INTERRUPT USART_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 -#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega640__) - /* ATmega with four USART */ - #define ATMEGA_USART0 - #define ATMEGA_USART1 - #define ATMEGA_USART2 - #define ATMEGA_USART3 - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART1_RECEIVE_INTERRUPT USART1_RX_vect - #define UART2_RECEIVE_INTERRUPT USART2_RX_vect - #define UART3_RECEIVE_INTERRUPT USART3_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect - #define UART2_TRANSMIT_INTERRUPT USART2_UDRE_vect - #define UART3_TRANSMIT_INTERRUPT USART3_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 - #define UART1_STATUS UCSR1A - #define UART1_CONTROL UCSR1B - #define UART1_DATA UDR1 - #define UART1_UDRIE UDRIE1 - #define UART2_STATUS UCSR2A - #define UART2_CONTROL UCSR2B - #define UART2_DATA UDR2 - #define UART2_UDRIE UDRIE2 - #define UART3_STATUS UCSR3A - #define UART3_CONTROL UCSR3B - #define UART3_DATA UDR3 - #define UART3_UDRIE UDRIE3 -#elif defined(__AVR_ATmega644__) - /* ATmega with one USART */ - #define ATMEGA_USART0 - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 -#elif defined(__AVR_ATmega164P__) || defined(__AVR_ATmega324P__) || defined(__AVR_ATmega644P__) || \ - defined(__AVR_ATmega1284P__) - /* ATmega with two USART */ - #define ATMEGA_USART0 - #define ATMEGA_USART1 - #define UART0_RECEIVE_INTERRUPT USART0_RX_vect - #define UART1_RECEIVE_INTERRUPT USART1_RX_vect - #define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect - #define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect - #define UART0_STATUS UCSR0A - #define UART0_CONTROL UCSR0B - #define UART0_DATA UDR0 - #define UART0_UDRIE UDRIE0 - #define UART1_STATUS UCSR1A - #define UART1_CONTROL UCSR1B - #define UART1_DATA UDR1 - #define UART1_UDRIE UDRIE1 -#else - #error "no UART definition for MCU available" -#endif - -/* - * Module global variables - */ - -#if defined(USART0_ENABLED) - #if defined(ATMEGA_USART) || defined(ATMEGA_USART0) - static volatile uint8_t UART_TxBuf[UART_TX0_BUFFER_SIZE]; - static volatile uint8_t UART_RxBuf[UART_RX0_BUFFER_SIZE]; - - #if defined(USART0_LARGE_BUFFER) - static volatile uint16_t UART_TxHead; - static volatile uint16_t UART_TxTail; - static volatile uint16_t UART_RxHead; - static volatile uint16_t UART_RxTail; - static volatile uint8_t UART_LastRxError; - #else - static volatile uint8_t UART_TxHead; - static volatile uint8_t UART_TxTail; - static volatile uint8_t UART_RxHead; - static volatile uint8_t UART_RxTail; - static volatile uint8_t UART_LastRxError; - #endif - - #endif -#endif - -#if defined(USART1_ENABLED) - #if defined(ATMEGA_USART1) - static volatile uint8_t UART1_TxBuf[UART_TX1_BUFFER_SIZE]; - static volatile uint8_t UART1_RxBuf[UART_RX1_BUFFER_SIZE]; - - #if defined(USART1_LARGE_BUFFER) - static volatile uint16_t UART1_TxHead; - static volatile uint16_t UART1_TxTail; - static volatile uint16_t UART1_RxHead; - static volatile uint16_t UART1_RxTail; - static volatile uint8_t UART1_LastRxError; - #else - static volatile uint8_t UART1_TxHead; - static volatile uint8_t UART1_TxTail; - static volatile uint8_t UART1_RxHead; - static volatile uint8_t UART1_RxTail; - static volatile uint8_t UART1_LastRxError; - #endif - #endif -#endif - -#if defined(USART2_ENABLED) - #if defined(ATMEGA_USART2) - static volatile uint8_t UART2_TxBuf[UART_TX2_BUFFER_SIZE]; - static volatile uint8_t UART2_RxBuf[UART_RX2_BUFFER_SIZE]; - - #if defined(USART2_LARGE_BUFFER) - static volatile uint16_t UART2_TxHead; - static volatile uint16_t UART2_TxTail; - static volatile uint16_t UART2_RxHead; - static volatile uint16_t UART2_RxTail; - static volatile uint8_t UART2_LastRxError; - #else - static volatile uint8_t UART2_TxHead; - static volatile uint8_t UART2_TxTail; - static volatile uint8_t UART2_RxHead; - static volatile uint8_t UART2_RxTail; - static volatile uint8_t UART2_LastRxError; - #endif - #endif -#endif - -#if defined(USART3_ENABLED) - #if defined(ATMEGA_USART3) - static volatile uint8_t UART3_TxBuf[UART_TX3_BUFFER_SIZE]; - static volatile uint8_t UART3_RxBuf[UART_RX3_BUFFER_SIZE]; - - #if defined(USART3_LARGE_BUFFER) - static volatile uint16_t UART3_TxHead; - static volatile uint16_t UART3_TxTail; - static volatile uint16_t UART3_RxHead; - static volatile uint16_t UART3_RxTail; - static volatile uint8_t UART3_LastRxError; - #else - static volatile uint8_t UART3_TxHead; - static volatile uint8_t UART3_TxTail; - static volatile uint8_t UART3_RxHead; - static volatile uint8_t UART3_RxTail; - static volatile uint8_t UART3_LastRxError; - #endif - - #endif -#endif - -#if defined(USART0_ENABLED) - -#if defined(AT90_UART) || defined(ATMEGA_USART) || defined(ATMEGA_USART0) - -ISR(UART0_RECEIVE_INTERRUPT) -/************************************************************************* -Function: UART Receive Complete interrupt -Purpose: called when the UART has received a character -**************************************************************************/ -{ - uint16_t tmphead; - uint8_t data; - uint8_t usr; - uint8_t lastRxError; - - /* read UART status register and UART data register */ - usr = UART0_STATUS; - data = UART0_DATA; - - /* */ -#if defined(AT90_UART) - lastRxError = (usr & (_BV(FE)|_BV(DOR))); -#elif defined(ATMEGA_USART) - lastRxError = (usr & (_BV(FE)|_BV(DOR))); -#elif defined(ATMEGA_USART0) - lastRxError = (usr & (_BV(FE0)|_BV(DOR0))); -#elif defined (ATMEGA_UART) - lastRxError = (usr & (_BV(FE)|_BV(DOR))); -#endif - - /* calculate buffer index */ - tmphead = (UART_RxHead + 1) & UART_RX0_BUFFER_MASK; - - if (tmphead == UART_RxTail) { - /* error: receive buffer overflow */ - lastRxError = UART_BUFFER_OVERFLOW >> 8; - } else { - /* store new index */ - UART_RxHead = tmphead; - /* store received data in buffer */ - UART_RxBuf[tmphead] = data; - } - UART_LastRxError = lastRxError; -} - - -ISR(UART0_TRANSMIT_INTERRUPT) -/************************************************************************* -Function: UART Data Register Empty interrupt -Purpose: called when the UART is ready to transmit the next byte -**************************************************************************/ -{ - uint16_t tmptail; - - if (UART_TxHead != UART_TxTail) { - /* calculate and store new buffer index */ - tmptail = (UART_TxTail + 1) & UART_TX0_BUFFER_MASK; - UART_TxTail = tmptail; - /* get one byte from buffer and write it to UART */ - UART0_DATA = UART_TxBuf[tmptail]; /* start transmission */ - } else { - /* tx buffer empty, disable UDRE interrupt */ - UART0_CONTROL &= ~_BV(UART0_UDRIE); - } -} - - -/************************************************************************* -Function: uart0_init() -Purpose: initialize UART and set baudrate -Input: baudrate using macro UART_BAUD_SELECT() -Returns: none -**************************************************************************/ -void uart0_init(uint16_t baudrate) -{ - ATOMIC_BLOCK(ATOMIC_FORCEON) { - UART_TxHead = 0; - UART_TxTail = 0; - UART_RxHead = 0; - UART_RxTail = 0; - } - -#if defined(AT90_UART) - /* set baud rate */ - UBRR = (uint8_t) baudrate; - - /* enable UART receiver and transmitter and receive complete interrupt */ - UART0_CONTROL = _BV(RXCIE)|_BV(RXEN)|_BV(TXEN); - -#elif defined (ATMEGA_USART) - /* Set baud rate */ - if (baudrate & 0x8000) { - UART0_STATUS = (1<>8); - UBRRL = (uint8_t) baudrate; - - /* Enable USART receiver and transmitter and receive complete interrupt */ - UART0_CONTROL = _BV(RXCIE)|(1<>8); - UBRR0L = (uint8_t) baudrate; - - /* Enable USART receiver and transmitter and receive complete interrupt */ - UART0_CONTROL = _BV(RXCIE0)|(1<>8); - UBRR = (uint8_t) baudrate; - - /* Enable UART receiver and transmitter and receive complete interrupt */ - UART0_CONTROL = _BV(RXCIE)|(1<> 8; - } else { - /* store new index */ - UART1_RxHead = tmphead; - /* store received data in buffer */ - UART1_RxBuf[tmphead] = data; - } - UART1_LastRxError = lastRxError; -} - - -ISR(UART1_TRANSMIT_INTERRUPT) -/************************************************************************* -Function: UART1 Data Register Empty interrupt -Purpose: called when the UART1 is ready to transmit the next byte -**************************************************************************/ -{ - uint16_t tmptail; - - if (UART1_TxHead != UART1_TxTail) { - /* calculate and store new buffer index */ - tmptail = (UART1_TxTail + 1) & UART_TX1_BUFFER_MASK; - UART1_TxTail = tmptail; - /* get one byte from buffer and write it to UART */ - UART1_DATA = UART1_TxBuf[tmptail]; /* start transmission */ - } else { - /* tx buffer empty, disable UDRE interrupt */ - UART1_CONTROL &= ~_BV(UART1_UDRIE); - } -} - - -/************************************************************************* -Function: uart1_init() -Purpose: initialize UART1 and set baudrate -Input: baudrate using macro UART_BAUD_SELECT() -Returns: none -**************************************************************************/ -void uart1_init(uint16_t baudrate) -{ - ATOMIC_BLOCK(ATOMIC_FORCEON) { - UART1_TxHead = 0; - UART1_TxTail = 0; - UART1_RxHead = 0; - UART1_RxTail = 0; - } - - /* Set baud rate */ - if (baudrate & 0x8000) { - UART1_STATUS = (1<>8); - UBRR1L = (uint8_t) baudrate; - - /* Enable USART receiver and transmitter and receive complete interrupt */ - UART1_CONTROL = _BV(RXCIE1)|(1<> 8; - } else { - /* store new index */ - UART2_RxHead = tmphead; - /* store received data in buffer */ - UART2_RxBuf[tmphead] = data; - } - UART2_LastRxError = lastRxError; -} - - -ISR(UART2_TRANSMIT_INTERRUPT) -/************************************************************************* -Function: UART2 Data Register Empty interrupt -Purpose: called when the UART2 is ready to transmit the next byte -**************************************************************************/ -{ - uint16_t tmptail; - - - if (UART2_TxHead != UART2_TxTail) { - /* calculate and store new buffer index */ - tmptail = (UART2_TxTail + 1) & UART_TX2_BUFFER_MASK; - UART2_TxTail = tmptail; - /* get one byte from buffer and write it to UART */ - UART2_DATA = UART2_TxBuf[tmptail]; /* start transmission */ - } else { - /* tx buffer empty, disable UDRE interrupt */ - UART2_CONTROL &= ~_BV(UART2_UDRIE); - } -} - - -/************************************************************************* -Function: uart2_init() -Purpose: initialize UART2 and set baudrate -Input: baudrate using macro UART_BAUD_SELECT() -Returns: none -**************************************************************************/ -void uart2_init(uint16_t baudrate) -{ - ATOMIC_BLOCK(ATOMIC_FORCEON) { - UART2_TxHead = 0; - UART2_TxTail = 0; - UART2_RxHead = 0; - UART2_RxTail = 0; - } - - /* Set baud rate */ - if (baudrate & 0x8000) { - UART2_STATUS = (1<>8); - UBRR2L = (uint8_t) baudrate; - - /* Enable USART receiver and transmitter and receive complete interrupt */ - UART2_CONTROL = _BV(RXCIE2)|(1<> 8; - } else { - /* store new index */ - UART3_RxHead = tmphead; - /* store received data in buffer */ - UART3_RxBuf[tmphead] = data; - } - UART3_LastRxError = lastRxError; -} - - -ISR(UART3_TRANSMIT_INTERRUPT) -/************************************************************************* -Function: UART3 Data Register Empty interrupt -Purpose: called when the UART3 is ready to transmit the next byte -**************************************************************************/ -{ - uint16_t tmptail; - - - if (UART3_TxHead != UART3_TxTail) { - /* calculate and store new buffer index */ - tmptail = (UART3_TxTail + 1) & UART_TX3_BUFFER_MASK; - UART3_TxTail = tmptail; - /* get one byte from buffer and write it to UART */ - UART3_DATA = UART3_TxBuf[tmptail]; /* start transmission */ - } else { - /* tx buffer empty, disable UDRE interrupt */ - UART3_CONTROL &= ~_BV(UART3_UDRIE); - } -} - - -/************************************************************************* -Function: uart3_init() -Purpose: initialize UART3 and set baudrate -Input: baudrate using macro UART_BAUD_SELECT() -Returns: none -**************************************************************************/ -void uart3_init(uint16_t baudrate) -{ - ATOMIC_BLOCK(ATOMIC_FORCEON) { - UART3_TxHead = 0; - UART3_TxTail = 0; - UART3_RxHead = 0; - UART3_RxTail = 0; - } - - /* Set baud rate */ - if (baudrate & 0x8000) { - UART3_STATUS = (1<>8); - UBRR3L = (uint8_t) baudrate; - - /* Enable USART receiver and transmitter and receive complete interrupt */ - UART3_CONTROL = _BV(RXCIE3)|(1< @endcode - * - * @brief Interrupt UART library using the built-in UART with transmit and receive circular buffers. - * @see README.md - * - * This library can be used to transmit and receive data through the built in UART. - * - * An interrupt is generated when the UART has finished transmitting or - * receiving a byte. The interrupt handling routines use circular buffers - * for buffering received and transmitted data. - * - * The UART_RXn_BUFFER_SIZE and UART_TXn_BUFFER_SIZE constants define - * the size of the circular buffers in bytes. Note that these constants must be a power of 2. - * - * You need to define these buffer sizes as a symbol in your compiler settings or in uart.h - * - * See README.md for more detailed information. Especially that relating to symbols: USARTn_ENABLED and USARTn_LARGE_BUFFER - * - * @author Andy Gock - * @note Based on Atmel Application Note AVR306 and original library by Peter Fleury and Tim Sharpe. - */ - -/**@{*/ -#include -#include - -#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304 -#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !" -#endif - -/* - * constants and macros - */ - -/* Enable USART 1, 2, 3 as required */ -/* Can be defined in compiler symbol setup with -D option (preferred) */ -#ifndef USART0_ENABLED - #define USART0_ENABLED /**< Enable USART0 */ -#endif -//#define USART1_ENABLED -//#define USART2_ENABLED -//#define USART3_ENABLED - -/* Set size of receive and transmit buffers */ - -#ifndef UART_RX0_BUFFER_SIZE - #define UART_RX0_BUFFER_SIZE 128 /**< Size of the circular receive buffer, must be power of 2 */ -#endif -#ifndef UART_RX1_BUFFER_SIZE - #define UART_RX1_BUFFER_SIZE 128 /**< Size of the circular receive buffer, must be power of 2 */ -#endif -#ifndef UART_RX2_BUFFER_SIZE - #define UART_RX2_BUFFER_SIZE 128 /**< Size of the circular receive buffer, must be power of 2 */ -#endif -#ifndef UART_RX3_BUFFER_SIZE - #define UART_RX3_BUFFER_SIZE 128 /**< Size of the circular receive buffer, must be power of 2 */ -#endif - -#ifndef UART_TX0_BUFFER_SIZE - #define UART_TX0_BUFFER_SIZE 128 /**< Size of the circular transmit buffer, must be power of 2 */ -#endif -#ifndef UART_TX1_BUFFER_SIZE - #define UART_TX1_BUFFER_SIZE 128 /**< Size of the circular transmit buffer, must be power of 2 */ -#endif -#ifndef UART_TX2_BUFFER_SIZE - #define UART_TX2_BUFFER_SIZE 128 /**< Size of the circular transmit buffer, must be power of 2 */ -#endif -#ifndef UART_TX3_BUFFER_SIZE - #define UART_TX3_BUFFER_SIZE 128 /**< Size of the circular transmit buffer, must be power of 2 */ -#endif - -/* Check buffer sizes are not too large for 8-bit positioning */ - -#if (UART_RX0_BUFFER_SIZE > 256 & !defined(USART0_LARGE_BUFFER)) - #error "Buffer too large, please use -DUSART0_LARGE_BUFFER switch in compiler options" -#endif - -#if (UART_RX1_BUFFER_SIZE > 256 & !defined(USART1_LARGE_BUFFER)) - #error "Buffer too large, please use -DUSART1_LARGE_BUFFER switch in compiler options" -#endif - -#if (UART_RX2_BUFFER_SIZE > 256 & !defined(USART2_LARGE_BUFFER)) - #error "Buffer too large, please use -DUSART2_LARGE_BUFFER switch in compiler options" -#endif - -#if (UART_RX3_BUFFER_SIZE > 256 & !defined(USART3_LARGE_BUFFER)) - #error "Buffer too large, please use -DUSART3_LARGE_BUFFER switch in compiler options" -#endif - -/* Check buffer sizes are not too large for *_LARGE_BUFFER operation (16-bit positioning) */ - -#if (UART_RX0_BUFFER_SIZE > 32768) - #error "Buffer too large, maximum allowed is 32768 bytes" -#endif - -#if (UART_RX1_BUFFER_SIZE > 32768) - #error "Buffer too large, maximum allowed is 32768 bytes" -#endif - -#if (UART_RX2_BUFFER_SIZE > 32768) - #error "Buffer too large, maximum allowed is 32768 bytes" -#endif - -#if (UART_RX3_BUFFER_SIZE > 32768) - #error "Buffer too large, maximum allowed is 32768 bytes" -#endif - -/** @brief UART Baudrate Expression - * @param xtalCpu system clock in Mhz, e.g. 4000000L for 4Mhz - * @param baudRate baudrate in bps, e.g. 1200, 2400, 9600 - */ -#define UART_BAUD_SELECT(baudRate,xtalCpu) (((xtalCpu)+8UL*(baudRate))/(16UL*(baudRate))-1UL) - -/** @brief UART Baudrate Expression for ATmega double speed mode - * @param xtalCpu system clock in Mhz, e.g. 4000000L for 4Mhz - * @param baudRate baudrate in bps, e.g. 1200, 2400, 9600 - */ -#define UART_BAUD_SELECT_DOUBLE_SPEED(baudRate,xtalCpu) ((((xtalCpu)+4UL*(baudRate))/(8UL*(baudRate))-1)|0x8000) - -/* test if the size of the circular buffers fits into SRAM */ - -#if defined(USART0_ENABLED) && ( (UART_RX0_BUFFER_SIZE+UART_TX0_BUFFER_SIZE) >= (RAMEND-0x60)) - #error "size of UART_RX0_BUFFER_SIZE + UART_TX0_BUFFER_SIZE larger than size of SRAM" -#endif - -#if defined(USART1_ENABLED) && ( (UART_RX1_BUFFER_SIZE+UART_TX1_BUFFER_SIZE) >= (RAMEND-0x60)) - #error "size of UART_RX1_BUFFER_SIZE + UART_TX1_BUFFER_SIZE larger than size of SRAM" -#endif - -#if defined(USART2_ENABLED) && ( (UART_RX2_BUFFER_SIZE+UART_RX2_BUFFER_SIZE) >= (RAMEND-0x60)) - #error "size of UART_RX2_BUFFER_SIZE + UART_TX2_BUFFER_SIZE larger than size of SRAM" -#endif - -#if defined(USART3_ENABLED) && ( (UART_RX3_BUFFER_SIZE+UART_RX3_BUFFER_SIZE) >= (RAMEND-0x60)) - #error "size of UART_RX3_BUFFER_SIZE + UART_TX3_BUFFER_SIZE larger than size of SRAM" -#endif - -/* -** high byte error return code of uart_getc() -*/ -#define UART_FRAME_ERROR 0x0800 /**< Framing Error by UART */ -#define UART_OVERRUN_ERROR 0x0400 /**< Overrun condition by UART */ -#define UART_BUFFER_OVERFLOW 0x0200 /**< receive ringbuffer overflow */ -#define UART_NO_DATA 0x0100 /**< no receive data available */ - -/* Macros, to allow use of legacy names */ - -/** @brief Macro to initialize USART0 (only available on selected ATmegas) @see uart0_init */ -#define uart_init(b) uart0_init(b) - -/** @brief Macro to get received byte of USART0 from ringbuffer. (only available on selected ATmega) @see uart0_getc */ -#define uart_getc() uart0_getc() - -/** @brief Macro to peek at next byte in USART0 ringbuffer */ -#define uart_peek() uart0_peek() - -/** @brief Macro to put byte to ringbuffer for transmitting via USART0 (only available on selected ATmega) @see uart0_putc */ -#define uart_putc(d) uart0_putc(d) - -/** @brief Macro to put string to ringbuffer for transmitting via USART0 (only available on selected ATmega) @see uart0_puts */ -#define uart_puts(s) uart0_puts(s) - -/** @brief Macro to put string from program memory to ringbuffer for transmitting via USART0 (only available on selected ATmega) @see uart0_puts_p */ -#define uart_puts_p(s) uart0_puts_p(s) - -/** @brief Macro to return number of bytes waiting in the receive buffer of USART0 @see uart0_available */ -#define uart_available() uart0_available() - -/** @brief Macro to flush bytes waiting in receive buffer of USART0 @see uart0_flush */ -#define uart_flush() uart0_flush() - -/* -** function prototypes -*/ - -/** - @brief Initialize UART and set baudrate - @param baudrate Specify baudrate using macro UART_BAUD_SELECT() - @return none -*/ -/*extern*/void uart0_init(uint16_t baudrate); - - -/** - * @brief Get received byte from ringbuffer - * - * Returns in the lower byte the received character and in the - * higher byte the last receive error. - * UART_NO_DATA is returned when no data is available. - * - * @return lower byte: received byte from ringbuffer - * @return higher byte: last receive status - * - \b 0 successfully received data from UART - * - \b UART_NO_DATA - *
no receive data available - * - \b UART_BUFFER_OVERFLOW - *
Receive ringbuffer overflow. - * We are not reading the receive buffer fast enough, - * one or more received character have been dropped - * - \b UART_OVERRUN_ERROR - *
Overrun condition by UART. - * A character already present in the UART UDR register was - * not read by the interrupt handler before the next character arrived, - * one or more received characters have been dropped. - * - \b UART_FRAME_ERROR - *
Framing Error by UART - */ -/*extern*/uint16_t uart0_getc(void); - -/** - * @brief Peek at next byte in ringbuffer - * - * Returns the next byte (character) of incoming UART data without removing it from the - * internal ring buffer. That is, successive calls to uartN_peek() will return the same - * character, as will the next call to uartN_getc(). - * - * UART_NO_DATA is returned when no data is available. - * - * @return lower byte: next byte in ringbuffer - * @return higher byte: last receive status - * - \b 0 successfully received data from UART - * - \b UART_NO_DATA - *
no receive data available - * - \b UART_BUFFER_OVERFLOW - *
Receive ringbuffer overflow. - * We are not reading the receive buffer fast enough, - * one or more received character have been dropped - * - \b UART_OVERRUN_ERROR - *
Overrun condition by UART. - * A character already present in the UART UDR register was - * not read by the interrupt handler before the next character arrived, - * one or more received characters have been dropped. - * - \b UART_FRAME_ERROR - *
Framing Error by UART - */ -/*extern*/uint16_t uart0_peek(void); - -/** - * @brief Put byte to ringbuffer for transmitting via UART - * @param data byte to be transmitted - * @return none - */ -/*extern*/void uart0_putc(uint8_t data); - - -/** - * @brief Put string to ringbuffer for transmitting via UART - * - * The string is buffered by the uart library in a circular buffer - * and one character at a time is transmitted to the UART using interrupts. - * Blocks if it can not write the whole string into the circular buffer. - * - * @param s string to be transmitted - * @return none - */ -/*extern*/void uart0_puts(const char *s); - - -/** - * @brief Put string from program memory to ringbuffer for transmitting via UART. - * - * The string is buffered by the uart library in a circular buffer - * and one character at a time is transmitted to the UART using interrupts. - * Blocks if it can not write the whole string into the circular buffer. - * - * @param s program memory string to be transmitted - * @return none - * @see uart0_puts_P - */ -/*extern*/void uart0_puts_p(const char *s); - -/** - * @brief Macro to automatically put a string constant into program memory - * \param __s string in program memory - */ -#define uart_puts_P(__s) uart0_puts_p(PSTR(__s)) - -/** @brief Macro to automatically put a string constant into program memory */ -#define uart0_puts_P(__s) uart0_puts_p(PSTR(__s)) - -/** - * @brief Return number of bytes waiting in the receive buffer - * @return bytes waiting in the receive buffer - */ -/*extern*/uint16_t uart0_available(void); - -/** - * @brief Flush bytes waiting in receive buffer - */ -/*extern*/void uart0_flush(void); - - -/** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ -/*extern*/void uart1_init(uint16_t baudrate); - -/** @brief Get received byte of USART1 from ringbuffer. (only available on selected ATmega) @see uart_getc */ -/*extern*/uint16_t uart1_getc(void); - -/** @brief Peek at next byte in USART1 ringbuffer */ -/*extern*/uint16_t uart1_peek(void); - -/** @brief Put byte to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_putc */ -/*extern*/void uart1_putc(uint8_t data); - -/** @brief Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts */ -/*extern*/void uart1_puts(const char *s); - -/** @brief Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts_p */ -/*extern*/void uart1_puts_p(const char *s); - -/** @brief Macro to automatically put a string constant into program memory of USART1 @see uart1_puts_p */ -#define uart1_puts_P(__s) uart1_puts_p(PSTR(__s)) - -/** @brief Return number of bytes waiting in the receive buffer of USART1 */ -/*extern*/uint16_t uart1_available(void); - -/** @brief Flush bytes waiting in receive buffer of USART1 */ -/*extern*/void uart1_flush(void); - - -/** @brief Initialize USART2 (only available on selected ATmegas) @see uart_init */ -/*extern*/void uart2_init(uint16_t baudrate); - -/** @brief Get received byte of USART2 from ringbuffer. (only available on selected ATmega) @see uart_getc */ -/*extern*/uint16_t uart2_getc(void); - -/** @brief Peek at next byte in USART2 ringbuffer */ -/*extern*/uint16_t uart2_peek(void); - -/** @brief Put byte to ringbuffer for transmitting via USART2 (only available on selected ATmega) @see uart_putc */ -/*extern*/void uart2_putc(uint8_t data); - -/** @brief Put string to ringbuffer for transmitting via USART2 (only available on selected ATmega) @see uart_puts */ -/*extern*/void uart2_puts(const char *s); - -/** @brief Put string from program memory to ringbuffer for transmitting via USART2 (only available on selected ATmega) @see uart_puts_p */ -/*extern*/void uart2_puts_p(const char *s); - -/** @brief Macro to automatically put a string constant into program memory of USART2 @see uart2_puts_p */ -#define uart2_puts_P(__s) uart2_puts_p(PSTR(__s)) - -/** @brief Return number of bytes waiting in the receive buffer of USART2 */ -/*extern*/uint16_t uart2_available(void); - -/** @brief Flush bytes waiting in receive buffer of USART2 */ -/*extern*/void uart2_flush(void); - - -/** @brief Initialize USART3 (only available on selected ATmegas) @see uart_init */ -/*extern*/void uart3_init(uint16_t baudrate); - -/** @brief Get received byte of USART3 from ringbuffer. (only available on selected ATmega) @see uart_getc */ -/*extern*/uint16_t uart3_getc(void); - -/** @brief Peek at next byte in USART3 ringbuffer */ -/*extern*/uint16_t uart3_peek(void); - -/** @brief Put byte to ringbuffer for transmitting via USART3 (only available on selected ATmega) @see uart_putc */ -/*extern*/void uart3_putc(uint8_t data); - -/** @brief Put string to ringbuffer for transmitting via USART3 (only available on selected ATmega) @see uart_puts */ -/*extern*/void uart3_puts(const char *s); - -/** @brief Put string from program memory to ringbuffer for transmitting via USART3 (only available on selected ATmega) @see uart_puts_p */ -/*extern*/void uart3_puts_p(const char *s); - -/** @brief Macro to automatically put a string constant into program memory of USART3 @see uart3_puts_p */ -#define uart3_puts_P(__s) uart3_puts_p(PSTR(__s)) - -/** @brief Return number of bytes waiting in the receive buffer of USART3 */ -/*extern*/uint16_t uart3_available(void); - -/** @brief Flush bytes waiting in receive buffer of USART3 */ -/*extern*/void uart3_flush(void); - -/**@}*/ - -#endif // UART_H - diff --git a/keyboards/black_hellebore/info.json b/keyboards/black_hellebore/info.json index 649bc63f238e..bc70e3eb984c 100644 --- a/keyboards/black_hellebore/info.json +++ b/keyboards/black_hellebore/info.json @@ -29,7 +29,7 @@ "vid": "0x3141" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, diff --git a/keyboards/blackplum/config.h b/keyboards/blackplum/config.h index ec4300c811da..5f360813239b 100644 --- a/keyboards/blackplum/config.h +++ b/keyboards/blackplum/config.h @@ -5,21 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -/* ws2812 RGB LED */ -#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 -#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 bc9786c09a60..ba93091bcc66 100644 --- a/keyboards/blackplum/info.json +++ b/keyboards/blackplum/info.json @@ -8,6 +8,25 @@ "pid": "0x4250", "device_version": "10.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "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 + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/blank_tehnologii/manibus/keymaps/samurai/config.h b/keyboards/blank_tehnologii/manibus/keymaps/samurai/config.h deleted file mode 100644 index 2644dc8d65f3..000000000000 --- a/keyboards/blank_tehnologii/manibus/keymaps/samurai/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 SamuraiKek - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -#define EE_HANDS -#define TAPPING_TERM 200 -#define MOUSEKEY_INTERVAL 16 -#define MOUSEKEY_MAX_SPEED 3 -#define MOUSEKEY_TIME_TO_MAX 30 -#define MOUSEKEY_WHEEL_MAX_SPEED 10 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 30 -// place overrides here diff --git a/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c b/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c deleted file mode 100644 index 5c2d29f197e8..000000000000 --- a/keyboards/blank_tehnologii/manibus/keymaps/samurai/keymap.c +++ /dev/null @@ -1,137 +0,0 @@ -/* Copyright 2021 SamuraiKek - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - - -enum custom_layers { - _QWERTY, - _LOWER, - _UPPER, - _MOUSE, - _MEDIA, -}; -#define MD_SPC MT(MOD_LSFT, KC_SPC) - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - UPPER, - MOUSE, - MEDIA -}; -/* - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, - L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, - - [_UNIVERSAL] = LAYOUT( - // ┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ) - -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( -// ┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - 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_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, -// ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - TG(MOUSE), KC_HOME, MO(UPPER),KC_RALT, KC_LCTL, MD_SPC, KC_LALT, KC_ENT, KC_BSPC, MO(LOWER), KC_DEL, KC_INS, KC_END, MO(MEDIA) -// └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ), - - [_LOWER] = 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_UP, KC_LBRC, KC_RBRC, KC_F12, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, KC_LCTL, KC_RCTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______ -// └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ), - - [_UPPER] = 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_NUM, KC_P7, KC_P8, KC_P9, _______, KC_F12, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ), - - [_MOUSE] = LAYOUT( -// ┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, KC_CAPS, KC_WH_U, KC_MS_U, _______, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, KC_NUM, KC_BTN3, KC_BTN2, KC_BTN1, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, KC_BTN3, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN2, _______, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______ -// └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ), - - [_MEDIA] = LAYOUT( -// ┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MNXT, _______, _______, -// ├────────┾────────┾────────┾────────┾────────┾────────┾────────┐ ┌────────┾────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ └────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────â”ī────────┘ - ) -}; - -//nano to manibus communcation -bool led_update_user(led_t state) { - if (state.caps_lock != layer_state_is(_MOUSE)) { - layer_invert(_MOUSE); - } - return true; -} diff --git a/keyboards/blank_tehnologii/manibus/keymaps/samurai/readme.md b/keyboards/blank_tehnologii/manibus/keymaps/samurai/readme.md deleted file mode 100644 index 5a5d0780486e..000000000000 --- a/keyboards/blank_tehnologii/manibus/keymaps/samurai/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -#Manibus Samurai Layout - -This is the personal layout of Alex Paulescu/SamuraiKek, the creator and maintainer of the board. - -This layout is the culmination of almost a year of using Manibus in various situations, offering a good balance between writing code, typing exercises and gaming. diff --git a/keyboards/blockboy/ac980mini/config.h b/keyboards/blockboy/ac980mini/config.h index 57ba70ec1105..b98cb7964fdb 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 c7541768246c..36d6fe5ba9e6 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 9b796dcece81..a93b381c85b3 100644 --- a/keyboards/blockey/config.h +++ b/keyboards/blockey/config.h @@ -17,21 +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 -#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 - /* 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/blockey/info.json b/keyboards/blockey/info.json index 044d1e9e1a48..2ed60f6e69ae 100644 --- a/keyboards/blockey/info.json +++ b/keyboards/blockey/info.json @@ -8,6 +8,22 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/blockey/keymaps/eucalyn/keymap.c b/keyboards/blockey/keymaps/eucalyn/keymap.c deleted file mode 100644 index 3a6d1fecd12b..000000000000 --- a/keyboards/blockey/keymaps/eucalyn/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2018 Eucalyn - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN, KC_M, KC_R, KC_D, KC_Y, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LCTL, KC_A, KC_O, KC_E, KC_I, KC_U, KC_G, KC_T, KC_K, KC_S, KC_N, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_B, KC_H, KC_J, KC_L, KC_SLSH, KC_UP, MO(1), - KC_ESC, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, _______, - _______, _______, _______, _______, _______, 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/blu/vimclutch/info.json b/keyboards/blu/vimclutch/info.json index bb9586b61f84..cbee78735cfb 100644 --- a/keyboards/blu/vimclutch/info.json +++ b/keyboards/blu/vimclutch/info.json @@ -11,8 +11,9 @@ "development_board": "promicro", "diode_direction": "ROW2COL", "matrix_pins": { - "cols": ["B3", "B2", "B6"], - "rows": ["B5"] + "direct": [ + ["B3", "B2", "B6"] + ] }, "layouts": { "LAYOUT": { diff --git a/keyboards/blu/vimclutch/keymaps/vc_i/keymap.c b/keyboards/blu/vimclutch/keymaps/vc_i/keymap.c deleted file mode 100644 index b42f2ca0f053..000000000000 --- a/keyboards/blu/vimclutch/keymaps/vc_i/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2023 Brandon 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 - -enum layer_names { - _VC, - _VIM -}; - -enum my_keycodes { - USER_CLUTCH = QK_USER -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_VC] = LAYOUT( - TO(_VC), TO(_VIM), KC_F13 - ), - - [_VIM] = LAYOUT( - TO(_VC), TO(_VIM), USER_CLUTCH - ) -}; - -/* Layer-specific lighting */ -layer_state_t layer_state_set_user(layer_state_t state) { - writePin(F4, !layer_state_cmp(state, _VC)); - writePin(F5, !layer_state_cmp(state, _VIM)); - return state; -}; - -/* Define vim-clutching */ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case USER_CLUTCH: - if (record->event.pressed) { - tap_code_delay(KC_ESC, 50); - tap_code_delay(KC_I, 50); - } else { - tap_code_delay(KC_ESC, 50); - } - break; - } - return true; -}; diff --git a/keyboards/blu/vimclutch/keymaps/vc_i/readme.md b/keyboards/blu/vimclutch/keymaps/vc_i/readme.md deleted file mode 100644 index 1c2506a06007..000000000000 --- a/keyboards/blu/vimclutch/keymaps/vc_i/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# "Traditionalist" keymap for the vim clutch - -The two enclosure tactile switches change between modes "voice chat" (default) and "vim clutch." - -The voice chat mode uses `F13` to activate or deactivate push-to-talk. - -The vim clutch uses the `ESC` and `i` keys to clutch into and out of vim. diff --git a/keyboards/blu/vimclutch/keymaps/vim_ai/keymap.c b/keyboards/blu/vimclutch/keymaps/vim_ai/keymap.c deleted file mode 100644 index 107ea4bfd1a6..000000000000 --- a/keyboards/blu/vimclutch/keymaps/vim_ai/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2021 John Mueller - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layer_names { - _VIMA, - _VIMI -}; - -enum my_keycodes { - CLUTCH_A = QK_USER, - CLUTCH_I -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_VIMA] = LAYOUT( - TO(_VIMA), TO(_VIMI), CLUTCH_A - ), - - [_VIMI] = LAYOUT( - TO(_VIMA), TO(_VIMI), CLUTCH_I - ) -}; - -/* Layer-specific lighting */ -layer_state_t layer_state_set_user(layer_state_t state) { - writePin(F4, !layer_state_cmp(state, _VIMA)); - writePin(F5, !layer_state_cmp(state, _VIMI)); - return state; -}; - -/* Define vim-clutching */ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case CLUTCH_A: - if (record->event.pressed) { - tap_code_delay(KC_ESC, 50); - tap_code_delay(KC_A, 50); - } else { - tap_code_delay(KC_ESC, 50); - } - break; - case CLUTCH_I: - if (record->event.pressed) { - tap_code_delay(KC_ESC, 50); - tap_code_delay(KC_I, 50); - } else { - tap_code_delay(KC_ESC, 50); - } - break; - } - return true; -}; diff --git a/keyboards/blu/vimclutch/keymaps/vim_ai/readme.md b/keyboards/blu/vimclutch/keymaps/vim_ai/readme.md deleted file mode 100644 index b1521819f9a6..000000000000 --- a/keyboards/blu/vimclutch/keymaps/vim_ai/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Hardcore AI keymap for the vim clutch - -The two enclosure tactile switches change between different ways of using the vim clutch. - -The first vim clutch mode uses the `ESC` and `a` keys to clutch into and out of vim. - -The second vim clutch mode uses the `ESC` and `i` keys to clutch into and out of vim. - -These different modes can be combined with shift when using vim to jump to the end or the beginning of a line. The first mode with `a` jumps to the end. The second mode with `i` jumps to the beginning. diff --git a/keyboards/blu/vimclutch/readme.md b/keyboards/blu/vimclutch/readme.md index bbc6b9826066..94ebc183332b 100644 --- a/keyboards/blu/vimclutch/readme.md +++ b/keyboards/blu/vimclutch/readme.md @@ -19,8 +19,6 @@ Here are some included keymaps and their modes to get you started: * vc_i: the same as default but using `i` instead of `a` * vim_ai: vim clutch only, selectable between `a` and `i` -Also includes a mode for single-keypress in case of "push to talk clutch" - Make example for this keyboard after setting up your development environment: make blu/vimclutch:default @@ -34,3 +32,7 @@ Flashing example for this keyboard: Reset button on the reverse side of the enclosure for initializing flashing. 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). + +## Hardware Revision Compatibility +This keyboard as-it-is in the QMK repository at the is only designed to work with Revision B (and possibly beyond!) + diff --git a/keyboards/bluebell/swoop/config.h b/keyboards/bluebell/swoop/config.h index c34ab85ecfd6..48d63003252a 100644 --- a/keyboards/bluebell/swoop/config.h +++ b/keyboards/bluebell/swoop/config.h @@ -22,17 +22,3 @@ #define OLED_DISPLAY_128X32 #define OLED_TIMEOUT 30000 #endif - -// RGB underglow and per key - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLED_NUM 36 - #define RGBLED_SPLIT \ - { 18, 18 } - #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 e319754f7854..52c859c1540d 100644 --- a/keyboards/bluebell/swoop/info.json +++ b/keyboards/bluebell/swoop/info.json @@ -12,7 +12,17 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 150 + "hue_steps": 10, + "led_count": 36, + "max_brightness": 150, + "sleep": true, + "split_count": [18, 18], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } }, "matrix_pins": { "cols": ["B1", "F7", "F6", "F5", "F4"], diff --git a/keyboards/bluebell/swoop/keymaps/kyek/config.h b/keyboards/bluebell/swoop/keymaps/kyek/config.h deleted file mode 100644 index 6b06855a5aa5..000000000000 --- a/keyboards/bluebell/swoop/keymaps/kyek/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2022 Duccio Breschi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 ONESHOT_TIMEOUT 1000 diff --git a/keyboards/bluebell/swoop/keymaps/kyek/keymap.c b/keyboards/bluebell/swoop/keymaps/kyek/keymap.c deleted file mode 100644 index 1901c24f272b..000000000000 --- a/keyboards/bluebell/swoop/keymaps/kyek/keymap.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright 2022 Duccio Breschi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_italian.h" - -enum layers { - _BASE = 0, - _SYM1, - _EXT, - _FNC, - _SYM2, - _ACC, - _SET, -}; - -// Combo Layers -enum combos { - ACC, - SET, -}; -const uint16_t PROGMEM accent_combo[] = {KC_SPC, MO(_SYM1), COMBO_END}; -const uint16_t PROGMEM settings_combo[] = {MO(_EXT), SFT_T(KC_SPC), COMBO_END}; -combo_t key_combos[] = { - [ACC] = COMBO(accent_combo, MO(_ACC)), - [SET] = COMBO(settings_combo, MO(_SET)), -}; -// ----- - -// Layer Aliases -#define SYM1 MO(_SYM1) -#define EXT MO(_EXT) -#define FNC MO(_FNC) -#define SYM2 MO(_SYM2) -// #define ACC MO(_ACC) -// #define SET MO(_SET) -// Oneshot Aliases -#define OS_CTL OSM(MOD_LCTL) -#define OS_ALT OSM(MOD_LALT) -#define OS_SFT OSM(MOD_LSFT) -#define OS_GUI OSM(MOD_LGUI) -#define OS_RALT OSM(MOD_RALT) -// Other Aliases -#define DEL_WORD LCTL(KC_BSPC) -#define UNDO LCTL(KC_Z) -#define COPY LCTL(KC_C) -#define CUT LCTL(KC_X) -#define PASTE LCTL(KC_V) -#define BACKTICK RALT(KC_MINS) -#define TILDE RALT(KC_EQL) -#define CEGR RSA(KC_E) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = LAYOUT_split_3x5_3( - IT_Q, IT_W, IT_E, IT_R, IT_T, IT_Y, IT_U, IT_I, IT_O, IT_P, - IT_A, IT_S, IT_D, IT_F, IT_G, IT_H, IT_J, IT_K, IT_L, IT_OGRV, - IT_Z, IT_X, IT_C, IT_V, IT_B, IT_N, IT_M, IT_COMM, IT_DOT, IT_UGRV, - XXXXXXX, EXT, SFT_T(KC_SPC), KC_SPC, SYM1, XXXXXXX -), -[_SYM1] = LAYOUT_split_3x5_3( - IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, IT_8, IT_9, IT_0, - IT_LABK, IT_PERC, IT_LPRN, IT_LCBR, IT_LBRC, IT_EQL, IT_QUES, IT_QUOT, IT_PLUS, IT_ASTR, - IT_RABK, IT_DLR, IT_RPRN, IT_RCBR, IT_RBRC, IT_AT, IT_EXLM, IT_DQUO, IT_MINS, IT_SLSH, - XXXXXXX, FNC, SYM2, _______, _______, XXXXXXX -), -[_EXT] = LAYOUT_split_3x5_3( - KC_ESC, _______, _______, _______, _______, KC_PAGE_UP, KC_HOME, KC_UP, KC_END, KC_CAPS, - OS_ALT, OS_GUI, OS_SFT, OS_CTL, OS_RALT, KC_PAGE_DOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DELETE, - UNDO, CUT, COPY, KC_TAB, PASTE, DEL_WORD, KC_BSPC, _______, _______, _______, - _______, _______, _______, KC_ENT, FNC, _______ -), -[_FNC] = LAYOUT_split_3x5_3( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - OS_ALT, OS_GUI, OS_SFT, OS_CTL, OS_RALT, KC_F11, KC_F12, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ -), -[_SYM2] = LAYOUT_split_3x5_3( - IT_CIRC, IT_UNDS, IT_PND, IT_EURO, IT_HASH, _______, _______, _______, _______, _______, - BACKTICK, TILDE, IT_BSLS, IT_PIPE, IT_AMPR, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ -), -[_ACC] = LAYOUT_split_3x5_3( - _______, _______, _______, CEGR, _______, _______, _______, _______, _______, _______, - IT_AGRV, IT_IGRV, IT_OGRV, IT_EGRV, IT_EACU, _______, _______, _______, _______, _______, - _______, _______, _______, IT_UGRV, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ -), -[_SET] = LAYOUT_split_3x5_3( - _______, _______, _______, RGB_RMOD, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, - _______, _______, _______, RGB_M_B, RGB_M_P, RGB_HUI, RGB_HUD, _______, _______, _______, - QK_BOOT, _______, _______, RGB_M_R, RGB_TOG, RGB_SAI, RGB_SAD, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______ -), -// [_TEMP] = LAYOUT_split_3x5_3( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______ -// ), -}; diff --git a/keyboards/bluebell/swoop/keymaps/kyek/rules.mk b/keyboards/bluebell/swoop/keymaps/kyek/rules.mk deleted file mode 100644 index 6b5678dd27c2..000000000000 --- a/keyboards/bluebell/swoop/keymaps/kyek/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, -# but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). -LTO_ENABLE = no - -# Audio control and System control -EXTRAKEY_ENABLE = no - -# ENCODER_ENABLE = no -# OLED_DRIVER_ENABLE = no -# WPM_ENABLE = no - -# Enable keyboard underlight functionality -RGBLIGHT_ENABLE = yes - -COMBO_ENABLE = yes diff --git a/keyboards/boardrun/bizarre/config.h b/keyboards/boardrun/bizarre/config.h index a367b59dd311..1b4e5a6d87e6 100644 --- a/keyboards/boardrun/bizarre/config.h +++ b/keyboards/boardrun/bizarre/config.h @@ -35,19 +35,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -// ws2812 options -#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 -#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 8c6253965be2..428ca3bac60b 100644 --- a/keyboards/boardrun/bizarre/info.json +++ b/keyboards/boardrun/bizarre/info.json @@ -9,6 +9,24 @@ "pid": "0x5339", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 15, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c b/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c deleted file mode 100644 index c0817ed7c0d7..000000000000 --- a/keyboards/boardrun/bizarre/keymaps/nopunin10did/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#define _FUNC MO(_FN) -#define _LSADEL LSA_T(KC_DEL) -#define _AGRHOM RALT_T(KC_HOME) -#define _CTLEND RCTL_T(KC_END) -#define _CTLALT LCTL(KC_LALT) -#define _LSNUBS LSFT_T(KC_NUBS) -#define _MINMIZ LGUI(KC_D) - -// Layer shorthand -enum layer_names { - _ZERO, - _FN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_ZERO] = LAYOUT_ansi( - KC_ESC, 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_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_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _LSADEL, KC_LGUI,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, - _FUNC, KC_LALT, KC_SPC, _AGRHOM, _CTLEND, KC_LEFT,KC_DOWN,KC_RGHT - ), - - - [_FN] = LAYOUT_ansi( - _MINMIZ, _______,_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - KC_CALC, _______, _______, _______,_______,QK_BOOT, _______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______, - KC_CAPS, _______, KC_SCRL,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______, - _LSNUBS, _______, _______,_______,_______,KC_PAUS,_______, KC_RGUI,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP, - _______, _CTLALT, KC_DEL, _______, _______, _______,KC_PGDN,_______ - ) -}; diff --git a/keyboards/boardrun/classic/config.h b/keyboards/boardrun/classic/config.h index a1d1a3a54411..1b4e5a6d87e6 100644 --- a/keyboards/boardrun/classic/config.h +++ b/keyboards/boardrun/classic/config.h @@ -35,19 +35,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -// ws2812 options -#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 -#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 8259afcdcc95..4518961b4ae3 100644 --- a/keyboards/boardrun/classic/info.json +++ b/keyboards/boardrun/classic/info.json @@ -9,6 +9,24 @@ "pid": "0x5338", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c b/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c deleted file mode 100644 index 102c3b2b427e..000000000000 --- a/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright 2020 codecoffeecode - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers { - _MAIN, - _LOWER, - _RAISE, -}; - -// Readability keycodes -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Layer _MAIN - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Caps | Alt | GUI |Layer1| Space |Layer2| Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_MAIN] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Layer _LOWER - * ,-----------------------------------------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | Vol- | Vol+ | Mute | Play | | | F11 | F12 | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Reset| | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_ortho_4x12( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, - _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, KC_F11, KC_F12, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Layer _RAISE - * ,-----------------------------------------------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_ortho_4x12( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json index 08fcffc024fb..b02c52886782 100644 --- a/keyboards/boardsource/beiwagon/info.json +++ b/keyboards/boardsource/beiwagon/info.json @@ -25,7 +25,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 16, "y": 38}, {"flags": 2, "x": 16, "y": 113}, diff --git a/keyboards/boardsource/equals/48/config.h b/keyboards/boardsource/equals/48/config.h new file mode 100644 index 000000000000..952fa269c6e7 --- /dev/null +++ b/keyboards/boardsource/equals/48/config.h @@ -0,0 +1,23 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + +#define RGB_MATRIX_LED_COUNT 58 + +#define AUDIO_PIN GP29 +#define AUDIO_PWM_DRIVER PWMD6 +#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +#define AUDIO_INIT_DELAY + +// SPI Configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN GP26 +#define SPI_MOSI_PIN GP27 + +// Display Configuration +#define OLED_CS_PIN GP25 +#define OLED_DC_PIN GP20 +#define OLED_RST_PIN GP28 diff --git a/keyboards/boardsource/equals/48/halconf.h b/keyboards/boardsource/equals/48/halconf.h new file mode 100644 index 000000000000..ec1c061eeca5 --- /dev/null +++ b/keyboards/boardsource/equals/48/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/boardsource/equals/48/info.json b/keyboards/boardsource/equals/48/info.json new file mode 100644 index 000000000000..63561f4c5979 --- /dev/null +++ b/keyboards/boardsource/equals/48/info.json @@ -0,0 +1,180 @@ +{ + "keyboard_name": "Equals 48", + "bootloader": "rp2040", + "processor": "RP2040", + "features": { + "audio":true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"], + "rows": ["GP12", "GP13", "GP16", "GP17"] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP21" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 150, + "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_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 + }, + "layout": [ + { "flags": 2, "x": 220, "y": 17 }, + { "flags": 2, "x": 172, "y": 17 }, + { "flags": 2, "x": 112, "y": 17 }, + { "flags": 2, "x": 50, "y": 17 }, + { "flags": 2, "x": 4, "y": 17 }, + { "flags": 2, "x": 4, "y": 56 }, + { "flags": 2, "x": 50, "y": 56 }, + { "flags": 2, "x": 112, "y": 56 }, + { "flags": 2, "x": 172, "y": 56 }, + { "flags": 2, "x": 220, "y": 56 }, + { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 }, + { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 }, + { "flags": 1, "matrix": [1, 0], "x": 0, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21 }, + { "flags": 4, "matrix": [1, 2], "x": 40, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21 }, + { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21 }, + { "flags": 4, "matrix": [1, 5], "x": 101, "y": 21 }, + { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21 }, + { "flags": 4, "matrix": [1, 7], "x": 142, "y": 21 }, + { "flags": 4, "matrix": [1, 8], "x": 162, "y": 21 }, + { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21 }, + { "flags": 4, "matrix": [1, 10], "x": 203, "y": 21 }, + { "flags": 1, "matrix": [1, 11], "x": 224, "y": 21 }, + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 }, + { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 }, + { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 }, + { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 }, + { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 }, + { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 }, + { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 }, + { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 }, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 }, + { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 }, + { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 }, + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 }, + { "flags": 1, "matrix": [3, 1], "x": 20, "y": 64 }, + { "flags": 1, "matrix": [3, 2], "x": 40, "y": 64 }, + { "flags": 1, "matrix": [3, 3], "x": 61, "y": 64 }, + { "flags": 1, "matrix": [3, 4], "x": 81, "y": 64 }, + { "flags": 4, "matrix": [3, 5], "x": 101, "y": 64 }, + { "flags": 1, "matrix": [3, 6], "x": 122, "y": 64 }, + { "flags": 1, "matrix": [3, 7], "x": 142, "y": 64 }, + { "flags": 1, "matrix": [3, 8], "x": 162, "y": 64 }, + { "flags": 1, "matrix": [3, 9], "x": 183, "y": 64 }, + { "flags": 1, "matrix": [3, 10], "x": 203, "y": 64 }, + { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 } + ] + }, + "community_layouts": ["ortho_4x12"], + "layouts": { + "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": [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": [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": [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 }, + { "matrix": [2, 11], "x": 11, "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": [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 }, + { "matrix": [3, 11], "x": 11, "y": 3 } + ] + } + } +} diff --git a/keyboards/boardsource/equals/48/keymaps/default/keymap.c b/keyboards/boardsource/equals/48/keymaps/default/keymap.c new file mode 100644 index 000000000000..92d83bb0e892 --- /dev/null +++ b/keyboards/boardsource/equals/48/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +// Copyright 2022 @boardsource +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_4x12( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) +}; diff --git a/keyboards/boardsource/equals/48/keymaps/via/keymap.c b/keyboards/boardsource/equals/48/keymaps/via/keymap.c new file mode 100644 index 000000000000..3c3427d12255 --- /dev/null +++ b/keyboards/boardsource/equals/48/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2022 @boardsource +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_4x12( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), + +}; diff --git a/keyboards/gray_studio/space65/keymaps/conor/rules.mk b/keyboards/boardsource/equals/48/keymaps/via/rules.mk similarity index 100% rename from keyboards/gray_studio/space65/keymaps/conor/rules.mk rename to keyboards/boardsource/equals/48/keymaps/via/rules.mk diff --git a/keyboards/boardsource/equals/48/mcuconf.h b/keyboards/boardsource/equals/48/mcuconf.h new file mode 100644 index 000000000000..e38c802c071a --- /dev/null +++ b/keyboards/boardsource/equals/48/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM6 +#define RP_PWM_USE_PWM6 TRUE + +#undef RP_SPI_USE_SPI1 +#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/boardsource/equals/48/rules.mk b/keyboards/boardsource/equals/48/rules.mk new file mode 100644 index 000000000000..4192b0c2e54d --- /dev/null +++ b/keyboards/boardsource/equals/48/rules.mk @@ -0,0 +1,3 @@ +AUDIO_DRIVER = pwm_hardware +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7735_spi diff --git a/keyboards/boardsource/equals/60/config.h b/keyboards/boardsource/equals/60/config.h new file mode 100644 index 000000000000..ee4bc6b1e850 --- /dev/null +++ b/keyboards/boardsource/equals/60/config.h @@ -0,0 +1,23 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + +#define RGB_MATRIX_LED_COUNT 70 + +#define AUDIO_PIN GP29 +#define AUDIO_PWM_DRIVER PWMD6 +#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +#define AUDIO_INIT_DELAY + +// SPI Configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN GP26 +#define SPI_MOSI_PIN GP27 + +// Display Configuration +#define OLED_CS_PIN GP25 +#define OLED_DC_PIN GP20 +#define OLED_RST_PIN GP28 diff --git a/keyboards/boardsource/equals/60/halconf.h b/keyboards/boardsource/equals/60/halconf.h new file mode 100644 index 000000000000..ec1c061eeca5 --- /dev/null +++ b/keyboards/boardsource/equals/60/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/boardsource/equals/60/info.json b/keyboards/boardsource/equals/60/info.json new file mode 100644 index 000000000000..355e434b4e5d --- /dev/null +++ b/keyboards/boardsource/equals/60/info.json @@ -0,0 +1,203 @@ +{ + "keyboard_name": "Equals 60", + "bootloader": "rp2040", + "processor": "RP2040", + "features": { + "audio":true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"], + "rows": ["GP12", "GP13", "GP16", "GP17", "GP18"] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP21" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 150, + "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_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 + }, + "layout": [ + { "flags": 2, "x": 220, "y": 17 }, + { "flags": 2, "x": 172, "y": 17 }, + { "flags": 2, "x": 112, "y": 17 }, + { "flags": 2, "x": 50, "y": 17 }, + { "flags": 2, "x": 4, "y": 17 }, + { "flags": 2, "x": 4, "y": 56 }, + { "flags": 2, "x": 50, "y": 56 }, + { "flags": 2, "x": 112, "y": 56 }, + { "flags": 2, "x": 172, "y": 56 }, + { "flags": 2, "x": 220, "y": 56 }, + { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 }, + { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 }, + { "flags": 1, "matrix": [1, 0], "x": 0, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21 }, + { "flags": 4, "matrix": [1, 2], "x": 40, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21 }, + { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21 }, + { "flags": 4, "matrix": [1, 5], "x": 101, "y": 21 }, + { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21 }, + { "flags": 4, "matrix": [1, 7], "x": 142, "y": 21 }, + { "flags": 4, "matrix": [1, 8], "x": 162, "y": 21 }, + { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21 }, + { "flags": 4, "matrix": [1, 10], "x": 203, "y": 21 }, + { "flags": 1, "matrix": [1, 11], "x": 224, "y": 21 }, + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 }, + { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 }, + { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 }, + { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 }, + { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 }, + { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 }, + { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 }, + { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 }, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 }, + { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 }, + { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 }, + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 }, + { "flags": 4, "matrix": [3, 1], "x": 20, "y": 64 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 64 }, + { "flags": 4, "matrix": [3, 3], "x": 61, "y": 64 }, + { "flags": 4, "matrix": [3, 4], "x": 81, "y": 64 }, + { "flags": 4, "matrix": [3, 5], "x": 101, "y": 64 }, + { "flags": 4, "matrix": [3, 6], "x": 122, "y": 64 }, + { "flags": 4, "matrix": [3, 7], "x": 142, "y": 64 }, + { "flags": 4, "matrix": [3, 8], "x": 162, "y": 64 }, + { "flags": 4, "matrix": [3, 9], "x": 183, "y": 64 }, + { "flags": 4, "matrix": [3, 10], "x": 203, "y": 64 }, + { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }, + { "flags": 1, "matrix": [4, 0], "x": 0, "y": 86 }, + { "flags": 1, "matrix": [4, 1], "x": 20, "y": 86 }, + { "flags": 1, "matrix": [4, 2], "x": 40, "y": 86 }, + { "flags": 1, "matrix": [4, 3], "x": 61, "y": 86 }, + { "flags": 1, "matrix": [4, 4], "x": 81, "y": 86 }, + { "flags": 4, "matrix": [4, 5], "x": 111, "y": 86 }, + { "flags": 1, "matrix": [4, 7], "x": 142, "y": 86 }, + { "flags": 1, "matrix": [4, 8], "x": 162, "y": 86 }, + { "flags": 1, "matrix": [4, 9], "x": 183, "y": 86 }, + { "flags": 1, "matrix": [4, 10], "x": 203, "y": 86 }, + { "flags": 1, "matrix": [4, 11], "x": 224, "y": 86 } + ] + }, + "community_layouts": ["ortho_5x12"], + "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": [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": [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": [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 }, + { "matrix": [2, 11], "x": 11, "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": [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 }, + { "matrix": [3, 11], "x": 11, "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": [4, 6], "x": 6, "y": 4 }, + { "matrix": [4, 7], "x": 7, "y": 4 }, + { "matrix": [4, 8], "x": 8, "y": 4 }, + { "matrix": [4, 9], "x": 9, "y": 4 }, + { "matrix": [4, 10], "x": 10, "y": 4 }, + { "matrix": [4, 11], "x": 11, "y": 4 } + ] + } + } +} diff --git a/keyboards/boardsource/equals/60/keymaps/default/keymap.c b/keyboards/boardsource/equals/60/keymaps/default/keymap.c new file mode 100644 index 000000000000..48e26a409474 --- /dev/null +++ b/keyboards/boardsource/equals/60/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_RGHT, RGB_MOD, RGB_TOG + ), + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_5x12( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) +}; diff --git a/keyboards/boardsource/equals/60/keymaps/via/keymap.c b/keyboards/boardsource/equals/60/keymaps/via/keymap.c new file mode 100644 index 000000000000..54528b8f600e --- /dev/null +++ b/keyboards/boardsource/equals/60/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_5x12( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) +}; diff --git a/keyboards/keychron/q4/ansi_v2/keymaps/via/rules.mk b/keyboards/boardsource/equals/60/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q4/ansi_v2/keymaps/via/rules.mk rename to keyboards/boardsource/equals/60/keymaps/via/rules.mk diff --git a/keyboards/boardsource/equals/60/mcuconf.h b/keyboards/boardsource/equals/60/mcuconf.h new file mode 100644 index 000000000000..e38c802c071a --- /dev/null +++ b/keyboards/boardsource/equals/60/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM6 +#define RP_PWM_USE_PWM6 TRUE + +#undef RP_SPI_USE_SPI1 +#define RP_SPI_USE_SPI1 TRUE diff --git a/keyboards/boardsource/equals/60/rules.mk b/keyboards/boardsource/equals/60/rules.mk new file mode 100644 index 000000000000..4192b0c2e54d --- /dev/null +++ b/keyboards/boardsource/equals/60/rules.mk @@ -0,0 +1,3 @@ +AUDIO_DRIVER = pwm_hardware +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7735_spi diff --git a/keyboards/boardsource/equals/avr/config.h b/keyboards/boardsource/equals/avr/config.h new file mode 100644 index 000000000000..68754cbe528d --- /dev/null +++ b/keyboards/boardsource/equals/avr/config.h @@ -0,0 +1,4 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#define RGB_MATRIX_LED_COUNT 70 diff --git a/keyboards/boardsource/equals/avr/info.json b/keyboards/boardsource/equals/avr/info.json new file mode 100644 index 000000000000..bbade34e6383 --- /dev/null +++ b/keyboards/boardsource/equals/avr/info.json @@ -0,0 +1,202 @@ +{ + "keyboard_name": "Equals kit", + + "build": { + "lto": true + }, + "development_board": "promicro", + "matrix_pins": { + "cols": ["F4","F5","F6","F7","B1","B3","B2","B6","B5","B4","E6","D7"], + "rows": ["D3","D2","D1","D0","D4"] + }, + "ws2812": { + "pin": "C6" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 150, + "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_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 + }, + "layout": [ + { "flags": 2, "x": 220, "y": 17 }, + { "flags": 2, "x": 172, "y": 17 }, + { "flags": 2, "x": 112, "y": 17 }, + { "flags": 2, "x": 50, "y": 17 }, + { "flags": 2, "x": 4, "y": 17 }, + { "flags": 2, "x": 4, "y": 56 }, + { "flags": 2, "x": 50, "y": 56 }, + { "flags": 2, "x": 112, "y": 56 }, + { "flags": 2, "x": 172, "y": 56 }, + { "flags": 2, "x": 220, "y": 56 }, + { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 }, + { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 }, + { "flags": 1, "matrix": [1, 0], "x": 0, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21 }, + { "flags": 4, "matrix": [1, 2], "x": 40, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21 }, + { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21 }, + { "flags": 4, "matrix": [1, 5], "x": 101, "y": 21 }, + { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21 }, + { "flags": 4, "matrix": [1, 7], "x": 142, "y": 21 }, + { "flags": 4, "matrix": [1, 8], "x": 162, "y": 21 }, + { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21 }, + { "flags": 4, "matrix": [1, 10], "x": 203, "y": 21 }, + { "flags": 1, "matrix": [1, 11], "x": 224, "y": 21 }, + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 }, + { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 }, + { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 }, + { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 }, + { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 }, + { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 }, + { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 }, + { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 }, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 }, + { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 }, + { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 }, + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 }, + { "flags": 4, "matrix": [3, 1], "x": 20, "y": 64 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 64 }, + { "flags": 4, "matrix": [3, 3], "x": 61, "y": 64 }, + { "flags": 4, "matrix": [3, 4], "x": 81, "y": 64 }, + { "flags": 4, "matrix": [3, 5], "x": 101, "y": 64 }, + { "flags": 4, "matrix": [3, 6], "x": 122, "y": 64 }, + { "flags": 4, "matrix": [3, 7], "x": 142, "y": 64 }, + { "flags": 4, "matrix": [3, 8], "x": 162, "y": 64 }, + { "flags": 4, "matrix": [3, 9], "x": 183, "y": 64 }, + { "flags": 4, "matrix": [3, 10], "x": 203, "y": 64 }, + { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }, + { "flags": 1, "matrix": [4, 0], "x": 0, "y": 86 }, + { "flags": 1, "matrix": [4, 1], "x": 20, "y": 86 }, + { "flags": 1, "matrix": [4, 2], "x": 40, "y": 86 }, + { "flags": 1, "matrix": [4, 3], "x": 61, "y": 86 }, + { "flags": 1, "matrix": [4, 4], "x": 81, "y": 86 }, + { "flags": 4, "matrix": [4, 5], "x": 111, "y": 86 }, + { "flags": 1, "matrix": [4, 7], "x": 142, "y": 86 }, + { "flags": 1, "matrix": [4, 8], "x": 162, "y": 86 }, + { "flags": 1, "matrix": [4, 9], "x": 183, "y": 86 }, + { "flags": 1, "matrix": [4, 10], "x": 203, "y": 86 }, + { "flags": 1, "matrix": [4, 11], "x": 224, "y": 86 } + ] + }, + "community_layouts": ["ortho_5x12"], + "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": [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": [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": [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 }, + { "matrix": [2, 11], "x": 11, "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": [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 }, + { "matrix": [3, 11], "x": 11, "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": [4, 6], "x": 6, "y": 4 }, + { "matrix": [4, 7], "x": 7, "y": 4 }, + { "matrix": [4, 8], "x": 8, "y": 4 }, + { "matrix": [4, 9], "x": 9, "y": 4 }, + { "matrix": [4, 10], "x": 10, "y": 4 }, + { "matrix": [4, 11], "x": 11, "y": 4 } + ] + } + } +} diff --git a/keyboards/boardsource/equals/avr/keymaps/default/keymap.c b/keyboards/boardsource/equals/avr/keymaps/default/keymap.c new file mode 100644 index 000000000000..99a049214b14 --- /dev/null +++ b/keyboards/boardsource/equals/avr/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, CK_TOGG, RGB_MOD, RGB_TOG + ), + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_5x12( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) +}; diff --git a/keyboards/boardsource/equals/avr/keymaps/via/keymap.c b/keyboards/boardsource/equals/avr/keymaps/via/keymap.c new file mode 100644 index 000000000000..54528b8f600e --- /dev/null +++ b/keyboards/boardsource/equals/avr/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, + _RAISE, + _LOWER +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_LOWER] = LAYOUT_ortho_5x12( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) +}; diff --git a/keyboards/mino_plus/keymaps/via/rules.mk b/keyboards/boardsource/equals/avr/keymaps/via/rules.mk similarity index 100% rename from keyboards/mino_plus/keymaps/via/rules.mk rename to keyboards/boardsource/equals/avr/keymaps/via/rules.mk diff --git a/keyboards/boardsource/equals/equals.c b/keyboards/boardsource/equals/equals.c new file mode 100644 index 000000000000..8eb933e70d21 --- /dev/null +++ b/keyboards/boardsource/equals/equals.c @@ -0,0 +1,18 @@ +// Copyright 2023 @boardsource +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" +__attribute__((weak)) void ui_init(void) {}; +__attribute__((weak)) void ui_task(void) {}; + +#ifdef QUANTUM_PAINTER_ENABLE +void keyboard_post_init_kb(void) { + // Init the display + ui_init(); + keyboard_post_init_user(); +} + +void housekeeping_task_kb(void) { + // Draw the display + ui_task(); +} +#endif //QUANTUM_PAINTER_ENABLE diff --git a/keyboards/boardsource/equals/graphics/thintel15.qff.c b/keyboards/boardsource/equals/graphics/thintel15.qff.c new file mode 100644 index 000000000000..c361ad5346eb --- /dev/null +++ b/keyboards/boardsource/equals/graphics/thintel15.qff.c @@ -0,0 +1,69 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include + +// clang-format off +const uint8_t font_thintel15[966] = { + 0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0xC6, 0x03, 0x00, 0x00, 0x39, 0xFC, 0xFF, + 0xFF, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x02, 0x00, + 0x00, 0xC2, 0x00, 0x00, 0x84, 0x01, 0x00, 0x06, 0x03, 0x00, 0x46, 0x05, 0x00, 0x88, 0x07, 0x00, + 0x46, 0x0A, 0x00, 0x82, 0x0C, 0x00, 0x43, 0x0D, 0x00, 0x83, 0x0E, 0x00, 0xC4, 0x0F, 0x00, 0x46, + 0x11, 0x00, 0x83, 0x13, 0x00, 0xC5, 0x14, 0x00, 0x82, 0x16, 0x00, 0x44, 0x17, 0x00, 0xC5, 0x18, + 0x00, 0x84, 0x1A, 0x00, 0x05, 0x1C, 0x00, 0xC5, 0x1D, 0x00, 0x85, 0x1F, 0x00, 0x45, 0x21, 0x00, + 0x05, 0x23, 0x00, 0xC5, 0x24, 0x00, 0x85, 0x26, 0x00, 0x45, 0x28, 0x00, 0x02, 0x2A, 0x00, 0xC3, + 0x2A, 0x00, 0x05, 0x2C, 0x00, 0xC5, 0x2D, 0x00, 0x85, 0x2F, 0x00, 0x45, 0x31, 0x00, 0x08, 0x33, + 0x00, 0xC5, 0x35, 0x00, 0x85, 0x37, 0x00, 0x45, 0x39, 0x00, 0x05, 0x3B, 0x00, 0xC4, 0x3C, 0x00, + 0x44, 0x3E, 0x00, 0xC5, 0x3F, 0x00, 0x85, 0x41, 0x00, 0x44, 0x43, 0x00, 0xC5, 0x44, 0x00, 0x85, + 0x46, 0x00, 0x44, 0x48, 0x00, 0xC6, 0x49, 0x00, 0x06, 0x4C, 0x00, 0x45, 0x4E, 0x00, 0x05, 0x50, + 0x00, 0xC5, 0x51, 0x00, 0x85, 0x53, 0x00, 0x45, 0x55, 0x00, 0x06, 0x57, 0x00, 0x45, 0x59, 0x00, + 0x06, 0x5B, 0x00, 0x46, 0x5D, 0x00, 0x86, 0x5F, 0x00, 0xC6, 0x61, 0x00, 0x06, 0x64, 0x00, 0x44, + 0x66, 0x00, 0xC4, 0x67, 0x00, 0x44, 0x69, 0x00, 0xC6, 0x6A, 0x00, 0x05, 0x6D, 0x00, 0xC3, 0x6E, + 0x00, 0x05, 0x70, 0x00, 0xC5, 0x71, 0x00, 0x84, 0x73, 0x00, 0x05, 0x75, 0x00, 0xC5, 0x76, 0x00, + 0x84, 0x78, 0x00, 0x05, 0x7A, 0x00, 0xC5, 0x7B, 0x00, 0x82, 0x7D, 0x00, 0x43, 0x7E, 0x00, 0x85, + 0x7F, 0x00, 0x42, 0x81, 0x00, 0x06, 0x82, 0x00, 0x45, 0x84, 0x00, 0x05, 0x86, 0x00, 0xC5, 0x87, + 0x00, 0x85, 0x89, 0x00, 0x44, 0x8B, 0x00, 0xC5, 0x8C, 0x00, 0x83, 0x8E, 0x00, 0xC5, 0x8F, 0x00, + 0x86, 0x91, 0x00, 0xC6, 0x93, 0x00, 0x06, 0x96, 0x00, 0x45, 0x98, 0x00, 0x04, 0x9A, 0x00, 0x85, + 0x9B, 0x00, 0x42, 0x9D, 0x00, 0x05, 0x9E, 0x00, 0xC5, 0x9F, 0x00, 0x04, 0xFB, 0x86, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x54, 0x45, 0x00, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0xFD, 0xD2, + 0xAF, 0x28, 0x00, 0x00, 0x00, 0x84, 0x53, 0x15, 0x0E, 0x55, 0x39, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x15, 0x0A, 0x28, 0x54, 0x24, 0x00, 0x00, 0x00, 0x80, 0x50, 0x14, 0x52, 0x95, 0x58, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x4A, 0x92, 0x24, 0x02, 0x00, 0x91, 0x24, 0x49, 0x01, 0x00, 0x20, + 0x27, 0x05, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x1F, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x0A, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x24, 0x22, + 0x11, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x32, 0x00, 0x00, 0x20, 0x23, 0x22, 0x72, 0x00, 0x00, + 0xC0, 0x24, 0x44, 0x44, 0x78, 0x00, 0x00, 0xC0, 0x24, 0x44, 0x50, 0x32, 0x00, 0x00, 0x80, 0x29, + 0x95, 0x1E, 0x42, 0x00, 0x00, 0xE0, 0x85, 0x83, 0x50, 0x32, 0x00, 0x00, 0xC0, 0xA4, 0x70, 0x52, + 0x32, 0x00, 0x00, 0xE0, 0x21, 0x42, 0x84, 0x10, 0x00, 0x00, 0xC0, 0xA4, 0x64, 0x52, 0x32, 0x00, + 0x00, 0xC0, 0xA4, 0xE4, 0x50, 0x32, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x30, 0x60, 0x0A, 0x00, + 0x00, 0x11, 0x11, 0x04, 0x41, 0x00, 0x00, 0x00, 0x80, 0x07, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x08, + 0x82, 0x88, 0x08, 0x00, 0x00, 0xC0, 0x24, 0x64, 0x04, 0x10, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x59, + 0x55, 0x2D, 0x02, 0x1C, 0x00, 0x00, 0x00, 0xC0, 0xA4, 0xF4, 0x52, 0x4A, 0x00, 0x00, 0xE0, 0xA4, + 0x74, 0x52, 0x3A, 0x00, 0x00, 0xC0, 0xA4, 0x10, 0x42, 0x32, 0x00, 0x00, 0xE0, 0xA4, 0x94, 0x52, + 0x3A, 0x00, 0x00, 0x70, 0x11, 0x17, 0x71, 0x00, 0x00, 0x70, 0x11, 0x17, 0x11, 0x00, 0x00, 0xC0, + 0xA4, 0xD0, 0x52, 0x32, 0x00, 0x00, 0x20, 0xA5, 0xF4, 0x52, 0x4A, 0x00, 0x00, 0x70, 0x22, 0x22, + 0x72, 0x00, 0x00, 0xC0, 0x21, 0x84, 0x50, 0x32, 0x00, 0x00, 0x20, 0xA5, 0x32, 0x4A, 0x4A, 0x00, + 0x00, 0x10, 0x11, 0x11, 0x71, 0x00, 0x00, 0x40, 0xB4, 0x55, 0x51, 0x14, 0x45, 0x00, 0x00, 0x00, + 0x40, 0x34, 0x55, 0x59, 0x14, 0x45, 0x00, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x32, 0x00, 0x00, + 0xE0, 0xA4, 0x74, 0x42, 0x08, 0x00, 0x00, 0xC0, 0xA4, 0x94, 0x52, 0x51, 0x00, 0x00, 0xE0, 0xA4, + 0x74, 0x52, 0x4A, 0x00, 0x00, 0xC0, 0xA4, 0x60, 0x50, 0x32, 0x00, 0x00, 0xC0, 0x47, 0x10, 0x04, + 0x41, 0x10, 0x00, 0x00, 0x00, 0x20, 0xA5, 0x94, 0x52, 0x32, 0x00, 0x00, 0x40, 0x14, 0x45, 0x51, + 0xA4, 0x10, 0x00, 0x00, 0x00, 0x40, 0x14, 0x45, 0x51, 0xB5, 0x45, 0x00, 0x00, 0x00, 0x40, 0x14, + 0x29, 0x84, 0x12, 0x45, 0x00, 0x00, 0x00, 0x40, 0x14, 0x45, 0x0E, 0x41, 0x10, 0x00, 0x00, 0x00, + 0xC0, 0x07, 0x21, 0x84, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x17, 0x11, 0x11, 0x11, 0x07, 0x00, 0x10, + 0x21, 0x22, 0x44, 0x00, 0x00, 0x47, 0x44, 0x44, 0x44, 0x07, 0x00, 0x84, 0x12, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x93, 0x5C, 0x72, 0x00, 0x00, 0x20, 0x84, 0x93, 0x52, 0x3A, 0x00, 0x00, 0x00, 0x60, + 0x11, 0x61, 0x00, 0x00, 0x00, 0x21, 0x97, 0x52, 0x72, 0x00, 0x00, 0x00, 0x00, 0x93, 0x5E, 0x70, + 0x00, 0x00, 0x60, 0x11, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x97, 0x52, 0x72, 0x28, 0x19, 0x20, + 0x84, 0x93, 0x52, 0x4A, 0x00, 0x00, 0x10, 0x55, 0x00, 0x80, 0x20, 0x49, 0x0A, 0x00, 0x20, 0x84, + 0x94, 0x4E, 0x4A, 0x00, 0x00, 0x54, 0x55, 0x00, 0x00, 0x00, 0x2C, 0x55, 0x55, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x93, 0x52, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x93, 0x52, 0x32, 0x00, 0x00, 0x00, + 0x80, 0x93, 0x52, 0x3A, 0x21, 0x00, 0x00, 0x00, 0x97, 0x52, 0x72, 0x08, 0x01, 0x00, 0x50, 0x13, + 0x11, 0x00, 0x00, 0x00, 0x00, 0x17, 0x0C, 0x3A, 0x00, 0x00, 0x48, 0x96, 0x44, 0x00, 0x00, 0x00, + 0x80, 0x94, 0x52, 0x72, 0x00, 0x00, 0x00, 0x00, 0x44, 0x51, 0xA4, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x51, 0x54, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x0A, 0xA1, 0x44, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x94, 0x52, 0x72, 0x28, 0x19, 0x00, 0x70, 0x24, 0x71, 0x00, 0x00, 0x4C, 0x08, + 0x11, 0x84, 0x10, 0x0C, 0x00, 0x55, 0x55, 0x01, 0x83, 0x10, 0x82, 0x08, 0x21, 0x03, 0x00, 0x00, + 0x00, 0xB0, 0x1A, 0x00, 0x00, 0x00, +}; +// clang-format on diff --git a/keyboards/boardsource/equals/info.json b/keyboards/boardsource/equals/info.json new file mode 100644 index 000000000000..bed8ec2640c5 --- /dev/null +++ b/keyboards/boardsource/equals/info.json @@ -0,0 +1,21 @@ +{ + "manufacturer": "Boardsource", + "maintainer": "Boardsource", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x7688", + "vid": "0x4273" + } + +} diff --git a/keyboards/boardsource/equals/readme.md b/keyboards/boardsource/equals/readme.md new file mode 100644 index 000000000000..9c5d48f5c297 --- /dev/null +++ b/keyboards/boardsource/equals/readme.md @@ -0,0 +1,33 @@ +# equals + +![equals](https://i.imgur.com/c3adFqsh.jpeg) + +* Keyboard Maintainer: [Cole Smith](https://github.com/boardsource) +* Hardware Supported: Equals PCB w/ RP2040 +* Hardware Availability: [boardsource](https://boardsource.xyz) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/equals/48:default + make boardsource/equals/60:default + make boardsource/equals/avr:default + +Flashing example for this keyboard: + + make boardsource/equals/48:default:flash + make boardsource/equals/60:default:flash + make boardsource/equals/avr:default:flash + +Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro. + + +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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/boardsource/equals/ui.c b/keyboards/boardsource/equals/ui.c new file mode 100644 index 000000000000..f953fc4c8896 --- /dev/null +++ b/keyboards/boardsource/equals/ui.c @@ -0,0 +1,40 @@ +// Copyright 2023 Cole Smith (@boardsource) +// SPDX-License-Identifier: GPL-2.0-or-later +#include +#include "qp.h" +#include "qp_st7735.h" +#include "graphics/thintel15.qff.c" + +static painter_device_t oled; +static painter_font_handle_t font; + +__attribute__((weak)) void ui_init(void) { + oled = qp_st7735_make_spi_device(128, 160, OLED_CS_PIN, OLED_DC_PIN, OLED_RST_PIN, 8, 0); + font = qp_load_font_mem(font_thintel15); + qp_init(oled, QP_ROTATION_0); + qp_rect(oled, 0, 0, 130, 162, 0, 0, 0, true); + qp_rect(oled, 20, 20, 108, 60, 55, 55, 55, true); + qp_rect(oled, 20, 80, 108, 120, 55, 55, 55, true); + qp_flush(oled); +} + +__attribute__((weak)) void ui_task(void) { + static const char *text = "Layer:"; + int16_t width = qp_textwidth(font, text); + qp_drawtext(oled, 20, 140, font, text); + + switch (get_highest_layer(layer_state)) { + case 0: + qp_drawtext(oled, (20 + width), 140, font, "QWERTY"); + break; + case 1: + qp_drawtext(oled, (20 + width), 140, font, "SYMBOL"); + break; + case 2: + qp_drawtext(oled, (20 + width), 140, font, "NUMBER"); + break; + default: + qp_drawtext(oled, (20 + width), 140, font, "_PANIC_"); + break; + } +} diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c deleted file mode 100644 index 0afc1368544d..000000000000 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright 2022 boardsource - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_2x3( - RGB_TOG, KC_VOLU, KC_F2, - RGB_MOD, KC_VOLD, KC_F1 - ) -}; -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -static void render_RIP(void) { - static const char PROGMEM my_logo[] = { - 0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82, - 0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0, - 0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10, - 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98, - 0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00, - 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, - 0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f, - 0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18, - 0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10, - 0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e, - 0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, - 0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18, - 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30, - 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18, - 0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0, - 0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, - 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, - 0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82, - 0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0, - 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc, - 0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70, - 0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00, - 0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(my_logo, sizeof(my_logo)); -} - -bool oled_task_user(void) { - render_RIP(); - return false; -} -#endif diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk deleted file mode 100644 index d34d066ded93..000000000000 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c deleted file mode 100644 index 1ddad75827d2..000000000000 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2022 boardsource - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_2x3( - RGB_TOG, KC_1, KC_2, - RGB_MOD, KC_3,KC_4 - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -static void render_RIP(void) { - static const char PROGMEM my_logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04, - 0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00, - 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00, - 0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02, - 0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08, - 0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0, - 0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00, - 0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00, - 0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, - 0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00, - 0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0, - 0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c, - 0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 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, 0x10, - 0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00, - 0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03, - 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c, - 0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 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 - }; - oled_write_raw_P(my_logo, sizeof(my_logo)); -} - -bool oled_task_user(void) { - render_RIP(); - return false; -} -#endif diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk deleted file mode 100644 index d34d066ded93..000000000000 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json index 8272c1630084..f0eb661d7b9a 100644 --- a/keyboards/boardsource/lulu/info.json +++ b/keyboards/boardsource/lulu/info.json @@ -22,7 +22,7 @@ "enabled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [35, 35], "max_brightness": 150, "animations": { diff --git a/keyboards/boardsource/lulu/keymaps/davidrambo/config.h b/keyboards/boardsource/lulu/keymaps/davidrambo/config.h deleted file mode 100644 index 7dea913a0f3a..000000000000 --- a/keyboards/boardsource/lulu/keymaps/davidrambo/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2022 Cole Smith - * Copyright 2022 David Rambo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define MASTER_RIGHT -#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD -#define CAPS_WORD_IDLE_TIMEOUT 3000 // 3 seconds. - -#define TAPPING_TERM 210 -/*#define PERMISSIVE_HOLD*/ -#define TAPPING_FORCE_HOLD - -#ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -#endif diff --git a/keyboards/boardsource/lulu/keymaps/davidrambo/keymap.c b/keyboards/boardsource/lulu/keymaps/davidrambo/keymap.c deleted file mode 100644 index 8e5b56b943d9..000000000000 --- a/keyboards/boardsource/lulu/keymaps/davidrambo/keymap.c +++ /dev/null @@ -1,201 +0,0 @@ -/* Copyright 2022 Cole Smith - * Copyright 2022 David Rambo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - _COLEMAK, - _GAME, - _SYMBOL, - _NAVIGATION, - _FKEYS, -}; - -//keycode shorthands -#define SYM MO(2) -#define NAV LT(3, KC_ESC) -#define FKEY MO(4) - -//aliases for clarity in layering -#define SftEnt SFT_T(KC_ENT) // Shift when held, Enter when tapped -#define BSCTL LCTL_T(KC_BSPC) // Ctrl when held, Backspace when tapped - -//aliases for clarity in layering -#define C_TAB LCTL(KC_TAB) -#define A_TAB LALT(KC_TAB) -#define G_TAB LGUI(KC_TAB) // Mac: switch applications - -#define CBSPC LCTL(KC_BSPC) // delete whole word -#define G_LEFT LGUI(KC_LEFT) -#define G_RGHT LGUI(KC_RGHT) -#define CRGHT LCTL(KC_RGHT) -#define CLEFT LCTL(KC_LEFT) - -// Left-hand home row mods -#define HOME_A LALT_T(KC_A) -#define HOME_R LGUI_T(KC_R) -#define HOME_S LSFT_T(KC_S) -#define HOME_T LCTL_T(KC_T) - -// Right-hand home row mods -#define HOME_N RCTL_T(KC_N) -#define HOME_E RSFT_T(KC_E) -#define HOME_I LGUI_T(KC_I) -#define HOME_O LALT_T(KC_O) - -//internet browser tab shortcuts and window swapping -#define CTLPGDN LCTL(KC_PGDN) -#define CTLPGUP LCTL(KC_PGUP) - -#define G_GRV LGUI(KC_GRV) -#define SftEnt SFT_T(KC_ENT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY - * ,-----------------------------------------. ,-----------------------------------------. - * | `~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | | J | L | U | Y | : | BSP | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * |EscNAV| A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | - * |------+------+------+------+------+------| NO | | NO |------+------+------+------+------+------| - * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |EntSft| - * `-----------------------------------------/ / \ \-----------------------------------------' - * | Del | LGUI | LALT | /LCTL/BS/ \Space \ | SYM | FKEY | RALT | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - - [_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_MINS, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - NAV, HOME_A, HOME_R, HOME_S, HOME_T, KC_D, KC_H, HOME_N, HOME_E, HOME_I, HOME_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_NO, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt, - MEH_T(KC_DEL), KC_LALT, KC_LGUI, BSCTL, KC_SPC, SYM, FKEY, KC_RALT -), - -/* Gaming Layer - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ESC | T | Q | W | E | R | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | TAB | LSFT | S | A | D | F |-------. ,-------| | | | | | | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | LALT | LCTL | Z | X | C | V |-------| |-------| | | | | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | | | | / / \ \ | | | | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - -[_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), - KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , _______, _______, _______, _______, _______, _______, - KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, _______, _______, _______, _______, _______, - KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, _______, _______, - KC_M, KC_I, KC_B, KC_SPC , _______, _______, _______, _______ -), - -/* Symbol Layer - * ,-----------------------------------------. ,-----------------------------------------. - * | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | [ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ] | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | \| | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | HOME | END | [ | ] | |-------| |-------| `~ | _ | PGUP | { | } | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | ____ | ____ | ____ | / ____ / \ ____ \ |RAISE | PGDN | ____ | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ -[_SYMBOL] = 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_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, - KC_BSLS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , - _______, KC_HOME, KC_END , KC_LBRC, KC_RBRC, _______, _______, _______, KC_GRV , KC_MINS, KC_PGUP, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_PGDN, _______ -), -/* Navigation - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | UP | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | |-------. ,-------| | LEFT | DOWN |RIGHT | | | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | | | | | |-------| |-------| | | | | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | | | | / / \ \ | | | | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - -[_NAVIGATION] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN2, KC_MS_U, KC_BTN1, _______, C_TAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______, - _______, _______, _______, KC_WH_U, KC_WH_D, _______, _______, _______, A_TAB , CBSPC , _______, _______, G_GRV , _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), -/* Function Keys - * ,-----------------------------------------. ,-----------------------------------------. - * | BOOT | | | | | | | LALT<-->LGUI| | | | BOOT | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | |BRGHT-| SAT- | HUE- |BRGHT+| | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | |RGBMOD| SAT+ | HUE+ |RGBTOG|-------. ,-------| | | | | | | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | | |VOL UP|VOL DN| PLAY | |-------| | | | | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | | | | / / \ \ | | | | - * | | | |/ / \ \ | | | | - * `----------------------------' '------''--------------------' - */ - -[_FKEYS] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, LAG_SWP, LAG_NRM, _______, _______, _______, QK_BOOT, - _______, _______, RGB_VAD, RGB_SAD, RGB_HUD, RGB_VAI, _______, _______, _______, _______, _______, TO(1) , - _______, _______, RGB_MOD, RGB_SAI, RGB_HUI, RGB_TOG, _______, _______, _______, _______, _______, TO(0) , - _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -) -}; - -#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); - } - } else if (index == 1) { - // Page up/Page down - if (clockwise) { - tap_code(KC_WH_U); - } else { - tap_code(KC_WH_D); - } - } - return false; -} -#endif diff --git a/keyboards/boardsource/lulu/keymaps/davidrambo/readme.org b/keyboards/boardsource/lulu/keymaps/davidrambo/readme.org deleted file mode 100644 index 11ac7db365fa..000000000000 --- a/keyboards/boardsource/lulu/keymaps/davidrambo/readme.org +++ /dev/null @@ -1,12 +0,0 @@ -#+title: README - -This is my configuration for the Lulu received as part of Boardsource's 2022 group buy. -Since I already have a few keyboards configured with QMK, I decided to swap out KMK. -Hopefully this helps others get started. - -The base layer is colemak. - -I use this keymap on both Linux and MacOS. -To keep muscle memory between the two as similar as possible, it takes advantage of QMK's boot magic keycodes. -The ~_FKEYS~ layer provides access to a Left Alt and GUI switch. -(I use LAlt with yabai on MacOS and GUI with Pop OS's tiling.) diff --git a/keyboards/boardsource/lulu/keymaps/davidrambo/rules.mk b/keyboards/boardsource/lulu/keymaps/davidrambo/rules.mk deleted file mode 100644 index f7aa3b0bf762..000000000000 --- a/keyboards/boardsource/lulu/keymaps/davidrambo/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -CAPS_WORD_ENABLE = yes -MOUSEKEY_ENABLE = yes diff --git a/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/config.h b/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index b4249396da14..000000000000 --- a/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ - XXX, K32, K33, K34, K35, K36, K37, XXX\ -) diff --git a/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/boardsource/lulu/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/config.h b/keyboards/boardsource/lulu/keymaps/rmeli/config.h deleted file mode 100644 index 171eaed0dbb6..000000000000 --- a/keyboards/boardsource/lulu/keymaps/rmeli/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -Copyright 2022 Rocco Meli <@RMeli> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define MASTER_LEFT // Left side is the master -#define SPLIT_LED_STATE_ENABLE - -#ifdef RGB_MATRIX_ENABLE -// Configure RGB Matrix -# define RGB_MATRIX_KEYPRESSES // enable keypress effects -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR -# define RGB_MATRIX_DEFAULT_HUE 10 -# define RGB_MATRIX_DEFAULT_SAT 255 -# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -// Disable RGB Matrix effects (from lulu/config.h) -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -// Enable RGB Matrix effects -# define ENABLE_RGB_MATRIX_BREATHING -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_COLOR -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#endif diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c b/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c deleted file mode 100644 index f9be18ee2d77..000000000000 --- a/keyboards/boardsource/lulu/keymaps/rmeli/keymap.c +++ /dev/null @@ -1,108 +0,0 @@ -/* -Copyright 2022 Cole Smith -Copyright 2022 Rocco Meli <@RMeli> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "rmeli.h" - -enum layers { - _QWERTY, - _COLEMAK_DH, - _RAISE, - _LOWER, - _ADJUST, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -#define QWY_DF DF(_QWERTY) -#define CMK_DF DF(_COLEMAK_DH) - -// clang-format off -#define __________THUMB_LEFT_x4___________ KC_LALT, KC_LGUI, LOWER, KC_SPC -#define __________THUMB_RIGHT_x4__________ KC_ENT, RAISE, KC_LCTL, KC_RGUI -// clang-format on - -/* LAYOUT - * - * ,-----------------------------. ,-----------------------------. - * | | | | | | | | | | | | | | - * |----+----+----+----+----+----| |----+----+----+----+----+----| - * | | | | | | | | | | | | | | - * |----+----+----+----+----+----| |----+----+----+----+----+----| - * | | | | | | |-----. ,-----| | | | | | | - * |----+----+----+----+----+----| | | |----+----+----+----+----+----| - * | | | | | | |-----| |-----| | | | | | | - * `----------------------------/ / \ \----------------------------' - * | | | | / / \ \ | | | | - * | | | |/ / \ \ | | | | - * `--------------''-----' '------''--------------' - */ - -// Define wrapper for standard LULU layout -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_wrapper( - ___________________NUMBER_LEFT_x6___________________, ___________________NUMBER_RIGHT_x6__________________, - ___________________QWERTY_L1_x6_____________________, ___________________QWERTY_R1_x6_____________________, - ___________________QWERTY_L2_x6_____________________, ___________________QWERTY_R2_x6_____________________, - ___________________QWERTY_L3_x6_____________________, KC_LBRC, KC_RBRC, ___________________QWERTY_R3_x6_____________________, - __________THUMB_LEFT_x4___________, __________THUMB_RIGHT_x4__________ - ), - - [_COLEMAK_DH] = LAYOUT_wrapper( - ___________________NUMBER_LEFT_x6___________________, ___________________NUMBER_RIGHT_x6__________________, - ________________COLEMAK_MOD_DH_L1_x6________________, ________________COLEMAK_MOD_DH_R1_x6________________, - ________________COLEMAK_MOD_DH_L2_x6________________, ________________COLEMAK_MOD_DH_R2_x6________________, - ________________COLEMAK_MOD_DH_L3_x6________________, KC_LBRC, KC_RBRC, ________________COLEMAK_MOD_DH_R3_x6________________, - __________THUMB_LEFT_x4___________, __________THUMB_RIGHT_x4__________ - ), - - [_LOWER] = LAYOUT_wrapper( - ____________________FUNC_LEFT_x6____________________, ____________________FUNC_RIGHT_x6___________________, - _______, ______________NUMBER_LEFT_x5_______________, ______________NUMBER_RIGHT_x5______________, _______, - _______, ______________UNICODE_L2_x5________________, ________________NAV_R2_x5__________________, XXXXXXX, - _______, ______________UNICODE_L3_x5________________, _______, _______, ________________NAV_R3_x5__________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_wrapper( - ___________________NUMBER_LEFT_x6___________________, ___________________NUMBER_RIGHT_x6__________________, - ___________________SYMBOL_LEFT_x6___________________, ___________________SYMBOL_RIGHT_x6__________________, - _______, ____________NAV_VIM_x4____________, XXXXXXX, ____________________SYMBOL_R2_x6____________________, - _______, _________________NONE_5x___________________, _______, _______, ____________________SYMBOL_R3_x6____________________, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_wrapper( - QK_BOOT, _________________NONE_5x___________________, ______________________NONE_6x_______________________, - XXXXXXX, _________________NONE_5x___________________, _______________CONFIG_R1_x5________________, QWY_DF, - RGB_TOG, ________________RGB_L2_x5__________________, _______________CONFIG_R2_x5________________, XXXXXXX, - XXXXXXX, ________________RGB_L3_x5__________________, _______, _______, _______________CONFIG_R3_x5________________, CMK_DF, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; -// clang-format on - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk b/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk deleted file mode 100644 index 035e9814e241..000000000000 --- a/keyboards/boardsource/lulu/keymaps/rmeli/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -TAP_DANCE_ENABLE = yes -AUTO_SHIFT_ENABLE = no // disable auto-shift with home row mods - -UNICODEMAP_ENABLE = yes -NKRO_ENABLE = yes -MAGIC_ENABLE = yes - -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes \ No newline at end of file diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c index be6d565a329c..8d011268c4b1 100644 --- a/keyboards/boardsource/lulu/lulu.c +++ b/keyboards/boardsource/lulu/lulu.c @@ -1,6 +1,6 @@ // Copyright 2022 Cole Smith // SPDX-License-Identifier: GPL-2.0-or-later -#include "encoder.h" +#include "quantum.h" #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/boardsource/microdox/keymaps/cole/keymap.c b/keyboards/boardsource/microdox/keymaps/cole/keymap.c deleted file mode 100644 index 8c177be5a5e7..000000000000 --- a/keyboards/boardsource/microdox/keymaps/cole/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* -Copyright 2022 Cole Smith - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY, - _RAISE, - _LOWER -}; - -#define KC_CTSC RCTL_T(KC_SCLN) -#define LOWER_SPC LT(_LOWER, KC_SPC) -#define RASE_BACK LT(_RAISE, KC_BSPC) -#define SHFT_Z MT(MOD_LSFT, KC_Z) -#define SHIFT_SLASH MT(MOD_RSFT,KC_SLSH) -#define RASE_ENT LT(_RAISE, KC_ENT) -#define CTRL_A MT(MOD_LCTL,KC_A) -#define PREVWINDOW MT(MOD_LCTL, KC_LEFT) -#define NEXTWINDOW MT(MOD_LCTL, KC_RGHT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - CTRL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTSC, - SHFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SHIFT_SLASH, - MO(_LOWER),KC_LGUI, RASE_ENT, RASE_BACK, LOWER_SPC, KC_TAB - ), - [_RAISE] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_LSFT, KC_GRV, PREVWINDOW, NEXTWINDOW, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ - ), - [_LOWER] = LAYOUT_split_3x5_3( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DQT, - KC_ESC, KC_TILD, PREVWINDOW, NEXTWINDOW, RGB_MODE_FORWARD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ - ) -}; diff --git a/keyboards/boardsource/microdox/v2/info.json b/keyboards/boardsource/microdox/v2/info.json index 8d68b964c16a..dccecb4980eb 100644 --- a/keyboards/boardsource/microdox/v2/info.json +++ b/keyboards/boardsource/microdox/v2/info.json @@ -35,7 +35,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 12, "y": 11}, {"flags": 2, "x": 86, "y": 11}, diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h index 1148c13ebc63..4d7d053cfbc4 100644 --- a/keyboards/boardsource/technik_o/config.h +++ b/keyboards/boardsource/technik_o/config.h @@ -41,12 +41,12 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json index 79ade753b1d3..91840eeb4fc1 100644 --- a/keyboards/boardsource/technik_o/info.json +++ b/keyboards/boardsource/technik_o/info.json @@ -26,7 +26,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 220, "y": 17}, {"flags": 2, "x": 172, "y": 17}, diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h index fe6518356e51..b01542d77b72 100644 --- a/keyboards/boardsource/technik_s/config.h +++ b/keyboards/boardsource/technik_s/config.h @@ -41,12 +41,12 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json index 7c6086db7492..0c8b101b20e3 100644 --- a/keyboards/boardsource/technik_s/info.json +++ b/keyboards/boardsource/technik_s/info.json @@ -26,7 +26,7 @@ "vid": "0x4273" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 220, "y": 17}, {"flags": 2, "x": 172, "y": 17}, diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json index be130dc94dfa..c574f7ab66fc 100644 --- a/keyboards/boardsource/the_mark/info.json +++ b/keyboards/boardsource/the_mark/info.json @@ -43,7 +43,7 @@ "pin": "C6" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 224, "y": 42}, {"flags": 2, "x": 224, "y": 21}, diff --git a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c deleted file mode 100644 index 5b37bb666772..000000000000 --- a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright 2020 Stanrc85 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "stanrc85.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Base */ -[_QWERTY] = 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_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_BSLS, CA_SCLN, - KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, - 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_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT -), -[_DEFAULT] = 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_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_BSLS, CA_SCLN, - KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, - 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_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT -), -[_FN1_60] = LAYOUT_all( - KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - _______, _______, CA_QUOT, KC_VOLU, CA_SCLN, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, _______, _______, KC_INS, _______, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, - _______, _______, KC_RDP, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -[_FN2_60] = LAYOUT_all( - RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) -) - -}; - - -bool rgb_matrix_indicators_user(void) { - uint8_t layer = get_highest_layer(layer_state); - switch (layer) { - case _FN1_60: - rgb_matrix_set_color(10, 0, 0, 255); - break; - case _FN2_60: - rgb_matrix_set_color(10, 255, 255, 255); - break; - case _DEFAULT: - rgb_matrix_set_color(10, 0, 255, 0); - break; - default: - break; - } - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(10, 255, 0, 0); - } - return false; -} - -void matrix_init_kb(void){ - -#ifdef RGB_MATRIX_ENABLE - - g_led_config = (led_config_t){ { - // Key Matrix to LED Index - { 10 , 10 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 1 , 1 }, - { 11 , 11 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 0 , 1 }, - { 12 , 12 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 23 , 1 }, - { 13 , 13 , 14 , 14 , 15 , 16 , 16 , 17 , 18 , 18 , 19 , 20 , 20 , 21 , 22 , 22 }, - { 13 , 13 , 14 , 14 , 15 , 16 , 16 , 17 , 18 , 18 , 19 , 20 , 20 , 21 , 22 , 22 }, - }, { - // LED Index to Physical Position - {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42}, - {30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64} - }, { - // LED Index to Flag - LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, - LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, - LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL - } }; - -#endif - matrix_init_user(); -} diff --git a/keyboards/boardsource/unicorne/config.h b/keyboards/boardsource/unicorne/config.h new file mode 100644 index 000000000000..5843a0c84729 --- /dev/null +++ b/keyboards/boardsource/unicorne/config.h @@ -0,0 +1,24 @@ +// Copyright 2023 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define RGB_MATRIX_LED_COUNT 54 +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP22 +#define I2C1_SCL_PIN GP23 + +#define AUDIO_PIN GP28 +#define AUDIO_PWM_DRIVER PWMD6 +#define AUDIO_INIT_DELAY +#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define STARTUP_SONG SONG(ODE_TO_JOY) + +#define ANALOG_JOYSTICK_Y_AXIS_PIN GP26 +#define ANALOG_JOYSTICK_X_AXIS_PIN GP27 +#define POINTING_DEVICE_INVERT_Y +#define POINTING_DEVICE_INVERT_X diff --git a/keyboards/boardsource/unicorne/halconf.h b/keyboards/boardsource/unicorne/halconf.h new file mode 100644 index 000000000000..21ed454e5069 --- /dev/null +++ b/keyboards/boardsource/unicorne/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_ADC TRUE + +#include_next diff --git a/keyboards/boardsource/unicorne/info.json b/keyboards/boardsource/unicorne/info.json new file mode 100644 index 000000000000..4184c870fe48 --- /dev/null +++ b/keyboards/boardsource/unicorne/info.json @@ -0,0 +1,166 @@ +{ + "manufacturer": "Boardsource", + "maintainer": "waffle87", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "audio": true, + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "pointing_device": true, + "rgb_matrix": true + }, + "indicators": { + "caps": "GP24" + }, + "split": { + "enabled": true, + "soft_serial_pin": "GP0", + "transport": { + "sync": { + "layer_state": true + } + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x7563", + "vid": "0x4273" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"], + "rows": ["GP14", "GP15", "GP16", "GP17"] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP8", "pin_b": "GP9"} + ] + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_val": true, + "breathing": true, + "gradient_left_right": true, + "gradient_up_down": true + }, + "max_brightness": 150, + "split_count": [27, 27], + "driver": "ws2812", + "layout": [ + {"x": 85, "y": 16, "flags": 2}, + {"x": 50, "y": 13, "flags": 2}, + {"x": 16, "y": 20, "flags": 2}, + {"x": 16, "y": 38, "flags": 2}, + {"x": 50, "y": 48, "flags": 2}, + {"x": 85, "y": 52, "flags": 2}, + {"matrix": [3, 5], "x": 95, "y": 63, "flags": 1}, + {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 58, "flags": 1}, + {"matrix": [3, 3], "x": 60, "y": 55, "flags": 1}, + {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, + {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, + {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 7, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 24, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 41, "flags": 1}, + {"x": 139, "y": 16, "flags": 2}, + {"x": 174, "y": 13, "flags": 2}, + {"x": 208, "y": 20, "flags": 2}, + {"x": 208, "y": 38, "flags": 2}, + {"x": 174, "y": 48, "flags": 2}, + {"x": 139, "y": 52, "flags": 2}, + {"matrix": [7, 5], "x": 129, "y": 63, "flags": 1}, + {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4}, + {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4}, + {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4}, + {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4}, + {"matrix": [7, 4], "x": 144, "y": 58, "flags": 1}, + {"matrix": [7, 3], "x": 164, "y": 55, "flags": 1}, + {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4}, + {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4}, + {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 7, "flags": 1}, + {"matrix": [5, 0], "x": 0, "y": 24, "flags": 1}, + {"matrix": [6, 0], "x": 0, "y": 41, "flags": 1} + ] + }, + "community_layouts": ["split_3x6_3"], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + } +} diff --git a/keyboards/boardsource/unicorne/keymaps/default/keymap.json b/keyboards/boardsource/unicorne/keymaps/default/keymap.json new file mode 100644 index 000000000000..1980bc3c873e --- /dev/null +++ b/keyboards/boardsource/unicorne/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "boardsource/unicorne", + "keymap": "default", + "layout": "LAYOUT_split_3x6_3", + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/unicorne/keymaps/via/keymap.json b/keyboards/boardsource/unicorne/keymaps/via/keymap.json new file mode 100644 index 000000000000..230fc6e36204 --- /dev/null +++ b/keyboards/boardsource/unicorne/keymaps/via/keymap.json @@ -0,0 +1,30 @@ +{ + "keyboard": "boardsource/unicorne", + "keymap": "via", + "layout": "LAYOUT_split_3x6_3", + "config": { + "features": { + "via": true + } + }, + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/unicorne/mcuconf.h b/keyboards/boardsource/unicorne/mcuconf.h new file mode 100644 index 000000000000..60e7b5812f8e --- /dev/null +++ b/keyboards/boardsource/unicorne/mcuconf.h @@ -0,0 +1,13 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE + +#undef RP_PWM_USE_PWM6 +#define RP_PWM_USE_PWM6 TRUE + +#undef RP_ADC_USE_ADC1 +#define RP_ADC_USE_ADC1 TRUE diff --git a/keyboards/boardsource/unicorne/readme.md b/keyboards/boardsource/unicorne/readme.md new file mode 100644 index 000000000000..3f4472b882c4 --- /dev/null +++ b/keyboards/boardsource/unicorne/readme.md @@ -0,0 +1,25 @@ +# Unicorne + +![image](https://i.imgur.com/akJJFUmh.jpeg) + +* Keyboard Maintainer: [waffle87](https://github.com/waffle87) +* Hardware Supported: Unicorne PCBs w/ integrated RP2040 microcontroller +* Hardware Availability: [boardsource.xyz](https://boardsource.xyz) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/unicorne:default + +Flashing example for this keyboard: + + make boardsource/unicorne: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 back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/boardsource/unicorne/rules.mk b/keyboards/boardsource/unicorne/rules.mk new file mode 100644 index 000000000000..d123b2a2fa80 --- /dev/null +++ b/keyboards/boardsource/unicorne/rules.mk @@ -0,0 +1,3 @@ +SERIAL_DRIVER = vendor +AUDIO_DRIVER = pwm_hardware +POINTING_DEVICE_DRIVER = analog_joystick diff --git a/keyboards/boardsource/unicorne/unicorne.c b/keyboards/boardsource/unicorne/unicorne.c new file mode 100644 index 000000000000..22cd1e4a37d8 --- /dev/null +++ b/keyboards/boardsource/unicorne/unicorne.c @@ -0,0 +1,37 @@ +// Copyright 2023 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "unicorne.h" + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; + } + return rotation; +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_raw(layer_zero, sizeof(layer_zero)); + break; + case 1: + oled_write_raw(layer_one, sizeof(layer_one)); + break; + case 2: + oled_write_raw(layer_two, sizeof(layer_two)); + break; + case 3: + oled_write_raw(layer_three, sizeof(layer_three)); + break; + } + } else { + oled_write_raw(logo, sizeof(logo)); + } + return false; +} +#endif diff --git a/keyboards/boardsource/unicorne/unicorne.h b/keyboards/boardsource/unicorne/unicorne.h new file mode 100644 index 000000000000..68bbeeb18ab1 --- /dev/null +++ b/keyboards/boardsource/unicorne/unicorne.h @@ -0,0 +1,194 @@ +// Copyright 2023 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#include "quantum.h" + +#ifdef OLED_ENABLE +// clang-format off +static const char PROGMEM logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xe3, 0xe7, 0xe7, 0xe3, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, + 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, + 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xe7, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0x00, 0x00, 0x7f, + 0xff, 0xff, 0xff, 0xe3, 0xc1, 0x81, 0x81, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x03, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0xcd, 0x8c, 0x8c, 0x8c, 0x8d, 0xcf, 0xcf, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const char PROGMEM layer_zero[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, + 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, + 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, + 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +static const char PROGMEM layer_one[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, + 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, + 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, + 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, + 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +static const char PROGMEM layer_two[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, + 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, + 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, + 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +static const char PROGMEM layer_three[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00, + 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60, + 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07, + 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// clang-format on +#endif diff --git a/keyboards/boardwalk/config.h b/keyboards/boardwalk/config.h index a1d1a3a54411..1b4e5a6d87e6 100644 --- a/keyboards/boardwalk/config.h +++ b/keyboards/boardwalk/config.h @@ -35,19 +35,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -// ws2812 options -#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 -#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 8a04fc121ee3..82b8fb23e402 100644 --- a/keyboards/boardwalk/info.json +++ b/keyboards/boardwalk/info.json @@ -8,6 +8,24 @@ "pid": "0x5337", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/boardwalk/keymaps/brendanwr/config.h b/keyboards/boardwalk/keymaps/brendanwr/config.h deleted file mode 100644 index a2530241f477..000000000000 --- a/keyboards/boardwalk/keymaps/brendanwr/config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once diff --git a/keyboards/boardwalk/keymaps/brendanwr/keymap.c b/keyboards/boardwalk/keymaps/brendanwr/keymap.c deleted file mode 100644 index b428651e73e3..000000000000 --- a/keyboards/boardwalk/keymaps/brendanwr/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer { - _BASE, - _FN, - _BACKLIT -}; - - -#define FN MO(_FN) -#define BACKLIT MO(_BACKLIT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * .-----------------------------------------------------------------------------------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | \ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | LCTRL | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | HOME | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | FN | END | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | LALT | LGUI | SPACE | RGUI | RALT | | - * '-----------------------------------------------------------------------------------------------------------------------------' - */ - - [_BASE] = LAYOUT_ortho_7u( - 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_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_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, FN, KC_END, - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - -/* FUNCTION - * .-----------------------------------------------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | ` | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | | | | | | | | | | UP | | | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | VOLD | VOLU | MUTE | | | | | | | LEFT | RIGHT | | PG_UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | | | DOWN | | | PG_DN | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | | | - * '-----------------------------------------------------------------------------------------------------------------------------' - */ - - [_FN] = LAYOUT_ortho_7u( - _______, KC_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_UP, _______, _______, KC_DEL, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______, KC_PGUP, - BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, KC_PGDN, - _______, _______, _______, _______, _______ - ), - -/* BACKLIT - * .-----------------------------------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | RGBTOG | RGBMOD | RGBHUI | RGBHUD | RGBSAI | RGBSAD | RGBVAI | RGBVAD | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | | | - * '-----------------------------------------------------------------------------------------------------------------------------' - */ - - [_BACKLIT] = LAYOUT_ortho_7u( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/boardwalk/keymaps/mcallaster/keymap.c b/keyboards/boardwalk/keymaps/mcallaster/keymap.c deleted file mode 100644 index 5b4292010e16..000000000000 --- a/keyboards/boardwalk/keymaps/mcallaster/keymap.c +++ /dev/null @@ -1,54 +0,0 @@ -#include QMK_KEYBOARD_H - -// Layer shorthand -enum layer { - _BASE, - _LOWER, - _RAISE, - _FN -}; - -#define LOWER MO(1) -#define RAISE MO(2) -#define FN MO(3) - -// Mac sleep -#define __SLEEP S(LCTL(KC_PWR)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_ortho_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_SCRL, KC_PSCR, 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_HOME, KC_PGUP, 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_END, KC_PGDN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_INS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_CAPS, KC_LALT, KC_LGUI, RAISE, KC_SPC, KC_SPC, LOWER, KC_RGUI, KC_RALT, KC_RCTL - ), - - [_LOWER] = LAYOUT_ortho_hhkb( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PAUS, KC_NUM, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_BSLS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_ortho_hhkb( - _______, KC_F11, KC_F12, _______, _______, _______, KC_PAUS, KC_NUM, _______, _______, _______, _______, _______, _______, - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_PIPE, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT_ortho_hhkb( - __SLEEP, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, - _______, QK_BOOT, _______, KC_MPRV, KC_MNXT, _______, RGB_SAI, RGB_HUI, _______, _______, _______, _______, _______, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, RGB_SAD, RGB_HUD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _FN); -} diff --git a/keyboards/boardwalk/keymaps/nchristus/config.h b/keyboards/boardwalk/keymaps/nchristus/config.h deleted file mode 100644 index a2530241f477..000000000000 --- a/keyboards/boardwalk/keymaps/nchristus/config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once diff --git a/keyboards/boardwalk/keymaps/nchristus/keymap.c b/keyboards/boardwalk/keymaps/nchristus/keymap.c deleted file mode 100644 index df642bcd6fdc..000000000000 --- a/keyboards/boardwalk/keymaps/nchristus/keymap.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// Layer shorthand -#define _QW 0 - -#define LOWER LT(1, KC_SPC) -#define RAISE LT(2, KC_ENT) - -#define CTRLESC CTL_T(KC_ESC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _QWE: Base Layer (Default Layer) */ - [_QW] = LAYOUT_ortho_hhkb( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSPC, - CTRLESC, 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, - MO(3), KC_LCTL, KC_LALT, KC_LGUI, RAISE, LOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Keymap LOWER: Lower Layer */ - [1] = LAYOUT_ortho_hhkb( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ - ), - - /* Keymap RAISE: Raise Layer */ - [2] = LAYOUT_ortho_hhkb( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______ - ), - - /* Keymap _FL: Function Layer */ - [3] = LAYOUT_ortho_hhkb( - QK_BOOT, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/boardwalk/keymaps/nchristus/readme.md b/keyboards/boardwalk/keymaps/nchristus/readme.md deleted file mode 100644 index 73cf19b06fbd..000000000000 --- a/keyboards/boardwalk/keymaps/nchristus/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for Boardwalk diff --git a/keyboards/boardwalk/keymaps/nchristus/rules.mk b/keyboards/boardwalk/keymaps/nchristus/rules.mk deleted file mode 100644 index b07a6475be53..000000000000 --- a/keyboards/boardwalk/keymaps/nchristus/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -RGBLIGHT_ENABLE = yes diff --git a/keyboards/boardwalk/keymaps/niclake/config.h b/keyboards/boardwalk/keymaps/niclake/config.h deleted file mode 100644 index 9028fcf9fbb0..000000000000 --- a/keyboards/boardwalk/keymaps/niclake/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 diff --git a/keyboards/boardwalk/keymaps/niclake/keymap.c b/keyboards/boardwalk/keymaps/niclake/keymap.c deleted file mode 100644 index 640ff8767e94..000000000000 --- a/keyboards/boardwalk/keymaps/niclake/keymap.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _QWERTY, - _FN, - _NUM, - _ADJ, -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - FN, - NUM, - ADJ, - MACWIN -}; - -#define QWERTY DF(_QWERTY) -#define COLEMAK DF(_BASE) -#define FN MO(_FN) -#define NUM TT(_NUM) -#define ADJ MO(_ADJ) -#define MACWIN MAGIC_TOGGLE_ALT_GUI -#define RGB_ON RGB_MODE_PLAIN - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layer (Colemak) - * .-----------------------------------------------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | F | P | G | [ | ] | J | L | U | Y | ; | \ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | _FN | A | R | S | T | D | HOME | PG UP | H | N | E | I | O | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | END | PG DN | K | M | , | . | / | RSHIFT | - * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' - * | LCTRL | LALT | LGUI | TG_NUM | ENTER | SPACE | LEFT | DOWN | UP | RIGHT | - * '-----------------------------------------------------------------------------------------------------------' - */ - [_BASE] = LAYOUT_ortho_hhkb( - 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - FN, KC_A, KC_R, KC_S, KC_T, KC_D, KC_HOME, KC_PGUP, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - KC_LCTL, KC_LALT, KC_LGUI, NUM, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* QWERTY - * .-----------------------------------------------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | \ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | _FN | A | S | D | F | G | HOME | PG UP | H | J | K | L | ; | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT | - * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' - * | LCTRL | LALT | LGUI | TG_NUM | ENTER | SPACE | LEFT | DOWN | UP | RIGHT | - * '-----------------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_ortho_hhkb( - 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_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, - FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - KC_LCTL, KC_LALT, KC_LGUI, NUM, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* FN - * .-----------------------------------------------------------------------------------------------------------------------------. - * | ESC | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 | F10 | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | Prev | Play | Next | | | | | | Pg Up | Up | Pg Dn | PRT SC | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | XXXXXX | | Mute | Vol Dn | Vol Up | | | | | Left | Down | Right | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | | Home | | End | | CapsLk | - * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' - * | | | | _ADJ | | | | | | | - * '-----------------------------------------------------------------------------------------------------------' - */ - [_FN] = LAYOUT_ortho_hhkb( - KC_ESC, 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_DEL, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, - _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END, _______, KC_CAPS, - _______, _______, _______, ADJ, _______, _______, _______, _______, _______, _______ - ), - - /* Num Pad (NUM) - * .-----------------------------------------------------------------------------------------------------------------------------. - * | | | | | | | | | Num Lk | KP / | KP * | KP - | Scr Lk | Pause | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | _ADJ | | | | | | | | KP 4 | KP 5 | KP 6 | KP + | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | | | | | | | | KP 1 | KP 2 | KP 3 | KP Ent | | | - * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' - * | | | | XXXXXX | | KP 0 | KP 0 | KP . | KP Ent | | - * '-----------------------------------------------------------------------------------------------------------' - */ - [_NUM] = LAYOUT_ortho_hhkb( - _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_SCRL, KC_PAUS, - _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______, _______, - ADJ, _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, - _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______ - ), - - /* ADJUST + RGB Control - * .-----------------------------------------------------------------------------------------------------------------------------. - * | | Static | Breath | Rainbw | Swirl | Gradnt | Twnkle | Test | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | On/Off | ModeUp | Hue Up | Sat Up | Val Up | | | | | | | QK_BOOT | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | XXXXXX | MACWIN | | Hue Dn | Sat Dn | Val Dn | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | | Colemak| QWERTY | | | | | | | | | | | | - * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------' - * | | | | XXXXXX | | | | | | | - * '-----------------------------------------------------------------------------------------------------------' - */ - [_ADJ] = LAYOUT_ortho_hhkb( - XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, - XXXXXXX, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, COLEMAK, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; diff --git a/keyboards/boardwalk/keymaps/niclake/readme.md b/keyboards/boardwalk/keymaps/niclake/readme.md deleted file mode 100644 index fb772a9a2578..000000000000 --- a/keyboards/boardwalk/keymaps/niclake/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# Nic Lake's Boardwalk Layout - -This is Nic's Boardwalk layout, which is based off of the default Pok3r layout. - -- Colemak base layer w/ QWERTY support -- Bottom row set up for Mac usage (use `MACWIN`/`AG_TOGG` to toggle) -- Latching Numpad layer for data entry -- Uses [Space Cadet shift keys](https://docs.qmk.fm/#/feature_space_cadet?id=usage) \ No newline at end of file diff --git a/keyboards/boardwalk/keymaps/niclake/rules.mk b/keyboards/boardwalk/keymaps/niclake/rules.mk deleted file mode 100644 index 31d6053e03d9..000000000000 --- a/keyboards/boardwalk/keymaps/niclake/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -COMMAND_ENABLE = no -RGBLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite diff --git a/keyboards/bolsa/bolsalice/config.h b/keyboards/bolsa/bolsalice/config.h deleted file mode 100644 index ad199d65786e..000000000000 --- a/keyboards/bolsa/bolsalice/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2022 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 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/bolsa/bolsalice/info.json b/keyboards/bolsa/bolsalice/info.json index 25ef2f617bc6..51e342b10b35 100644 --- a/keyboards/bolsa/bolsalice/info.json +++ b/keyboards/bolsa/bolsalice/info.json @@ -6,6 +6,23 @@ "vid": "0x4253", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bolsa/damapad/rules.mk b/keyboards/bolsa/damapad/rules.mk index 395f25f859ec..9c75f75d52d3 100644 --- a/keyboards/bolsa/damapad/rules.mk +++ b/keyboards/bolsa/damapad/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boston/config.h b/keyboards/boston/config.h index 1dcbcdb5b870..483c57940c34 100644 --- a/keyboards/boston/config.h +++ b/keyboards/boston/config.h @@ -25,25 +25,11 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Define RGBLED */ -#define RGBLED_NUM 1 -#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 #define RGBLIGHT_LAYERS //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 76d6cb41abf8..39c5a7c160dc 100644 --- a/keyboards/boston/info.json +++ b/keyboards/boston/info.json @@ -18,11 +18,29 @@ {"pin_a": "C13", "pin_b": "F1", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 15 + }, "backlight": { "pin": "A6", "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A5" }, diff --git a/keyboards/boston/rules.mk b/keyboards/boston/rules.mk index 176d6b7982e9..80d17a2dfd14 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 d609409cb56b..7d53f90b150d 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -38,66 +38,54 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ -#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ -#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 - -#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 - -#define RGBLED_NUM 10 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 + +#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 d50e92e17c9f..981d4de7c8db 100644 --- a/keyboards/boston_meetup/2019/info.json +++ b/keyboards/boston_meetup/2019/info.json @@ -3,7 +3,7 @@ "device_version": "20.1.9" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A7", "A8", "B2", "B10"], @@ -15,6 +15,21 @@ {"pin_a": "B13", "pin_b": "B14"} ] }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/boston_meetup/2019/rules.mk b/keyboards/boston_meetup/2019/rules.mk index b2f1131ffd46..f5ef6ba5a265 100644 --- a/keyboards/boston_meetup/2019/rules.mk +++ b/keyboards/boston_meetup/2019/rules.mk @@ -12,6 +12,5 @@ AUDIO_ENABLE = yes # Audio output RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = no HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/box75/rules.mk b/keyboards/box75/rules.mk index 93f25a13d8d2..5b6b0c929912 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 2dae864ddb2e..5f360813239b 100644 --- a/keyboards/bpiphany/four_banger/config.h +++ b/keyboards/bpiphany/four_banger/config.h @@ -5,18 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 ce9b4a7ec5f4..e267922ab88f 100644 --- a/keyboards/bpiphany/four_banger/info.json +++ b/keyboards/bpiphany/four_banger/info.json @@ -8,6 +8,23 @@ "pid": "0x2004", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bpiphany/hid_liber/config.h b/keyboards/bpiphany/hid_liber/config.h index f567c3e12a1d..2e41e1f7005d 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/hid_liber/keymaps/bakageta/config.h b/keyboards/bpiphany/hid_liber/keymaps/bakageta/config.h deleted file mode 100755 index b158e2d5a26a..000000000000 --- a/keyboards/bpiphany/hid_liber/keymaps/bakageta/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define PERMISSIVE_HOLD diff --git a/keyboards/bpiphany/hid_liber/keymaps/bakageta/keymap.c b/keyboards/bpiphany/hid_liber/keymaps/bakageta/keymap.c deleted file mode 100755 index 414b7beb6446..000000000000 --- a/keyboards/bpiphany/hid_liber/keymaps/bakageta/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright 2017 Mathias Andersson : Phantom Layout - * Copyright 2018 bakageta : HID Liberation layouts - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Helpful defines -#define FN_CAPS LT(_FL, KC_CAPS) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define _BL 0 // Base Layer -#define _GL 1 // Gaming Layer -#define _FL 2 // Function Layer - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = 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_BRK, - 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, - FN_CAPS, KC_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, TT(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_GL] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FL] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, TO(_BL), TO(_GL), _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, KC_VOLD, KC_MSTP, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, KC_MNXT, KC_MPLY, KC_MNXT, - _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, - _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/bpiphany/hid_liber/keymaps/bakageta/readme.md b/keyboards/bpiphany/hid_liber/keymaps/bakageta/readme.md deleted file mode 100755 index 2b13586c0f4e..000000000000 --- a/keyboards/bpiphany/hid_liber/keymaps/bakageta/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# bakageta's Keymap for the HID Liberation Device - -A personal keymap intended for the HID Liberation Device. - -See [keymap.c](keymap.c) for details. - -## Layers - -This keymap has a base layer with combined Fn/Caps, Fn replacing APP, and an otherwise standard ANSI layout. The gaming layer blocks LGUI, and reverts caps back to a regular key for games that bind something to it. The function layer adds media keys to the nav cluster and a virtual numpad, with 1 and 2 selecting between Base and Gaming respectively. - -### Layer 1: Base Layer - ,---. ,---------------. ,---------------. ,---------------. ,-----------. - |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - `---' `---------------' `---------------' `---------------' `-----------' - ,-----------------------------------------------------------. ,-----------. - |~ | 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| - |-----------------------------------------------------------| '-----------' - |Fn/Cps| A| S| D| F| G| H| J| K| L| ;| '|Return | - |-----------------------------------------------------------| ,---. - |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | |Up | - |-----------------------------------------------------------| ,-----------. - |Ctl|Gui|Alt| Space |Alt|Gui|Fn |Ctl| |Lef|Dow|Rig| - `-----------------------------------------------------------' `-----------' - -### Layer 2: Gaming Layer - ,---. ,---------------. ,---------------. ,---------------. ,-----------. - | | | | | | | | | | | | | | | | | | | | | - `---' `---------------' `---------------' `---------------' `-----------' - ,-----------------------------------------------------------. ,-----------. - | | | | | | | | | | | | | | | | | | | - |-----------------------------------------------------------| |-----------| - | | | | | | | | | | | | | | | | | | | - |-----------------------------------------------------------| '-----------' - | Caps | | | | | | | | | | | | | - |-----------------------------------------------------------| ,---. - | | | | | | | | | | | | | | | - |-----------------------------------------------------------| ,-----------. - | |XXX| | | | | | | | | | | - `-----------------------------------------------------------' `-----------' - - -### Layer 3: Function Layer - ,---. ,---------------. ,---------------. ,---------------. ,-----------. - | | | | | | | | | | | | | | | | | | | | | - `---' `---------------' `---------------' `---------------' `-----------' - ,-----------------------------------------------------------. ,-----------. - | | BL| GL| | | | | | | | | | | | |Vo-|Stp|Vo+| - |-----------------------------------------------------------| |-----------| - | | | | | | | | | | | | | | | |Prv|Ply|Nxt| - |-----------------------------------------------------------| '-----------' - | | | | | | | | | | | | | | - |-----------------------------------------------------------| ,---. - | | | | | | | | | | | | | | | - |-----------------------------------------------------------| ,-----------. - | | | | | | | | | | | | | - `-----------------------------------------------------------' `-----------' diff --git a/keyboards/bpiphany/hid_liber/keymaps/bakageta/rules.mk b/keyboards/bpiphany/hid_liber/keymaps/bakageta/rules.mk deleted file mode 100755 index b1530f614f14..000000000000 --- a/keyboards/bpiphany/hid_liber/keymaps/bakageta/rules.mk +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 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 . - - -# QMK Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/config.h b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/config.h deleted file mode 100644 index 142aba89094c..000000000000 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/config.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#undef MOUSEKEY_MOVE_MAX -#define MOUSEKEY_MOVE_MAX 127 -#undef MOUSEKEY_WHEEL_MAX -#define MOUSEKEY_WHEEL_MAX 110 -#undef MOUSEKEY_MOVE_DELTA -#define MOUSEKEY_MOVE_DELTA 5 -#undef MOUSEKEY_WHEEL_DELTA -#define MOUSEKEY_WHEEL_DELTA 1 -#undef MOUSEKEY_DELAY -#define MOUSEKEY_DELAY 50 -#undef MOUSEKEY_INTERVAL -#define MOUSEKEY_INTERVAL 20 -#undef MOUSEKEY_MAX_SPEED -#define MOUSEKEY_MAX_SPEED 4 -#undef MOUSEKEY_TIME_TO_MAX -#define MOUSEKEY_TIME_TO_MAX 30 -#undef MOUSEKEY_WHEEL_MAX_SPEED -#define MOUSEKEY_WHEEL_MAX_SPEED 3 -#undef MOUSEKEY_WHEEL_TIME_TO_MAX -#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 -#undef ONESHOT_TIMEOUT -#define ONESHOT_TIMEOUT 500 -#undef TAPPING_TOGGLE -#define TAPPING_TOGGLE 2 - -#endif diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c deleted file mode 100644 index c0439912ffae..000000000000 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c +++ /dev/null @@ -1,199 +0,0 @@ -#include QMK_KEYBOARD_H -#include "mousekey.h" - -#define MEDAPP LT(MEDIA, KC_APP) - -uint8_t current_layer_global = 255; - -enum layers { - DEFAULT, - PROG1, - PROG2, - MEDIA, - MOUSE1, - MOUSE2, - MISC, -}; - -enum custom_keycodes { - LSHFT_PAREN = SAFE_RANGE, - RSHFT_PAREN, - LCTRL_BRACKET, - RCTRL_BRACKET, - LALT_CURLY, - RALT_CURLY, - CTRL_CLICK, - M_GRV, - M_CFLEX -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DEFAULT] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SCRL,KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_INS,KC_HOME,KC_PGUP, KC_NUM,KC_PSLS,KC_PAST,KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS, - TT(MOUSE1), KC_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, - LSHFT_PAREN,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, RSHFT_PAREN, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, - LCTRL_BRACKET,KC_LGUI, LALT_CURLY, LT(MISC, KC_SPC), RALT_CURLY,TT(PROG1), MEDAPP, RCTRL_BRACKET, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), - /* Layer 1: Programming Layer 1, emulating US l ayout */ - [PROG1] = LAYOUT( - KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - M_GRV,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,S(KC_0),_______, _______,_______,_______, _______,_______,_______,_______, - _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______,ALGR(KC_8),ALGR(KC_9),ALGR(KC_MINS), _______,_______,_______, _______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(KC_COMM),S(KC_BSLS), _______, _______,_______,_______, - MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_7), MO(PROG2), _______, _______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), - /* Layer 2: programming layer 2 - all keys that are not FN keys are sent as LSFT+key on this layer - */ - [PROG2] = LAYOUT( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - ALGR(KC_RBRC),_______, ALGR(KC_Q),KC_BSLS,_______,_______,M_CFLEX, S(KC_6),S(KC_RBRC), S(KC_8),S(KC_9),S(KC_SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, ALGR(KC_7),ALGR(KC_0),ALGR(KC_NUBS), _______,_______,_______, _______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_DOT), S(KC_2), _______, _______,_______,_______, - _______,S(KC_NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(KC_NUBS),S(KC_MINS), _______, _______, _______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), - /* Layer 3: media layer */ - [MEDIA] = LAYOUT( - KC_PWR,KC_SLEP,KC_WAKE,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_MPRV,KC_MPLY,KC_MNXT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, - XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_VOLD,KC_MUTE,KC_VOLU, 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_EJCT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, - XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX), - /* Layer 4: Mouse layer */ - [MOUSE1] = LAYOUT( - TO(DEFAULT),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, - _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(KC_Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, - _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, CTRL_CLICK,KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, - MO(MOUSE2),_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V),_______,KC_BTN2,KC_BTN3,C(KC_PGUP),C(KC_PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, - KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______), - /* Layer 5: Mouse layer 2*/ - [MOUSE2] = LAYOUT( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, - _______,_______,KC_BTN2,KC_WH_U,KC_BTN3,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, - _______,_______,KC_WH_L,KC_WH_D,KC_WH_R,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______, _______, _______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), - /* Layer 6: Misc layer */ - [MISC] = LAYOUT( - _______, 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_SLCT, C(KC_W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, - _______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_HOME,KC_PGDN,KC_PGUP,_______,_______,_______, _______, _______,_______,_______, - KC_LSFT,_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V), KC_SPC, KC_END,_______,C(KC_PGUP),C(KC_PGDN),_______, _______, _______, _______,_______,_______,_______, - _______,_______,_______, 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) { - if (record->tap.interrupted) { - register_mods(MOD_BIT(orig_mod)); - } - } else { - register_mods(MOD_BIT(orig_mod)); - } - } else { - if (record->tap.count > 0 && !(record->tap.interrupted)) { - add_weak_mods(MOD_BIT(macro_mod)); - send_keyboard_report(); - register_code(macro_kc); - unregister_code(macro_kc); - del_weak_mods(MOD_BIT(macro_mod)); - send_keyboard_report(); - record->tap.count = 0; // ad hoc: cancel tap - } else { - unregister_mods(MOD_BIT(orig_mod)); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t layer; - layer = get_highest_layer(layer_state); - if (layer == PROG2) { - if (keycode >= KC_A && keycode <= KC_EXSEL && \ - !( // do not send LSFT + these keycodes, they are needed for emulating the US layout - keycode == KC_NUBS || - keycode == KC_RBRC || - keycode == KC_BSLS || - keycode == KC_GRV - )) { - // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior - if (record->event.pressed) { - register_mods(MOD_LSFT); - } else { - unregister_mods(MOD_LSFT); - } - } - } - - switch (keycode) { - case LCTRL_BRACKET: - tap_helper(record, KC_LCTL, KC_RALT, KC_8); - return false; - case RCTRL_BRACKET: - tap_helper(record, KC_RCTL, KC_RALT, KC_9); - return false; - case LALT_CURLY: - tap_helper(record, KC_LALT, KC_RALT, KC_7); - return false; - case RALT_CURLY: - tap_helper(record, KC_RALT, KC_RALT, KC_0); - return false; - case LSHFT_PAREN: - tap_helper(record, KC_LSFT, KC_LSFT, KC_8); - return false; - case RSHFT_PAREN: - tap_helper(record, KC_RSFT, KC_LSFT, KC_9); - return false; - case CTRL_CLICK: - if (record->event.pressed) { - mousekey_clear(); - register_mods(MOD_BIT(KC_LCTL)); - send_keyboard_report(); - wait_ms(5); - mousekey_on(KC_BTN1); - mousekey_send(); - wait_ms(10); - mousekey_off(KC_BTN1); - mousekey_send(); - wait_ms(5); - unregister_mods(MOD_BIT(KC_LCTL)); - send_keyboard_report(); - } - return false; - case M_GRV: - tap_code16(S(KC_EQL)); - tap_code(KC_SPC); - return false; - case M_CFLEX: - tap_code(KC_GRV); - tap_code(KC_SPC); - return false; - } - - return true; -} diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/readme.md b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/readme.md deleted file mode 100644 index 0d23be4eac41..000000000000 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# My personal keymap for the Kitten Paw controller - -This keymap only works correctly when you have your OS configured with a German keymap. Use the keymap however you like. It's most likely a living thing that will never be quite finished. - -## Description of the layers -Layer 0 (DEFAULT) works just like you would expect a keyboard to work, mostly, except: -Caps Lock switches to the mouse layer, RGUI and APP are switches to the programming layer and media layer. -Mouse and programming layer switches can be held or double-tapped to lock. -Holding space switches to the MISC layer where I currently accumulate useful shortcuts. -Tapping left and right Shift, Ctrl and Alt will send (), [] and {} respectively. - -Layers 1 and 2 (PROG1 and PROG2) emulate the US layout while still using a German OS keymap setting. I was annoyed of having to change the OS settings every time I wanted to use the US layout for coding, so I made these layers to behave just like the US layout even though the OS still uses German. The shift keys were a bit tricky, I had to use them as MO(PROG2) switches, so to get the actual expected behavior I enable LSFT for almost every keypress on PROG2 in ```process_record_user```. Since the shift keys are MO() function keys, they do not print () at the moment, which sucks. I'm working on it. - -Layer 3 (MEDIA) just has a couple of media keys on it, mainly around the cursor keys and nav key cluster. - -Layers 4 and 5 (MOUSE1 and MOUSE2) are mouse layers. Move the cursor using ESDF, scroll using HJKL, Space for left click, N and M for right and middle click. There's more, look at the keymap. - -Layer 6 is a layer I don't have a good name for, so I call it MISC. You'll find cursor keys at ESDF, other navigation keys around the HJKL cluster and F12 to F24 on the F-keys. For now. \ No newline at end of file diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c deleted file mode 100644 index 58db20797eeb..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2016 Daniel Svensson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -/* Swedish keys */ -#define SE_HALF KC_GRV -#define SE_PLUS KC_MINS -#define SE_ACUT KC_EQL -#define SE_AO KC_LBRC -#define SE_CIRC KC_RBRC -#define SE_QUOT KC_BSLS -#define SE_ODIA KC_SCLN -#define SE_ADIA KC_QUOT -#define SE_MINS KC_SLSH -#define SE_LTGT KC_NUBS -#define SE_LCBR RALT(KC_7) -#define SE_LBRC RALT(KC_8) -#define SE_RBRC RALT(KC_9) -#define SE_RCBR RALT(KC_0) -#define SE_PIPE RALT(SE_LTGT) -#define SE_BSLS RALT(SE_PLUS) - -#define KM_BLOWRAK 0 -#define KM_QWERTY 1 -#define KM_MEDIA 2 -#define KM_HAXHAX 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layer 0: Blowrak ISO layer, a Swedish take on Dvorak */ - [KM_BLOWRAK] = 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, - SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, - KC_TAB, SE_AO, SE_ADIA,SE_ODIA,KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, - KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, - MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT), - /* Layer 1: Standard ISO layer */ - [KM_QWERTY] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SCRL,KC_PAUS, - SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,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, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA,SE_ADIA, KC_ENT, - KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, - MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT), - /* Layer 2: Media layer */ - [KM_MEDIA] = LAYOUT( - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_WAKE,KC_PWR, KC_SLEP, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,KC_VOLU, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_MUTE,_______,KC_VOLD, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_MPLY, - _______,_______,_______, _______, _______,_______,QK_BOOT,_______, KC_MPRV,KC_MSTP,KC_MNXT), - /* Layer 3: Programming layer */ - [KM_HAXHAX] = LAYOUT( - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,SE_LCBR,SE_PIPE,SE_RCBR,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,SE_LBRC,SE_BSLS,SE_RBRC,_______,_______,_______,_______,_______,_______,_______,_______, _______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, - _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______), -}; - -void matrix_scan_user(void) -{ - uint8_t layer = get_highest_layer(layer_state); - switch (layer) { - case KM_BLOWRAK: - writePin(LED_CAPS_LOCK_PIN, LED_PIN_ON_STATE); - writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); - break; - case KM_QWERTY: - writePin(LED_CAPS_LOCK_PIN, !LED_PIN_ON_STATE); - writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); - break; - } -} - -/* Mixes in KM_HAXHAX via RALT modifier without shadowing the RALT key combinations. */ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t modifiers = get_mods(); - if (modifiers & MOD_BIT(KC_RALT) && record->event.pressed) { - uint16_t kc = keymap_key_to_keycode(KM_HAXHAX, record->event.key); - if (kc != KC_TRNS) { - register_code(kc); - unregister_code(kc); - return false; - } - } - return true; -} diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk deleted file mode 100644 index 737451b39ad2..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -CUSTOM_MATRIX = yes # Custom matrix file for the Pegasus Hoof due to the 2x74HC42 -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h b/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h deleted file mode 100644 index 9ff01f7e8424..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -/* overridden settings: */ - -#undef PRODUCT -#define PRODUCT "Pegasus Hoof Citadel" diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c deleted file mode 100644 index 353759b9a6cc..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Copyright 2018 Daniel Rose - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -/* Allow shortcuts for combos like RALT(KC_RBRC) that don't take up more than 7 characters: */ -/* Original shortcuts (quantum_keycodes.h) take full-sized keycodes: too long! */ -#undef C -#undef S -#undef A -#undef G -#define C(kc) LCTL(KC_##kc) -#define S(kc) LSFT(KC_##kc) -#define A(kc) LALT(KC_##kc) -#define G(kc) RALT(KC_##kc) -#define CTALDEL LCTL(LALT(KC_DEL)) - -enum layers { - DEF, - FUN, - RES, -}; - -enum tap_dance { - AF4, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Layer 0: default layer (ISO-DE) - * .----. .-------------------. .-------------------. .-------------------. .--------------. - * |Esc | |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10 |F11 |F12 | |PrSc|SLck|2Tp:| - * | | | | | | | | | | | | | | | | | |SyRq| |A+F4| - * '----' '-------------------' '-------------------' '-------------------' '--------------' - * .------------------------------------------------------------------------. .--------------. - * |° |! |" |§ |$ |% |& |/ |( |) |= |? |` |Backspa| |Ins |Home|PgUp| - * |^ |1 |2 Âē|3 Âģ|4 |5 |6 |7 {|8 [|9 ]|0 }|ß \|Âī | | | | | | - * |------------------------------------------------------------------------| |--------------| - * |Tab |Q |W |E |R |T |Z |U |I |O |P |Ü |* | E | |Del |End |PgDn| - * | | | | ₮| | | | | | | | |+ ~| n | | | | | - * |------------------------------------------------------------------\ t | '--------------' - * |Fn: |A |S |D |F |G |H |J |K |L |Ö |Ä |' | e | - * |Layer 2| | | | | | | | | | | |# | r | - * |------------------------------------------------------------------------| .----. - * |Shift|> |Y |X |C |V |B |N |M |; |: |_ |Shift | |Up | - * | |< ÂĶ| | | | | | | Âĩ|, |. |- | | | | - * |------------------------------------------------------------------------| .--------------. - * |Ctrl |Super|Alt | |AltGr|Alt |Fn: |Ctrl | |Left|Down|Righ| - * | | | | | | |Lay 2| | | | | | - * '------------------------------------------------------------------------' '--------------' - * NUHS = true position of KC_NUHS - */ -[DEF] = 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,TD(AF4), - 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_NUHS, KC_DEL, KC_END, KC_PGDN, - MO(FUN),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,/*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_LALT,MO(FUN),KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT), - - /* Layer 1: function layer - * .----. .-------------------. .-------------------. .-------------------. .--------------. - * |Ctl+| |My |WWW:|Calc|Medi| |Mus:|Mus:|Mus:|Mus:| |Vol:|Vol:|Vol:|See:| | | |Paus| - * |A+De| |Comp|Home| |Play| |Prev|Next|Paus|Stop| |Mute|Down|Up |[3] | | | |Brea| - * '----' '-------------------' '-------------------' '-------------------' '--------------' - * .------------------------------------------------------------------------. .--------------. - * | | | | | | | | | | | | | | | | | |Mou:| - * | | | | | | | |{ |[ |] |} |\ | | | | | |WhUp| - * |------------------------------------------------------------------------| |--------------| - * | | | | | | | | | | | | |~ | | | | |Mou:| - * | | | | | | | | | | | | | | | | | |WhDn| - * |------------------------------------------------------------------\ | '--------------' - * |CapsLck|Mou:|Mou:| | | | | | | | | | | | - * | |Fast|Slow| | | | | | | | | | | | - * |------------------------------------------------------------------------| .----. - * | | | | | | | | |Âĩ | | | | | |Mou:| - * | | | | | | | | | | | | | | |Up | - * |------------------------------------------------------------------------| .--------------. - * |Mous:|Mous:| | | |Super|App | | |Mou:|Mou:|Mou:| - * |Bttn2|Bttn1| | | | | | | |Left|Down|Righ| - * '------------------------------------------------------------------------' '--------------' - * - */ -[FUN] = LAYOUT( - CTALDEL, KC_MYCM,KC_WHOM,KC_CALC,KC_MSEL,KC_MPRV,KC_MNXT,KC_MPLY,KC_MSTP,KC_MUTE,KC_VOLD,KC_VOLU,MO(RES), _______,KC_SCRL,KC_PAUS, - _______,_______,_______,_______,_______,_______,_______,G(7), G(8), G(9), G(0), G(MINS),_______,_______, _______,_______,KC_WH_U, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,G(RBRC),_______, _______,_______,KC_WH_D, - KC_CAPS,KC_ACL2,KC_ACL0,_______,_______,_______,_______,_______,_______,_______,_______,_______,/*NUHS*/_______, - _______,_______,_______,_______,_______,_______,_______,_______,G(M), _______,_______,_______, _______, KC_MS_U, - KC_BTN2,KC_BTN1,_______, _______, _______,KC_RGUI,KC_APP ,_______, KC_MS_L,KC_MS_D,KC_MS_R), - - -/* Layer 3: Reset layer (prevents accidental resets) */ -[RES] = LAYOUT( - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,/*NUHS*/_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, - _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______), -}; - -tap_dance_action_t tap_dance_actions[] = { - /* Tap once: nothing. Tap twice: Alt+F4 */ - [AF4] = ACTION_TAP_DANCE_DOUBLE(XXXXXXX,A(F4)), -}; diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/readme.md b/keyboards/bpiphany/pegasushoof/keymaps/citadel/readme.md deleted file mode 100644 index 3618bae8618d..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/readme.md +++ /dev/null @@ -1,75 +0,0 @@ -# Citadel keymap for pegasushoof - -Designed for ISO-DE and similar ISO layouts. - -The central idea of this keymap is to avoid unergonomic key combos that force the user to either press -multiple keys with one hand or to use the left hand for right-sided keys. For instance, ISO-DE users -have to press `AltGr`+`7` to type _{_. The keymap allows ergonomic access to the right-sided keys of the -German AltGr-layer by turning `Caps Lock` into a hybrid Fn/AltGr-key. It can easily be adapted for other -ISO layouts. - -The _Function_ layer also offers mouse emulation and function/media keys in the F-Row. - -`Pause/Break` is used as a safe _close key_: A _single tap_ does nothing, a _double tap_ executes ALT+F4. - -Named after the homonymous space station from _Mass Effect_. Made by [Daniel Rose](https://github.com/droseger/). - -## [1] Layers - -### Layer 1 (Default) - .----. .-------------------. .-------------------. .-------------------. .--------------. - |Esc | |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10 |F11 |F12 | |PrSc|SLck|2Tp:| - | | | | | | | | | | | | | | | | | |SyRq| |A+F4| - '----' '-------------------' '-------------------' '-------------------' '--------------' - .------------------------------------------------------------------------. .--------------. - |° |! |" |§ |$ |% |& |/ |( |) |= |? |` |Backspa| |Ins |Home|PgUp| - |^ |1 |2 Âē|3 Âģ|4 |5 |6 |7 {|8 [|9 ]|0 }|ß \|Âī | | | | | | - |------------------------------------------------------------------------| |--------------| - |Tab |Q |W |E |R |T |Z |U |I |O |P |Ü |* | E | |Del |End |PgDn| - | | | | ₮| | | | | | | | |+ ~| n | | | | | - |------------------------------------------------------------------\ t | '--------------' - |Fn: |A |S |D |F |G |H |J |K |L |Ö |Ä |' | e | - |Layer 2| | | | | | | | | | | |# | r | - |------------------------------------------------------------------------| .----. - |Shift|> |Y |X |C |V |B |N |M |; |: |_ |Shift | |Up | - | |< ÂĶ| | | | | | | Âĩ|, |. |- | | | | - |------------------------------------------------------------------------| .--------------. - |Ctrl |Super|Alt | |AltGr|Alt |Fn: |Ctrl | |Left|Down|Righ| - | | | | | | |Lay 2| | | | | | - '------------------------------------------------------------------------' '--------------' - -### Layer 2 (Function) - .----. .-------------------. .-------------------. .-------------------. .--------------. - |Ctl+| |My |WWW:|Calc|Medi| |Mus:|Mus:|Mus:|Mus:| |Vol:|Vol:|Vol:|See:| | | |Paus| - |A+De| |Comp|Home| |Play| |Prev|Next|Paus|Stop| |Mute|Down|Up |[3] | | | |Brea| - '----' '-------------------' '-------------------' '-------------------' '--------------' - .------------------------------------------------------------------------. .--------------. - | | | | | | | | | | | | | | | | | |Mou:| - | | | | | | | |{ |[ |] |} |\ | | | | | |WhUp| - |------------------------------------------------------------------------| |--------------| - | | | | | | | | | | | | |~ | | | | |Mou:| - | | | | | | | | | | | | | | | | | |WhDn| - |------------------------------------------------------------------\ | '--------------' - |CapsLck|Mou:|Mou:| | | | | | | | | | | | - | |Fast|Slow| | | | | | | | | | | | - |------------------------------------------------------------------------| .----. - | | | | | | | | |Âĩ | | | | | |Mou:| - | | | | | | | | | | | | | | |Up | - |------------------------------------------------------------------------| .--------------. - |Mous:|Mous:| | | |Super|App | | |Mou:|Mou:|Mou:| - |Bttn2|Bttn1| | | | | | | |Left|Down|Righ| - '------------------------------------------------------------------------' '--------------' - -Layer 3 exists solely to prevent users from accidentally activating boot mode: `R` is redefined -as `RESET` key [3]. - -## [2] How to build and install -1) Prerequisite: install the necessary [build tools](https://docs.qmk.fm/#/getting_started_build_tools) -such as [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer). - - You might need to [add udev rules](https://docs.qmk.fm/#/faq_build?id=can39t-program-on-linux) under Linux. -2) To test if the keymap compiles, simply run `make pegasushoof:citadel` -3) Enter the `qmk_firmware` root directory and run `make pegasushoof:citadel:dfu` -4) Reset controller to _Boot mode_ by pressing the `RESET` key or by using a magnet. - -## [3] How to access Boot mode after install -Press `Fn+F12+R` diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk deleted file mode 100644 index 294a245aabcd..000000000000 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Build Options -# change to "no" to disable the options -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -CUSTOM_MATRIX = yes # Custom matrix file for the Pegasus Hoof due to the 2x74HC42 -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -TAP_DANCE_ENABLE = yes # see https://docs.qmk.fm/#/feature_tap_dance (+1000) diff --git a/keyboards/bredworks/wyvern_hs/info.json b/keyboards/bredworks/wyvern_hs/info.json new file mode 100644 index 000000000000..63e85496ae0d --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/info.json @@ -0,0 +1,308 @@ +{ + "manufacturer": "Bred Works", + "keyboard_name": "Wyvern HS", + "maintainer": "DeskDaily", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3", "B2", "B1", "B0", "F7", "D5", "D3", "D2", "D1", "D0", "E6", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["B7", "F1", "F6", "F5", "F4"] + }, + "processor": "atmega32u4", + "url": "https://bredworks.com/products/wyvern-hotswap-pcb", + "usb": { + "device_version": "0.0.1", + "pid": "0x0001", + "vid": "0x0571" + }, + "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.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "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.25, "y": 1, "w": 1.5}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "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.25, "y": 2, "w": 1.75}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "h": 2}, + {"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, 4], "x": 4.25, "y": 3, "w": 1.25}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + }, + "LAYOUT_mirrored_numpad": { + "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.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "h": 2}, + {"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.25, "y": 1, "w": 1.5}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "y": 1}, + {"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.25, "y": 2, "w": 1.75}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "h": 2}, + {"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.25, "y": 3, "w": 1.25}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + }, + "LAYOUT_regular_numpad": { + "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.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "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, "h": 2}, + {"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "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, 4], "x": 4.25, "y": 2, "w": 1.75}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "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, 4], "x": 4.25, "y": 3, "w": 1.25}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 0, "y": 4, "w": 2}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c new file mode 100644 index 000000000000..3d0e06721524 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 DeskDaily + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_mirrored_numpad( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP, + KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC + ), + [1] = LAYOUT_mirrored_numpad( + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c new file mode 100644 index 000000000000..0b73184e01e0 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 DeskDaily + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_PPLS, KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP, + KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC + ), + [1] = LAYOUT_all( + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/durgod/k320/keymaps/moults31/rules.mk b/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk similarity index 100% rename from keyboards/durgod/k320/keymaps/moults31/rules.mk rename to keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk diff --git a/keyboards/bredworks/wyvern_hs/readme.md b/keyboards/bredworks/wyvern_hs/readme.md new file mode 100644 index 000000000000..0d0ed4e099e5 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/readme.md @@ -0,0 +1,23 @@ +# Bredworks Wyvern HS + +* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily) +* Hardware Supported: Atmega32u4 +* Hardware Availability: [BredWorks](https://bredworks.com/products/wyvern-hotswap-pcb) + +Make example for this keyboard (after setting up your build environment): + + make bredworks/wyvern_hs:default + +Flashing example for this keyboard: + + make bredworks/wyvern_hs:default:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) 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 + +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/bredworks/wyvern_hs/rules.mk b/keyboards/bredworks/wyvern_hs/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/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 687baec50945..b49e0a11cd5b 100644 --- a/keyboards/bt66tech/bt66tech60/config.h +++ b/keyboards/bt66tech/bt66tech60/config.h @@ -25,18 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 9 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 /* * Feature disable options diff --git a/keyboards/bt66tech/bt66tech60/info.json b/keyboards/bt66tech/bt66tech60/info.json index e4a2d5b1d6c3..adb45b95f31e 100644 --- a/keyboards/bt66tech/bt66tech60/info.json +++ b/keyboards/bt66tech/bt66tech60/info.json @@ -19,6 +19,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/bt66tech/bt66tech60/rules.mk b/keyboards/bt66tech/bt66tech60/rules.mk index bfd3bcd1b497..0f238804a19f 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 df83257ebd9e..657c373c7b65 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 @@ -39,10 +35,6 @@ #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 //#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -#define RGB_MATRIX_DEFAULT_HUE 0 -#define RGB_MATRIX_DEFAULT_SAT 255 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define RGB_MATRIX_DEFAULT_SPD 127 diff --git a/keyboards/bubble75/hotswap/info.json b/keyboards/bubble75/hotswap/info.json index a12e4ca7944e..c9757847b035 100644 --- a/keyboards/bubble75/hotswap/info.json +++ b/keyboards/bubble75/hotswap/info.json @@ -13,7 +13,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "E6", "F0", "D0", "D1", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], diff --git a/keyboards/budgy/info.json b/keyboards/budgy/info.json index 7310fa5a55a9..5903daa68d08 100644 --- a/keyboards/budgy/info.json +++ b/keyboards/budgy/info.json @@ -38,6 +38,7 @@ } } }, + "community_layouts": ["split_3x5_2"], "layouts": { "LAYOUT_split_3x5_2": { "layout": [ diff --git a/keyboards/buildakb/potato65/config.h b/keyboards/buildakb/potato65/config.h index 17e3e9a48171..5b25baa8c4b6 100644 --- a/keyboards/buildakb/potato65/config.h +++ b/keyboards/buildakb/potato65/config.h @@ -37,19 +37,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#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 -#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 effaf6cbcaee..7fee44a1cea9 100644 --- a/keyboards/buildakb/potato65/info.json +++ b/keyboards/buildakb/potato65/info.json @@ -12,7 +12,23 @@ "pin": "B1" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 240, + "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 + } }, "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 d0bdbb2258b3..d60fc7af0191 100644 --- a/keyboards/buildakb/potato65hs/config.h +++ b/keyboards/buildakb/potato65hs/config.h @@ -22,19 +22,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -# 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 fa3b5d2bfebf..2b6a22179eb6 100644 --- a/keyboards/buildakb/potato65hs/info.json +++ b/keyboards/buildakb/potato65hs/info.json @@ -12,7 +12,23 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "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 + } }, "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 3b512642a269..d60fc7af0191 100644 --- a/keyboards/buildakb/potato65s/config.h +++ b/keyboards/buildakb/potato65s/config.h @@ -22,19 +22,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -# 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 -# 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 d4efe4aac66c..fcd6cbf56f15 100644 --- a/keyboards/buildakb/potato65s/info.json +++ b/keyboards/buildakb/potato65s/info.json @@ -12,7 +12,23 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "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 + } }, "matrix_pins": { "cols": ["D3", "D4", "D6", "D7", "B4", "B5", "B6", "F1", "B0", "B1", "B2", "B3", "B7", "D0", "D1"], diff --git a/keyboards/buzzard/keymaps/crehmann/config.h b/keyboards/buzzard/keymaps/crehmann/config.h deleted file mode 100644 index 181396ad26f8..000000000000 --- a/keyboards/buzzard/keymaps/crehmann/config.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2021 Christoph Rehmann (crehmann) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Configure the global tapping term (default: 200ms) -#define TAPPING_TERM 200 - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -#define QUICK_TAP_TERM 0 - -// Apply the modifier on keys that are tapped during a short hold of a modtap -#define PERMISSIVE_HOLD - -// Using the right side as master -#define MASTER_RIGHT - -#ifdef HAPTIC_ENABLE -// this configuration has no effect because the haptic exclusion is implemented with -// __attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) -// in the default keymap and reacts only to mouse clicks. -//#define NO_HAPTIC_MOD -#define NO_HAPTIC_FN -#define NO_HAPTIC_ALPHA -#define NO_HAPTIC_PUNCTUATION -#define NO_HAPTIC_NAV -#define NO_HAPTIC_NUMERIC -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick1 -#endif - -#ifdef PS2_MOUSE_ENABLE -#define PS2_MOUSE_SCROLL_BTN_MASK (1< | / ? | Mute | -// * | CTL | | RALT | | | | | | | | RALT | | Mic | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | ESC | Space| TAB | | Bksp| Enter| Del | -// * | CTL | NAVR | NUMR | | FUNL| SYML | | -// * `--------------------' `--------------------' -// */ - [_BASE] = LAYOUT( - KC_Q , KC_W , KC_E , KC_R , KC_T , CH_Z , KC_U , KC_I , KC_O , KC_P , - UC_OSFT, GUI_A , ALT_S , CTL_D , SFT_F , KC_G , KC_H , SFT_J , CTL_K , ALT_L , GUI_SCL, KC_BSPC, - CTL_ESC, CH_Y , RALT_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, RALT_DT, KC_SLSH, UC_MUTE, - UC_TL1 , UC_TL2 , UC_TL3 , UC_TR3 , UC_TR2 , UC_TR1 - ), - -// /* -// * Symbol Layer -// * -// * ,----------------------------------. ,----------------------------------. -// * | ` | @ | { | } | $ | | ÂĻ | Þ | / | \ | ^ | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | ÃĪ | & | ( | ) | | | | ' | " | ? | ! | + | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | % | # | [ | ] | ~ | | ₮ | = | * | < | > | | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | | TAB | | | | | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ - [_SYMB] = LAYOUT( - CH_GRV , CH_AT , CH_LCBR, CH_RCBR, CH_DLR , CH_DIAE, CH_UDIA, CH_SLSH, CH_BSLS, KC_CIRC, - _______, CH_ADIA, CH_AMPR, CH_LPRN, CH_RPRN, CH_PIPE, CH_QUOT, CH_DQUO, CH_QUES, CH_EXLM, CH_PLUS, _______, - _______, CH_PERC, CH_HASH, CH_LBRC, CH_RBRC, CH_TILD, CH_EURO, CH_EQL , CH_ASTR, CH_LABK, CH_RABK, _______, - _______, _______, KC_TAB, _______, _______ , _______ - ), - -// /* -// * Navigation Layer (Right) -// * -// * ,----------------------------------. ,----------------------------------. -// * | | | | | | |Insert| Cut | PgUp | PgDn | | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | | | | | | | Copy | ← | ↑ | ↓ | → | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | | | | | | | Paste| Home | WH_U | WH_D | End | | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | | | | Bksp | | Del | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ - [_NAVR] = LAYOUT( - _______, _______, _______, _______, _______, KC_INS , UC_CUT , KC_PGUP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, UC_COPY, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, UC_PSTE, KC_HOME, KC_WH_U, KC_WH_D, KC_END , _______, - _______, _______, _______, KC_BSPC, _______, _______ - ), -// -------------------------------------------------------------------------------------------------------------------------------------------------------- - -// /* -// * Number Layer (Right) -// * -// * ,----------------------------------. ,----------------------------------. -// * | | | | | | | / | 7 | 8 | 9 | - | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | | | | | | | * | 4 | 5 | 6 | + | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | | | | | | | 0 | 1 | 2 | 3 | . | | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | | | | Bksp | Enter| | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ - [_NUMR] = LAYOUT( - _______, _______, _______, _______, _______, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_MINS, - _______, _______, _______, _______, _______, _______, KC_ASTR, KC_4 , KC_5 , KC_6 , KC_PLUS, _______, - _______, _______, _______, _______, _______, _______, KC_0 , KC_1 , KC_2 , KC_3 , KC_DOT , _______, - _______, _______, _______, KC_BSPC, KC_ENT , _______ - ), - -// /* -// * Function Layer (Left) -// * -// * ,----------------------------------. ,----------------------------------. -// * | F12 | F7 | F8 | F9 | Pause| | | | | | | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | F11 | F4 | F5 | F6 | PrScr| | | | | | | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | F10 | F1 | F2 | F3 | CapsL| | | | | | | | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | Space| TAB | | | | | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ - [_FUNL] = LAYOUT( - KC_F12 , KC_F7 , KC_F8 , KC_F9 , KC_PAUS, _______, _______, _______, _______, _______, - _______, KC_F11 , KC_F4 , KC_F5 , KC_F6 , KC_PSCR, _______, _______, _______, _______, _______, _______, - _______, KC_F10 , KC_F1 , KC_F2 , KC_F3 , KC_CAPS, _______, _______, _______, _______, _______, _______, - _______, KC_SPC , KC_TAB , _______, _______, _______ - ), - -// /* -// * Mouse & Adjustment Layer -// * -// * ,----------------------------------. ,----------------------------------. -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | | BTN3 | BTN2 | BTN1 | | | | | | | | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | | Cut | Copy | Paste| | | Play |M Prev| VolDn| VolUp|M Next| | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | | | | | | | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ - [_MOAJ] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN3, KC_BTN2, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, - _______, _______, UC_CUT , UC_COPY, UC_PSTE, _______, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, - _______, _______, _______, _______, _______, _______ - ), - -// -------------------------------------------------------- TEMPLATE ------------------------------------------------------------------------------------- -// /* -// * Layer -// * -// * ,----------------------------------. ,----------------------------------. -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * ,------+------+------+------+------+------| |------+------+------+------+------+------. -// * | | | | | | | | | | | | | | -// * | | | | | | | | | | | | | | -// * |------+------+------+------+------+------| |------+------+------+------+------+------| -// * | | | | | | | | | | | | | | -// * | | | | | | | | | | | | | | -// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' -// * | | | | | | | | -// * | | | | | | | | -// * `--------------------' `--------------------' -// */ -// [_LAYERINDEX] = LAYOUT( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______ -// ), -// -------------------------------------------------------------------------------------------------------------------------------------------------------- -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - process_layer_pulse(state); - return update_tri_layer_state(state, _NAVR, _SYMB, _MOAJ); -} - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case GUI_A: - return TAPPING_TERM + 150; - case ALT_S: - return TAPPING_TERM + 50; - case ALT_L: - return TAPPING_TERM + 50; - case GUI_SCL: - return TAPPING_TERM + 150; - default: - return TAPPING_TERM; - } -} diff --git a/keyboards/buzzard/keymaps/crehmann/rules.mk b/keyboards/buzzard/keymaps/crehmann/rules.mk deleted file mode 100644 index 484e7d84a6bf..000000000000 --- a/keyboards/buzzard/keymaps/crehmann/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -SRC += features/haptic_utils.c - -OLED_ENABLE = yes - -HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L - -PS2_MOUSE_ENABLE = yes -MOUSEKEY_ENABLE = yes diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h index 2a42e17d0cc2..0a2776afd15d 100644 --- a/keyboards/buzzard/keymaps/default/config.h +++ b/keyboards/buzzard/keymaps/default/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick1 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_1_100 #endif diff --git a/keyboards/buzzard/keymaps/default/rules.mk b/keyboards/buzzard/keymaps/default/rules.mk index e8124aebb9e0..46728f380337 100644 --- a/keyboards/buzzard/keymaps/default/rules.mk +++ b/keyboards/buzzard/keymaps/default/rules.mk @@ -1,7 +1,7 @@ OLED_ENABLE = yes # uncomment if you are using an OLED display #HAPTIC_ENABLE = yes # uncomment only on the master side if you are using a Pimoroni haptic buzz -#HAPTIC_DRIVER = DRV2605L # uncomment only on the master side if you are using a Pimoroni haptic buzz +#HAPTIC_DRIVER = drv2605l # uncomment only on the master side if you are using a Pimoroni haptic buzz #PS2_MOUSE_ENABLE = yes # uncomment only on the master side if you are usin a TrackPoint MOUSEKEY_ENABLE = yes \ No newline at end of file diff --git a/keyboards/buzzard/rev1/config.h b/keyboards/buzzard/rev1/config.h index f29441fac804..36313a1c6a29 100644 --- a/keyboards/buzzard/rev1/config.h +++ b/keyboards/buzzard/rev1/config.h @@ -10,7 +10,6 @@ #ifdef OLED_ENABLE #define OLED_DISPLAY_128X32 -#define SPLIT_OLED_ENABLE #endif #ifdef PS2_DRIVER_INTERRUPT diff --git a/keyboards/buzzard/rev1/info.json b/keyboards/buzzard/rev1/info.json index d0fa9603f716..0e7d246ae379 100644 --- a/keyboards/buzzard/rev1/info.json +++ b/keyboards/buzzard/rev1/info.json @@ -14,7 +14,12 @@ }, "diode_direction": "COL2ROW", "split": { - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "transport": { + "sync": { + "oled": true + } + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/buzzard/rev1/rev1.c b/keyboards/buzzard/rev1/rev1.c index c6cdc66187b8..03c3269a7e45 100644 --- a/keyboards/buzzard/rev1/rev1.c +++ b/keyboards/buzzard/rev1/rev1.c @@ -3,7 +3,7 @@ #include "quantum.h" #ifdef HAPTIC_ENABLE -#include "drivers/haptic/DRV2605L.h" +#include "drivers/haptic/drv2605l.h" #endif #ifdef SWAP_HANDS_ENABLE @@ -100,27 +100,27 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case 1: #ifdef HAPTIC_ENABLE - DRV_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 2: #ifdef HAPTIC_ENABLE - DRV_pulse(sh_dblsharp_tick); + drv2605l_pulse(DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100); #endif break; case 3: #ifdef HAPTIC_ENABLE - DRV_pulse(lg_dblclick_str); + drv2605l_pulse(DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100); #endif break; case 4: #ifdef HAPTIC_ENABLE - DRV_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 5: #ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_sharp); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_SHARP_1_100); #endif break; } diff --git a/keyboards/buzzard/rev1/rules.mk b/keyboards/buzzard/rev1/rules.mk index 13c63d5b1763..2beb545ece1f 100644 --- a/keyboards/buzzard/rev1/rules.mk +++ b/keyboards/buzzard/rev1/rules.mk @@ -1,4 +1,2 @@ -OLED_DRIVER = SSD1306 - PS2_ENABLE = yes PS2_DRIVER = interrupt diff --git a/keyboards/cablecardesigns/cypher/rev6/config.h b/keyboards/cablecardesigns/cypher/rev6/config.h index 5a697f880536..791ecc268772 100644 --- a/keyboards/cablecardesigns/cypher/rev6/config.h +++ b/keyboards/cablecardesigns/cypher/rev6/config.h @@ -6,19 +6,3 @@ #define LOCKING_SUPPORT_ENABLE /* 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 - #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/cablecardesigns/cypher/rev6/info.json b/keyboards/cablecardesigns/cypher/rev6/info.json index 5974c492a1f3..9bc6e26814b0 100644 --- a/keyboards/cablecardesigns/cypher/rev6/info.json +++ b/keyboards/cablecardesigns/cypher/rev6/info.json @@ -14,10 +14,30 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D0", "levels": 5, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 3, + "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 + } + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/cablecardesigns/phoenix/info.json b/keyboards/cablecardesigns/phoenix/info.json index effa8836b9b8..0d2ea10ad64d 100755 --- a/keyboards/cablecardesigns/phoenix/info.json +++ b/keyboards/cablecardesigns/phoenix/info.json @@ -1,20 +1,9 @@ { - "keyboard_name": "Phoenix", "manufacturer": "Yiancar-Designs", + "keyboard_name": "Phoenix", "maintainer": "Yiancar-Designs", - "url": "https://yiancar-designs.com", - "processor": "STM32F072", "bootloader": "stm32-dfu", "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["A1", "B9", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"], - "rows": ["A2", "A14", "A15", "B3", "B4", "B5"] - }, - "usb": { - "vid": "0x8968", - "pid": "0x5048", - "device_version": "0.0.1" - }, "features": { "bootmagic": true, "command": false, @@ -27,470 +16,481 @@ "caps_lock": "B6", "on_state": 0 }, + "matrix_pins": { + "cols": ["A1", "B9", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"], + "rows": ["A2", "A14", "A15", "B3", "B4", "B5"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x5048", + "vid": "0x8968" + }, "community_layouts": ["tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_f13_iso_tsangan", "tkl_f13_iso_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_all": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1.25, "y": 0 }, - { "matrix": [0, 2], "x": 2.25, "y": 0 }, - { "matrix": [0, 3], "x": 3.25, "y": 0 }, - { "matrix": [0, 4], "x": 4.25, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 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": [2, 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 }, - { "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": [3, 12], "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], "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], "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], "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], "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "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": [5, 16], "x": 17.25, "y": 5.25 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [2, 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": [3, 12], "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, 13], "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.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_f13_ansi_tsangan": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1.25, "y": 0 }, - { "matrix": [0, 2], "x": 2.25, "y": 0 }, - { "matrix": [0, 3], "x": 3.25, "y": 0 }, - { "matrix": [0, 4], "x": 4.25, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 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": [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 }, - { "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": [3, 12], "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], "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], "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], "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "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": [5, 16], "x": 17.25, "y": 5.25 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [3, 12], "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, 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, 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_f13_ansi_tsangan_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1.25, "y": 0 }, - { "matrix": [0, 2], "x": 2.25, "y": 0 }, - { "matrix": [0, 3], "x": 3.25, "y": 0 }, - { "matrix": [0, 4], "x": 4.25, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "x": 13, "y": 1.25 }, - { "matrix": [2, 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 }, - { "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": [3, 12], "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], "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], "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], "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], "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "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": [5, 16], "x": 17.25, "y": 5.25 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [2, 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": [3, 12], "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, 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, 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_f13_iso_tsangan": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1.25, "y": 0 }, - { "matrix": [0, 2], "x": 2.25, "y": 0 }, - { "matrix": [0, 3], "x": 3.25, "y": 0 }, - { "matrix": [0, 4], "x": 4.25, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 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": [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 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 13.75, "y": 2.25 }, - { "matrix": [2, 15], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 16.25, "y": 2.25 }, - { "matrix": [3, 0], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 1], "x": 0, "y": 3.25 }, - { "matrix": [3, 2], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "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], "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "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": [5, 16], "x": 17.25, "y": 5.25 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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_f13_iso_tsangan_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1.25, "y": 0 }, - { "matrix": [0, 2], "x": 2.25, "y": 0 }, - { "matrix": [0, 3], "x": 3.25, "y": 0 }, - { "matrix": [0, 4], "x": 4.25, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "x": 13, "y": 1.25 }, - { "matrix": [2, 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 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 13.75, "y": 2.25 }, - { "matrix": [2, 15], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 16.25, "y": 2.25 }, - { "matrix": [3, 0], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 1], "x": 0, "y": 3.25 }, - { "matrix": [3, 2], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "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], "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], "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "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": [5, 16], "x": 17.25, "y": 5.25 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [2, 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": [3, 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} ] } } diff --git a/keyboards/cablecardesigns/phoenix/rules.mk b/keyboards/cablecardesigns/phoenix/rules.mk old mode 100755 new mode 100644 index 7ce6edcba902..6dd24d8e0683 --- 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/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c index c47abf57fd57..065268c5318a 100644 --- a/keyboards/canary/canary60rgb/canary60rgb.c +++ b/keyboards/canary/canary60rgb/canary60rgb.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, J_14, K_14, L_14 }, { 0, J_13, K_13, L_13 }, { 0, J_12, K_12, L_12 }, diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json index 1d3b2d693bc5..7f19520ac341 100644 --- a/keyboards/canary/canary60rgb/info.json +++ b/keyboards/canary/canary60rgb/info.json @@ -8,11 +8,29 @@ "pid": "0x0621", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "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 + } + }, "ws2812": { "pin": "B6" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h index c269ae517246..ab5c817000eb 100644 --- a/keyboards/canary/canary60rgb/v1/config.h +++ b/keyboards/canary/canary60rgb/v1/config.h @@ -15,22 +15,6 @@ */ #pragma once -# 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 -# 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 # define RGB_MATRIX_KEYPRESSES @@ -49,7 +33,6 @@ # define DISABLE_RGB_MATRIX_MULTISPLASH # define DISABLE_RGB_MATRIX_SOLID_SPLASH # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/cannonkeys/adelie/config.h b/keyboards/cannonkeys/adelie/config.h index 4333289e824c..9027c44df535 100644 --- a/keyboards/cannonkeys/adelie/config.h +++ b/keyboards/cannonkeys/adelie/config.h @@ -17,22 +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 -# 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 - /* 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/cannonkeys/adelie/info.json b/keyboards/cannonkeys/adelie/info.json index 717bf3f3f8b5..798c59969261 100644 --- a/keyboards/cannonkeys/adelie/info.json +++ b/keyboards/cannonkeys/adelie/info.json @@ -8,6 +8,24 @@ "pid": "0x0005", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "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 + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/cannonkeys/aella/rules.mk b/keyboards/cannonkeys/aella/rules.mk index f56120695ac0..480e8661799b 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 aced1f333cce..f3d6237a78df 100644 --- a/keyboards/cannonkeys/an_c/config.h +++ b/keyboards/cannonkeys/an_c/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 14 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/an_c/info.json b/keyboards/cannonkeys/an_c/info.json index d3b73e31092f..9de1ff5fff62 100644 --- a/keyboards/cannonkeys/an_c/info.json +++ b/keyboards/cannonkeys/an_c/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/an_c/rules.mk b/keyboards/cannonkeys/an_c/rules.mk index b7ab91a33934..8d3de1b8b236 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 1296ad8dcc70..38f684a8617b 100644 --- a/keyboards/cannonkeys/atlas/config.h +++ b/keyboards/cannonkeys/atlas/config.h @@ -22,20 +22,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - - -#define WS2812_SPI SPID2 -#define RGBLED_NUM 22 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/atlas/info.json b/keyboards/cannonkeys/atlas/info.json index 6fc7724b2b2d..8173ec6a8fa2 100644 --- a/keyboards/cannonkeys/atlas/info.json +++ b/keyboards/cannonkeys/atlas/info.json @@ -8,6 +8,21 @@ "pid": "0xA7A5", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 22, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/atlas_alps/config.h b/keyboards/cannonkeys/atlas_alps/config.h index 7e6ce9cdb952..876e59daa074 100644 --- a/keyboards/cannonkeys/atlas_alps/config.h +++ b/keyboards/cannonkeys/atlas_alps/config.h @@ -21,20 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -// ws2812 options -#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 -#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 ee584b24d247..7166206f051d 100644 --- a/keyboards/cannonkeys/atlas_alps/info.json +++ b/keyboards/cannonkeys/atlas_alps/info.json @@ -12,7 +12,23 @@ "pin": "D4" }, "rgblight": { - "max_brightness": 230 + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 36, + "max_brightness": 230, + "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 + } }, "matrix_pins": { "cols": ["B6", "C6", "D2", "E6", "C7", "B3", "F7", "F6", "F5", "F4", "F1", "F0"], diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk b/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk index 2a5031cd3205..6dd24d8e0683 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 2a5031cd3205..6dd24d8e0683 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 f9c629dad823..0f2582901b1b 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 8be2cee0c58a..9565795169cb 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 aa1b707d431f..5afdd3772f5c 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/bastion60/config.h b/keyboards/cannonkeys/bastion60/config.h new file mode 100644 index 000000000000..206ca9cf564f --- /dev/null +++ b/keyboards/cannonkeys/bastion60/config.h @@ -0,0 +1,14 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A + +#define WS2812_PIO_USE_PIO1 diff --git a/keyboards/cannonkeys/bastion60/halconf.h b/keyboards/cannonkeys/bastion60/halconf.h new file mode 100644 index 000000000000..8c1197b84c63 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/cannonkeys/bastion60/info.json b/keyboards/cannonkeys/bastion60/info.json new file mode 100644 index 000000000000..07443b50b780 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/info.json @@ -0,0 +1,750 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "Bastion60", + "maintainer": "awkannan", + "backlight": { + "breathing": true, + "breathing_period": 5, + "levels": 15, + "pin": "GP22" + }, + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP29", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["GP28", "GP8", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"], + "rows": ["GP26", "GP27", "GP15", "GP16", "GP17"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "hue_steps": 17, + "led_count": 20 + }, + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0020", + "vid": "0xCA04" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP7" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "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": [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": [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": [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": [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, 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": [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": [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": [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_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": [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": [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, 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} + ] + }, + "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, 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": [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}, + {"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": [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, 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}, + {"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, 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": [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}, + {"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": [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, 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}, + {"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_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, 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": [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": 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, 5], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 7.25, "y": 4, "w": 2.75}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c new file mode 100644 index 000000000000..9dbc210e199c --- /dev/null +++ b/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c new file mode 100644 index 000000000000..9dbc210e199c --- /dev/null +++ b/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk b/keyboards/cannonkeys/bastion60/keymaps/via/rules.mk similarity index 100% rename from keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk rename to keyboards/cannonkeys/bastion60/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/bastion60/matrix_diagram.md b/keyboards/cannonkeys/bastion60/matrix_diagram.md new file mode 100644 index 000000000000..fe29d0eea91b --- /dev/null +++ b/keyboards/cannonkeys/bastion60/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for CannonKeys Bastion60 + +``` + ┌───────┐ + 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/cannonkeys/bastion60/mcuconf.h b/keyboards/cannonkeys/bastion60/mcuconf.h new file mode 100644 index 000000000000..49015d4dbf56 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM3 +#define RP_PWM_USE_PWM3 TRUE diff --git a/keyboards/cannonkeys/bastion60/readme.md b/keyboards/cannonkeys/bastion60/readme.md new file mode 100644 index 000000000000..1fee68cdc841 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/readme.md @@ -0,0 +1,26 @@ +# Bastion60 PCB + +Bastion60 PCB from CannonKeys + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: RP2040 +* Hardware Availability: [CannonKeys](https://cannonkeys.com) + + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/bastion60:default + +Flashing example for this keyboard: + + make cannonkeys/bastion60: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 the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/bastion60/rules.mk b/keyboards/cannonkeys/bastion60/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/cannonkeys/bastion65/config.h b/keyboards/cannonkeys/bastion65/config.h new file mode 100644 index 000000000000..0b93d1434be9 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2015 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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A + +#define WS2812_PIO_USE_PIO1 diff --git a/keyboards/cannonkeys/bastion65/halconf.h b/keyboards/cannonkeys/bastion65/halconf.h new file mode 100644 index 000000000000..8c1197b84c63 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/cannonkeys/bastion65/info.json b/keyboards/cannonkeys/bastion65/info.json new file mode 100644 index 000000000000..dd7dd4516eb4 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/info.json @@ -0,0 +1,746 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "Bastion65", + "maintainer": "awkannan", + "backlight": { + "breathing": true, + "breathing_period": 5, + "levels": 15, + "pin": "GP22" + }, + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP29", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["GP28", "GP8", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP26", "GP27", "GP15", "GP16", "GP17"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "hue_steps": 17, + "led_count": 20 + }, + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0021", + "vid": "0xCA04" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP7" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], + "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, 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": 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, 5], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 7.25, "y": 4, "w": 2.75}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 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, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 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, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 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": [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, 11], "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, 11], "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": { + "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, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 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, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 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, 11], "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}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c new file mode 100644 index 000000000000..111633864cf3 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/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_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FN1] = LAYOUT_all( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c new file mode 100644 index 000000000000..66b6c1c1f72e --- /dev/null +++ b/keyboards/cannonkeys/bastion65/keymaps/via/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_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FN1] = LAYOUT_all( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) + +}; diff --git a/keyboards/hs60/v2/ansi/keymaps/stanrc85/rules.mk b/keyboards/cannonkeys/bastion65/keymaps/via/rules.mk similarity index 100% rename from keyboards/hs60/v2/ansi/keymaps/stanrc85/rules.mk rename to keyboards/cannonkeys/bastion65/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/bastion65/matrix_diagram.md b/keyboards/cannonkeys/bastion65/matrix_diagram.md new file mode 100644 index 000000000000..12d7734d5a07 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys Bastion65 + +``` + ┌───────┐ + 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 │1D │1E │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī ┌──â”ī┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │1D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī──┮â”ī──┮â”ī───â”ī───â”ī──┮â”ī───â”ī┮─┮───┾───┾───â”Ī +│40 │41 │42 │45 │46 │49 │4B │ │4C │4D │4E │ +└─────â”ī───â”ī─────â”ī───────────â”ī───â”ī───────────â”ī─────┘ └───â”ī───â”ī───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────┘ +┌────┮────┮────┮────────────────────────┮────┮────┐ +│40 │41 │42 │46 │4A │4B │ Blocker +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ +``` diff --git a/keyboards/cannonkeys/bastion65/mcuconf.h b/keyboards/cannonkeys/bastion65/mcuconf.h new file mode 100644 index 000000000000..49015d4dbf56 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM3 +#define RP_PWM_USE_PWM3 TRUE diff --git a/keyboards/cannonkeys/bastion65/readme.md b/keyboards/cannonkeys/bastion65/readme.md new file mode 100644 index 000000000000..da2d79b3bc1f --- /dev/null +++ b/keyboards/cannonkeys/bastion65/readme.md @@ -0,0 +1,26 @@ +# Bastion65 PCB + +Bastion65 PCB from CannonKeys + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: RP2040 +* Hardware Availability: [CannonKeys](https://cannonkeys.com) + + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/bastion65:default + +Flashing example for this keyboard: + + make cannonkeys/bastion65: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 the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/bastion65/rules.mk b/keyboards/cannonkeys/bastion65/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/cannonkeys/bastion75/config.h b/keyboards/cannonkeys/bastion75/config.h new file mode 100644 index 000000000000..0b93d1434be9 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2015 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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A + +#define WS2812_PIO_USE_PIO1 diff --git a/keyboards/cannonkeys/bastion75/halconf.h b/keyboards/cannonkeys/bastion75/halconf.h new file mode 100644 index 000000000000..8c1197b84c63 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/cannonkeys/bastion75/info.json b/keyboards/cannonkeys/bastion75/info.json new file mode 100644 index 000000000000..276cc03c5140 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/info.json @@ -0,0 +1,870 @@ +{ + "keyboard_name": "Bastion75", + "maintainer": "awkannan", + "manufacturer": "CannonKeys", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0xCA04", + "pid": "0x0022", + "device_version": "0.0.1" + }, + "url": "https://cannonkeys.com", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP28", "GP8", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP25", "GP26", "GP27", "GP15", "GP16", "GP17"] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "backlight": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP29", + "on_state": 0 + }, + "backlight": { + "breathing": true, + "breathing_period": 5, + "levels": 15, + "pin": "GP22" + }, + "ws2812": { + "pin": "GP7", + "driver": "vendor" + }, + "rgblight": { + "led_count": 20, + "hue_steps": 17, + "animations": { + "static_gradient": true, + "twinkle": true, + "rainbow_mood": true, + "rainbow_swirl": true + } + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, 12], "x": 14, "y": 1.25 }, + { "matrix": [1, 14], "x": 15, "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": [2, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "matrix": [2, 14], "x": 15, "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": [3, 14], "x": 15, "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, 14], "x": 15, "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, 5], "w": 2.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 6], "w": 1.25, "x": 6, "y": 5.25 }, + { "matrix": [5, 9], "w": 2.75, "x": 7.25, "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], "x": 13, "y": 5.25 }, + { "matrix": [5, 13], "x": 14, "y": 5.25 }, + { "matrix": [5, 14], "x": 15, "y": 5.25 } + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, "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, "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": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "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, "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": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, "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, "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": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "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, "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": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, "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, "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "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, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "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, "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "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, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, "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, "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "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, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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, 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": [0, 14], "x": 15, "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, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "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, "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "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, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "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": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + } + } +} diff --git a/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c new file mode 100644 index 000000000000..b0da09f0b8dc --- /dev/null +++ b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FN1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c new file mode 100644 index 000000000000..493fea3c9a68 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FN1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) + +}; diff --git a/keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk b/keyboards/cannonkeys/bastion75/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk rename to keyboards/cannonkeys/bastion75/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/bastion75/matrix_diagram.md b/keyboards/cannonkeys/bastion75/matrix_diagram.md new file mode 100644 index 000000000000..756c26c3b388 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys Bastion75 + +``` +┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┐ +│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │ +└───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3C │1E │ │1D │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───â”Ī └─┮─────â”Ī +│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 │ │2D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī └───â”ī────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │ +├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī──┮â”ī──┮â”ī───â”ī───â”ī──┮â”ī───â”ī┮─┮───┾───┾───â”Ī +│50 │51 │52 │55 │56 │59 │5B │ │5C │5D │5E │ +└─────â”ī───â”ī─────â”ī───────────â”ī───â”ī───────────â”ī─────┘ └───â”ī───â”ī───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┐ +│50 │51 │52 │56 │5B │ Blocker Tsangan +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────┘ +┌────┮────┮────┮────────────────────────┮────┮────┐ +│50 │51 │52 │56 │5A │5B │ Blocker +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ +``` diff --git a/keyboards/cannonkeys/bastion75/mcuconf.h b/keyboards/cannonkeys/bastion75/mcuconf.h new file mode 100644 index 000000000000..49015d4dbf56 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM3 +#define RP_PWM_USE_PWM3 TRUE diff --git a/keyboards/cannonkeys/bastion75/readme.md b/keyboards/cannonkeys/bastion75/readme.md new file mode 100644 index 000000000000..06674d847bbd --- /dev/null +++ b/keyboards/cannonkeys/bastion75/readme.md @@ -0,0 +1,26 @@ +# Bastion75 PCB + +Bastion75 PCB from CannonKeys + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: RP2040 +* Hardware Availability: [CannonKeys](https://cannonkeys.com) + + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/bastion75:default + +Flashing example for this keyboard: + + make cannonkeys/bastion75: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 the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/bastion75/rules.mk b/keyboards/cannonkeys/bastion75/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/cannonkeys/bastiontkl/config.h b/keyboards/cannonkeys/bastiontkl/config.h new file mode 100644 index 000000000000..8b8e7f9aa557 --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + diff --git a/keyboards/cannonkeys/bastiontkl/info.json b/keyboards/cannonkeys/bastiontkl/info.json new file mode 100644 index 000000000000..72733b3d8fe8 --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/info.json @@ -0,0 +1,1691 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "BastionTKL", + "maintainer": "awkannan", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP27", + "on_state": 0, + "scroll_lock": "GP1" + }, + "matrix_pins": { + "cols": ["GP14", "GP13", "GP12", "GP17", "GP18", "GP19", "GP20", "GP21", "GP26", "GP25", "GP24", "GP23", "GP22", "GP29", "GP16", "GP5", "GP4"], + "rows": ["GP0", "GP2", "GP3", "GP28", "GP10", "GP11"] + }, + "processor": "RP2040", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0023", + "vid": "0xCA04" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_split_bs_rshift", + "tkl_ansi_tsangan", + "tkl_ansi_tsangan_split_bs_rshift", + "tkl_f13_ansi", + "tkl_f13_ansi_split_bs_rshift", + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift", + "tkl_iso", + "tkl_iso_split_bs_rshift", + "tkl_iso_tsangan", + "tkl_iso_tsangan_split_bs_rshift", + "tkl_f13_iso", + "tkl_f13_iso_split_bs_rshift", + "tkl_f13_iso_tsangan", + "tkl_f13_iso_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 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, 12], "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, 13], "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} + ] + }, + "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, 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, 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, 12], "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, 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, 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, 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, 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, 12], "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, 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, 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_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 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, 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_f13_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "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, 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, 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_f13_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 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, 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, 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_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "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, 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, 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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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, 12], "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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, 12], "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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_tkl_f13_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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_f13_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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_f13_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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_f13_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "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": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 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} + ] + } + } +} diff --git a/keyboards/cannonkeys/bastiontkl/keymaps/default/keymap.c b/keyboards/cannonkeys/bastiontkl/keymaps/default/keymap.c new file mode 100644 index 000000000000..6daafc751f2b --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [_FN1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; diff --git a/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c b/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c new file mode 100644 index 000000000000..0d57c828c2b3 --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [_FN1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/keychron/q1/ansi/keymaps/via/rules.mk b/keyboards/cannonkeys/bastiontkl/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q1/ansi/keymaps/via/rules.mk rename to keyboards/cannonkeys/bastiontkl/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/bastiontkl/matrix_diagram.md b/keyboards/cannonkeys/bastiontkl/matrix_diagram.md new file mode 100644 index 000000000000..6b3e3f60dd0c --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys BastionTKL + +``` +┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D ││0E │0F │0G │ F12 Row +└───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ +┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ +│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 │3C ││1E │1F │1G │ │1D │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī └─┮─────â”Ī +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │2D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ └───â”ī────┘ +│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 +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/cannonkeys/bastiontkl/readme.md b/keyboards/cannonkeys/bastiontkl/readme.md new file mode 100644 index 000000000000..c28083f53e2a --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/readme.md @@ -0,0 +1,26 @@ +# BastionTKL PCB + +BastionTKL PCB from CannonKeys + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: RP2040 +* Hardware Availability: [CannonKeys](https://cannonkeys.com) + + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/bastiontkl:default + +Flashing example for this keyboard: + + make cannonkeys/bastiontkl: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 the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/bastiontkl/rules.mk b/keyboards/cannonkeys/bastiontkl/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/cannonkeys/brutalv2_1800/rules.mk b/keyboards/cannonkeys/brutalv2_1800/rules.mk index 59f8593f1849..6e7633bfe015 100644 --- a/keyboards/cannonkeys/brutalv2_1800/rules.mk +++ b/keyboards/cannonkeys/brutalv2_1800/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/cannonkeys/brutalv2_60/config.h b/keyboards/cannonkeys/brutalv2_60/config.h new file mode 100644 index 000000000000..8b8e7f9aa557 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + diff --git a/keyboards/cannonkeys/brutalv2_60/info.json b/keyboards/cannonkeys/brutalv2_60/info.json new file mode 100644 index 000000000000..3ee5f0d576b9 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/info.json @@ -0,0 +1,700 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "Brutal V2 60", + "maintainer": "awkannan", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP12", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["GP3", "GP2", "GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18"], + "rows": ["GP4", "GP5", "GP13", "GP14", "GP10"] + }, + "processor": "RP2040", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x000B", + "vid": "0xCA04" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_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, 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": [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": 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": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"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, 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, 13], "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}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "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 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, 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": "Fn", "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}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"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, 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, 13], "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}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "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 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, 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": "Fn", "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}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 12], "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": "Bspc", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Ctrl", "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": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Win", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Win", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "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": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "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, 13], "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}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "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 Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "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": "Fn", "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}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "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": "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": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "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, 13], "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}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "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 Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "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": "Fn", "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}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c b/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c new file mode 100644 index 000000000000..4678bab52a5a --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN1, + _FN2, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ), + + [_FN2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, DB_TOGG, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c new file mode 100644 index 000000000000..4678bab52a5a --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN1, + _FN2, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ), + + [_FN2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, DB_TOGG, QK_BOOT + ) +}; diff --git a/keyboards/keychron/q1/iso/keymaps/via/rules.mk b/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/q1/iso/keymaps/via/rules.mk rename to keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/brutalv2_60/readme.md b/keyboards/cannonkeys/brutalv2_60/readme.md new file mode 100644 index 000000000000..8c08e3a30aa6 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/readme.md @@ -0,0 +1,24 @@ +# Brutal v2 60 + +Brutal v2 60 Keyboard + +Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +Hardware Supported: RP2040 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/brutalv2_60:default + +Flashing example for this keyboard: + + make cannonkeys/brutalv2_60: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 the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/brutalv2_60/rules.mk b/keyboards/cannonkeys/brutalv2_60/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/cannonkeys/brutalv2_65/rules.mk b/keyboards/cannonkeys/brutalv2_65/rules.mk index f56120695ac0..480e8661799b 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/caerdroia/rules.mk b/keyboards/cannonkeys/caerdroia/rules.mk index 59f8593f1849..6e7633bfe015 100644 --- a/keyboards/cannonkeys/caerdroia/rules.mk +++ b/keyboards/cannonkeys/caerdroia/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/cannonkeys/chimera65/rules.mk b/keyboards/cannonkeys/chimera65/rules.mk index 09c801a8491c..9bdf6b80937f 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 2a5031cd3205..6dd24d8e0683 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 a3fc30fc3d66..41e58784b480 100644 --- a/keyboards/cannonkeys/cloudline/config.h +++ b/keyboards/cannonkeys/cloudline/config.h @@ -12,25 +12,11 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 - -#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 - - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/cannonkeys/cloudline/info.json b/keyboards/cannonkeys/cloudline/info.json index 37fc5470f969..d1bbce929a19 100644 --- a/keyboards/cannonkeys/cloudline/info.json +++ b/keyboards/cannonkeys/cloudline/info.json @@ -8,6 +8,21 @@ "pid": "0x000A", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/cloudline/rules.mk b/keyboards/cannonkeys/cloudline/rules.mk index 42e73a46504d..86794ca0f702 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 e58c51143553..a5906b6a90f8 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 20f73d95a2fc..f3d6237a78df 100644 --- a/keyboards/cannonkeys/db60/config.h +++ b/keyboards/cannonkeys/db60/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define WS2812_SPI SPID2 -#define RGBLED_NUM 20 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/db60/info.json b/keyboards/cannonkeys/db60/info.json index 99a4425752b6..112ebaddde7e 100644 --- a/keyboards/cannonkeys/db60/info.json +++ b/keyboards/cannonkeys/db60/info.json @@ -16,6 +16,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/db60/rules.mk b/keyboards/cannonkeys/db60/rules.mk index 9a57c69c7e90..023b329ad223 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 947648f59e75..f3d6237a78df 100644 --- a/keyboards/cannonkeys/devastatingtkl/config.h +++ b/keyboards/cannonkeys/devastatingtkl/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/devastatingtkl/info.json b/keyboards/cannonkeys/devastatingtkl/info.json index 13a1a2ef48a7..a3b269f1cfef 100644 --- a/keyboards/cannonkeys/devastatingtkl/info.json +++ b/keyboards/cannonkeys/devastatingtkl/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/devastatingtkl/rules.mk b/keyboards/cannonkeys/devastatingtkl/rules.mk index b7ab91a33934..8d3de1b8b236 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 f56120695ac0..480e8661799b 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 5b983f1f260b..4ee7a29916aa 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 043ee2908a24..3b78decb2778 100644 --- a/keyboards/cannonkeys/hoodrowg/config.h +++ b/keyboards/cannonkeys/hoodrowg/config.h @@ -17,18 +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 -#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 - /* 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/cannonkeys/hoodrowg/info.json b/keyboards/cannonkeys/hoodrowg/info.json index 0ad5b9fbf635..1c1fbf59647c 100644 --- a/keyboards/cannonkeys/hoodrowg/info.json +++ b/keyboards/cannonkeys/hoodrowg/info.json @@ -17,6 +17,21 @@ "caps_lock": "B6", "scroll_lock": "B2" }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h index aced1f333cce..f3d6237a78df 100644 --- a/keyboards/cannonkeys/instant60/config.h +++ b/keyboards/cannonkeys/instant60/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 14 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/instant60/info.json b/keyboards/cannonkeys/instant60/info.json index 31aeca1e8d78..355ae99f0c90 100644 --- a/keyboards/cannonkeys/instant60/info.json +++ b/keyboards/cannonkeys/instant60/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/instant60/rules.mk b/keyboards/cannonkeys/instant60/rules.mk index b7ab91a33934..8d3de1b8b236 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 65ffa50103be..0b1e0948b319 100644 --- a/keyboards/cannonkeys/instant65/config.h +++ b/keyboards/cannonkeys/instant65/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/instant65/info.json b/keyboards/cannonkeys/instant65/info.json index 23b667cf6ccf..3c447a4bd3e2 100644 --- a/keyboards/cannonkeys/instant65/info.json +++ b/keyboards/cannonkeys/instant65/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/instant65/rules.mk b/keyboards/cannonkeys/instant65/rules.mk index 42e73a46504d..86794ca0f702 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 09c801a8491c..9bdf6b80937f 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/is0gr/info.json b/keyboards/cannonkeys/is0gr/info.json new file mode 100644 index 000000000000..49aaaddd5254 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/info.json @@ -0,0 +1,32 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "is0GR", + "maintainer": "awkannan", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3"], + "rows": ["A15"] + }, + "processor": "STM32F072", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x0028", + "vid": "0xCA04" + }, + "community_layouts": ["ortho_1x1"], + "layouts": { + "LAYOUT_ortho_1x1": { + "layout": [ + {"matrix": [0, 0], "x": 0.25, "y": 0, "w": 1.25, "h": 2} + ] + } + } +} diff --git a/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c b/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c new file mode 100644 index 000000000000..49f0cdb4916d --- /dev/null +++ b/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1( + KC_ENT + ), +}; diff --git a/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c b/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c new file mode 100644 index 000000000000..10451984f063 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1( + KC_ENT + ), +}; + diff --git a/keyboards/keychron/v1/ansi/keymaps/vnmm/rules.mk b/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/v1/ansi/keymaps/vnmm/rules.mk rename to keyboards/cannonkeys/is0gr/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/is0gr/readme.md b/keyboards/cannonkeys/is0gr/readme.md new file mode 100644 index 000000000000..f6fb2b8f61ee --- /dev/null +++ b/keyboards/cannonkeys/is0gr/readme.md @@ -0,0 +1,24 @@ +# Alchemist Keyboards is0GR + +is0GR 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/is0gr:default + +Flashing example for this keyboard: + + make cannonkeys/is0gr: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 (on this board - it's the only key) and plug in the keyboard +* **Physical reset button**: Bridge the two pads labeled "RESET" on the top of the PCB using some tweezers, and hold the tweezers there until the board enters the bootloader mode +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (it isn't by default) diff --git a/keyboards/cannonkeys/is0gr/rules.mk b/keyboards/cannonkeys/is0gr/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/cannonkeys/leviatan/rules.mk b/keyboards/cannonkeys/leviatan/rules.mk index 2a5031cd3205..6dd24d8e0683 100644 --- a/keyboards/cannonkeys/leviatan/rules.mk +++ b/keyboards/cannonkeys/leviatan/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/malicious_ergo/config.h b/keyboards/cannonkeys/malicious_ergo/config.h index 2c1baa101d0f..f2314b6077d5 100644 --- a/keyboards/cannonkeys/malicious_ergo/config.h +++ b/keyboards/cannonkeys/malicious_ergo/config.h @@ -28,18 +28,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 14 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/malicious_ergo/info.json b/keyboards/cannonkeys/malicious_ergo/info.json index 3b54ee75b642..d5941f5f969a 100644 --- a/keyboards/cannonkeys/malicious_ergo/info.json +++ b/keyboards/cannonkeys/malicious_ergo/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/malicious_ergo/rules.mk b/keyboards/cannonkeys/malicious_ergo/rules.mk index 42e73a46504d..86794ca0f702 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/meetuppad2023/info.json b/keyboards/cannonkeys/meetuppad2023/info.json new file mode 100644 index 000000000000..e55d4361d84e --- /dev/null +++ b/keyboards/cannonkeys/meetuppad2023/info.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "Meetup Pad 2023", + "maintainer": "awkannan", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B10", "B2", "B0"], + "rows": ["B1", "A7"] + }, + "processor": "STM32F072", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x2023", + "vid": "0xCA04" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 0, "y": 2}, + {"matrix": [0, 2], "x": 1, "y": 2}, + {"matrix": [1, 3], "x": 0, "y": 3}, + {"matrix": [0, 3], "x": 1, "y": 3} + ] + } + } +} diff --git a/keyboards/cannonkeys/meetuppad2023/keymaps/default/keymap.c b/keyboards/cannonkeys/meetuppad2023/keymaps/default/keymap.c new file mode 100644 index 000000000000..790839f831e0 --- /dev/null +++ b/keyboards/cannonkeys/meetuppad2023/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_2, + KC_3, KC_4, + KC_5, KC_6, + KC_7, MO(1) + ), + + [1] = LAYOUT( + QK_BOOT, KC_8, + KC_9, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c b/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c new file mode 100644 index 000000000000..8039eb260ea9 --- /dev/null +++ b/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + MYMACRO = QK_KB_0, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + MYMACRO, KC_1, + KC_2, KC_3, + KC_4, KC_5, + KC_6, MO(1) + ), + + [1] = LAYOUT( + QK_BOOT, KC_7, + KC_8, KC_9, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MYMACRO: + if (record->event.pressed) { + SEND_STRING("I went to the CannonKeys 2023 meetup and all I got was this macropad"); + } + break; + } + return true; +}; diff --git a/keyboards/keychron/v2/ansi/keymaps/vnmm/rules.mk b/keyboards/cannonkeys/meetuppad2023/keymaps/via/rules.mk similarity index 100% rename from keyboards/keychron/v2/ansi/keymaps/vnmm/rules.mk rename to keyboards/cannonkeys/meetuppad2023/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/meetuppad2023/readme.md b/keyboards/cannonkeys/meetuppad2023/readme.md new file mode 100644 index 000000000000..73312c1b6976 --- /dev/null +++ b/keyboards/cannonkeys/meetuppad2023/readme.md @@ -0,0 +1,18 @@ +# CannonKeys Meetup Pad 2023 + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/meetuppad2023:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top right on this board) and plug in the keyboard +* **Physical reset button**: Swap the boot switch on the back of the PCB to "1" and hit the reset button +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cannonkeys/meetuppad2023/rules.mk b/keyboards/cannonkeys/meetuppad2023/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/cannonkeys/meetuppad2023/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h index 65ffa50103be..0b1e0948b319 100644 --- a/keyboards/cannonkeys/obliterated75/config.h +++ b/keyboards/cannonkeys/obliterated75/config.h @@ -26,18 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/obliterated75/info.json b/keyboards/cannonkeys/obliterated75/info.json index 678ca4457a00..d831eb1aca5c 100644 --- a/keyboards/cannonkeys/obliterated75/info.json +++ b/keyboards/cannonkeys/obliterated75/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/obliterated75/rules.mk b/keyboards/cannonkeys/obliterated75/rules.mk index 42e73a46504d..86794ca0f702 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 e58c51143553..a5906b6a90f8 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 eaf33bbfa069..32412b1d5441 100644 --- a/keyboards/cannonkeys/ortho48/config.h +++ b/keyboards/cannonkeys/ortho48/config.h @@ -25,18 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 9 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 /* * Feature disable options diff --git a/keyboards/cannonkeys/ortho48/info.json b/keyboards/cannonkeys/ortho48/info.json index dd4879b5beb5..c995210ba4e2 100644 --- a/keyboards/cannonkeys/ortho48/info.json +++ b/keyboards/cannonkeys/ortho48/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho48/rules.mk b/keyboards/cannonkeys/ortho48/rules.mk index 57a302eec3ae..7b6ddd5ad364 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/ortho48v2/rules.mk b/keyboards/cannonkeys/ortho48v2/rules.mk index 59f8593f1849..6e7633bfe015 100644 --- a/keyboards/cannonkeys/ortho48v2/rules.mk +++ b/keyboards/cannonkeys/ortho48v2/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/cannonkeys/ortho60/config.h b/keyboards/cannonkeys/ortho60/config.h index c8c8c93e51ef..32412b1d5441 100644 --- a/keyboards/cannonkeys/ortho60/config.h +++ b/keyboards/cannonkeys/ortho60/config.h @@ -25,19 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 16 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 /* * Feature disable options diff --git a/keyboards/cannonkeys/ortho60/info.json b/keyboards/cannonkeys/ortho60/info.json index 3b672f4f6d7d..18fcbc828bea 100644 --- a/keyboards/cannonkeys/ortho60/info.json +++ b/keyboards/cannonkeys/ortho60/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho60/rules.mk b/keyboards/cannonkeys/ortho60/rules.mk index 57a302eec3ae..7b6ddd5ad364 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/ortho60v2/rules.mk b/keyboards/cannonkeys/ortho60v2/rules.mk index 59f8593f1849..6e7633bfe015 100644 --- a/keyboards/cannonkeys/ortho60v2/rules.mk +++ b/keyboards/cannonkeys/ortho60v2/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/cannonkeys/ortho75/config.h b/keyboards/cannonkeys/ortho75/config.h index c8c8c93e51ef..32412b1d5441 100644 --- a/keyboards/cannonkeys/ortho75/config.h +++ b/keyboards/cannonkeys/ortho75/config.h @@ -25,19 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 16 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 /* * Feature disable options diff --git a/keyboards/cannonkeys/ortho75/info.json b/keyboards/cannonkeys/ortho75/info.json index dd2b78b99898..1f9fa9408657 100644 --- a/keyboards/cannonkeys/ortho75/info.json +++ b/keyboards/cannonkeys/ortho75/info.json @@ -23,6 +23,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho75/rules.mk b/keyboards/cannonkeys/ortho75/rules.mk index 240787506287..5a1f61bac055 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 c766c83f65af..32412b1d5441 100644 --- a/keyboards/cannonkeys/practice60/config.h +++ b/keyboards/cannonkeys/practice60/config.h @@ -25,19 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 9 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 /* * Feature disable options diff --git a/keyboards/cannonkeys/practice60/info.json b/keyboards/cannonkeys/practice60/info.json index a1313242fa6b..ae57bfbf06f3 100644 --- a/keyboards/cannonkeys/practice60/info.json +++ b/keyboards/cannonkeys/practice60/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk index 01c330aeb6fb..544fe68a8867 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 0163604ead91..32412b1d5441 100644 --- a/keyboards/cannonkeys/practice65/config.h +++ b/keyboards/cannonkeys/practice65/config.h @@ -25,19 +25,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 /* * Feature disable options diff --git a/keyboards/cannonkeys/practice65/info.json b/keyboards/cannonkeys/practice65/info.json index 28841b48a680..f86951bf5c9f 100644 --- a/keyboards/cannonkeys/practice65/info.json +++ b/keyboards/cannonkeys/practice65/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/practice65/rules.mk b/keyboards/cannonkeys/practice65/rules.mk index 57a302eec3ae..7b6ddd5ad364 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 32e7be7370a7..01d0c0ade113 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/config.h b/keyboards/cannonkeys/ripple/config.h index 68745474c9ba..d95e23cfaad2 100644 --- a/keyboards/cannonkeys/ripple/config.h +++ b/keyboards/cannonkeys/ripple/config.h @@ -12,7 +12,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/ripple/rules.mk b/keyboards/cannonkeys/ripple/rules.mk index 2a5031cd3205..6dd24d8e0683 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 2a5031cd3205..6dd24d8e0683 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 29c78c239829..b8cdc797d0e4 100644 --- a/keyboards/cannonkeys/sagittarius/config.h +++ b/keyboards/cannonkeys/sagittarius/config.h @@ -26,19 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 8 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/sagittarius/info.json b/keyboards/cannonkeys/sagittarius/info.json index 0980cb42751e..d9236b390564 100644 --- a/keyboards/cannonkeys/sagittarius/info.json +++ b/keyboards/cannonkeys/sagittarius/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/sagittarius/rules.mk b/keyboards/cannonkeys/sagittarius/rules.mk index 42e73a46504d..86794ca0f702 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/keymaps/boy_314/config.h b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/config.h deleted file mode 100644 index 4af97ded2b17..000000000000 --- a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define ENCODER_RESOLUTION 2 diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c deleted file mode 100644 index 256cdecd6a26..000000000000 --- a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2019 Boy_314 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_2x2( - 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_NO, ENC_PRESS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_END, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_2x2( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, OLED_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, QK_BOOT, CLOCK_SET, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, - _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/readme.md b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/readme.md deleted file mode 100644 index 65984873c476..000000000000 --- a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Boy_314's Satisfaction75 Layout - -This is Boy_314's Satisfaction75 Layout. It can be used on VIA. It features a QWERTY layout on the base, along with missing TKL keys on layer 1. Right side 3 keys from top down are: Home, End, Delete. The encoder resolution has been reduced from the default of 4 down to 2 so that it no longer needs to click twice, but now only once, before triggering an action. diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/rules.mk b/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/rules.mk deleted file mode 100644 index 6f45dc73ed67..000000000000 --- a/keyboards/cannonkeys/satisfaction75/keymaps/boy_314/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# rules.mk overrides to enable VIA - -VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/jae/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/jae/keymap.c deleted file mode 100644 index 733ba8cd6739..000000000000 --- a/keyboards/cannonkeys/satisfaction75/keymaps/jae/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, ENC_PRESS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, OLED_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index 9f6480ee0e42..8cee2da595e3 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -16,10 +16,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 #BACKLIGHT_ENABLE = yes 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 ce870c49af60..29fb6e761915 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 6aac0aefb441..0b1e0948b319 100644 --- a/keyboards/cannonkeys/savage65/config.h +++ b/keyboards/cannonkeys/savage65/config.h @@ -26,19 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/savage65/info.json b/keyboards/cannonkeys/savage65/info.json index 540327c6b8d6..0c2409713b97 100644 --- a/keyboards/cannonkeys/savage65/info.json +++ b/keyboards/cannonkeys/savage65/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/savage65/rules.mk b/keyboards/cannonkeys/savage65/rules.mk index b7ab91a33934..8d3de1b8b236 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/serenity/config.h b/keyboards/cannonkeys/serenity/config.h index 4b06e24a1ca5..5f31f2374d19 100644 --- a/keyboards/cannonkeys/serenity/config.h +++ b/keyboards/cannonkeys/serenity/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PAL_MODE 1 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h index d344ffaee68b..f3d6237a78df 100644 --- a/keyboards/cannonkeys/tmov2/config.h +++ b/keyboards/cannonkeys/tmov2/config.h @@ -26,19 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 22 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/tmov2/info.json b/keyboards/cannonkeys/tmov2/info.json index 4d5d564e668e..ed834c73cd9e 100644 --- a/keyboards/cannonkeys/tmov2/info.json +++ b/keyboards/cannonkeys/tmov2/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 22, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c deleted file mode 100644 index 2a9540286344..000000000000 --- a/keyboards/cannonkeys/tmov2/keymaps/brandonschlack/keymap.c +++ /dev/null @@ -1,173 +0,0 @@ -/* Copyright 2020 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "brandonschlack.h" - -/** - * Layer Names - * - * Layers mostly used for macro keys - */ -#define _REEDER _M1 -#define _NAV _M2 -#define _MOUSE _M3 - -/** - * Keycodes & Macros - */ -#define TG_BASE TO(_BASE) -#define TG_REDR TO(_REEDER) -#define TG_NAV TO(_NAV) -#define TG_MOUS TO(_MOUSE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /** - * Base - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Esc│││Tab  │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│Bck│ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │PgU│││HyEsc │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │PgD│││Shift   │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│Shft│ Fn│ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │End│││││││││││Opt│Cmd  │        │          │  Cmd│Ctl│││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_BASE] = LAYOUT_default( - 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_RBRC, KC_BSPC, - KC_PGUP, HY_ESC, KC_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, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, PLY_FN1, - KC_END, KC_LOPT, KC_LCMD, SPC_RAI, SPC_RAI, KC_RCMD, KC_RCTL - ), - /** - * Reeder - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ P │││     │   │   │   │   │   │   │   │   │   │   │   │   │   │ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │ K │││      │   │   │   │   │   │   │   │   │   │   │   │      │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │ J │││        │   │   │   │   │   │   │   │   │   │   │    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │ N │││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_REEDER] = LAYOUT_default( - KC_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_K, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_J, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_N, _______, _______, _______, _______, _______, _______ - ), - /** - * Nav - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ → │││     │   │   │   │   │   │   │   │   │   │   │   │   │   │ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │ ↑ │││      │   │   │   │   │   │   │   │   │   │   │   │      │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │ ↓ │││        │   │   │   │   │   │   │   │   │   │   │    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │ ← │││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_NAV] = LAYOUT_default( - KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LEFT, _______, _______, _______, _______, _______, _______ - ), - /** - * Mouse - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │WhU│││     │   │   │   │   │   │   │   │   │   │   │   │   │   │ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │ ↑ │││      │   │   │   │   │   │   │   │   │   │   │   │      │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │ ↓ │││        │   │   │   │   │   │   │   │   │   │   │    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │WhD│││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_MOUSE] = LAYOUT_default( - MC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_DOWN, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - MC_WH_D, _______, _______, _______, _______, _______, _______ - ), - /** - * Lower - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Nxt│││Del  │BrD│BrU│Msn│LHP│   │   │   │   │   │   │ ↑ │Mut│SlD│ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │VlU│││HyCaps│   │   │NxW│PvT│Bck│Fwd│NxT│   │   │ ← │ → │ Play │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │VlD│││        │   │   │   │1PX│1Ps│   │   │   │   │ ↓ │    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │Prv│││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_LOWER] = LAYOUT_default( - KC_MNXT, KC_DEL, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, _______, _______, _______, KC_UP, KC_MUTE, MC_SLPD, - KC_VOLU, HY_CAPS, _______, _______, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, _______, _______, KC_LEFT, KC_RGHT, KC_MPLY, - KC_VOLD, _______, XXXXXXX, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, KC_DOWN, _______, _______, - KC_MPRV, _______, _______, _______, _______, _______, _______ - ), - - /** - * Raise - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Hom│││~ `  │! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│   │ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │PgU│││      │ F1│ F2│ F3│ F4│ F5│ F6│_ -│+ =│   │   │   │      │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │PgD│││        │ F7│ F8│ F9│F10│F11│F12│   │   │   │| \│    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │End│││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_RAISE] = LAYOUT_default( - KC_HOME, 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_PGUP, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, _______, _______, _______, _______, - KC_PGDN, _______, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_BSLS, _______, _______, - KC_END, _______, _______, _______, _______, _______, _______ - ), - /** - * Adjust - * ┌───┮┮┮─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Bse│││Make │   │   │EEP│RST│   │   │   │   │   │   │   │   │   │ - * ├───┾┾┾─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī───â”Ī - * │Rdr│││      │   │   │   │   │   │   │   │   │   │   │   │      │ - * ├───┾┾┾──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī──┮───â”Ī - * │Nav│││        │   │   │   │   │   │   │   │   │   │   │    │   │ - * ├───┾┾┾┮┮┮┮┮┮┮┮â”ī──┮â”ī───â”ī┮──â”ī───â”ī─┮─â”ī───â”ī───â”ī┮──â”ī──┮â”ī──┮┾┮┮┮┮┾┮┮┮â”Ī - * │Mse│││││││││││   │     │        │          │     │   │││││││││││ - * └───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī───â”ī─────â”ī────────â”ī──────────â”ī─────â”ī───â”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”īâ”ī┘ - */ - [_ADJUST] = LAYOUT_default( - TG_BASE, QM_MAKE, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - TG_REDR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - TG_NAV, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - TG_MOUS, _______, _______, _______, _______, _______, _______ - ), -}; - -void keyboard_post_init_keymap(void) { - rgblight_disable_noeeprom(); -} - -layer_state_t layer_state_set_keymap(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/cannonkeys/tmov2/rules.mk b/keyboards/cannonkeys/tmov2/rules.mk index b7ab91a33934..8d3de1b8b236 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 6aac0aefb441..0b1e0948b319 100644 --- a/keyboards/cannonkeys/tsukuyomi/config.h +++ b/keyboards/cannonkeys/tsukuyomi/config.h @@ -26,19 +26,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 - -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/cannonkeys/tsukuyomi/info.json b/keyboards/cannonkeys/tsukuyomi/info.json index e370e1acc0e6..3542bca1f6b4 100644 --- a/keyboards/cannonkeys/tsukuyomi/info.json +++ b/keyboards/cannonkeys/tsukuyomi/info.json @@ -18,6 +18,21 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/tsukuyomi/rules.mk b/keyboards/cannonkeys/tsukuyomi/rules.mk index 42e73a46504d..86794ca0f702 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/typeb/rules.mk b/keyboards/cannonkeys/typeb/rules.mk index 59f8593f1849..6e7633bfe015 100644 --- a/keyboards/cannonkeys/typeb/rules.mk +++ b/keyboards/cannonkeys/typeb/rules.mk @@ -1,2 +1 @@ -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/cannonkeys/vicious40/rules.mk b/keyboards/cannonkeys/vicious40/rules.mk index df232017195b..9d14eaf9aa09 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/cantor/keymaps/zeromist/keymap.c b/keyboards/cantor/keymaps/zeromist/keymap.c deleted file mode 100644 index 993020200b96..000000000000 --- a/keyboards/cantor/keymaps/zeromist/keymap.c +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2022 Diego Palacios (@diepala) -// SPDX-License-Identifier: GPL-2.0 - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┮───┮───┮───┮───┮───┐ ┌───┮───┮───┮───┮───┮───┐ - * │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Bsp│ - * ├───┾───┾───┾───┾───┾───â”Ī ├───┾───┾───┾───┾───┾───â”Ī - * │ESC│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ - * ├───┾───┾───┾───┾───┾───â”Ī ├───┾───┾───┾───┾───┾───â”Ī - * │Sft│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Sft│ - * └───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───â”ī───â”ī───┘ - * ┌────┐ ┌───┐ - * │LCTL├───────┐ ┌─────â”ĪAlt│ - * └────â”ĪGUI/Bsp├───────┐ ┌───â”ĪTO(1)├───┘ - * └───────â”ĪALT/ENT│ │SPC├─────┘ - * └───────┘ └───┘ - */ - [0] = LAYOUT_split_3x6_3( - //-------------------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //-------------------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_ESCAPE, 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, MT(MOD_LGUI, KC_BSPC), MT(MOD_LALT, KC_ENT), KC_SPC, TO(1), KC_RALT - //-------------------------------------------------------------------------- --------------------------------------------------------------------------------- - ), - /* - * ┌───┮───┮───┮───┮───┮───┐ ┌───┮───┮───┮───┮───┮───┐ - * │`~ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │Bsp│ - * ├───┾───┾───┾───┾───┾───â”Ī ├───┾───┾───┾───┾───┾───â”Ī - * │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ | │ - * ├───┾───┾───┾───┾───┾───â”Ī ├───┾───┾───┾───┾───┾───â”Ī - * │Sft│ += │ -_│ + │ { │ } │ │ [ │ ] │ ; │ : │ \ │ │ - * └───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───â”ī───â”ī───┘ - * ┌────────┐ ┌─────┐ - * │ MLCKSCN ├─────┐ ┌────â”ĪTO(3)│ - * └────────â”ĪTO(0)├───┐ ┌───â”ĪTO(2)├─────┘ - * └─────â”Ī < │ │ > ├────┘ - * └───┘ └───┘ - */ - [1] = LAYOUT_split_3x6_3( - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - 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_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_LSFT, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, KC_RSFT, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_TRNS, TO(0), KC_LT, KC_GT, TO(2), TO(3) - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - ), - /* - * ┌────┮──────┮──────┮──────┮──────────┮──────┐ ┌──────┮──────┮──────┮───────┮──────┮───┐ - * │MSTP│ Play │ PRVS │ Next │ │ CAPS │ │ PgDn │ PgUp │ INS │ Print │ │Bsp│ - * ├────┾──────┾──────┾───────┾─────────┾──────â”Ī ├──────┾──────┾──────┾───────┾──────┾───â”Ī - * │ │ HOME │ END │ LCTRL+C │ LCTRL+V │ │ │ Left │ Down │ Up │ Right │ Del │ │ - * ├────┾──────┾──────┾───────┾────────┾──────â”Ī ├──────┾──────┾──────┾───────┾──────┾───â”Ī - * │Sft │ UNDO │ CUT │ COPY │ PASTE │ RApp │ │ Vol- │ Vol+ │ Mute │ │ RGui │ │ - * └────â”ī──────â”ī──────â”ī──────â”ī───────â”ī──────┘ └──────â”ī──────â”ī──────â”ī───────â”ī──────â”ī───┘ - * ┌─────┐ ┌─────┐ - * │LCTRL├─────┐ ┌─────â”ĪTO(3)│ - * └─────â”ĪTO(0)├───┐ ┌───â”ĪTO(0)├─────┘ - * └─────â”ĪALT│ │SPC├─────┘ - * └───┘ └───┘ - */ - [2] = LAYOUT_split_3x6_3( - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_NO, KC_CAPS, KC_PGDN, KC_PGUP, KC_INS, KC_PSCR, KC_NO, KC_BSPC, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_NO, KC_HOME, KC_END, C(KC_C), C(KC_V), KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_TAB, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_RSFT, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_LCTL, TO(0), KC_LALT, KC_TRNS, KC_TRNS, TO(3) - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - ), - /* - * ┌──┮────┮────┮────┮────┮────┐ ┌────┮────┮────┮────┮─────┮─────┐ - * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ - * ├──┾────┾────┾────┾────┾────â”Ī ├────┾────┾────┾────┾─────┾─────â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ F12 │ - * ├──┾────┾────┾────┾────┾────â”Ī ├────┾────┾────┾────┾─────┾─────â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * └──â”ī────â”ī────â”ī────â”ī────â”ī────┘ └────â”ī────â”ī────â”ī────â”ī─────â”ī─────┘ - * ┌───┐ ┌───┐ - * │ ├─────┐ ┌─────â”Ī │ - * └───â”ĪTO(0)├───┐ ┌───â”Ī ├───┘ - * └─────â”ĪENT│ │ ├─────┘ - * └───┘ └───┘ - */ - [3] = LAYOUT_split_3x6_3( - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - KC_NO, TO(0), KC_NO, KC_NO, KC_NO, KC_NO - //-------------------------------------------------------------- --------------------------------------------------------------------------------- - ) -}; diff --git a/keyboards/capsunlocked/cu24/config.h b/keyboards/capsunlocked/cu24/config.h index 1d8a04fe70c2..8ec34286fc31 100644 --- a/keyboards/capsunlocked/cu24/config.h +++ b/keyboards/capsunlocked/cu24/config.h @@ -16,19 +16,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 -#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 - /* 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/capsunlocked/cu24/info.json b/keyboards/capsunlocked/cu24/info.json index c7d6660f132c..f5d56e383ed3 100644 --- a/keyboards/capsunlocked/cu24/info.json +++ b/keyboards/capsunlocked/cu24/info.json @@ -18,6 +18,21 @@ "levels": 5, "breathing": true }, + "rgblight": { + "led_count": 5, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/capsunlocked/cu7/config.h b/keyboards/capsunlocked/cu7/config.h index 8883514e5d21..b7767c19ec4d 100644 --- a/keyboards/capsunlocked/cu7/config.h +++ b/keyboards/capsunlocked/cu7/config.h @@ -20,20 +20,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 - -// #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 61182fcb5384..06deeacd6920 100644 --- a/keyboards/capsunlocked/cu7/info.json +++ b/keyboards/capsunlocked/cu7/info.json @@ -12,7 +12,21 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 50 + "hue_steps": 10, + "led_count": 6, + "max_brightness": 50, + "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 + } }, "matrix_pins": { "cols": ["F5", "F7", "F4"], diff --git a/keyboards/capsunlocked/cu75/config.h b/keyboards/capsunlocked/cu75/config.h index 67f1f43c44bd..b9449c4714bf 100644 --- a/keyboards/capsunlocked/cu75/config.h +++ b/keyboards/capsunlocked/cu75/config.h @@ -17,24 +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 -#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 - -#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 */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/capsunlocked/cu75/cu75.c b/keyboards/capsunlocked/cu75/cu75.c index c894d18602ce..f980b0d9e130 100644 --- a/keyboards/capsunlocked/cu75/cu75.c +++ b/keyboards/capsunlocked/cu75/cu75.c @@ -1,15 +1,8 @@ -#include -#include -#include #include "cu75.h" -#include "debug.h" -#include "../lfkeyboards/issi.h" -#include "../lfkeyboards/TWIlib.h" -#include "../lfkeyboards/lighting.h" +#include #ifdef AUDIO_ENABLE float test_sound[][2] = SONG(STARTUP_SOUND); -#include "audio.h" #endif uint16_t click_hz = CLICK_HZ; @@ -34,39 +27,12 @@ void matrix_init_kb(void) setPinOutput(C6); writePinLow(C6); #endif -#ifdef ISSI_ENABLE - issi_init(); -#endif } void matrix_scan_kb(void) { #ifdef WATCHDOG_ENABLE wdt_reset(); -#endif -#ifdef ISSI_ENABLE - // switch/underglow lighting update - static uint32_t issi_device = 0; - static uint32_t twi_last_ready = 0; - if(twi_last_ready > 1000){ - // Its been way too long since the last ISSI update, reset the I2C bus and start again - dprintf("TWI failed to recover, TWI re-init\n"); - twi_last_ready = 0; - TWIInit(); - force_issi_refresh(); - } - if(isTWIReady()){ - twi_last_ready = 0; - // If the i2c bus is available, kick off the issi update, alternate between devices - update_issi(issi_device, issi_device); - if(issi_device){ - issi_device = 0; - }else{ - issi_device = 3; - } - }else{ - twi_last_ready++; - } #endif matrix_scan_user(); } @@ -92,7 +58,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) } if (keycode == QK_BOOT) { reset_keyboard_kb(); - } else { } return process_record_user(keycode, record); } @@ -105,11 +70,3 @@ void reset_keyboard_kb(void){ #endif reset_keyboard(); } - -// LFK lighting info -const uint8_t switch_matrices[] = {0, 1}; -const uint8_t rgb_matrices[] = {6, 7}; -const uint8_t rgb_sequence[] = { - 24, 23, 22, 21, 20, 19, 18, 17, 1, 2, 3, 4, 5, - 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 9 -}; diff --git a/keyboards/capsunlocked/cu75/cu75.h b/keyboards/capsunlocked/cu75/cu75.h index d17c1da26faf..36797efd8f8f 100644 --- a/keyboards/capsunlocked/cu75/cu75.h +++ b/keyboards/capsunlocked/cu75/cu75.h @@ -1,23 +1,6 @@ #pragma once #include "quantum.h" -#include "matrix.h" -#include - -typedef struct RGB_Color { - uint16_t red; - uint16_t green; - uint16_t blue; -} RGB_Color; - -typedef struct Layer_Info { - uint32_t layer; - uint32_t mask; - RGB_Color color; -} Layer_Info; - -extern const uint32_t layer_count; -extern const Layer_Info layer_info[]; #define CLICK_HZ 500 #define CLICK_MS 2 diff --git a/keyboards/capsunlocked/cu75/info.json b/keyboards/capsunlocked/cu75/info.json index 3ea17a46e1cd..25e3ca049f10 100644 --- a/keyboards/capsunlocked/cu75/info.json +++ b/keyboards/capsunlocked/cu75/info.json @@ -13,13 +13,6 @@ "rows": ["F1", "B7", "B3", "D2", "D3", "B2"] }, "diode_direction": "COL2ROW", - "backlight": { - "driver": "custom", - "levels": 8 - }, - "ws2812": { - "pin": "C7" - }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/capsunlocked/cu75/keymaps/default/rules.mk b/keyboards/capsunlocked/cu75/keymaps/default/rules.mk index bbd4c8c9fdc2..b4a28dd9647a 100644 --- a/keyboards/capsunlocked/cu75/keymaps/default/rules.mk +++ b/keyboards/capsunlocked/cu75/keymaps/default/rules.mk @@ -4,37 +4,5 @@ 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 -BACKLIGHT_ENABLE = yes # Disable keyboard backlight functionality AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = yes # Disable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 -SLEEP_LED_ENABLE = yes - -ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms - - -ifeq ($(strip $(ISSI_ENABLE)), yes) - TMK_COMMON_DEFS += -DISSI_ENABLE -endif - -ifeq ($(strip $(WATCHDOG_ENABLE)), yes) - TMK_COMMON_DEFS += -DWATCHDOG_ENABLE -endif - - -# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired -# # -# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight -# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB -# # -# # Set to B, C or D -# LFK_REV = D - -# ifeq ($(LFK_REV), B) -# MCU = atmega32u4 -# else -# MCU = at90usb1286 -# endif -# OPT_DEFS += -DLFK_REV_$(LFK_REV) -# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\" diff --git a/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk b/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk index be27fed69c1b..c692135bf3f3 100644 --- a/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk +++ b/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk @@ -4,37 +4,5 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes -# BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality AUDIO_ENABLE = no # Audio output -RGBLIGHT_ENABLE = no # Disable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 -SLEEP_LED_ENABLE = yes - -ISSI_ENABLE = no # If the I2C pullup resistors aren't install this must be disabled WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms - - -ifeq ($(strip $(ISSI_ENABLE)), yes) - TMK_COMMON_DEFS += -DISSI_ENABLE -endif - -ifeq ($(strip $(WATCHDOG_ENABLE)), yes) - TMK_COMMON_DEFS += -DWATCHDOG_ENABLE -endif - - -# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired -# # -# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight -# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB -# # -# # Set to B, C or D -# LFK_REV = D - -# ifeq ($(LFK_REV), B) -# MCU = atmega32u4 -# else -# MCU = at90usb1286 -# endif -# OPT_DEFS += -DLFK_REV_$(LFK_REV) -# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\" diff --git a/keyboards/capsunlocked/cu75/post_rules.mk b/keyboards/capsunlocked/cu75/post_rules.mk new file mode 100644 index 000000000000..1a3c10d3a1ab --- /dev/null +++ b/keyboards/capsunlocked/cu75/post_rules.mk @@ -0,0 +1,19 @@ +ifeq ($(strip $(WATCHDOG_ENABLE)), yes) + OPT_DEFS += -DWATCHDOG_ENABLE +endif + +# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired +# # +# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight +# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB +# # +# # Set to B, C or D +# LFK_REV = D + +# ifeq ($(LFK_REV), B) +# MCU = atmega32u4 +# else +# MCU = at90usb1286 +# endif +# OPT_DEFS += -DLFK_REV_$(LFK_REV) +# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\" diff --git a/keyboards/capsunlocked/cu75/rules.mk b/keyboards/capsunlocked/cu75/rules.mk index cf757fc166fd..e69de29bb2d1 100644 --- a/keyboards/capsunlocked/cu75/rules.mk +++ b/keyboards/capsunlocked/cu75/rules.mk @@ -1,3 +0,0 @@ -# TODO: These boards need to be converted to RGB Matrix -VPATH += keyboards/lfkeyboards -SRC = TWIlib.c issi.c lighting.c diff --git a/keyboards/capsunlocked/cu80/v2/ansi/ansi.c b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c new file mode 100644 index 000000000000..996738815331 --- /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 000000000000..638c9a820ffe --- /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 new file mode 100644 index 000000000000..5e13e10d1539 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* +Copyright 2021 CapsUnlocked + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD + ) +}; diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c new file mode 100644 index 000000000000..aeef5a125595 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2021 CapsUnlocked + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD + ) +}; diff --git a/keyboards/mlego/m65/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk similarity index 100% rename from keyboards/mlego/m65/keymaps/via/rules.mk rename to keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk diff --git a/keyboards/capsunlocked/cu80/v2/ansi/rules.mk b/keyboards/capsunlocked/cu80/v2/ansi/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /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 000000000000..c21572be66f9 --- /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 000000000000..28086d619540 --- /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/info.json b/keyboards/capsunlocked/cu80/v2/iso/info.json new file mode 100644 index 000000000000..33d49db64abc --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "CU80 v2 ISO", + "usb": { + "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 000000000000..cdc588160ec5 --- /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 new file mode 100644 index 000000000000..cf5886f457c5 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* +Copyright 2021 CapsUnlocked + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD + ) +}; diff --git a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c new file mode 100644 index 000000000000..947a0bd97a41 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2021 CapsUnlocked + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD + ) +}; diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk similarity index 100% rename from keyboards/rgbkb/sol3/keymaps/kageurufu/rules.mk rename to keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk diff --git a/keyboards/capsunlocked/cu80/v2/iso/rules.mk b/keyboards/capsunlocked/cu80/v2/iso/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /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 000000000000..e450082ba236 --- /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 3199b57da4a0..000000000000 --- 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 c9d4b8892636..000000000000 --- 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/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c deleted file mode 100644 index ee81be6561f0..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_ansi( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/readme.md deleted file mode 100644 index 717c2c283a47..000000000000 --- 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/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c deleted file mode 100644 index 5ee09fadace2..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2021 CapsUnlocked - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tkl_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_ansi( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/readme.md deleted file mode 100644 index 4768917fc8ce..000000000000 --- 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/config.h b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h deleted file mode 100644 index 48a12c0cdcf2..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h +++ /dev/null @@ -1,77 +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 - -/* enable RGB matrix */ -#define CU80_RGB - -/* 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 -#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 - -/* RGB firmware override */ -#undef RGBLIGHT_HUE_STEP -#undef RGBLIGHT_SAT_STEP -#undef RGBLIGHT_VAL_STEP 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 45b4b9c8cd38..000000000000 --- 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 0919483592de..000000000000 --- 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 9470477f49e2..000000000000 --- 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 e96dd72928ac..000000000000 --- 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 f014479ef8ad..000000000000 --- 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/base/info.json b/keyboards/capsunlocked/cu80/v2_iso/base/info.json deleted file mode 100644 index 636e6e227619..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/base/info.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "keyboard_name": "CU80 v2 ISO", - "usb": { - "pid": "0x0080" - } -} diff --git a/keyboards/capsunlocked/cu80/v2_iso/config.h b/keyboards/capsunlocked/cu80/v2_iso/config.h deleted file mode 100644 index 167bf871f1c3..000000000000 --- 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 b7225214ba98..000000000000 --- 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/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c deleted file mode 100644 index d42f3533a45d..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tkl_iso( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_iso( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/readme.md deleted file mode 100644 index bf55002afea9..000000000000 --- 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/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c deleted file mode 100644 index a72f451b3f99..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2021 CapsUnlocked - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tkl_iso( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_iso( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_iso/readme.md b/keyboards/capsunlocked/cu80/v2_iso/readme.md deleted file mode 100644 index cf8c5fc6fa9a..000000000000 --- 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/config.h b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h deleted file mode 100644 index db6ab832b417..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h +++ /dev/null @@ -1,78 +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 - -/* enable RGB matrix */ -#define CU80_RGB - -/* 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 -#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 - -/* RGB firmware override */ -#undef RGBLIGHT_HUE_STEP -#undef RGBLIGHT_SAT_STEP -#undef RGBLIGHT_VAL_STEP 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 4f08f6116a74..000000000000 --- 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 c53bf7407848..000000000000 --- 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 9470477f49e2..000000000000 --- 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 c0feb353070f..000000000000 --- 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 acb1d835aa0c..000000000000 --- 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 d6ed15acc729..d3ca7b060e17 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 98e0780698c6..fb1ac6044dec 100644 --- a/keyboards/catch22/config.h +++ b/keyboards/catch22/config.h @@ -20,17 +20,3 @@ along with this program. If not, see . #define IS_COMMAND() ( \ false \ ) - -#ifdef RGBLIGHT_ENABLE -#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 -#define RGBLED_NUM 6 -#endif diff --git a/keyboards/catch22/info.json b/keyboards/catch22/info.json index 6ffd3117afc2..baaee6ca98f8 100644 --- a/keyboards/catch22/info.json +++ b/keyboards/catch22/info.json @@ -6,6 +6,21 @@ "pid": "0xCA22", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/centromere/info.json b/keyboards/centromere/info.json index 5f9b57d97a18..280ab8bd7e42 100644 --- a/keyboards/centromere/info.json +++ b/keyboards/centromere/info.json @@ -10,7 +10,7 @@ }, "processor": "atmega32u4", "bootloader": "caterina", - "community_layouts": ["split_3x5_3" "split_3x6_3"], + "community_layouts": ["split_3x5_3", "split_3x6_3"], "layout_aliases": { "LAYOUT": "LAYOUT_split_3x6_3" }, diff --git a/keyboards/centromere/keymaps/mattly/keymap.c b/keyboards/centromere/keymaps/mattly/keymap.c deleted file mode 100644 index bee7e98e12d0..000000000000 --- a/keyboards/centromere/keymaps/mattly/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -#include QMK_KEYBOARD_H -#include "mattly.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - // I apparently soldered in my switches on the wrong sides of the boards, so this is mirrored - - [_BASE_MAC] = LAYOUT_split_3x6_3( - KC_SCLN, KC_P, O_CTL, I_ALT, U_GUI, KC_Y, KC_T, R_GUI, E_ALT, W_CTL, KC_Q, KC_BSPC, - KC_QUOT, MINSCTL, L_ALT, K_GUI, J_SFT, KC_H, KC_G, F_SFT, D_GUI, S_ALT, A_CTL, KC_CAPS, - KC_ENT, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, NAVLOCK, - DEL_WRP, BSP_SYM, SPC_SFT, SPC_SFT, TAB_NUM, ESC_HYP - ), - - [_OVER_WIN] = LAYOUT_split_3x6_3( - _______, _______, O_GUI, _______, U_CTL, _______, _______, R_CTL, _______, W_GUI, _______, _______, - _______, MINSGUI, _______, K_CTL, _______, _______, _______, _______, D_CTL, _______, A_GUI, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - - [_SYMBOL] = LAYOUT_split_3x6_3( - _______, XXXXXXX, KC_ASTR, KC_PLUS, KC_RABK, KC_LABK, KC_RBRC, KC_LBRC, KC_TILD, KC_GRV, KC_AMPR, _______, - _______, KC_UNDS, KC_AT, KC_EXLM, KC_COLN, KC_SCLN, KC_RPRN, KC_LPRN, KC_EQL, KC_PERC, KC_DLR, _______, - _______, KC_QUES, KC_BSLS, KC_PIPE, KC_DQUO, KC_QUOT, KC_RCBR, KC_LCBR, KC_HASH, KC_CIRC, KC_HASH, XXXXXXX, - _______, _______, _______, _______, _______, _______ - ), - - [_NAVNUM] = LAYOUT_split_3x6_3( - KC_PLUS, KC_DOT, KC_P9, KC_P8, KC_P7, KC_DLR, KC_PGUP, M_FWORD, KC_UP, M_BWORD, M_NAVFW, M_NXWIN, - KC_MINS, KC_EQL, KC_P6, KC_P5, KC_P4, KC_PERC, KC_PGDN, KC_RGHT, KC_DOWN, KC_LEFT, M_NAVBK, M_PVWIN, - KC_ASTR, KC_COMM, KC_P3, KC_P2, KC_P1, KC_P0, M_NXTAB, KC_END, XXXXXXX, KC_HOME, M_PVTAB, _______, - KC_P0, _______, _______, _______, _______, _______ - ), - [_NAVNUM_WIN] = LAYOUT_split_3x6_3( - _______, _______, _______, _______, _______, _______, _______, W_FWORD, _______, W_BWORD, W_NAVFW, W_NXWIN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, W_NAVBK, W_PVWIN, - _______, _______, _______, _______, _______, _______, W_NXTAB, _______, _______, _______, W_PVTAB, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_FUNCT] = LAYOUT_split_3x6_3( - KC_F15, KC_F12, KC_F9, KC_F8, KC_F7, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - KC_F14, KC_F11, KC_F6, KC_F5, KC_F4, KC_MUTE, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_F13, KC_F10, KC_F3, KC_F2, KC_F1, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______ - ), - [_FUNCT_WIN] = LAYOUT_split_3x6_3( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/centromere/keymaps/mattly/rules.mk b/keyboards/centromere/keymaps/mattly/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/centromere/keymaps/mattly/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/centromere/keymaps/mini/keymap.c b/keyboards/centromere/keymaps/mini/keymap.c deleted file mode 100644 index 4986dacc742a..000000000000 --- a/keyboards/centromere/keymaps/mini/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ -#include QMK_KEYBOARD_H - - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// 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 centromere_layers -{ - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -// Defines for layer movement -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -// Defines for task manager -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* 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 | , | . | / | - * `----------------------------------' `----------------------------------' - * ,--------------------. ,------,-------------. - * | Ctrl | LOWER| | | | RAISE| Shift| - * `-------------| Space| |BckSpc|------+------. - * | | | | - * `------' `------' - */ -[_QWERTY] = 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_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, OSM(MOD_LSFT) -), - -/* Raise - * - * ,----------------------------------. ,----------------------------------. - * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------| |------+------+------+------+------| - * | Tab | Left | Down | Up | Right| | | - | = | [ | ] | - * |------+------+------+------+------| |------+------+------+------+------| - * | Ctrl| ` | GUI | Alt | | | | | | \ | ' | - * `----------------------------------' `----------------------------------' - * ,--------------------. ,------,-------------. - * | | LOWER| | | | RAISE| | - * `-------------| | | |------+------. - * | | | | - * `------' `------' - */ -[_RAISE] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, - KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT, - _______, _______, _______, _______, _______, _______ -), - -/* Lower - * - * ,----------------------------------. ,----------------------------------. - * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - * |------+------+------+------+------| |------+------+------+------+------| - * | Esc | | | | | | | _ | + | { | } | - * |------+------+------+------+------| |------+------+------+------+------| - * | Caps| ~ | | | | | | | | | | " | - * `----------------------------------' `----------------------------------' - * ,--------------------. ,------,-------------. - * | | LOWER| | | | RAISE| Del | - * `-------------| | | Enter|------+------. - * | | | | - * `------' `------' - */ -[_LOWER] = LAYOUT_split_3x5_3( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, - KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, - _______, _______, _______, KC_ENT, _______, KC_DEL -), - -/* Adjust (Lower + Raise) - * - * ,----------------------------------. ,----------------------------------. - * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - * |------+------+------+------+------| |------+------+------+------+------| - * | F11 | F12 | | | | | | | |Taskmg|caltde| - * |------+------+------+------+------| |------+------+------+------+------| - * | Reset| | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,--------------------. ,------,-------------. - * | | LOWER| | | | RAISE| | - * `-------------| | | |------+------. - * | | | | - * `------' `------' - */ -[_ADJUST] = LAYOUT_split_3x5_3( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ -) -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/centromere/keymaps/mini_bom/config.h b/keyboards/centromere/keymaps/mini_bom/config.h deleted file mode 100644 index 7a79437fab98..000000000000 --- a/keyboards/centromere/keymaps/mini_bom/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2020 keyboard-magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 COMBO_ENABLE -# define COMBO_TERM 50 -#endif - -#ifdef TAPPING_TERM -# undef TAPPING_TERM -#endif -#define TAPPING_TERM 200 diff --git a/keyboards/centromere/keymaps/mini_bom/keymap.c b/keyboards/centromere/keymaps/mini_bom/keymap.c deleted file mode 100644 index 1dd8f60c5af4..000000000000 --- a/keyboards/centromere/keymaps/mini_bom/keymap.c +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright 2020 keyboard-magpie - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 centromere_layers -{ - _BASE, - _SYMB, - _NUMB, -}; - - enum combo_events { - COMBO_BSPC, - COMBO_TAB, - COMBO_ESC, - COMBO_DEL, - COMBO_UNDS, - COMBO_BKSL, - COMBO_LESS, - COMBO_MORE, - COMBO_QUOT, - COMBO_DASH, - }; - - - /* Combomap - * - * ,-----------------------------. ,--------------------------------. - * | | ESC | | | | | | BSLH | - * |-----+-----+-----+-----+------| |--------------------------------| - * | | BSPC | | | LES | GRT | | - * |-----+-----+-----+--RMB+-LMB--+ |--------------------------------| - * | | MINS | | | | QUO | UNDR | | | - * `------+-----+-----+------+----' `--------------------------------' - * .-------------------------. .-----------------. - * | | | | | | | | - * '-------------------------' '-----------------' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Keymap 0: Basic layer - * - * ,-----------------------------. ,--------------------------------. - * | Q | W | E | R | T | | Y | U | I | O | P | - * |-----+-----+-----+-----+------| |--------------------------------| - * |CTRL/A| S | D | F | G | | H | J | K | L | CTRL/; | - * |-----+-----+-----+-----+------+ |--------------------------------| - * |SHFT/Z| X | C | V | B | | N | M | < | > | SHFT/? | - * `------+-----+-----+------+----' `--------------------------------' - * .-------------------------. .-----------------. - * |ESC/META|ENT/ALT|SPC(SYM)| |SPC(NUM)|BSPC|TAB| - * '-------------------------' '-----------------' - */ - -[_BASE] = LAYOUT( - KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, - KC_NO, MT(MOD_LCTL, KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LCTL, KC_SCLN), KC_NO, - KC_NO, MT(MOD_RSFT, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), KC_NO, - MT(MOD_LGUI, KC_ESC), MT(MOD_LALT, KC_ENT), LT(_SYMB, KC_SPC), LT(_NUMB, KC_SPC), KC_LSFT, MT(MOD_RSFT, KC_TAB) - ), - - /* Keymap 1: Symbols layer - * ,-----------------------------. ,--------------------------------. - * | ! | @ | { | } | | ` | ~ | | | \ | - * |-----+-----+-----+-----+------| |--------------------------------| - * | # | $ | ( | ) | LMB | | + | - | / | * | ' | - * |-----+-----+-----+-----+------+ |--------------------------------| - * | % | ^ | [ | ] | RMB | | & | = | , | . | - | - * `------+-----+-----+------+----' `--------------------------------' - * .-----------------. .------------------. - * |MMB | ; | = | | = | ; | DEL | - * '-----------------' '------------------' - */ -[_SYMB] = LAYOUT( - KC_NO, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_TILD, KC_TRNS, KC_TRNS, KC_BSLS, KC_NO, - KC_NO, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, KC_NO, - KC_NO, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, KC_NO, - CM_TOGG, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL - ), - - /* Keymap 2: Pad/Function layer - * ,-----------------------------. ,-------------------------------. - * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |-----+-----+-----+-----+------| |-------------------------------| - * | F1 | F2 | F3 | F4 | F5 | | LFT | DWN | UP | RGT | VOLUP | - * |-----+-----+-----+-----+------+ |-------------------------------| - * | F6 | F7 | F8 | F9 | F10 | |MLFT | MDWN| MUP | MRGT| VOLDN | - * `------+-----+-----+------+----' `-------------------------------' - * .-----------------. .-----------------. - * | F11 | F12| | | | PLY | SKP | - * '-----------------' '-----------------' - */ -[_NUMB] = LAYOUT( - 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, KC_NO, - KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_VOLD, KC_NO, - KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT - ), - -}; - - -// layer_state_t layer_state_set_user(layer_state_t state) { -// return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -// } - -#ifdef COMBO_ENABLE -const uint16_t PROGMEM combo_bspc[] = {KC_S, KC_D, COMBO_END}; -const uint16_t PROGMEM combo_tab[] = {KC_D, KC_F, COMBO_END}; -const uint16_t PROGMEM combo_esc[] = {KC_W, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_del[] = {KC_A, KC_S, COMBO_END}; -const uint16_t PROGMEM combo_unds[] = {KC_M, KC_COMM, COMBO_END}; -const uint16_t PROGMEM combo_bksl[] = {KC_O, KC_P, COMBO_END}; -const uint16_t PROGMEM combo_less[] = {KC_H, KC_J, COMBO_END}; -const uint16_t PROGMEM combo_more[] = {KC_K, KC_L, COMBO_END}; -const uint16_t PROGMEM combo_quot[] = {KC_N, KC_M, COMBO_END}; -const uint16_t PROGMEM combo_dash[] = {KC_X, KC_C, COMBO_END}; - -combo_t key_combos[] = { - [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC), - [COMBO_TAB] = COMBO(combo_tab,KC_TAB), - [COMBO_ESC] = COMBO(combo_esc,KC_ESC), - [COMBO_DEL] = COMBO(combo_del,KC_DEL), - [COMBO_UNDS] = COMBO(combo_unds, KC_UNDS), - [COMBO_BKSL] = COMBO(combo_bksl,KC_BSLS), - [COMBO_LESS] = COMBO(combo_less,KC_LT), - [COMBO_MORE] = COMBO(combo_more,KC_GT), - [COMBO_QUOT] = COMBO(combo_quot, KC_QUOT), - [COMBO_DASH] = COMBO(combo_dash, KC_MINS), -}; -#endif diff --git a/keyboards/centromere/keymaps/mini_bom/readme.md b/keyboards/centromere/keymaps/mini_bom/readme.md deleted file mode 100644 index 6efa1d4c7427..000000000000 --- a/keyboards/centromere/keymaps/mini_bom/readme.md +++ /dev/null @@ -1 +0,0 @@ -Porting a keymap with chording inspired by gboards.ca gergoplex default keymap, to the centromere mini. \ No newline at end of file diff --git a/keyboards/centromere/rules.mk b/keyboards/centromere/rules.mk index 2171d801e548..26081e41321c 100644 --- a/keyboards/centromere/rules.mk +++ b/keyboards/centromere/rules.mk @@ -18,4 +18,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/cest73/tkm/info.json b/keyboards/cest73/tkm/info.json index 028e028159d1..6447189b936f 100644 --- a/keyboards/cest73/tkm/info.json +++ b/keyboards/cest73/tkm/info.json @@ -15,6 +15,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "E6" }, "indicators": { diff --git a/keyboards/chalice/config.h b/keyboards/chalice/config.h index 6bbd5af9bf95..f53b6e90992b 100644 --- a/keyboards/chalice/config.h +++ b/keyboards/chalice/config.h @@ -17,21 +17,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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - /* 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/chalice/info.json b/keyboards/chalice/info.json index 6b447c1fe643..8e6a6f2ed63f 100644 --- a/keyboards/chalice/info.json +++ b/keyboards/chalice/info.json @@ -8,6 +8,22 @@ "pid": "0x000C", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/charue/charon/keymaps/debug/keymap.c b/keyboards/charue/charon/keymaps/debug/keymap.c deleted file mode 100644 index e8e4ca13b736..000000000000 --- a/keyboards/charue/charon/keymaps/debug/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2021 Charue Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN -}; - -// 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] = { - /* Base */ - [_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_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, - KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE, - KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_FN] = LAYOUT_all( - QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, - KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE, - KC_LCTL, KC_LGUI, KC_LALT, QMKURL, KC_SPC, KC_SPC, QMKBEST, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT - ) -}; - -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/\n"); - } else { - // when keycode QMKURL is released - } - break; - }; - #ifdef CONSOLE_ENABLE - uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, 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 - return true; -} - -void keyboard_post_init_user(void) { - debug_enable=true; - debug_matrix=true; -} diff --git a/keyboards/charue/charon/keymaps/debug/readme.md b/keyboards/charue/charon/keymaps/debug/readme.md deleted file mode 100644 index b1b61bf15fd9..000000000000 --- a/keyboards/charue/charon/keymaps/debug/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for charon diff --git a/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c b/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c deleted file mode 100644 index e8a20abacfea..000000000000 --- a/keyboards/charue/sunsetter/keymaps/peott-fr/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2022 Pierre Ott - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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_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_GRV, KC_DEL, KC_PSCR, - 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_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_ENT, KC_NO, KC_PGDN, - KC_F7, KC_F8, SC_LSPO, 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, LT(2,KC_HOME), - KC_F9, KC_F10, LCTL_T(KC_MPRV), LGUI_T(KC_MPLY), LALT_T(KC_MNXT), LT(1,KC_SPC), KC_APP, KC_BSPC, KC_RALT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(3), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LCTL, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LSFT, KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS - ), - [2] = LAYOUT_all( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ), - [3] = LAYOUT_all( - KC_NO, KC_NO, KC_NO, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_NO, - KC_NO, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_P0, KC_PDOT, KC_PENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ) -}; \ No newline at end of file diff --git a/keyboards/charue/sunsetter/rules.mk b/keyboards/charue/sunsetter/rules.mk index 0aeca0dd9f35..7f4f202a1b70 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 4ef27597b396..bb09fb145c76 100644 --- a/keyboards/charue/sunsetter_r2/config.h +++ b/keyboards/charue/sunsetter_r2/config.h @@ -3,19 +3,6 @@ #pragma once -/* RGB */ -# define RGBLED_NUM 10 -#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 - /* 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/charue/sunsetter_r2/info.json b/keyboards/charue/sunsetter_r2/info.json index 502609402f9a..9bbc6a7f94db 100644 --- a/keyboards/charue/sunsetter_r2/info.json +++ b/keyboards/charue/sunsetter_r2/info.json @@ -8,6 +8,21 @@ "pid": "0x5335", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c deleted file mode 100644 index e1e0c963f54d..000000000000 --- a/keyboards/charue/sunsetter_r2/keymaps/debug/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Charue Design -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT_all( - KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_VOLU, - KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, - KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE, - KC_F7, KC_F8, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT, - KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_FN] = LAYOUT_all( - KC_F11, KC_F12, QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_VOLU, - KC_F13, KC_F14, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, - KC_F15, KC_F16, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE, - KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT, - RGB_MOD, KC_F20, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ) -}; - -void keyboard_post_init_user(void) { - debug_enable=true; - debug_matrix=true; -} diff --git a/keyboards/charue/sunsetter_r2/keymaps/debug/readme.md b/keyboards/charue/sunsetter_r2/keymaps/debug/readme.md deleted file mode 100644 index e4883ef86f1e..000000000000 --- a/keyboards/charue/sunsetter_r2/keymaps/debug/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The debug keymap for Sunsetter R2 diff --git a/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk b/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk deleted file mode 100644 index 15b7f725b26d..000000000000 --- a/keyboards/charue/sunsetter_r2/keymaps/debug/rules.mk +++ /dev/null @@ -1 +0,0 @@ -CONSOLE_ENABLE = yes diff --git a/keyboards/chavdai40/keymaps/42keys-eucalyn/config.h b/keyboards/chavdai40/keymaps/42keys-eucalyn/config.h deleted file mode 100644 index bbcd7cdf980c..000000000000 --- a/keyboards/chavdai40/keymaps/42keys-eucalyn/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define PERMISSIVE_HOLD -#define RETRO_TAPPING -#define TAPPING_TERM 5 diff --git a/keyboards/chavdai40/keymaps/42keys-eucalyn/keymap.c b/keyboards/chavdai40/keymaps/42keys-eucalyn/keymap.c deleted file mode 100644 index 0f42dd25da87..000000000000 --- a/keyboards/chavdai40/keymaps/42keys-eucalyn/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ - /* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------------------------------------------. - * | Tab | ;| ,| .| P| Q| Y| G| D| M| F| -| Bspc| - * |-------------------------------------------------------| - * | Ctrl | A| O| E| I| U| B| N| T| R| S| Return| - * |-------------------------------------------------------| - * | Shift | Z| X| C| V| W| H| J| K| L| /| Lyr| - * `----.---------------------------------------------.---' - * | Alt |Win | Space |Win |Alt | - * `---------------------------------------------' - */ - LAYOUT_42key( /* Base */ - KC_TAB, KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Q, KC_Y, KC_G, KC_D, KC_M, KC_F, KC_MINUS, KC_BSPC, - KC_LCTL, KC_A, KC_O, KC_E, KC_I, KC_U, KC_B, KC_N, KC_T, KC_R, KC_S, KC_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_W, KC_H, KC_J, KC_K, KC_L, KC_SLASH, MO(1), - KC_LALT, KC_LGUI, KC_SPACE, KC_RGUI, KC_RALT), - LAYOUT_42key( /* layer 1 */ - KC_GRAVE, KC_EXCLAIM, KC_AT, KC_HASH, KC_QUOTE, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LBRC, KC_RBRC, - 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_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQUAL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; diff --git a/keyboards/chavdai40/keymaps/42keys-qwerty/config.h b/keyboards/chavdai40/keymaps/42keys-qwerty/config.h deleted file mode 100644 index bbcd7cdf980c..000000000000 --- a/keyboards/chavdai40/keymaps/42keys-qwerty/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define PERMISSIVE_HOLD -#define RETRO_TAPPING -#define TAPPING_TERM 5 diff --git a/keyboards/chavdai40/keymaps/42keys-qwerty/keymap.c b/keyboards/chavdai40/keymaps/42keys-qwerty/keymap.c deleted file mode 100644 index 1d547b5093ad..000000000000 --- a/keyboards/chavdai40/keymaps/42keys-qwerty/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ - /* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------------------------------------------. - * | Tab | Q| W| E| R| T| Y| U| I| O| P| -| Bspc| - * |-------------------------------------------------------| - * | Ctrl | A| S| D| F| G| H| J| K| L| ;| Return| - * |-------------------------------------------------------| - * | Shift | Z| X| C| V| B| N| M| ,| .| /| Lyr| - * `----.---------------------------------------------.---' - * | Alt |Win | Space |Win |Alt | - * `---------------------------------------------' - */ - LAYOUT_42key( /* Base */ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINUS, 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_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, MO(1), - KC_LALT, KC_LGUI, KC_SPACE, KC_RGUI, KC_RALT), - LAYOUT_42key( /* layer 1 */ - KC_GRAVE, KC_EXCLAIM, KC_AT, KC_HASH, KC_QUOTE, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LBRC, KC_RBRC, - 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_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQUAL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; diff --git a/keyboards/chavdai40/keymaps/44keys-eucalyn/config.h b/keyboards/chavdai40/keymaps/44keys-eucalyn/config.h deleted file mode 100644 index bbcd7cdf980c..000000000000 --- a/keyboards/chavdai40/keymaps/44keys-eucalyn/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define PERMISSIVE_HOLD -#define RETRO_TAPPING -#define TAPPING_TERM 5 diff --git a/keyboards/chavdai40/keymaps/44keys-eucalyn/keymap.c b/keyboards/chavdai40/keymaps/44keys-eucalyn/keymap.c deleted file mode 100644 index b2992dc39361..000000000000 --- a/keyboards/chavdai40/keymaps/44keys-eucalyn/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ - /* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------------------------------------------. - * | Tab | ;| ,| .| P| Q| Y| G| D| M| F| -| Bspc| - * |-------------------------------------------------------| - * | Ctrl | A| O| E| I| U| B| N| T| R| S| Return| - * |-------------------------------------------------------| - * | Shift | Z| X| C| V| W| H| J| K| L| /| Del| - * `----.---------------------------------------------.---' - * | Alt |Win | Layer | Space |Win |Alt |Esc | - * `---------------------------------------------' - */ - LAYOUT_44key( /* Base */ - KC_TAB, KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Q, KC_Y, KC_G, KC_D, KC_M, KC_F, KC_MINUS, KC_BSPC, - KC_LCTL, KC_A, KC_O, KC_E, KC_I, KC_U, KC_B, KC_N, KC_T, KC_R, KC_S, KC_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_W, KC_H, KC_J, KC_K, KC_L, KC_SLASH, KC_DELETE, - KC_LALT, KC_LGUI, MO(1), KC_SPACE, KC_RGUI, KC_RALT, KC_ESCAPE), - LAYOUT_44key( /* layer 1 */ - KC_GRAVE, KC_EXCLAIM, KC_AT, KC_HASH, KC_QUOTE, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LBRC, KC_RBRC, - 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_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQUAL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; diff --git a/keyboards/chavdai40/keymaps/44keys-qwerty/config.h b/keyboards/chavdai40/keymaps/44keys-qwerty/config.h deleted file mode 100644 index bbcd7cdf980c..000000000000 --- a/keyboards/chavdai40/keymaps/44keys-qwerty/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define PERMISSIVE_HOLD -#define RETRO_TAPPING -#define TAPPING_TERM 5 diff --git a/keyboards/chavdai40/keymaps/44keys-qwerty/keymap.c b/keyboards/chavdai40/keymaps/44keys-qwerty/keymap.c deleted file mode 100644 index 86b65977debd..000000000000 --- a/keyboards/chavdai40/keymaps/44keys-qwerty/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ - /* Copyright 2020 t-miyajima - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------------------------------------------. - * | Tab | Q| W| E| R| T| Y| U| I| O| P| -| Bspc| - * |-------------------------------------------------------| - * | Ctrl | A| S| D| F| G| H| J| K| L| ;| Return| - * |-------------------------------------------------------| - * | Shift | Z| X| C| V| B| N| M| ,| .| /| Del| - * `----.---------------------------------------------.---' - * | Alt |Win | Layer | Space |Win |Alt |Esc | - * `---------------------------------------------' - */ - LAYOUT_44key( /* Base */ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINUS, 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_ENTER, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_DELETE, - KC_LALT, KC_LGUI, MO(1), KC_SPACE, KC_RGUI, KC_RALT, KC_ESCAPE), - LAYOUT_44key( /* layer 1 */ - KC_GRAVE, KC_EXCLAIM, KC_AT, KC_HASH, KC_QUOTE, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_LBRC, KC_RBRC, - 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_TRNS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_EQUAL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; diff --git a/keyboards/checkerboards/axon40/config.h b/keyboards/checkerboards/axon40/config.h index 530fa064135b..21d76ea1ac7c 100644 --- a/keyboards/checkerboards/axon40/config.h +++ b/keyboards/checkerboards/axon40/config.h @@ -21,18 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 6b47a8f679d8..f9097042808f 100644 --- a/keyboards/checkerboards/axon40/info.json +++ b/keyboards/checkerboards/axon40/info.json @@ -8,6 +8,23 @@ "pid": "0x1119", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 29, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/checkerboards/axon40/keymaps/npspears/config.h b/keyboards/checkerboards/axon40/keymaps/npspears/config.h deleted file mode 100644 index 6d6bb8ea3902..000000000000 --- a/keyboards/checkerboards/axon40/keymaps/npspears/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 Nathan Spears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 -#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c b/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c deleted file mode 100644 index 5791c39641ad..000000000000 --- a/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright 2015-2017 Jack Humbert - * Modified by Nasp for the Orbit40 - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - - -// Defines for task manager and such -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | OS | Alt | Layer | Space | Alt | RGB | Super | - * `-----------------------------------------------------------------------------------' - */ -[0] = LAYOUT_all( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_RALT, KC_CAPS -), - -/* 1 - * ,-----------------------------------------------------------------------------------. - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[1] = LAYOUT_all( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, - CALTDEL, TSKMGR, _______, KC_SPC, KC_NUBS, KC_GRV -), - -/* 2 - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[2] = LAYOUT_all( - RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, - RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD -), - -}; diff --git a/keyboards/checkerboards/candybar_ortho/config.h b/keyboards/checkerboards/candybar_ortho/config.h index 0033db5d2bd9..e9b1b6d10521 100644 --- a/keyboards/checkerboards/candybar_ortho/config.h +++ b/keyboards/checkerboards/candybar_ortho/config.h @@ -21,18 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 3369eee53d44..c91f0d924d63 100644 --- a/keyboards/checkerboards/candybar_ortho/info.json +++ b/keyboards/checkerboards/candybar_ortho/info.json @@ -8,6 +8,23 @@ "pid": "0x3215", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h index 3c52543d2536..9b8adff3ecfb 100644 --- a/keyboards/checkerboards/nop60/config.h +++ b/keyboards/checkerboards/nop60/config.h @@ -17,24 +17,6 @@ Copyright 2021 Nathan Spears #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 - -// ws2812 options -#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 -#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 9f44cfd41fe3..f59c70ac29c2 100644 --- a/keyboards/checkerboards/nop60/info.json +++ b/keyboards/checkerboards/nop60/info.json @@ -14,10 +14,29 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D1", "levels": 6, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/checkerboards/plexus75/config.h b/keyboards/checkerboards/plexus75/config.h index 50aa6985248b..c71a85e7db89 100644 --- a/keyboards/checkerboards/plexus75/config.h +++ b/keyboards/checkerboards/plexus75/config.h @@ -36,19 +36,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -// ws2812 options -#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 -#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 30d8df7edbcc..943262b885cb 100644 --- a/keyboards/checkerboards/plexus75/info.json +++ b/keyboards/checkerboards/plexus75/info.json @@ -8,6 +8,24 @@ "pid": "0x5338", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/checkerboards/plexus75_he/config.h b/keyboards/checkerboards/plexus75_he/config.h index bfa587838356..21d76ea1ac7c 100644 --- a/keyboards/checkerboards/plexus75_he/config.h +++ b/keyboards/checkerboards/plexus75_he/config.h @@ -21,19 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// ws2812 options -#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 -#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 fc1dfc9fd5f8..d9817cbbe13d 100644 --- a/keyboards/checkerboards/plexus75_he/info.json +++ b/keyboards/checkerboards/plexus75_he/info.json @@ -8,6 +8,24 @@ "pid": "0x5339", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/checkerboards/pursuit40/config.h b/keyboards/checkerboards/pursuit40/config.h index 6fe6785edb05..4552a7509283 100644 --- a/keyboards/checkerboards/pursuit40/config.h +++ b/keyboards/checkerboards/pursuit40/config.h @@ -37,19 +37,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -// ws2812 options -#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 -#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 0f4394b87fa7..f7a0be79e33c 100644 --- a/keyboards/checkerboards/pursuit40/info.json +++ b/keyboards/checkerboards/pursuit40/info.json @@ -8,6 +8,24 @@ "pid": "0x1620", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/checkerboards/quark/config.h b/keyboards/checkerboards/quark/config.h index efa8f93d3ebf..876e59daa074 100644 --- a/keyboards/checkerboards/quark/config.h +++ b/keyboards/checkerboards/quark/config.h @@ -21,19 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// ws2812 options -#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 -#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 262cd6e60cc9..ca8446034840 100644 --- a/keyboards/checkerboards/quark/info.json +++ b/keyboards/checkerboards/quark/info.json @@ -8,6 +8,24 @@ "pid": "0x5340", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c b/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c deleted file mode 100644 index b5b4721ce6ef..000000000000 --- a/keyboards/checkerboards/quark/keymaps/ajp10304/keymap.c +++ /dev/null @@ -1,219 +0,0 @@ -/* Copyright 2021 Alan Pocklington - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "ajp10304.h" -#include "keymap_uk.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 | ;: | Enter| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC , - MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, 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(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2) -), - -/* Colemak-DHm - * ,-----------------------------------------------------------------------------------. - * | Esc | Q | W | F | P | B | J | L | U | Y | ;: | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Tab | A | R | S | T | G | M | N | E | I | O | Enter| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shft | Z | X | C | D | V | K | H | ,< | .> | /? | Shft | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_ortho_4x12( - LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC , - MT(MOD_LSFT, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, MT(MOD_RSFT, KC_ENT) , - KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT , - MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2) -), - -/* Function - * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| \| | `ÂŽ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn | - * `-----------------------------------------------------------------------------------' - */ -[_FUNC] = LAYOUT_ortho_4x12( - KC_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, UK_TILD, KC_INSERT , - KC_LSFT, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_PAST, KC_MINS, KC_EQL, KC_BSLS, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) , - _______, _______, _______, _______, _______, _______, _______, MO(_MOUSE), _______, _______, _______, _______ -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ! | " | ÂĢ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| \| | `ÂŽ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_4x12( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC , - LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), LCTL(KC_DEL), LCTL(KC_BSPC) , - SC_LSPO, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_QUOT, KC_MINS, KC_EQL, KC_NONUS_HASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) , - _______, _______, _______, _______, _______, KC_DEL, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC| - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ` | | | ( | ) | | | HOME | UP | END | |ZOOM +| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | { | } | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Mouse| | | | | Alt | Enter|Raise | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_4x12( - KC_GRV, XXXXXXX, M_WORD_SEL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDN, XXXXXXX, KC_PSCR , - KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) , - _______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) , - MO(_MOUSE), _______, _______, _______, _______, KC_LALT, KC_ENT, _______, XXXXXXX, _______, _______, _______ -), - -/* Adjust (Lower + Raise) - * ,------------------------------------------------------------------------------------. - * | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+-------| - * | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | |Qwerty | - * |------+------+------+------+------+------|------+------+------+------+------+-------| - * | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | |Colemak| - * |------+------+------+------+------+------+------+------+------+------+------+-------| - * | | | | | | | | | | | | - * `------------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_4x12( - M_CUSTOM, QK_BOOT, QWERTY, BL_ON, BL_OFF, DM_REC1, DM_REC2, _______, _______, _______, _______, KC_DEL , - KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DM_PLY1, DM_PLY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, QWERTY , - TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DM_RSTP, DM_RSTP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, COLEMAK , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -/* Mouse - * ,-----------------------------------------------------------------------------------. - * | ESC | | | | | | | | BTN3 | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_MOUSE] = LAYOUT_ortho_4x12( - KC_ESC , _______, _______, _______, _______, _______, _______, _______, KC_MS_BTN3, _______, _______, _______, - KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______, - KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -/* Num Pad - * ,-----------------------------------------------------------------------------------. - * | ESC | | | | | |NMLOCK| 7 | 8 | 9 | / | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | 4 | 5 | 6 | * | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | 1 | 2 | 3 | + | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | 0 | . | , | - | | - * `-----------------------------------------------------------------------------------' - */ -[_NUMPAD] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, KC_NUM, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, KC_COMM, KC_KP_MINUS, _______ -), - -/* Function 2 (Right hand side) - * ,-----------------------------------------------------------------------------------. - * | | |WRDSEL| | | | LNDEL| | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | LNSEL| DUP | | | | |LNJOIN| | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | UNDO | CUT | COPY | PASTE| | | | | | | MODE | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_FUNC2] = LAYOUT_ortho_4x12( - _______, _______, M_WORD_SEL, _______, _______, _______, M_LINE_DEL, _______, _______, _______, _______, _______, - _______, _______, M_LINE_SEL, M_DUP, _______, _______, _______, M_JOIN, _______, _______, _______, _______, - _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M_MODE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MAC]= LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 -), - -[_MLWR] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MRSE] = LAYOUT_ortho_4x12( - _______, _______, M_WORD_SEL_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) , - _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MFNC]= LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MFNC2] = LAYOUT_ortho_4x12( - _______, _______, M_WORD_SEL_MAC, _______, _______, _______, M_LINE_DEL_MAC, _______, _______, _______, _______, _______, - _______, _______, M_LINE_SEL_MAC, M_DUP_MAC, _______, _______, _______, M_JOIN_MAC, _______, _______, _______, _______, - _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M_MODE_MAC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - -}; diff --git a/keyboards/checkerboards/quark/keymaps/ajp10304/readme.md b/keyboards/checkerboards/quark/keymaps/ajp10304/readme.md deleted file mode 100644 index 5c9169fa478a..000000000000 --- a/keyboards/checkerboards/quark/keymaps/ajp10304/readme.md +++ /dev/null @@ -1,126 +0,0 @@ -# AJP10304 Custom Quark Layout -# Also available for the Planck, JJ40 and Atreus50 - -**Note:** In the tables below where there are two characters on a key, -the second is the output when shift is applied. - -**Note:** The below tables assume a UK layout. - -#### Flashing -Refer to the README.md of the keyboard you want to flash. - -##### Main Qwerty Layer - -* Tab: when held, operates as shift. -* Enter: when held, operates as shift. -* MENU: perform right-click - -| | | | | | | | | | | | | -| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:| -| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | -| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| -| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | - -##### Main Colemak-DHm Layer - -| | | | | | | | | | | | | -| ---- |:----:| :---:|:---:|:-----:|:----:|:-----:|:-----:|:-----:|:----:|:----:| ----:| -| Esc | Q | W | F | P | B | J | L | U | Y | ;: | Bksp | -| Tab | A | R | S | T | G | M | N | E | I | O | Enter| -| Shft | Z | X | C | D | V | K | H | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI | Lower | Bksp | Space | Raise | Shift | MENU | Ctrl | Fn2 | - -##### Function Layer -Activated when `fn` held in the above `qwerty` layer. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| -| Shift | \| | `ÂŽ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 | - -##### Lower Layer -Activated when `Lower` is held in the above `qwerty` layer. - -* Numbers are along the top row, their shifted counterparts are on row 2. -* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word. -* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp | -| ! | " | ÂĢ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks| -| Shift | \| | `ÂŽ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift | -| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play | - -##### Raise Layer -Activated when `Raise` is held in the above `qwerty` layer. - -* Preferred layer for typing brackets. -* Allows for cursor navigation to be used solely with the right hand. -* WRDSEL: Select the word where the cursor is. -* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| -| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC| -| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +| -| | | | { | } | ||<| LEFT | DOWN |RIGHT |>||ZOOM -| -| Mouse | | | | | Alt | Enter |Raise | | | | | - -##### Lower + Raise -Activated when `Lower` and `Raise` are held together in the above `qwerty` layer. - -* Audio controls in the same position as cursor keys from the `Raise` layer. -* ????: Runs a macro for outputting a text string. Do not use this store passwords. -* Reset: Enter bootloader for flashing firmware to the keyboard. -* CAPS: Toggle caps lock. -* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2. -To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2. -* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, -MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively. - -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|:-------:| -| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | -| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | Qwerty | -| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | Colemak | -| | | | | | | | | DYN | | | | - -##### Function 2 Layer -Activated when `fn` held in the above `qwerty` layer. -* WRDSEL: Select the word where the cursor is. -* LNDEL: Delete the line where the cursor is. -* LNSEL: Select the line where the cursor is. -* DUP: Duplicate the selected text. -* LNJOIN: Join the line where the cursor is with the following line. -* MODE: Print either `PC` or `OSX` depending on what layer mode is active. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | |WRDSEL| | | | LNDEL| | | | | | -| | | LNSEL| DUP | | | | |LNJOIN| | | | -| | UNDO | CUT | COPY | PASTE| | | | | | | MODE | -| | | | | | | | | | | | | - -##### Mouse Layer -Activated when `fn` and `raise` held together. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| ESC | | | | | | W_L | W_UP | BTN3 | W_DWN| W_R | | -| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | -| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | -| | | | | | | | | | | | | - -##### Number Pad Layout -Activated when holding `Esc` key. - -| | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | | | | | |NMLOCK| 7 | 8 | 9 | / | | -| | | | | | | | 4 | 5 | 6 | * | | -| | | | | | | | 1 | 2 | 3 | + | | -| | | | | | | | 0 | . | , | - | | diff --git a/keyboards/checkerboards/quark/keymaps/ajp10304/rules.mk b/keyboards/checkerboards/quark/keymaps/ajp10304/rules.mk deleted file mode 100644 index 6c605daecf53..000000000000 --- a/keyboards/checkerboards/quark/keymaps/ajp10304/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = yes diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/config.h b/keyboards/checkerboards/quark/keymaps/pezhore/config.h deleted file mode 100644 index 35b49ed9c9ed..000000000000 --- a/keyboards/checkerboards/quark/keymaps/pezhore/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2020 Nathan Spears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE -#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c deleted file mode 100644 index f331e2b9cf82..000000000000 --- a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c +++ /dev/null @@ -1,195 +0,0 @@ -/* Copyright 2015-2017 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 ortho_4x12_layers { - _QWERTY, - _FN, - _LOWER, - _RAISE, - _ADJUST -}; - -enum ortho_4x12_keycodes { - LOWER = SAFE_RANGE, - RAISE, - SHRUG, // ÂŊ\_(ツ)_/ÂŊ - TFLIP, // (â•Ŋ°□°)â•Ŋïļĩ â”ŧ━â”ŧ - POOP, // ðŸ’Đ - DPOINT, // (āē _āē ) - STRUT, // ᕕ( ᐛ )ᕗ - SARCSM, // âļŪ -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P |Bkpsc | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | FN | Ctrl | GUI | ALT |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - MO(_FN), KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* FN - * ,-----------------------------------------------------------------------------------. - * | ` | | | | | | | | |POOP |PrtScr|Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | |UC_Wnc| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |SHRUG |TFLIP | POOP |DPOINT|STRUT | | | | |SARCSM|UC_Lin| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | - * `-----------------------------------------------------------------------------------' - */ -[_FN] = LAYOUT_ortho_4x12( - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, POOP, KC_PSCR, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UC_WINC, - _______, SHRUG, TFLIP, POOP, DPOINT, STRUT, _______, _______, _______, _______, SARCSM, UC_LINX, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | |Raise | Home | PgDn | PgUp | End | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 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, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |Lower | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | Reset| Debug| | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case SHRUG: - if (record->event.pressed) { - send_unicode_string("ÂŊ\\_(ツ)_/ÂŊ"); - } - return false; - break; - case TFLIP: - if (record->event.pressed) { - send_unicode_string("(â•Ŋ°□°)â•Ŋïļĩ â”ŧ━â”ŧ"); - } - return false; - break; - case POOP: - if (record->event.pressed) { - send_unicode_string("ðŸ’Đ"); - } - return false; - break; - case DPOINT: - if (record->event.pressed) { - send_unicode_string("(āē _āē )"); - } - return false; - break; - case STRUT: - if (record->event.pressed) { - send_unicode_string("ᕕ( ᐛ )ᕗ"); - } - return false; - break; - case SARCSM: - if (record->event.pressed) { - send_unicode_string("âļŪ"); - } - return false; - break; - } - return true; -}; diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index 75345075e758..ca124775d72e 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 264bddad1292..9712b63a3890 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_lp/keymaps/mit/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c deleted file mode 100644 index 338af5ea9eec..000000000000 --- a/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2021 Nathan Spears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// Defines for task manager and such -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* [0] - * ,-----------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | - * |------------+------+------+------+------+-------------+------+------+------+------+------| - * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | - * |------------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| - * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | - * `-----------------------------------------------------------------------------------------' - */ - [0] = LAYOUT_ortho_4x12_1x2uC( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* [1] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+----| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | - * |------------+------+------+------+------+-------------+------+------+------+------+----| - * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | - * |------------+------+------+------+------+------|------+------+------+------+------+----| - * | | | | | | | | + | = | | | | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| - * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | - * `---------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_ortho_4x12_1x2uC( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, - _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______ - ), - - /* [2] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+---| - * | | | | UP | | | | _ | | [ | ] | | - * |------------+------+------+------+------+-------------+------+------+------+------+---| - * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | - * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | QK_BOOT | | | | | | | | - * `---------------------------------------------------------------------------------------' - */ - [2] = LAYOUT_ortho_4x12_1x2uC( - _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/checkerboards/quark_plus/config.h b/keyboards/checkerboards/quark_plus/config.h index 4136faaa7ae6..07fe2e4c7b8a 100644 --- a/keyboards/checkerboards/quark_plus/config.h +++ b/keyboards/checkerboards/quark_plus/config.h @@ -21,19 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// ws2812 options -#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 -#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 0d47ec2ec471..dc5bc478ca40 100644 --- a/keyboards/checkerboards/quark_plus/info.json +++ b/keyboards/checkerboards/quark_plus/info.json @@ -8,6 +8,24 @@ "pid": "0x5344", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C5" }, @@ -25,6 +43,7 @@ ] }, "backlight": { + "driver": "timer", "pin": "C4", "levels": 6, "breathing": true diff --git a/keyboards/checkerboards/quark_squared/config.h b/keyboards/checkerboards/quark_squared/config.h index 514ce68f3f08..21d76ea1ac7c 100644 --- a/keyboards/checkerboards/quark_squared/config.h +++ b/keyboards/checkerboards/quark_squared/config.h @@ -21,19 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// ws2812 options -#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 -#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 bd6233b20868..a47253d5b4a4 100644 --- a/keyboards/checkerboards/quark_squared/info.json +++ b/keyboards/checkerboards/quark_squared/info.json @@ -8,6 +8,24 @@ "pid": "0x5342", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/checkerboards/snop60/config.h b/keyboards/checkerboards/snop60/config.h index d11757cc15e9..e335720fd1e9 100644 --- a/keyboards/checkerboards/snop60/config.h +++ b/keyboards/checkerboards/snop60/config.h @@ -17,22 +17,6 @@ Copyright 2022 Nathan Spears #pragma once -// ws2812 options -#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 -#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 94d40e6645b5..f88186faddc3 100644 --- a/keyboards/checkerboards/snop60/info.json +++ b/keyboards/checkerboards/snop60/info.json @@ -19,10 +19,29 @@ ] }, "backlight": { + "driver": "timer", "pin": "D1", "levels": 6, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/checkerboards/ud40_ortho_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/config.h index 788fbe39a991..21d76ea1ac7c 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/config.h +++ b/keyboards/checkerboards/ud40_ortho_alt/config.h @@ -21,19 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// ws2812 options -#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 -#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 7d49bdb5b457..c47c2c4c6bfe 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/info.json +++ b/keyboards/checkerboards/ud40_ortho_alt/info.json @@ -8,6 +8,24 @@ "pid": "0x7030", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h deleted file mode 100644 index b1498826ee3e..000000000000 --- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 Nathan Spears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c deleted file mode 100644 index c21cdc76617b..000000000000 --- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2020 Nathan Spears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// Defines for task manager and such -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* [0] - * ,-----------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | - * |------------+------+------+------+------+-------------+------+------+------+------+------| - * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | - * |------------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| - * | QK_BOOT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | - * `-----------------------------------------------------------------------------------------' - */ - [0] = LAYOUT_default( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - QK_BOOT, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS - ), - - /* [1] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+----| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | - * |------------+------+------+------+------+-------------+------+------+------+------+----| - * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | - * |------------+------+------+------+------+------|------+------+------+------+------+----| - * | | | | | | | | + | = | | | | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| - * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | - * `---------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_default( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, - KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ - ), - - /* [2] - * ,---------------------------------------------------------------------------------------. - * |------------+------+------+------+------+------+------+------+------+------+------+---| - * | | | | UP | | | | _ | | [ | ] | | - * |------------+------+------+------+------+-------------+------+------+------+------+---| - * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | - * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| - * | QK_BOOT | | | | | | | | - * `---------------------------------------------------------------------------------------' - */ - [2] = LAYOUT_default( - _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md deleted file mode 100644 index 126d92ab548c..000000000000 --- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# The Default UD40 Ortho Alt Layout -# 1.25 - 1.25 - 1.25 - 2.25 - 2.25 - 1.25 - 1.25 - 1.25 -# or -# 1 - 1 - 1 - 3 - 3 - 1 - 1 - 1 diff --git a/keyboards/cherrybstudio/cb1800/config.h b/keyboards/cherrybstudio/cb1800/config.h deleted file mode 100644 index 21aeb17d77d2..000000000000 --- a/keyboards/cherrybstudio/cb1800/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -# 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 -# 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 1b2fadd2a9c0..e6819d40ee3a 100644 --- a/keyboards/cherrybstudio/cb1800/info.json +++ b/keyboards/cherrybstudio/cb1800/info.json @@ -19,6 +19,23 @@ "scroll_lock": "F7", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cherrybstudio/cb65/config.h b/keyboards/cherrybstudio/cb65/config.h deleted file mode 100644 index e463e1d6c703..000000000000 --- a/keyboards/cherrybstudio/cb65/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* RGB Lighting */ -#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 -#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 37038b214fd2..841dae6103db 100644 --- a/keyboards/cherrybstudio/cb65/info.json +++ b/keyboards/cherrybstudio/cb65/info.json @@ -18,6 +18,23 @@ "scroll_lock": "F4", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/cherrybstudio/cb87/config.h b/keyboards/cherrybstudio/cb87/config.h deleted file mode 100644 index ddb9102d3652..000000000000 --- a/keyboards/cherrybstudio/cb87/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#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 -#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 ac32d5f8eabc..228cc030bbec 100644 --- a/keyboards/cherrybstudio/cb87/info.json +++ b/keyboards/cherrybstudio/cb87/info.json @@ -16,6 +16,23 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cherrybstudio/cb87rgb/info.json b/keyboards/cherrybstudio/cb87rgb/info.json index 93eed315241b..eefa7e73f0a7 100644 --- a/keyboards/cherrybstudio/cb87rgb/info.json +++ b/keyboards/cherrybstudio/cb87rgb/info.json @@ -12,7 +12,7 @@ "pin": "E6" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "F5", "C6", "C7", "F7"], diff --git a/keyboards/cherrybstudio/cb87v2/config.h b/keyboards/cherrybstudio/cb87v2/config.h deleted file mode 100644 index 4c66b113e7bf..000000000000 --- a/keyboards/cherrybstudio/cb87v2/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#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 -#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 8c35532c321b..1023cac5d186 100644 --- a/keyboards/cherrybstudio/cb87v2/info.json +++ b/keyboards/cherrybstudio/cb87v2/info.json @@ -21,6 +21,23 @@ "scroll_lock": "F4", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cheshire/curiosity/config.h b/keyboards/cheshire/curiosity/config.h index 71b01464378e..2687b628f58e 100644 --- a/keyboards/cheshire/curiosity/config.h +++ b/keyboards/cheshire/curiosity/config.h @@ -17,19 +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 -#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 - /* 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/cheshire/curiosity/info.json b/keyboards/cheshire/curiosity/info.json index fa8180e5af1a..678305ae3292 100644 --- a/keyboards/cheshire/curiosity/info.json +++ b/keyboards/cheshire/curiosity/info.json @@ -7,6 +7,21 @@ "pid": "0x0FAD", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/cheshire/curiosity/keymaps/crd/keymap.c b/keyboards/cheshire/curiosity/keymaps/crd/keymap.c deleted file mode 100644 index b330ece36903..000000000000 --- a/keyboards/cheshire/curiosity/keymaps/crd/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - - -enum keyboard_layers { - _BL, // Base Layer - _FL, // Function Layer - _CL // Control Layer -}; - -// Custom #defined keycodes (shorter macros for readability) -#define KC_CTES CTL_T(KC_ESC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_default( - KC_NO, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_NO, KC_TAB, KC_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_NO, KC_CTES, KC_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(_FL), - KC_LCTL, KC_LGUI, KC_SPC, MO(_FL), KC_SPC, KC_RALT, MO(_CL) - ), - [_FL] = LAYOUT_default( - KC_PGUP, KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_PGDN, KC_CAPS, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, - KC_ESC, _______, 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), - [_CL] = LAYOUT_default( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, - _______, _______, RGB_VAD, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_HUI, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_SAD, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c b/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c deleted file mode 100644 index f539a4f8fc00..000000000000 --- a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -/* -Copyright 2019 Khader Syed - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -enum my_layers { - _QWERTY, - _FNMS, - _NAVMED -}; - -#define FNMS MO(_FNMS) -#define NAVMED MO(_NAVMED) -#define CAP_CTL CTL_T(KC_CAPS) -#define GUI_BSPC LCMD_T(KC_BSPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_default( - QK_GESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, - KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_PGDN, CAP_CTL, KC_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, FNMS, - KC_LCTL, KC_LALT, GUI_BSPC, NAVMED, KC_SPC, KC_RALT, KC_RCTL - ), - - [_FNMS] = LAYOUT_default( - RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT, - VK_TOGG, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, - _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, - AG_TOGG, _______, _______, _______, _______, _______, _______ - ), - - [_NAVMED] = LAYOUT_default( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, QK_BOOT, - KC_END, _______, _______, _______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; - -static uint8_t top = 0; -static uint8_t middle = 0; -static uint8_t bottom = 1; - -layer_state_t layer_state_set_user(layer_state_t state) { - top = middle = bottom = 0; - switch (get_highest_layer(state)) { - case _NAVMED: - top = 1; - break; - case _FNMS: - middle = 1; - break; - default: - break; - } - return state; -} - -bool led_update_user(led_t usb_led) { - writePin(A8, !top); - writePin(A9, !middle); - writePin(A10, !bottom); - return false; -} diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/readme.md b/keyboards/cheshire/curiosity/keymaps/madhatter/readme.md deleted file mode 100644 index a0e4c42c135c..000000000000 --- a/keyboards/cheshire/curiosity/keymaps/madhatter/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Curiosity default keymap - -- A layer for all functions and mouse keys -- A layer for arrows and media -- Arrows on IJKL -- Caps and control on caps lock - wonderful -- Layer indicator LEDs diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk b/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk deleted file mode 100644 index 41fcf032655f..000000000000 --- a/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -VELOCIKEY_ENABLE = yes \ No newline at end of file diff --git a/keyboards/chlx/str_merro60/config.h b/keyboards/chlx/str_merro60/config.h index 62b31cf95bf4..763f2a4d5cc2 100644 --- a/keyboards/chlx/str_merro60/config.h +++ b/keyboards/chlx/str_merro60/config.h @@ -17,23 +17,7 @@ along with this program. If not, see . #pragma once -# 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 # 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 add2f077fee9..89fdd4baa123 100644 --- a/keyboards/chlx/str_merro60/info.json +++ b/keyboards/chlx/str_merro60/info.json @@ -8,6 +8,24 @@ "pid": "0x0602", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/chocofly/v1/keymaps/winder/keymap.c b/keyboards/chocofly/v1/keymaps/winder/keymap.c deleted file mode 100644 index f0a8b68a05b0..000000000000 --- a/keyboards/chocofly/v1/keymaps/winder/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2022 Will Winder (@winder) -// SPDX-License-Identifier: GPL-2.0-or-later -// -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY, - _LOWER, - _RAISE, -}; - -#define FN_1 MO(_LOWER) -#define FN_2 MO(_RAISE) -#define TRMINAL LGUI(KC_ENT) -#define RESIZE LGUI(KC_R) -#define BROWSER LSG(KC_ENT) // Left Shift + GUI, ENT. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_UNDS, - KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_MUTE, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , TRMINAL, BROWSER, RESIZE , KC_UNDS, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - KC_LALT, KC_LGUI, FN_1 , KC_ENT , FN_2 , KC_SPC , KC_BSPC, KC_DEL - ), - [_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_DEL , - KC_TILD, 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] = LAYOUT( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLD); - } else { - tap_code(KC_VOLU); - } - } - return false; -} -#endif diff --git a/keyboards/chord/zero/keymaps/default/keymap.c b/keyboards/chord/zero/keymaps/default/keymap.c index a1edbe0cfff4..1134f264bc6f 100644 --- a/keyboards/chord/zero/keymaps/default/keymap.c +++ b/keyboards/chord/zero/keymaps/default/keymap.c @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "keymap_steno.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c index ab8afd0c636b..ad7ec9bc553e 100644 --- a/keyboards/chosfox/cf81/cf81.c +++ b/keyboards/chosfox/cf81/cf81.c @@ -18,8 +18,8 @@ // 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 +const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to SNLED27351 manual for these locations * driver * | R location * | | G location diff --git a/keyboards/chosfox/cf81/config.h b/keyboards/chosfox/cf81/config.h index b1ea8bba2003..ae0d87d935bb 100644 --- a/keyboards/chosfox/cf81/config.h +++ b/keyboards/chosfox/cf81/config.h @@ -16,9 +16,6 @@ #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 */ @@ -32,12 +29,10 @@ #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 SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND +#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO #define I2C1_OPMODE OPMODE_I2C #define I2C1_CLOCK_SPEED 400000 /* 400000 */ diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json index 8b09d5daf614..5dff61007154 100644 --- a/keyboards/chosfox/cf81/info.json +++ b/keyboards/chosfox/cf81/info.json @@ -10,7 +10,11 @@ "suspend_wakeup_delay": 400 }, "eeprom": { - "driver": "wear_leveling" + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", @@ -35,7 +39,7 @@ ] }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "snled27351", "animations": { "breathing": true, "cycle_all": true, @@ -252,7 +256,7 @@ { "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": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5 }, { "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 }, @@ -261,9 +265,9 @@ { "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 } + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5 } ] } } diff --git a/keyboards/chosfox/cf81/keymaps/default/keymap.c b/keyboards/chosfox/cf81/keymaps/default/keymap.c index 753bdebc0a49..030ef2e2c141 100644 --- a/keyboards/chosfox/cf81/keymaps/default/keymap.c +++ b/keyboards/chosfox/cf81/keymaps/default/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [WIN_FN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, diff --git a/keyboards/chosfox/cf81/keymaps/via/keymap.c b/keyboards/chosfox/cf81/keymaps/via/keymap.c index 753bdebc0a49..030ef2e2c141 100644 --- a/keyboards/chosfox/cf81/keymaps/via/keymap.c +++ b/keyboards/chosfox/cf81/keymaps/via/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [WIN_FN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, diff --git a/keyboards/chosfox/cf81/rules.mk b/keyboards/chosfox/cf81/rules.mk index 002458405eed..6e7633bfe015 100644 --- a/keyboards/chosfox/cf81/rules.mk +++ b/keyboards/chosfox/cf81/rules.mk @@ -1 +1 @@ -WEAR_LEVELING_DRIVER = spi_flash +# This file intentionally left blank diff --git a/keyboards/chouchou/config.h b/keyboards/chouchou/config.h new file mode 100644 index 000000000000..405bd8b5ff42 --- /dev/null +++ b/keyboards/chouchou/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 Dane Lipscombe (@dlip) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/chouchou/info.json b/keyboards/chouchou/info.json new file mode 100644 index 000000000000..726f190aab1f --- /dev/null +++ b/keyboards/chouchou/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "dlip", + "keyboard_name": "chouchou", + "maintainer": "dlip", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28", "GP29"] + ] + }, + "processor": "RP2040", + "url": "https://github.com/dlip/chouchou", + "usb": { + "device_version": "1.0.0", + "pid": "0x0117", + "vid": "0xFABE" + }, + "layouts": { + "LAYOUT_split_2x4_2": { + "layout": [ + {"matrix": [0, 16], "x": 0, "y": 0.88}, + {"matrix": [0, 17], "x": 1, "y": 0.38}, + {"matrix": [0, 18], "x": 2, "y": 0}, + {"matrix": [0, 19], "x": 3, "y": 0.38}, + {"matrix": [0, 0], "x": 4, "y": 0.38}, + {"matrix": [0, 1], "x": 5, "y": 0}, + {"matrix": [0, 2], "x": 6, "y": 0.38}, + {"matrix": [0, 3], "x": 7, "y": 0.88}, + {"matrix": [0, 12], "x": 0, "y": 1.88}, + {"matrix": [0, 13], "x": 1, "y": 1.38}, + {"matrix": [0, 14], "x": 2, "y": 1}, + {"matrix": [0, 15], "x": 3, "y": 1.38}, + {"matrix": [0, 4], "x": 4, "y": 1.38}, + {"matrix": [0, 5], "x": 5, "y": 1}, + {"matrix": [0, 6], "x": 6, "y": 1.38}, + {"matrix": [0, 7], "x": 7, "y": 1.88}, + {"matrix": [0, 11], "x": 2, "y": 2.38}, + {"matrix": [0, 10], "x": 3, "y": 2.5}, + {"matrix": [0, 9], "x": 4, "y": 2.5}, + {"matrix": [0, 8], "x": 5, "y": 2.38} + ] + } + } +} diff --git a/keyboards/chouchou/keymaps/default/keymap.c b/keyboards/chouchou/keymaps/default/keymap.c new file mode 100644 index 000000000000..7a20b6e21593 --- /dev/null +++ b/keyboards/chouchou/keymaps/default/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 Dane Lipscombe (@dlip) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_2x4_2( + KC_A, KC_B, KC_C, KC_D, KC_N, KC_M, KC_L, KC_K, + KC_E, KC_F, KC_G, KC_H, KC_R, KC_Q, KC_P, KC_O, + KC_I, KC_J, KC_T, KC_S + ), +}; diff --git a/keyboards/chouchou/readme.md b/keyboards/chouchou/readme.md new file mode 100644 index 000000000000..dcd0c9031419 --- /dev/null +++ b/keyboards/chouchou/readme.md @@ -0,0 +1,26 @@ +# Chouchou + +![Chouchou](https://i.imgur.com/BYk2n5Ch.jpeg) + +Chouchou (Japanese for butterfly) is a minimalist unibody keyboard designed to be used with the [Taipo](https://inkeys.wiki/en/keymaps/taipo) layout. + +- [Github repo](https://github.com/dlip/chouchou) +- Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip) + +Make example for this keyboard (after setting up your build environment): + + make chouchou:default + +Flashing example for this keyboard: + + make chouchou: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/layouts/community/65_ansi/mechmerlin/rules.mk b/keyboards/chouchou/rules.mk similarity index 100% rename from layouts/community/65_ansi/mechmerlin/rules.mk rename to keyboards/chouchou/rules.mk diff --git a/keyboards/chromatonemini/chromatonemini.c b/keyboards/chromatonemini/chromatonemini.c index d7dc33a0e0da..200ed31d365e 100644 --- a/keyboards/chromatonemini/chromatonemini.c +++ b/keyboards/chromatonemini/chromatonemini.c @@ -19,66 +19,6 @@ #ifdef RGB_MATRIX_ENABLE # define NO_LED 255 -led_config_t g_led_config = { - { -#if 0 - // register bottom two rows - { 0, 4, 3, 2, 1, 41, 5, NO_LED }, - { 40, 6, 39, 7, 38, 8, 37, NO_LED }, - { 9, 36, 10, 35, 11, 34, 12, NO_LED }, - { 33, 13, 32, 14, 31, 15, 30, NO_LED }, - { 16, 29, 17, 28, 18, 27, 19, NO_LED }, - { 26, 20, 25, 21, 24, 22, 23, NO_LED } - - // register middle two rows - { 0, 4, 3, 2, 1, 78, 42, NO_LED }, - { 77, 43, 76, 44, 75, 45, 74, NO_LED }, - { 46, 73, 47, 72, 48, 71, 49, NO_LED }, - { 70, 50, 69, 51, 68, 52, 67, NO_LED }, - { 53, 66, 54, 65, 55, 64, 56, NO_LED }, - { 63, 57, 62, 58, 61, 59, 60, NO_LED } - - // register top and bottom rows - { 0, 4, 3, 2, 1, 115, 5, NO_LED }, - { 114, 6, 113, 7, 112, 8, 111, NO_LED }, - { 9, 110, 10, 109, 11, 108, 12, NO_LED }, - { 107, 13, 106, 14, 105, 15, 104, NO_LED }, - { 16, 103, 17, 102, 18, 101, 19, NO_LED }, - { 100, 20, 99, 21, 98, 22, 97, NO_LED } -#else - // register top two rows - { 0, 4, 3, 2, 1, 115, 79, NO_LED }, - { 114, 80, 113, 81, 112, 82, 111, NO_LED }, - { 83, 110, 84, 109, 85, 108, 86, NO_LED }, - { 107, 87, 106, 88, 105, 89, 104, NO_LED }, - { 90, 103, 91, 102, 92, 101, 93, NO_LED }, - { 100, 94, 99, 95, 98, 96, 97, NO_LED } -#endif - }, { - { 14, 12 }, - { 14, 36 }, - { 19, 48 }, { 9, 48 }, - { 14, 60 }, - { 39, 60 }, { 49, 60 }, { 59, 60 }, { 69, 60 }, { 79, 60 }, { 89, 60 }, { 99, 60 }, { 109, 60 }, { 119, 60 }, { 129, 60 }, { 139, 60 }, { 149, 60 }, { 159, 60 }, { 169, 60 }, { 179, 60 }, { 189, 60 }, { 199, 60 }, { 209, 60 }, - { 214, 48 }, { 204, 48 }, { 194, 48 }, { 184, 48 }, { 174, 48 }, { 164, 48 }, { 154, 48 }, { 144, 48 }, { 134, 48 }, { 124, 48 }, { 114, 48 }, { 104, 48 }, { 94, 48 }, { 84, 48 }, { 74, 48 }, { 64, 48 }, { 54, 48 }, { 44, 48 }, { 34, 48 }, - { 39, 36 }, { 49, 36 }, { 59, 36 }, { 69, 36 }, { 79, 36 }, { 89, 36 }, { 99, 36 }, { 109, 36 }, { 119, 36 }, { 129, 36 }, { 139, 36 }, { 149, 36 }, { 159, 36 }, { 169, 36 }, { 179, 36 }, { 189, 36 }, { 199, 36 }, { 209, 36 }, - { 214, 24 }, { 204, 24 }, { 194, 24 }, { 184, 24 }, { 174, 24 }, { 164, 24 }, { 154, 24 }, { 144, 24 }, { 134, 24 }, { 124, 24 }, { 114, 24 }, { 104, 24 }, { 94, 24 }, { 84, 24 }, { 74, 24 }, { 64, 24 }, { 54, 24 }, { 44, 24 }, { 34, 24 }, - { 39, 12 }, { 49, 12 }, { 59, 12 }, { 69, 12 }, { 79, 12 }, { 89, 12 }, { 99, 12 }, { 109, 12 }, { 119, 12 }, { 129, 12 }, { 139, 12 }, { 149, 12 }, { 159, 12 }, { 169, 12 }, { 179, 12 }, { 189, 12 }, { 199, 12 }, { 209, 12 }, - { 214, 0 }, { 204, 0 }, { 194, 0 }, { 184, 0 }, { 174, 0 }, { 164, 0 }, { 154, 0 }, { 144, 0 }, { 134, 0 }, { 124, 0 }, { 114, 0 }, { 104, 0 }, { 94, 0 }, { 84, 0 }, { 74, 0 }, { 64, 0} , { 54, 0 }, { 44, 0 }, { 34, 0 } - }, { - 1, - 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, 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, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - } -}; - // indicator const uint8_t led_scale_indicator[12][12] = { {23, 29, 35, 41, 60, 66, 72, 78, 97, 103, 109, 115}, // C diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h index b5d715551603..6643e610c03f 100644 --- a/keyboards/chromatonemini/config.h +++ b/keyboards/chromatonemini/config.h @@ -21,16 +21,12 @@ along with this program. If not, see . /* ws2812 RGB MATRIX */ # define RGB_MATRIX_LED_COUNT 116 - // reacts to keypresses # define RGB_MATRIX_KEYPRESSES // for all fingers used at once. # define LED_HITS_TO_REMEMBER 10 -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_MATRIX_DEFAULT_SPD 127 -# define RGB_MATRIX_CENTER { 124, 32 } // the above brighness setting has no effect on rgb_matrix_set_color(). // Use darker colors instead. /* RGB darker COLORS */ @@ -56,51 +52,6 @@ along with this program. If not, see . // https://docs.qmk.fm/#/feature_rgb_matrix // Enable suspend mode. # define RGB_DISABLE_WHEN_USB_SUSPENDED - -# ifdef CONSOLE_ENABLE -# define ENABLE_RGB_MATRIX_SOLID_COLOR -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# else -# 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_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# 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 // CONSOLE_ENABLE #endif // RGB_MATRIX_ENABLE /* Audio */ diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json index e6f433313393..fb4f0c737fa0 100644 --- a/keyboards/chromatonemini/info.json +++ b/keyboards/chromatonemini/info.json @@ -3,8 +3,10 @@ "manufacturer": "3araht", "url": "https://github.com/3araht/chromatonemini", "maintainer": "3araht", - "bootloader": "caterina", - "processor": "atmega32u4", + "development_board": "promicro", + "build": { + "lto": true + }, "features": { "midi": true, "extrakey": true, @@ -13,15 +15,179 @@ "bootmagic": false, "console": false, "mousekey": false, - "nkro": false, - "rgblight": false, - "audio": false + "nkro": false }, "ws2812": { "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 14, "y": 12, "flags": 1}, + {"matrix": [0, 4], "x": 14, "y": 36, "flags": 4}, + {"matrix": [0, 3], "x": 19, "y": 48, "flags": 4}, + {"matrix": [0, 2], "x": 9, "y": 48, "flags": 4}, + {"matrix": [0, 1], "x": 14, "y": 60, "flags": 4}, + {"x": 39, "y": 60, "flags": 4}, + {"x": 49, "y": 60, "flags": 4}, + {"x": 59, "y": 60, "flags": 4}, + {"x": 69, "y": 60, "flags": 4}, + {"x": 79, "y": 60, "flags": 4}, + {"x": 89, "y": 60, "flags": 4}, + {"x": 99, "y": 60, "flags": 4}, + {"x": 109, "y": 60, "flags": 4}, + {"x": 119, "y": 60, "flags": 4}, + {"x": 129, "y": 60, "flags": 4}, + {"x": 139, "y": 60, "flags": 4}, + {"x": 149, "y": 60, "flags": 4}, + {"x": 159, "y": 60, "flags": 4}, + {"x": 169, "y": 60, "flags": 4}, + {"x": 179, "y": 60, "flags": 4}, + {"x": 189, "y": 60, "flags": 4}, + {"x": 199, "y": 60, "flags": 4}, + {"x": 209, "y": 60, "flags": 4}, + {"x": 214, "y": 48, "flags": 4}, + {"x": 204, "y": 48, "flags": 4}, + {"x": 194, "y": 48, "flags": 4}, + {"x": 184, "y": 48, "flags": 4}, + {"x": 174, "y": 48, "flags": 4}, + {"x": 164, "y": 48, "flags": 4}, + {"x": 154, "y": 48, "flags": 4}, + {"x": 144, "y": 48, "flags": 4}, + {"x": 134, "y": 48, "flags": 4}, + {"x": 124, "y": 48, "flags": 4}, + {"x": 114, "y": 48, "flags": 4}, + {"x": 104, "y": 48, "flags": 4}, + {"x": 94, "y": 48, "flags": 4}, + {"x": 84, "y": 48, "flags": 4}, + {"x": 74, "y": 48, "flags": 4}, + {"x": 64, "y": 48, "flags": 4}, + {"x": 54, "y": 48, "flags": 4}, + {"x": 44, "y": 48, "flags": 4}, + {"x": 34, "y": 48, "flags": 4}, + {"x": 39, "y": 36, "flags": 4}, + {"x": 49, "y": 36, "flags": 4}, + {"x": 59, "y": 36, "flags": 4}, + {"x": 69, "y": 36, "flags": 4}, + {"x": 79, "y": 36, "flags": 4}, + {"x": 89, "y": 36, "flags": 4}, + {"x": 99, "y": 36, "flags": 4}, + {"x": 109, "y": 36, "flags": 4}, + {"x": 119, "y": 36, "flags": 4}, + {"x": 129, "y": 36, "flags": 4}, + {"x": 139, "y": 36, "flags": 4}, + {"x": 149, "y": 36, "flags": 4}, + {"x": 159, "y": 36, "flags": 4}, + {"x": 169, "y": 36, "flags": 4}, + {"x": 179, "y": 36, "flags": 4}, + {"x": 189, "y": 36, "flags": 4}, + {"x": 199, "y": 36, "flags": 4}, + {"x": 209, "y": 36, "flags": 4}, + {"x": 214, "y": 24, "flags": 4}, + {"x": 204, "y": 24, "flags": 4}, + {"x": 194, "y": 24, "flags": 4}, + {"x": 184, "y": 24, "flags": 4}, + {"x": 174, "y": 24, "flags": 4}, + {"x": 164, "y": 24, "flags": 4}, + {"x": 154, "y": 24, "flags": 4}, + {"x": 144, "y": 24, "flags": 4}, + {"x": 134, "y": 24, "flags": 4}, + {"x": 124, "y": 24, "flags": 4}, + {"x": 114, "y": 24, "flags": 4}, + {"x": 104, "y": 24, "flags": 4}, + {"x": 94, "y": 24, "flags": 4}, + {"x": 84, "y": 24, "flags": 4}, + {"x": 74, "y": 24, "flags": 4}, + {"x": 64, "y": 24, "flags": 4}, + {"x": 54, "y": 24, "flags": 4}, + {"x": 44, "y": 24, "flags": 4}, + {"x": 34, "y": 24, "flags": 4}, + {"matrix": [0, 6], "x": 39, "y": 12, "flags": 4}, + {"matrix": [1, 1], "x": 49, "y": 12, "flags": 4}, + {"matrix": [1, 3], "x": 59, "y": 12, "flags": 4}, + {"matrix": [1, 5], "x": 69, "y": 12, "flags": 4}, + {"matrix": [2, 0], "x": 79, "y": 12, "flags": 4}, + {"matrix": [2, 2], "x": 89, "y": 12, "flags": 4}, + {"matrix": [2, 4], "x": 99, "y": 12, "flags": 4}, + {"matrix": [2, 6], "x": 109, "y": 12, "flags": 4}, + {"matrix": [3, 1], "x": 119, "y": 12, "flags": 4}, + {"matrix": [3, 3], "x": 129, "y": 12, "flags": 4}, + {"matrix": [3, 5], "x": 139, "y": 12, "flags": 4}, + {"matrix": [4, 0], "x": 149, "y": 12, "flags": 4}, + {"matrix": [4, 2], "x": 159, "y": 12, "flags": 4}, + {"matrix": [4, 4], "x": 169, "y": 12, "flags": 4}, + {"matrix": [4, 6], "x": 179, "y": 12, "flags": 4}, + {"matrix": [5, 1], "x": 189, "y": 12, "flags": 4}, + {"matrix": [5, 3], "x": 199, "y": 12, "flags": 4}, + {"matrix": [5, 5], "x": 209, "y": 12, "flags": 4}, + {"matrix": [5, 6], "x": 214, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 204, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 194, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 184, "y": 0, "flags": 4}, + {"matrix": [4, 5], "x": 174, "y": 0, "flags": 4}, + {"matrix": [4, 3], "x": 164, "y": 0, "flags": 4}, + {"matrix": [4, 1], "x": 154, "y": 0, "flags": 4}, + {"matrix": [3, 6], "x": 144, "y": 0, "flags": 4}, + {"matrix": [3, 4], "x": 134, "y": 0, "flags": 4}, + {"matrix": [3, 2], "x": 124, "y": 0, "flags": 4}, + {"matrix": [3, 0], "x": 114, "y": 0, "flags": 4}, + {"matrix": [2, 5], "x": 104, "y": 0, "flags": 4}, + {"matrix": [2, 3], "x": 94, "y": 0, "flags": 4}, + {"matrix": [2, 1], "x": 84, "y": 0, "flags": 4}, + {"matrix": [1, 6], "x": 74, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 54, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 44, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 34, "y": 0, "flags": 4} + ], + "max_brightness": 50, + "sat_steps": 8, + "speed_steps": 10, + "val_steps": 8, + "center_point": [124, 32], + "animations": { + "solid_color": true, + "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, + "dual_beacon": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive": true, + "solid_reactive_simple": 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 + } }, "diode_direction": "COL2ROW", "matrix_pins": { @@ -33,7 +199,7 @@ "pid": "0xF4B4", "device_version": "0.0.1" }, - "layouts": { + "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0.5, "y": 0}, diff --git a/keyboards/chromatonemini/keymaps/led/keymap.c b/keyboards/chromatonemini/keymaps/led/keymap.c deleted file mode 100644 index 799792d5bd29..000000000000 --- a/keyboards/chromatonemini/keymaps/led/keymap.c +++ /dev/null @@ -1,696 +0,0 @@ -/* Copyright 2021 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "version.h" - -// define which MIDI ch to use. -// Note that (actual MIDI ch# - 1) -> 0 .. 15 is used for coding. -// ch1 -#define DEFAULT_MAIN_CH_NUMBER 0 -// ch3 -#define DEFAULT_SUB_CH_NUMBER 2 -// ch2 -#define ALT_MAIN_CH_NUMBER 1 -// ch4 -#define ALT_SUB_CH_NUMBER 3 -static uint8_t midi_left_ch = DEFAULT_SUB_CH_NUMBER; // By default, DEFAULT_SUB_CH_NUMBER is used for left side when separated. - -// By default( when use_alt_ch_gr == false), DEFAULT ch group (DEFAULT_MAIN_CH_NUMBER for entirely, or right side when separated, DEFAULT_SUB_CH_NUMBER for left side) is used. -// When false, ALT ch group (ALT_MAIN_CH_NUMBER for entirely, or right side when separated, ALT_SUB_CH_NUMBER for left side) is used. -static bool use_alt_ch_gr = false; - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, // Base layer, shift mode, single channel. - _SEPALEFTOCT, // 1st oct channel separated version. Shift mode. - _SEPAHALF, // Half channel separated version. Shift mode. - _SEPARIGHTOCT, // 2nd oct channel separated version. Shift mode. - _TRANS, // Transpose feature is enabled instead of shift mode, single channel. - _FLIPBASE, // Horizontal flipped version entirely. single channel. - _FLIPTRANS, // Horizontal flipped version entirely. Transpose is used. single channel. - _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings. -}; - -// Layer State -#define _LS_BASE (1UL << _BASE) -#define _LS_SEPALEFTOCT (1UL << _SEPALEFTOCT) -#define _LS_SEPAHALF (1UL << _SEPAHALF) -#define _LS_SEPARIGHTOCT (1UL << _SEPARIGHTOCT) -#define _LS_FLIPBASE (1UL << _FLIPBASE) - -#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS) -#define _LS_SEPALEFTOCT_T (1UL << _SEPALEFTOCT | 1UL << _TRANS) -#define _LS_SEPAHALF_T (1UL << _SEPAHALF | 1UL << _TRANS) -#define _LS_SEPARIGHTOCT_T (1UL << _SEPARIGHTOCT | 1UL << _TRANS) -#define _LS_FLIPTRANS (1UL << _FLIPBASE | 1UL << _FLIPTRANS) - -#define _LS_FN (1UL << _FN) -#define _LS_MAX (_LS_FN << 1) - -// Don't change the DEFAULT_SCALE_COL value below. It must be 0. -#define DEFAULT_SCALE_COL 0 -static uint8_t scale_indicator_col = DEFAULT_SCALE_COL; -static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ... - -// use led indicator or not. -static bool led_indicator_enable = true; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - SHIFT_L = SAFE_RANGE, - SHIFT_R, - TGLINDI, // ToGgLe INDIcator - TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode - TGLTRNS, // ToGgLe TRaNS and shift - TGLCHGR, // ToGgLe CH GRoup - VERSION, - - B_BASE, // border set to the left end. - B_LEFT, // border set to the 1st left octave. - B_CENTER, // border set to the center. - B_RIGHT, // border set to the 1st right octave. - B_FLIP, // border set to the right end. - - // MY tone for _FLIPHALF and _FLIPLEFTOCT layers to distinguish the notes to avoid sustain effect, etc. - // Since they are flipped, their subscripts are not MY_ but YM_, to make them easier to tell. - YM_TONE_MIN, - - YM_C = YM_TONE_MIN, - YM_Cs, - YM_Db = YM_Cs, - YM_D, - YM_Ds, - YM_Eb = YM_Ds, - YM_E, - YM_F, - YM_Fs, - YM_Gb = YM_Fs, - YM_G, - YM_Gs, - YM_Ab = YM_Gs, - YM_A, - YM_As, - YM_Bb = YM_As, - YM_B, - - YM_C_1, - YM_Cs_1, - YM_Db_1 = YM_Cs_1, - YM_D_1, - YM_Ds_1, - YM_Eb_1 = YM_Ds_1, - YM_E_1, - YM_F_1, - YM_Fs_1, - YM_Gb_1 = YM_Fs_1, - YM_G_1, - YM_Gs_1, - YM_Ab_1 = YM_Gs_1, - YM_A_1, - YM_As_1, - YM_Bb_1 = YM_As_1, - YM_B_1, - - YM_C_2, - YM_Cs_2, - YM_Db_2 = YM_Cs_2, - YM_D_2, - YM_Ds_2, - YM_Eb_2 = YM_Ds_2, - YM_E_2, - YM_F_2, - YM_Fs_2, - YM_Gb_2 = YM_Fs_2, - YM_G_2, - YM_Gs_2, - YM_Ab_2 = YM_Gs_2, - YM_A_2, - YM_As_2, - YM_Bb_2 = YM_As_2, - YM_B_2, - - YM_C_3, - YM_Cs_3, - YM_Db_3 = YM_Cs_3, - YM_D_3, - YM_Ds_3, - YM_Eb_3 = YM_Ds_3, - YM_E_3, - YM_F_3, - YM_Fs_3, - YM_Gb_3 = YM_Fs_3, - YM_G_3, - YM_Gs_3, - YM_Ab_3 = YM_Gs_3, - YM_A_3, - YM_As_3, - YM_Bb_3 = YM_As_3, - YM_B_3, - - YM_C_4, - YM_Cs_4, - YM_Db_4 = YM_Cs_4, - YM_D_4, - YM_Ds_4, - YM_Eb_4 = YM_Ds_4, - YM_E_4, - YM_F_4, - YM_Fs_4, - YM_Gb_4 = YM_Fs_4, - YM_G_4, - YM_Gs_4, - YM_Ab_4 = YM_Gs_4, - YM_A_4, - YM_As_4, - YM_Bb_4 = YM_As_4, - YM_B_4, - - YM_C_5, - YM_Cs_5, - YM_Db_5 = YM_Cs_5, - YM_D_5, - YM_Ds_5, - YM_Eb_5 = YM_Ds_5, - YM_E_5, - YM_F_5, - YM_Fs_5, - YM_Gb_5 = YM_Fs_5, - YM_G_5, - YM_Gs_5, - YM_Ab_5 = YM_Gs_5, - YM_A_5, - YM_As_5, - YM_Bb_5 = YM_As_5, - YM_B_5, - - YM_C_6, - YM_TONE_MAX = YM_C_6 -}; - -#define MY_TONE_COUNT (YM_TONE_MAX - YM_TONE_MIN + 1) -static uint8_t my_tone_status[MY_TONE_COUNT]; - -// Long press: go to _FN layer, tap: MUTE -#define FN_MUTE LT(_FN, KC_MUTE) - -// Used to set octave to 0 -extern midi_config_t midi_config; -static bool is_trans_mode = false; // By default, shift mode is chosen. - -static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By default, _KEY01 (= _BASE layer) is chosen. _KEY13 = *LEFT, _KEY19 = *HALF, _KEY25 = *RIGHT, _KEY37 = _FLIPBASE and _FLIPTRANS. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - FN_MUTE, MI_SUST, - MI_BNDU, - SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* 1 octave on the left side is ch2, others are ch1 (normal) */ - [_SEPALEFTOCT] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* Half ch2, half ch1 (normal) */ - [_SEPAHALF] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* 2 octave on the left side is ch2, others are ch1 (normal) */ - [_SEPARIGHTOCT] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* TRANS This layer must locate 1 layer below _FN layer. */ - [_TRANS] = LAYOUT( - _______, _______, - _______, - MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Flip Base SFIFTUP and SHIFT_L are swapped. */ - [_FLIPBASE] = LAYOUT( - FN_MUTE, MI_SUST, - MI_BNDU, - SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2, - MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2 - ), - - /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */ - [_FLIPTRANS] = LAYOUT( - _______, _______, - _______, - MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT( - _______, XXXXXXX, - MI_VELU, - MI_OCTD, MI_OCTU, B_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP, - MI_VELD, TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EE_CLR, TGLINDI, RGB_TOG - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SEPALEFTOCT] = { ENCODER_CCW_CW(_______, _______) }, - [_SEPAHALF] = { ENCODER_CCW_CW(_______, _______) }, - [_SEPARIGHTOCT] = { ENCODER_CCW_CW(_______, _______) }, - [_TRANS] = { ENCODER_CCW_CW(_______, _______) }, - [_FLIPBASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FLIPTRANS] = { ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, -}; -#endif - -// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -void my_init(void){ - // Set octave to 0 - midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN; - // avoid using 127 since it is used as a special number in some sound sources. - midi_config.velocity = MIDI_INITIAL_VELOCITY; - default_layer_set(_LS_BASE); - layer_state_set(_LS_BASE); - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_sethsv(HSV_BLUE); - rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_solid_reactive_col); -#endif // RGB_MATRIX_ENABLE -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - midi_init(); - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD); -#endif // RGB_MATRIX_ENABLE - my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -} - -void keyboard_post_init_user(void) { - for (uint8_t i = 0; i < MY_TONE_COUNT; i++) { - my_tone_status[i] = MIDI_INVALID_NOTE; - } - my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -} - -void reset_scale_indicator(void) { - // reset transpose value and scale_indicator_col to default. - midi_config.transpose = 0; - scale_indicator_col = DEFAULT_SCALE_COL; - trans_mode_indicator_loc_sel = true; -} - -void reset_all(void) { - reset_scale_indicator(); - is_trans_mode = false; // trans mode is disabled by default. -} - -void my_process_midi4single_note(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status) { - uint8_t mytone = keycode - YM_TONE_MIN; - uint16_t mykeycode = mytone + MIDI_TONE_MIN; - // uint16_t mykeycode = keycode - YM_TONE_MIN; - // uint8_t mytone = mykeycode - MIDI_TONE_MIN; - uint8_t velocity = midi_config.velocity; - // uprintf("keycode=%u,mykeycode=%u,mytone =%u,velo = %u\n", keycode, mykeycode, mytone, velocity); - if (record->event.pressed) { - if (my_tone_status[mytone] == MIDI_INVALID_NOTE) { - uint8_t note = midi_compute_note(mykeycode); - midi_send_noteon(&midi_device, channel, note, velocity); - dprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity); - // uprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity); - my_tone_status[mytone] = note; // store root_note status. - } - } else { - uint8_t note = my_tone_status[mytone]; - if (note != MIDI_INVALID_NOTE) { - midi_send_noteoff(&midi_device, channel, note, velocity); - dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity); - // uprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity); - } - my_tone_status[mytone] = MIDI_INVALID_NOTE; - } -} - -void select_layer_state_set(void) { - switch (key_separator_col) { - case _KEY01: - if (is_trans_mode) { - layer_state_set(_LS_TRANS); - } else { - layer_state_set(_LS_BASE); - } - break; - - case _KEY13: - if (is_trans_mode) { - layer_state_set(_LS_SEPALEFTOCT_T); - } else { - layer_state_set(_LS_SEPALEFTOCT); - } - break; - - case _KEY19: - if (is_trans_mode) { - layer_state_set(_LS_SEPAHALF_T); - } else { - layer_state_set(_LS_SEPAHALF); - } - break; - - case _KEY25: - if (is_trans_mode) { - layer_state_set(_LS_SEPARIGHTOCT_T); - } else { - layer_state_set(_LS_SEPARIGHTOCT); - } - break; - - case _KEY37: - if (is_trans_mode) { - layer_state_set(_LS_FLIPTRANS); - } else { - layer_state_set(_LS_FLIPBASE); - } - break; - } -} - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX); - switch (keycode) { - case VERSION: // Output firmware info. - if (record->event.pressed) { - SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE); - } - break; - - // Layer-related settings. - // reset_scale_indicator() first, followed by each modification, and then change the default layer. - - // 1, separator column modification - case B_BASE: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY01; - select_layer_state_set(); - } - break; - - case B_LEFT: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY13; - select_layer_state_set(); - } - break; - - case B_CENTER: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY19; - select_layer_state_set(); - } - break; - - case B_RIGHT: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY25; - select_layer_state_set(); - } - break; - - case B_FLIP: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY37; - select_layer_state_set(); - } - break; - - // 2, Toggle scale shift mode and transpose mode - case TGLTRNS: - if (record->event.pressed) { - reset_scale_indicator(); - is_trans_mode = !is_trans_mode; - select_layer_state_set(); - } - break; - - // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE. - case SHIFT_L: - if (record->event.pressed) { - switch (layer_state) { - case _LS_BASE: - case _LS_SEPALEFTOCT: - case _LS_SEPAHALF: - case _LS_SEPARIGHTOCT: - case _LS_FLIPBASE: - scale_indicator_col = shift_led_indicator_left(scale_indicator_col); - break; - } - } - break; - - case SHIFT_R: - if (record->event.pressed) { - switch (layer_state) { - case _LS_BASE: - case _LS_SEPALEFTOCT: - case _LS_SEPAHALF: - case _LS_SEPARIGHTOCT: - case _LS_FLIPBASE: - scale_indicator_col = shift_led_indicator_right(scale_indicator_col); - break; - } - } - break; - - case TGLINDI: - if (record->event.pressed) { - led_indicator_enable = !led_indicator_enable; - } - break; - - case TGLINTR: - if (record->event.pressed) { - switch (layer_state) { - // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel. - case _LS_TRANS | (1UL << _FN): - case _LS_SEPALEFTOCT_T | (1UL << _FN): - case _LS_SEPAHALF_T | (1UL << _FN): - case _LS_SEPARIGHTOCT_T | (1UL << _FN): - trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel; - - // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose. - scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1; - // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator. - if (scale_indicator_col == 1) { - midi_config.transpose = -1; - } else { - midi_config.transpose = 0; - } - break; - - // main function of the TGLINTR part 2. alternate the status of trans_mode_indicator_loc_sel. - case _LS_FLIPTRANS | (1UL << _FN): - trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel; - - // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose. - scale_indicator_col = trans_mode_indicator_loc_sel ? 0:11; - // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator. - if (scale_indicator_col == 11) { - midi_config.transpose = -1; - } else { - midi_config.transpose = 0; - } - break; - - // special treatment when TGLINTR is pressed in _LS_FLIPBASE layer. - case _LS_FLIPBASE | (1UL << _FN): // when in FLIPBASE layer && non-Trans mode, change it to Trans mode. - trans_mode_indicator_loc_sel = false; - scale_indicator_col = 11; - midi_config.transpose = -1; - is_trans_mode = true; - select_layer_state_set(); - break; - - - // special treatment when TGLINTR is pressed in other non-Trans layer. - default : // when other layers = non-Trans mode, change it to Trans mode. - trans_mode_indicator_loc_sel = false; - scale_indicator_col = 1; - midi_config.transpose = -1; - is_trans_mode = true; - select_layer_state_set(); - } - } - break; - - case TGLCHGR: - if (record->event.pressed) { - use_alt_ch_gr = !use_alt_ch_gr; - if (use_alt_ch_gr) { - midi_config.channel = ALT_MAIN_CH_NUMBER; - midi_left_ch = ALT_SUB_CH_NUMBER; - } else { // default - midi_config.channel = DEFAULT_MAIN_CH_NUMBER; - midi_left_ch = DEFAULT_SUB_CH_NUMBER; - } - } - break; - - case YM_TONE_MIN ... YM_TONE_MAX: // MY tone - // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX); - // DO NOT THROW BELOW into 'if (record->event.pressed) {}' STATEMENT SINCE IT IS USED IN THE FUNCTION BELOW. - my_process_midi4single_note(midi_left_ch, keycode, record, my_tone_status); - break; - } - return true; -} - -#ifdef RGB_MATRIX_ENABLE -void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) { - uint8_t max_scale_indicator_led_loop; - uint8_t i; - if (led_indicator_enable) { // turn on indicators when enabled. - max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9; - for (i = 0; i < max_scale_indicator_led_loop; i++) { - rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b); - } - } -} - -bool rgb_matrix_indicators_user(void) { - // uint32_t mode = rgblight_get_mode(); - - if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - - // uint8_t max_scale_indicator_led_loop; - uint8_t i; - - switch (layer_state) { - case _LS_BASE: - set_led_scale_indicator(BASE_LAYER_COLOR); - break; - - case _LS_FLIPBASE: - set_led_scale_indicator(FLIPB_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end - } - break; - - case _LS_TRANS: - set_led_scale_indicator(TRANS_LAYER_COLOR); - break; - - case _LS_SEPALEFTOCT_T: - set_led_scale_indicator(SEPALEFT_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left - } - break; - - case _LS_SEPAHALF_T: - set_led_scale_indicator(SEPAHALF_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center - } - break; - - case _LS_SEPARIGHTOCT_T: - set_led_scale_indicator(SEPARIGHT_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right - } - break; - - case _LS_FLIPTRANS: - set_led_scale_indicator(FLIPT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end - } - break; - - case _LS_SEPALEFTOCT: - set_led_scale_indicator(SEPALEFT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left - } - break; - - case _LS_SEPAHALF: - set_led_scale_indicator(SEPAHALF_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center - } - break; - - case _LS_SEPARIGHTOCT: - set_led_scale_indicator(SEPARIGHT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right - } - break; - - case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active. - for (i = 1; i < 5; i++) { - rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys - } - rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS - rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR - rgb_matrix_set_color(led_single_col_indicator[_KEY06][0], RGB_DARKSPRINGGREEN); // TGLCHGR - - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE - - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], SEPALEFT_LAYER_COLOR); // B_LEFT - - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], SEPAHALF_LAYER_COLOR); // B_CENTER - - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], SEPARIGHT_LAYER_COLOR); // B_RIGHT - - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIPB_LAYER_COLOR); // B_FLIP - } - - for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings. - // turn on the bottom row only to keep the visibility of the RGB MATRIX effects. - rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings. - } - break; - } - } - return false; -} -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/chromatonemini/keymaps/led/readme.md b/keyboards/chromatonemini/keymaps/led/readme.md deleted file mode 100644 index ed6cfd604055..000000000000 --- a/keyboards/chromatonemini/keymaps/led/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The LED enabled, customized keymap for chromatonemini diff --git a/keyboards/chromatonemini/keymaps/led/rules.mk b/keyboards/chromatonemini/keymaps/led/rules.mk deleted file mode 100644 index eb13370b8235..000000000000 --- a/keyboards/chromatonemini/keymaps/led/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_KB = yes # -VIA_ENABLE = no # too many layers to use VIA... - -ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31. diff --git a/keyboards/chromatonemini/keymaps/party/keymap.c b/keyboards/chromatonemini/keymaps/party/keymap.c deleted file mode 100644 index c4c3be834421..000000000000 --- a/keyboards/chromatonemini/keymaps/party/keymap.c +++ /dev/null @@ -1,699 +0,0 @@ -/* Copyright 2021 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "version.h" - -// define which MIDI ch to use. -// Note that (actual MIDI ch# - 1) -> 0 .. 15 is used for coding. -// ch1 -#define DEFAULT_MAIN_CH_NUMBER 0 -// ch3 -#define DEFAULT_SUB_CH_NUMBER 2 -// ch2 -#define ALT_MAIN_CH_NUMBER 1 -// ch4 -#define ALT_SUB_CH_NUMBER 3 -static uint8_t midi_left_ch = DEFAULT_SUB_CH_NUMBER; // By default, DEFAULT_SUB_CH_NUMBER is used for left side when separated. - -// By default( when use_alt_ch_gr == false), DEFAULT ch group (DEFAULT_MAIN_CH_NUMBER for entirely, or right side when separated, DEFAULT_SUB_CH_NUMBER for left side) is used. -// When false, ALT ch group (ALT_MAIN_CH_NUMBER for entirely, or right side when separated, ALT_SUB_CH_NUMBER for left side) is used. -static bool use_alt_ch_gr = false; - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, // Base layer, shift mode, single channel. - _SEPALEFTOCT, // 1st oct channel separated version. Shift mode. - _SEPAHALF, // Half channel separated version. Shift mode. - _SEPARIGHTOCT, // 2nd oct channel separated version. Shift mode. - _TRANS, // Transpose feature is enabled instead of shift mode, single channel. - _FLIPBASE, // Horizontal flipped version entirely. single channel. - _FLIPTRANS, // Horizontal flipped version entirely. Transpose is used. single channel. - _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings. -}; - -// Layer State -#define _LS_BASE (1UL << _BASE) -#define _LS_SEPALEFTOCT (1UL << _SEPALEFTOCT) -#define _LS_SEPAHALF (1UL << _SEPAHALF) -#define _LS_SEPARIGHTOCT (1UL << _SEPARIGHTOCT) -#define _LS_FLIPBASE (1UL << _FLIPBASE) - -#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS) -#define _LS_SEPALEFTOCT_T (1UL << _SEPALEFTOCT | 1UL << _TRANS) -#define _LS_SEPAHALF_T (1UL << _SEPAHALF | 1UL << _TRANS) -#define _LS_SEPARIGHTOCT_T (1UL << _SEPARIGHTOCT | 1UL << _TRANS) -#define _LS_FLIPTRANS (1UL << _FLIPBASE | 1UL << _FLIPTRANS) - -#define _LS_FN (1UL << _FN) -#define _LS_MAX (_LS_FN << 1) - -// Don't change the DEFAULT_SCALE_COL value below. It must be 0. -#define DEFAULT_SCALE_COL 0 -static uint8_t scale_indicator_col = DEFAULT_SCALE_COL; -static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ... - -// use led indicator or not. -static bool led_indicator_enable = true; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - SHIFT_L = SAFE_RANGE, - SHIFT_R, - TGLINDI, // ToGgLe INDIcator - TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode - TGLTRNS, // ToGgLe TRaNS and shift - TGLCHGR, // ToGgLe CH GRoup - VERSION, - - B_BASE, // border set to the left end. - B_LEFT, // border set to the 1st left octave. - B_CENTER, // border set to the center. - B_RIGHT, // border set to the 1st right octave. - B_FLIP, // border set to the right end. - - // MY tone for _FLIPHALF and _FLIPLEFTOCT layers to distinguish the notes to avoid sustain effect, etc. - // Since they are flipped, their subscripts are not MY_ but YM_, to make them easier to tell. - YM_TONE_MIN, - - YM_C = YM_TONE_MIN, - YM_Cs, - YM_Db = YM_Cs, - YM_D, - YM_Ds, - YM_Eb = YM_Ds, - YM_E, - YM_F, - YM_Fs, - YM_Gb = YM_Fs, - YM_G, - YM_Gs, - YM_Ab = YM_Gs, - YM_A, - YM_As, - YM_Bb = YM_As, - YM_B, - - YM_C_1, - YM_Cs_1, - YM_Db_1 = YM_Cs_1, - YM_D_1, - YM_Ds_1, - YM_Eb_1 = YM_Ds_1, - YM_E_1, - YM_F_1, - YM_Fs_1, - YM_Gb_1 = YM_Fs_1, - YM_G_1, - YM_Gs_1, - YM_Ab_1 = YM_Gs_1, - YM_A_1, - YM_As_1, - YM_Bb_1 = YM_As_1, - YM_B_1, - - YM_C_2, - YM_Cs_2, - YM_Db_2 = YM_Cs_2, - YM_D_2, - YM_Ds_2, - YM_Eb_2 = YM_Ds_2, - YM_E_2, - YM_F_2, - YM_Fs_2, - YM_Gb_2 = YM_Fs_2, - YM_G_2, - YM_Gs_2, - YM_Ab_2 = YM_Gs_2, - YM_A_2, - YM_As_2, - YM_Bb_2 = YM_As_2, - YM_B_2, - - YM_C_3, - YM_Cs_3, - YM_Db_3 = YM_Cs_3, - YM_D_3, - YM_Ds_3, - YM_Eb_3 = YM_Ds_3, - YM_E_3, - YM_F_3, - YM_Fs_3, - YM_Gb_3 = YM_Fs_3, - YM_G_3, - YM_Gs_3, - YM_Ab_3 = YM_Gs_3, - YM_A_3, - YM_As_3, - YM_Bb_3 = YM_As_3, - YM_B_3, - - YM_C_4, - YM_Cs_4, - YM_Db_4 = YM_Cs_4, - YM_D_4, - YM_Ds_4, - YM_Eb_4 = YM_Ds_4, - YM_E_4, - YM_F_4, - YM_Fs_4, - YM_Gb_4 = YM_Fs_4, - YM_G_4, - YM_Gs_4, - YM_Ab_4 = YM_Gs_4, - YM_A_4, - YM_As_4, - YM_Bb_4 = YM_As_4, - YM_B_4, - - YM_C_5, - YM_Cs_5, - YM_Db_5 = YM_Cs_5, - YM_D_5, - YM_Ds_5, - YM_Eb_5 = YM_Ds_5, - YM_E_5, - YM_F_5, - YM_Fs_5, - YM_Gb_5 = YM_Fs_5, - YM_G_5, - YM_Gs_5, - YM_Ab_5 = YM_Gs_5, - YM_A_5, - YM_As_5, - YM_Bb_5 = YM_As_5, - YM_B_5, - - YM_C_6, - YM_TONE_MAX = YM_C_6 -}; - -#define MY_TONE_COUNT (YM_TONE_MAX - YM_TONE_MIN + 1) -static uint8_t my_tone_status[MY_TONE_COUNT]; - -// Long press: go to _FN layer, tap: MUTE -#define FN_MUTE LT(_FN, KC_MUTE) - -// Used to set octave to 0 -extern midi_config_t midi_config; -static bool is_trans_mode = false; // By default, shift mode is chosen. - -static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By default, _KEY01 (= _BASE layer) is chosen. _KEY13 = *LEFT, _KEY19 = *HALF, _KEY25 = *RIGHT, _KEY37 = _FLIPBASE and _FLIPTRANS. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - FN_MUTE, MI_SUST, - MI_BNDU, - SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* 1 octave on the left side is ch2, others are ch1 (normal) */ - [_SEPALEFTOCT] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* Half ch2, half ch1 (normal) */ - [_SEPAHALF] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* 2 octave on the left side is ch2, others are ch1 (normal) */ - [_SEPARIGHTOCT] = LAYOUT( - _______, _______, - _______, - SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5, - _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4 - ), - - /* TRANS This layer must locate 1 layer below _FN layer. */ - [_TRANS] = LAYOUT( - _______, _______, - _______, - MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Flip Base SFIFTUP and SHIFT_L are swapped. */ - [_FLIPBASE] = LAYOUT( - FN_MUTE, MI_SUST, - MI_BNDU, - SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2, - MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2 - ), - - /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */ - [_FLIPTRANS] = LAYOUT( - _______, _______, - _______, - MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT( - _______, XXXXXXX, - MI_VELU, - MI_OCTD, MI_OCTU, B_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP, - MI_VELD, TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EE_CLR, TGLINDI, RGB_TOG - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SEPALEFTOCT] = { ENCODER_CCW_CW(_______, _______) }, - [_SEPAHALF] = { ENCODER_CCW_CW(_______, _______) }, - [_SEPARIGHTOCT] = { ENCODER_CCW_CW(_______, _______) }, - [_TRANS] = { ENCODER_CCW_CW(_______, _______) }, - [_FLIPBASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FLIPTRANS] = { ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, -}; -#endif - - -// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -void my_init(void){ - // Set octave to 0 - midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN; - // avoid using 127 since it is used as a special number in some sound sources. - midi_config.velocity = MIDI_INITIAL_VELOCITY; - default_layer_set(_LS_BASE); - layer_state_set(_LS_BASE); - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_sethsv(HSV_BLUE); - // party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) - rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); - led_indicator_enable = false; -#endif // RGB_MATRIX_ENABLE -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - midi_init(); - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_enable(); - rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD); -#endif // RGB_MATRIX_ENABLE - my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -} - -void keyboard_post_init_user(void) { - for (uint8_t i = 0; i < MY_TONE_COUNT; i++) { - my_tone_status[i] = MIDI_INVALID_NOTE; - } - my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user(). -} - -void reset_scale_indicator(void) { - // reset transpose value and scale_indicator_col to default. - midi_config.transpose = 0; - scale_indicator_col = DEFAULT_SCALE_COL; - trans_mode_indicator_loc_sel = true; -} - -void reset_all(void) { - reset_scale_indicator(); - is_trans_mode = false; // trans mode is disabled by default. -} - -void my_process_midi4single_note(uint8_t channel, uint16_t keycode, keyrecord_t *record, uint8_t *my_tone_status) { - uint8_t mytone = keycode - YM_TONE_MIN; - uint16_t mykeycode = mytone + MIDI_TONE_MIN; - // uint16_t mykeycode = keycode - YM_TONE_MIN; - // uint8_t mytone = mykeycode - MIDI_TONE_MIN; - uint8_t velocity = midi_config.velocity; - // uprintf("keycode=%u,mykeycode=%u,mytone =%u,velo = %u\n", keycode, mykeycode, mytone, velocity); - if (record->event.pressed) { - if (my_tone_status[mytone] == MIDI_INVALID_NOTE) { - uint8_t note = midi_compute_note(mykeycode); - midi_send_noteon(&midi_device, channel, note, velocity); - dprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity); - // uprintf("midi noteon channel:%d note:%d mytone:%d velocity:%d\n", channel, note, mytone, velocity); - my_tone_status[mytone] = note; // store root_note status. - } - } else { - uint8_t note = my_tone_status[mytone]; - if (note != MIDI_INVALID_NOTE) { - midi_send_noteoff(&midi_device, channel, note, velocity); - dprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity); - // uprintf("midi noteoff channel:%d note:%d velocity:%d\n", channel, note, velocity); - } - my_tone_status[mytone] = MIDI_INVALID_NOTE; - } -} - -void select_layer_state_set(void) { - switch (key_separator_col) { - case _KEY01: - if (is_trans_mode) { - layer_state_set(_LS_TRANS); - } else { - layer_state_set(_LS_BASE); - } - break; - - case _KEY13: - if (is_trans_mode) { - layer_state_set(_LS_SEPALEFTOCT_T); - } else { - layer_state_set(_LS_SEPALEFTOCT); - } - break; - - case _KEY19: - if (is_trans_mode) { - layer_state_set(_LS_SEPAHALF_T); - } else { - layer_state_set(_LS_SEPAHALF); - } - break; - - case _KEY25: - if (is_trans_mode) { - layer_state_set(_LS_SEPARIGHTOCT_T); - } else { - layer_state_set(_LS_SEPARIGHTOCT); - } - break; - - case _KEY37: - if (is_trans_mode) { - layer_state_set(_LS_FLIPTRANS); - } else { - layer_state_set(_LS_FLIPBASE); - } - break; - } -} - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX); - switch (keycode) { - case VERSION: // Output firmware info. - if (record->event.pressed) { - SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE); - } - break; - - // Layer-related settings. - // reset_scale_indicator() first, followed by each modification, and then change the default layer. - - // 1, separator column modification - case B_BASE: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY01; - select_layer_state_set(); - } - break; - - case B_LEFT: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY13; - select_layer_state_set(); - } - break; - - case B_CENTER: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY19; - select_layer_state_set(); - } - break; - - case B_RIGHT: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY25; - select_layer_state_set(); - } - break; - - case B_FLIP: - if (record->event.pressed) { - reset_all(); - key_separator_col = _KEY37; - select_layer_state_set(); - } - break; - - // 2, Toggle scale shift mode and transpose mode - case TGLTRNS: - if (record->event.pressed) { - reset_scale_indicator(); - is_trans_mode = !is_trans_mode; - select_layer_state_set(); - } - break; - - // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE. - case SHIFT_L: - if (record->event.pressed) { - switch (layer_state) { - case _LS_BASE: - case _LS_SEPALEFTOCT: - case _LS_SEPAHALF: - case _LS_SEPARIGHTOCT: - case _LS_FLIPBASE: - scale_indicator_col = shift_led_indicator_left(scale_indicator_col); - break; - } - } - break; - - case SHIFT_R: - if (record->event.pressed) { - switch (layer_state) { - case _LS_BASE: - case _LS_SEPALEFTOCT: - case _LS_SEPAHALF: - case _LS_SEPARIGHTOCT: - case _LS_FLIPBASE: - scale_indicator_col = shift_led_indicator_right(scale_indicator_col); - break; - } - } - break; - - case TGLINDI: - if (record->event.pressed) { - led_indicator_enable = !led_indicator_enable; - } - break; - - case TGLINTR: - if (record->event.pressed) { - switch (layer_state) { - // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel. - case _LS_TRANS | (1UL << _FN): - case _LS_SEPALEFTOCT_T | (1UL << _FN): - case _LS_SEPAHALF_T | (1UL << _FN): - case _LS_SEPARIGHTOCT_T | (1UL << _FN): - trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel; - - // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose. - scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1; - // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator. - if (scale_indicator_col == 1) { - midi_config.transpose = -1; - } else { - midi_config.transpose = 0; - } - break; - - // main function of the TGLINTR part 2. alternate the status of trans_mode_indicator_loc_sel. - case _LS_FLIPTRANS | (1UL << _FN): - trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel; - - // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose. - scale_indicator_col = trans_mode_indicator_loc_sel ? 0:11; - // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator. - if (scale_indicator_col == 11) { - midi_config.transpose = -1; - } else { - midi_config.transpose = 0; - } - break; - - // special treatment when TGLINTR is pressed in _LS_FLIPBASE layer. - case _LS_FLIPBASE | (1UL << _FN): // when in FLIPBASE layer && non-Trans mode, change it to Trans mode. - trans_mode_indicator_loc_sel = false; - scale_indicator_col = 11; - midi_config.transpose = -1; - is_trans_mode = true; - select_layer_state_set(); - break; - - - // special treatment when TGLINTR is pressed in other non-Trans layer. - default : // when other layers = non-Trans mode, change it to Trans mode. - trans_mode_indicator_loc_sel = false; - scale_indicator_col = 1; - midi_config.transpose = -1; - is_trans_mode = true; - select_layer_state_set(); - } - } - break; - - case TGLCHGR: - if (record->event.pressed) { - use_alt_ch_gr = !use_alt_ch_gr; - if (use_alt_ch_gr) { - midi_config.channel = ALT_MAIN_CH_NUMBER; - midi_left_ch = ALT_SUB_CH_NUMBER; - } else { // default - midi_config.channel = DEFAULT_MAIN_CH_NUMBER; - midi_left_ch = DEFAULT_SUB_CH_NUMBER; - } - } - break; - - case YM_TONE_MIN ... YM_TONE_MAX: // MY tone - // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX); - // DO NOT THROW BELOW into 'if (record->event.pressed) {}' STATEMENT SINCE IT IS USED IN THE FUNCTION BELOW. - my_process_midi4single_note(midi_left_ch, keycode, record, my_tone_status); - break; - } - return true; -} - -#ifdef RGB_MATRIX_ENABLE -void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) { - uint8_t max_scale_indicator_led_loop; - uint8_t i; - if (led_indicator_enable) { // turn on indicators when enabled. - max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9; - for (i = 0; i < max_scale_indicator_led_loop; i++) { - rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b); - } - } -} - -bool rgb_matrix_indicators_user(void) { - // uint32_t mode = rgblight_get_mode(); - - if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - - // uint8_t max_scale_indicator_led_loop; - uint8_t i; - - switch (layer_state) { - case _LS_BASE: - set_led_scale_indicator(BASE_LAYER_COLOR); - break; - - case _LS_FLIPBASE: - set_led_scale_indicator(FLIPB_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end - } - break; - - case _LS_TRANS: - set_led_scale_indicator(TRANS_LAYER_COLOR); - break; - - case _LS_SEPALEFTOCT_T: - set_led_scale_indicator(SEPALEFT_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left - } - break; - - case _LS_SEPAHALF_T: - set_led_scale_indicator(SEPAHALF_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center - } - break; - - case _LS_SEPARIGHTOCT_T: - set_led_scale_indicator(SEPARIGHT_T_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right - } - break; - - case _LS_FLIPTRANS: - set_led_scale_indicator(FLIPT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIP_BORDER_COLOR); // right end - } - break; - - case _LS_SEPALEFTOCT: - set_led_scale_indicator(SEPALEFT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], FLIP_BORDER_COLOR); // Left - } - break; - - case _LS_SEPAHALF: - set_led_scale_indicator(SEPAHALF_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], FLIP_BORDER_COLOR); // Center - } - break; - - case _LS_SEPARIGHTOCT: - set_led_scale_indicator(SEPARIGHT_LAYER_COLOR); - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], FLIP_BORDER_COLOR); // Right - } - break; - - case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active. - for (i = 1; i < 5; i++) { - rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys - } - rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS - rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR - rgb_matrix_set_color(led_single_col_indicator[_KEY06][0], RGB_DARKSPRINGGREEN); // TGLCHGR - - for (i = 0; i < 3; i++) { - rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE - - rgb_matrix_set_color(led_single_col_indicator[_KEY13][i], SEPALEFT_LAYER_COLOR); // B_LEFT - - rgb_matrix_set_color(led_single_col_indicator[_KEY19][i], SEPAHALF_LAYER_COLOR); // B_CENTER - - rgb_matrix_set_color(led_single_col_indicator[_KEY25][i], SEPARIGHT_LAYER_COLOR); // B_RIGHT - - rgb_matrix_set_color(led_single_col_indicator[_KEY37][i], FLIPB_LAYER_COLOR); // B_FLIP - } - - for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings. - // turn on the bottom row only to keep the visibility of the RGB MATRIX effects. - rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings. - } - break; - } - } - return false; -} -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/chromatonemini/keymaps/party/readme.md b/keyboards/chromatonemini/keymaps/party/readme.md deleted file mode 100644 index 8ca1b5a8ce1d..000000000000 --- a/keyboards/chromatonemini/keymaps/party/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# The LED enabled, party mode for testing LED soldering, customized keymap for chromatonemini. - -The main differences between "led" and "party" are: -// party mode (for LED soldering test. Enable rainbow color effect, and disable led_indicator to check all LEDs) -rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -led_indicator_enable = false; diff --git a/keyboards/chromatonemini/keymaps/party/rules.mk b/keyboards/chromatonemini/keymaps/party/rules.mk deleted file mode 100644 index eb13370b8235..000000000000 --- a/keyboards/chromatonemini/keymaps/party/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_KB = yes # -VIA_ENABLE = no # too many layers to use VIA... - -ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31. diff --git a/keyboards/chromatonemini/rules.mk b/keyboards/chromatonemini/rules.mk index 4da205a168c7..e69de29bb2d1 100644 --- a/keyboards/chromatonemini/rules.mk +++ b/keyboards/chromatonemini/rules.mk @@ -1 +0,0 @@ -LTO_ENABLE = yes diff --git a/keyboards/churrosoft/deck8/rgb/info.json b/keyboards/churrosoft/deck8/rgb/info.json index 43f273be58c9..546c17ca13d2 100644 --- a/keyboards/churrosoft/deck8/rgb/info.json +++ b/keyboards/churrosoft/deck8/rgb/info.json @@ -11,7 +11,7 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "max_brightness": 200, "layout": [ {"flags": 4, "matrix": [0, 0], "x": 45, "y": 21}, diff --git a/keyboards/cipulot/common/via_apc.c b/keyboards/cipulot/common/via_apc.c new file mode 100644 index 000000000000..2a92052d8832 --- /dev/null +++ b/keyboards/cipulot/common/via_apc.c @@ -0,0 +1,158 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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_switch_matrix.h" +#include "action.h" +#include "via.h" + +#ifdef VIA_ENABLE + +void apc_init_thresholds(void); +void apc_set_threshold(bool is_for_actuation); + +// Declaring an _apc_config_t struct that will store our data +typedef struct _apc_config_t { + uint16_t actuation_threshold; + uint16_t release_threshold; +} apc_config; + +// Check if the size of the reserved persistent memory is the same as the size of struct apc_config +_Static_assert(sizeof(apc_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data"); + +// Declaring a new variable apc of type apc_config +apc_config apc; + +// Declaring enums for VIA config menu +enum via_apc_enums { + // clang-format off + id_apc_actuation_threshold = 1, + id_apc_release_threshold = 2 + // clang-format on +}; + +// Initializing persistent memory configuration: default values are declared and stored in PMEM +void eeconfig_init_user(void) { + // Default values + apc.actuation_threshold = DEFAULT_ACTUATION_LEVEL; + apc.release_threshold = DEFAULT_RELEASE_LEVEL; + // Write default value to EEPROM now + eeconfig_update_user_datablock(&apc); +} + +// On Keyboard startup +void keyboard_post_init_user(void) { + // Read custom menu variables from memory + eeconfig_read_user_datablock(&apc); + apc_init_thresholds(); +} + +// Handle the data received by the keyboard from the VIA menus +void apc_config_set_value(uint8_t *data) { + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch (*value_id) { + case id_apc_actuation_threshold: { + apc.actuation_threshold = value_data[1] | (value_data[0] << 8); + apc_set_threshold(true); + break; + } + case id_apc_release_threshold: { + apc.release_threshold = value_data[1] | (value_data[0] << 8); + apc_set_threshold(false); + break; + } + } +} + +// Handle the data sent by the keyboard to the VIA menus +void apc_config_get_value(uint8_t *data) { + // data = [ value_id, value_data ] + uint8_t *value_id = &(data[0]); + uint8_t *value_data = &(data[1]); + + switch (*value_id) { + case id_apc_actuation_threshold: { + value_data[0] = apc.actuation_threshold >> 8; + value_data[1] = apc.actuation_threshold & 0xFF; + break; + } + case id_apc_release_threshold: { + value_data[0] = apc.release_threshold >> 8; + value_data[1] = apc.release_threshold & 0xFF; + break; + } + } +} + +// Save the data to persistent memory after changes are made +void apc_config_save(void) { + eeconfig_update_user_datablock(&apc); +} + +void via_custom_value_command_kb(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *channel_id = &(data[1]); + uint8_t *value_id_and_data = &(data[2]); + + if (*channel_id == id_custom_channel) { + switch (*command_id) { + case id_custom_set_value: { + apc_config_set_value(value_id_and_data); + break; + } + case id_custom_get_value: { + apc_config_get_value(value_id_and_data); + break; + } + case id_custom_save: { + apc_config_save(); + break; + } + default: { + // Unhandled message. + *command_id = id_unhandled; + break; + } + } + return; + } + + *command_id = id_unhandled; +} + +// Initialize the thresholds +void apc_init_thresholds(void) { + ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold; + ecsm_config.ecsm_release_threshold = apc.release_threshold; + + // Update the ecsm_config + ecsm_update(&ecsm_config); +} + +// Set the thresholds +void apc_set_threshold(bool is_for_actuation) { + if (is_for_actuation) { + ecsm_config.ecsm_actuation_threshold = apc.actuation_threshold; + + } else { + ecsm_config.ecsm_release_threshold = apc.release_threshold; + } + // Update the ecsm_config + ecsm_update(&ecsm_config); +} +#endif // VIA_ENABLE diff --git a/keyboards/cipulot/ec_23u/keymaps/numpad_6x4/keymap.c b/keyboards/cipulot/ec_23u/keymaps/numpad_6x4/keymap.c deleted file mode 100644 index 9246aa0eb705..000000000000 --- a/keyboards/cipulot/ec_23u/keymaps/numpad_6x4/keymap.c +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright 2023 Cipulot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - [0] = LAYOUT_numpad_6x4( - KC_ESC, KC_TAB, KC_BSPC, MO(1), - KC_NUM, KC_PSLS, KC_PAST, KC_PEQL, - KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_PDOT), - - [1] = LAYOUT_numpad_6x4( - RGB_TOG, RGB_VAD, RGB_VAI, _______, - _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, QK_BOOT), - - - [2] = LAYOUT_numpad_6x4( - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______), - - [3] = LAYOUT_numpad_6x4( - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______) - // clang-format on -}; diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_23u/rules.mk +++ b/keyboards/cipulot/ec_23u/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_60/rules.mk b/keyboards/cipulot/ec_60/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_60/rules.mk +++ b/keyboards/cipulot/ec_60/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk index b8929fa590d7..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk index b8929fa590d7..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk +++ b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_pro2/rules.mk b/keyboards/cipulot/ec_pro2/rules.mk index b27b0f7ac071..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_pro2/rules.mk +++ b/keyboards/cipulot/ec_pro2/rules.mk @@ -1,2 +1,4 @@ CUSTOM_MATRIX = lite -SRC += analog.c matrix.c ec_switch_matrix.c +SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk +++ b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_prox/jis/info.json b/keyboards/cipulot/ec_prox/jis/info.json index 840496790968..6016004b1ba3 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 979319a62209..2a64063a0bc3 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 cc9382531d20..2a64063a0bc3 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/ec_prox/jis/rules.mk b/keyboards/cipulot/ec_prox/jis/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/ec_prox/jis/rules.mk +++ b/keyboards/cipulot/ec_prox/jis/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/ec_theca/config.h b/keyboards/cipulot/ec_theca/config.h new file mode 100644 index 000000000000..481183b80c14 --- /dev/null +++ b/keyboards/cipulot/ec_theca/config.h @@ -0,0 +1,45 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 + +/* Custom matrix pins and port select array */ +#define MATRIX_ROW_PINS \ + { B4, A14, B3, A15, B6, B5 } +#define MATRIX_COL_CHANNELS \ + { 3, 0, 1, 2, 6, 5, 7, 4 } +#define MUX_SEL_PINS \ + { B7, B8, B9 } + +/* Hardware peripherals pins */ +#define APLEX_EN_PIN_0 C13 +#define APLEX_EN_PIN_1 C14 +#define DISCHARGE_PIN B1 +#define ANALOG_PORT A3 + +/* 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 DEFAULT_ACTUATION_LEVEL 550 +#define DEFAULT_RELEASE_LEVEL 500 + +#define DISCHARGE_TIME 10 diff --git a/keyboards/cipulot/ec_theca/ec_switch_matrix.c b/keyboards/cipulot/ec_theca/ec_switch_matrix.c new file mode 100644 index 000000000000..fdf4479423f9 --- /dev/null +++ b/keyboards/cipulot/ec_theca/ec_switch_matrix.c @@ -0,0 +1,191 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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_switch_matrix.h" +#include "analog.h" +#include "atomic_util.h" +#include "print.h" +#include "wait.h" + +/* Pin and port array */ +const uint32_t row_pins[] = MATRIX_ROW_PINS; +const uint8_t col_channels[] = MATRIX_COL_CHANNELS; +const uint32_t mux_sel_pins[] = MUX_SEL_PINS; + +static ecsm_config_t config; +static uint16_t ecsm_sw_value[MATRIX_ROWS][MATRIX_COLS]; + +static adc_mux adcMux; + +static inline void discharge_capacitor(void) { + writePinLow(DISCHARGE_PIN); +} +static inline void charge_capacitor(uint8_t row) { + writePinHigh(DISCHARGE_PIN); + writePinHigh(row_pins[row]); +} + +static inline void init_mux_sel(void) { + for (int idx = 0; idx < 3; idx++) { + setPinOutput(mux_sel_pins[idx]); + } +} + +static inline void select_mux(uint8_t col) { + uint8_t ch = col_channels[col]; + writePin(mux_sel_pins[0], ch & 1); + writePin(mux_sel_pins[1], ch & 2); + writePin(mux_sel_pins[2], ch & 4); +} + +static inline void init_row(void) { + for (int idx = 0; idx < MATRIX_ROWS; idx++) { + setPinOutput(row_pins[idx]); + writePinLow(row_pins[idx]); + } +} + +static inline void clear_row(void) { + for (int idx = 0; idx < MATRIX_ROWS; idx++) { + setPinOutput(row_pins[idx]); + writePinLow(row_pins[idx]); + } +} + +/* Initialize the peripherals pins */ +int ecsm_init(ecsm_config_t const* const ecsm_config) { + // Initialize config + config = *ecsm_config; + + palSetLineMode(ANALOG_PORT, PAL_MODE_INPUT_ANALOG); + adcMux = pinToMux(ANALOG_PORT); + + // Dummy call to make sure that adcStart() has been called in the appropriate state + adc_read(adcMux); + + // Initialize discharge pin as discharge mode + writePinLow(DISCHARGE_PIN); + setPinOutputOpenDrain(DISCHARGE_PIN); + + // Initialize drive lines + init_row(); + + // Initialize multiplexer select pin + init_mux_sel(); + + // Enable AMUX + setPinOutput(APLEX_EN_PIN_0); + writePinLow(APLEX_EN_PIN_0); + setPinOutput(APLEX_EN_PIN_1); + writePinLow(APLEX_EN_PIN_1); + + return 0; +} + +int ecsm_update(ecsm_config_t const* const ecsm_config) { + // Save config + config = *ecsm_config; + return 0; +} + +// Read the capacitive sensor value +uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) { + uint16_t sw_value = 0; + + // Select the multiplexer + if (channel == 0) { + writePinHigh(APLEX_EN_PIN_0); + select_mux(col); + writePinLow(APLEX_EN_PIN_0); + } else { + writePinHigh(APLEX_EN_PIN_1); + select_mux(col); + writePinLow(APLEX_EN_PIN_1); + } + + // Set strobe pins to low state + //writePinLow(row_pins[row]); + clear_row(); + ATOMIC_BLOCK_FORCEON { + // Set the row pin to high state and have capacitor charge + charge_capacitor(row); + // Read the ADC value + sw_value = adc_read(adcMux); + } + // Discharge peak hold capacitor + discharge_capacitor(); + // Waiting for the ghost capacitor to discharge fully + wait_us(DISCHARGE_TIME); + + return sw_value; +} + +// Update press/release state of key +bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) { + bool current_state = (*current_row >> col) & 1; + + // Press to release + if (current_state && sw_value < config.ecsm_actuation_threshold) { + *current_row &= ~(1 << col); + return true; + } + + // Release to press + if ((!current_state) && sw_value > config.ecsm_release_threshold) { + *current_row |= (1 << col); + return true; + } + + return false; +} + +// Scan key values and update matrix state +bool ecsm_matrix_scan(matrix_row_t current_matrix[]) { + bool updated = false; + + // Disable AMUX of channel 1 + writePinHigh(APLEX_EN_PIN_1); + for (int col = 0; col < sizeof(col_channels); col++) { + for (int row = 0; row < MATRIX_ROWS; row++) { + ecsm_sw_value[row][col] = ecsm_readkey_raw(0, row, col); + updated |= ecsm_update_key(¤t_matrix[row], row, col, ecsm_sw_value[row][col]); + } + } + + // Disable AMUX of channel 1 + writePinHigh(APLEX_EN_PIN_0); + for (int col = 0; col < sizeof(col_channels); col++) { + for (int row = 0; row < MATRIX_ROWS; row++) { + ecsm_sw_value[row][col + 8] = ecsm_readkey_raw(1, row, col); + updated |= ecsm_update_key(¤t_matrix[row], row, col + 8, ecsm_sw_value[row][col + 8]); + } + } + return updated; +} + +// Debug print key values +void ecsm_print_matrix(void) { + for (int row = 0; row < MATRIX_ROWS; row++) { + for (int col = 0; col < MATRIX_COLS; col++) { + uprintf("%4d", ecsm_sw_value[row][col]); + if (col < (MATRIX_COLS - 1)) { + print(","); + } + } + print("\n"); + } + print("\n"); +} diff --git a/keyboards/cipulot/ec_theca/ec_switch_matrix.h b/keyboards/cipulot/ec_theca/ec_switch_matrix.h new file mode 100644 index 000000000000..9dcb216caa3f --- /dev/null +++ b/keyboards/cipulot/ec_theca/ec_switch_matrix.h @@ -0,0 +1,36 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 +#include + +#include "matrix.h" + +typedef struct { + uint16_t ecsm_actuation_threshold; // threshold for key release + uint16_t ecsm_release_threshold; // threshold for key press +} ecsm_config_t; + +ecsm_config_t ecsm_config; + +int ecsm_init(ecsm_config_t const* const ecsm_config); +int ecsm_update(ecsm_config_t const* const ecsm_config); +bool ecsm_matrix_scan(matrix_row_t current_matrix[]); +uint16_t ecsm_readkey_raw(uint8_t channel, uint8_t row, uint8_t col); +bool ecsm_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value); +void ecsm_print_matrix(void); diff --git a/keyboards/cipulot/ec_theca/halconf.h b/keyboards/cipulot/ec_theca/halconf.h new file mode 100644 index 000000000000..5b71acecbbc8 --- /dev/null +++ b/keyboards/cipulot/ec_theca/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_ADC TRUE + +#include_next diff --git a/keyboards/cipulot/ec_theca/info.json b/keyboards/cipulot/ec_theca/info.json new file mode 100644 index 000000000000..a80a92a7f5d2 --- /dev/null +++ b/keyboards/cipulot/ec_theca/info.json @@ -0,0 +1,305 @@ +{ + "manufacturer": "Cipulot", + "keyboard_name": "EC Theca", + "maintainer": "Cipulot", + "bootloader": "stm32-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "processor": "STM32F401", + "usb": { + "device_version": "0.0.1", + "pid": "0x6B7E", + "shared_endpoint": { + "keyboard": true + }, + "vid": "0x6369" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_ansi", + "LAYOUT_tkl_ansi_tsangan_wkl": "LAYOUT_tkl_ansi_wkl" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_tsangan" + ], + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "0,1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "0,2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "0,3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "0,4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "0,5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "0,6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "0,7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "0,8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "0,9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "0,10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "0,11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "0,12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "0,13", "matrix": [0, 13], "x": 15.25, "y": 0 }, + { "label": "0,14", "matrix": [0, 14], "x": 16.25, "y": 0 }, + { "label": "0,15", "matrix": [0, 15], "x": 17.25, "y": 0 }, + { "label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "1,13", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, + { "label": "1,14", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "1,15", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "2,15", "matrix": [2, 15], "x": 17.25, "y": 1.25 }, + { "label": "2,0", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "2,1", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "2,2", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "2,3", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "2,4", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "2,5", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "2,6", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "2,7", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "2,8", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "2,9", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "2,10", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "2,11", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "2,12", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "2,13", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "label": "2,14", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "3,14", "matrix": [3, 14], "x": 16.25, "y": 2.25 }, + { "label": "3,15", "matrix": [3, 15], "x": 17.25, "y": 2.25 }, + { "label": "3,0", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "3,1", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "3,2", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "3,3", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "3,4", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "3,5", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "3,6", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "3,7", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "3,8", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "3,9", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": "3,10", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "3,11", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "3,13", "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "label": "4,0", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, + { "label": "4,1", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "4,2", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "4,3", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "4,4", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "4,5", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "4,6", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "4,7", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "4,8", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": "4,9", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "4,10", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "4,13", "matrix": [4, 13], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "label": "4,14", "matrix": [4, 14], "x": 16.25, "y": 4.25 }, + { "label": "5,0", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "label": "5,1", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "label": "5,2", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "label": "5,5", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "label": "5,10", "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "label": "5,11", "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "label": "5,12", "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "label": "5,13", "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "label": "5,14", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "5,15", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "4,15", "matrix": [4, 15], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "0,1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "0,2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "0,3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "0,4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "0,5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "0,6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "0,7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "0,8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "0,9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "0,10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "0,11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "0,12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "0,13", "matrix": [0, 13], "x": 15.25, "y": 0 }, + { "label": "0,14", "matrix": [0, 14], "x": 16.25, "y": 0 }, + { "label": "0,15", "matrix": [0, 15], "x": 17.25, "y": 0 }, + { "label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "1,13", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, + { "label": "1,14", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "1,15", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "2,15", "matrix": [2, 15], "x": 17.25, "y": 1.25 }, + { "label": "2,0", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "2,1", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "2,2", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "2,3", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "2,4", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "2,5", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "2,6", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "2,7", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "2,8", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "2,9", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "2,10", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "2,11", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "2,12", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "2,13", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "label": "2,14", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "3,14", "matrix": [3, 14], "x": 16.25, "y": 2.25 }, + { "label": "3,15", "matrix": [3, 15], "x": 17.25, "y": 2.25 }, + { "label": "3,0", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "3,1", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "3,2", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "3,3", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "3,4", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "3,5", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "3,6", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "3,7", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "3,8", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "3,9", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": "3,10", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "3,11", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "3,13", "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "label": "4,0", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, + { "label": "4,1", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "4,2", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "4,3", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "4,4", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "4,5", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "4,6", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "4,7", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "4,8", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": "4,9", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "4,10", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "4,13", "matrix": [4, 13], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "label": "4,14", "matrix": [4, 14], "x": 16.25, "y": 4.25 }, + { "label": "5,0", "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "label": "5,1", "matrix": [5, 1], "x": 1.5, "y": 5.25 }, + { "label": "5,2", "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "label": "5,5", "matrix": [5, 5], "w": 7, "x": 4, "y": 5.25 }, + { "label": "5,11", "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "label": "5,12", "matrix": [5, 12], "x": 12.5, "y": 5.25 }, + { "label": "5,13", "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "label": "5,14", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "5,15", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "4,15", "matrix": [4, 15], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "0,1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "0,2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "0,3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "0,4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "0,5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "0,6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "0,7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "0,8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "0,9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "0,10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "0,11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "0,12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "0,13", "matrix": [0, 13], "x": 15.25, "y": 0 }, + { "label": "0,14", "matrix": [0, 14], "x": 16.25, "y": 0 }, + { "label": "0,15", "matrix": [0, 15], "x": 17.25, "y": 0 }, + { "label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "1,13", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, + { "label": "1,14", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "1,15", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "2,15", "matrix": [2, 15], "x": 17.25, "y": 1.25 }, + { "label": "2,0", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "2,1", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "2,2", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "2,3", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "2,4", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "2,5", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "2,6", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "2,7", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "2,8", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "2,9", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "2,10", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "2,11", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "2,12", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "2,13", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "label": "2,14", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "3,14", "matrix": [3, 14], "x": 16.25, "y": 2.25 }, + { "label": "3,15", "matrix": [3, 15], "x": 17.25, "y": 2.25 }, + { "label": "3,0", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "3,1", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "3,2", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "3,3", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "3,4", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "3,5", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "3,6", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "3,7", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "3,8", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "3,9", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": "3,10", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "3,11", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "3,13", "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "label": "4,0", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, + { "label": "4,1", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "4,2", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "4,3", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "4,4", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "4,5", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "4,6", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "4,7", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "4,8", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": "4,9", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "4,10", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "4,13", "matrix": [4, 13], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "label": "4,14", "matrix": [4, 14], "x": 16.25, "y": 4.25 }, + { "label": "5,0", "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "label": "5,2", "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "label": "5,5", "matrix": [5, 5], "w": 7, "x": 4, "y": 5.25 }, + { "label": "5,11", "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "label": "5,13", "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "label": "5,14", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "5,15", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "4,15", "matrix": [4, 15], "x": 17.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/cipulot/ec_theca/keymaps/default/keymap.c b/keyboards/cipulot/ec_theca/keymaps/default/keymap.c new file mode 100644 index 000000000000..2ad75a0f3e49 --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_tkl_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + + [1] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c new file mode 100644 index 000000000000..a8f569b189dd --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_tkl_ansi_tsangan( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + + [1] = LAYOUT_tkl_ansi_tsangan( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c new file mode 100644 index 000000000000..56548302ddc3 --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_tkl_ansi_wkl( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + + [1] = LAYOUT_tkl_ansi_wkl( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_theca/keymaps/via/config.h b/keyboards/cipulot/ec_theca/keymaps/via/config.h new file mode 100644 index 000000000000..ebf954d07aca --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// This is the size of the EEPROM for the custom VIA-specific data +#define EECONFIG_USER_DATA_SIZE 4 diff --git a/keyboards/cipulot/ec_theca/keymaps/via/keymap.c b/keyboards/cipulot/ec_theca/keymaps/via/keymap.c new file mode 100644 index 000000000000..a8fc1b961a6f --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_theca/keymaps/via/rules.mk b/keyboards/cipulot/ec_theca/keymaps/via/rules.mk new file mode 100644 index 000000000000..72e314e69462 --- /dev/null +++ b/keyboards/cipulot/ec_theca/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes + +SRC += keyboards/cipulot/common/via_apc.c diff --git a/keyboards/cipulot/ec_theca/matrix.c b/keyboards/cipulot/ec_theca/matrix.c new file mode 100644 index 000000000000..1850acf26414 --- /dev/null +++ b/keyboards/cipulot/ec_theca/matrix.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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_switch_matrix.h" +#include "matrix.h" + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +void matrix_init_custom(void) { + // Default values, overwritten by VIA if enabled later + ecsm_config.ecsm_actuation_threshold = DEFAULT_ACTUATION_LEVEL; + ecsm_config.ecsm_release_threshold = DEFAULT_RELEASE_LEVEL; + + ecsm_init(&ecsm_config); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool updated = ecsm_matrix_scan(current_matrix); + +// RAW matrix values on console +#ifdef CONSOLE_ENABLE + static int cnt = 0; + if (cnt++ == 350) { + cnt = 0; + ecsm_print_matrix(); + } +#endif + return updated; +} diff --git a/keyboards/cipulot/ec_theca/mcuconf.h b/keyboards/cipulot/ec_theca/mcuconf.h new file mode 100644 index 000000000000..d91f576bd48b --- /dev/null +++ b/keyboards/cipulot/ec_theca/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE diff --git a/keyboards/cipulot/ec_theca/readme.md b/keyboards/cipulot/ec_theca/readme.md new file mode 100644 index 000000000000..c25e498434ca --- /dev/null +++ b/keyboards/cipulot/ec_theca/readme.md @@ -0,0 +1,25 @@ +# EC Theca + +![EC Theca](https://i.imgur.com/ZdeJLVdh.png) + +* Keyboard Maintainer: [cipulot](https://github.com/cipulot) +* Hardware Supported: EC Theca +* Hardware Availability: [KLC](https://klc-playground.com/) + +Make example for this keyboard (after setting up your build environment): + + make cipulot/ec_theca:default + +Flashing example for this keyboard: + + make cipulot/ec_theca: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**: Long short the exposed pads on the top of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cipulot/ec_theca/rules.mk b/keyboards/cipulot/ec_theca/rules.mk new file mode 100644 index 000000000000..fc2dcf32ab1f --- /dev/null +++ b/keyboards/cipulot/ec_theca/rules.mk @@ -0,0 +1,4 @@ +CUSTOM_MATRIX = lite +SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/cipulot/kallos/config.h b/keyboards/cipulot/kallos/config.h index bb51142311f8..dfe6b13b0668 100644 --- a/keyboards/cipulot/kallos/config.h +++ b/keyboards/cipulot/kallos/config.h @@ -17,19 +17,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 -#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 - /* 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/cipulot/kallos/info.json b/keyboards/cipulot/kallos/info.json index f9fd74acfe2b..b2f265c13fd7 100644 --- a/keyboards/cipulot/kallos/info.json +++ b/keyboards/cipulot/kallos/info.json @@ -8,6 +8,21 @@ "pid": "0x6B7A", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 13, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/cipulot/rf_r1_8_9xu/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/rules.mk index ed348e861860..fc2dcf32ab1f 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/rules.mk +++ b/keyboards/cipulot/rf_r1_8_9xu/rules.mk @@ -1,3 +1,4 @@ CUSTOM_MATRIX = lite -QUANTUM_LIB_SRC += analog.c SRC += matrix.c ec_switch_matrix.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/citrus/erdnuss65/info.json b/keyboards/citrus/erdnuss65/info.json index 44d597ffb425..4faaa0543108 100644 --- a/keyboards/citrus/erdnuss65/info.json +++ b/keyboards/citrus/erdnuss65/info.json @@ -1,43 +1,39 @@ { - "keyboard_name": "Erdnuss65", "manufacturer": "Citrus Lab", - "processor": "STM32F103", - "bootloader": "stm32duino", + "keyboard_name": "Erdnuss65", "maintainer": "ctt", - "usb": { - "vid": "0x636C", - "pid": "0x6374", - "device_version": "0.0.1" - }, - "matrix_pins": { - "rows": ["B10", "B1", "B0", "A7", "A6"], - "cols": ["B12", "B14", "B15", "A8", "B13", "B3", "B4", "B5", "A1", "A2", "A0", "A3", "A4", "A5", "B11"] - }, + "bootloader": "stm32duino", "diode_direction": "COL2ROW", "features": { "bootmagic": true, - "mousekey": true, "extrakey": true, - "console": false, - "command": false, + "mousekey": true, "nkro": true, - "backlight": false, - "rgblight": true, - "audio": false + "rgblight": true }, - "ws2812": { - "pin": "A15" + "matrix_pins": { + "cols": ["B12", "B14", "B15", "B5", "B13", "B3", "B4", "B6", "A0", "A1", "A2", "A3", "A4", "A5", "B11"], + "rows": ["B10", "B1", "B0", "A7", "A6"] }, + "processor": "STM32F103", "rgblight": { "led_count": 1 }, + "usb": { + "device_version": "1.0.0", + "pid": "0x6374", + "vid": "0x636C" + }, + "ws2812": { + "pin": "A15" + }, "layouts": { "LAYOUT": { "layout": [ {"label": "ESC K00 (B10,B12)", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1 K01 (B10,B14)", "matrix": [0, 1], "x": 1, "y": 0}, {"label": "2 K02 (B10,B15)", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "3 K03 (B10,A8)", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "3 K03 (B10,B5)", "matrix": [0, 3], "x": 3, "y": 0}, {"label": "4 K04 (B10,B13)", "matrix": [0, 4], "x": 4, "y": 0}, {"label": "5 K05 (B10,B3)", "matrix": [0, 5], "x": 5, "y": 0}, {"label": "6 K06 (B10,B4)", "matrix": [0, 6], "x": 6, "y": 0}, @@ -52,7 +48,7 @@ {"label": "TAB (B1,B12)", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"label": "Q (B1,B14)", "matrix": [1, 1], "x": 1.5, "y": 1}, {"label": "W (B1,B15)", "matrix": [1, 2], "x": 2.5, "y": 1}, - {"label": "E (B1,A8)", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "E (B1,B5)", "matrix": [1, 3], "x": 3.5, "y": 1}, {"label": "R (B1,B13)", "matrix": [1, 4], "x": 4.5, "y": 1}, {"label": "T (B1,B3)", "matrix": [1, 5], "x": 5.5, "y": 1}, {"label": "Y (B1,B4)", "matrix": [1, 6], "x": 6.5, "y": 1}, @@ -64,10 +60,10 @@ {"label": "] (B1,A4)", "matrix": [1, 12], "x": 12.5, "y": 1}, {"label": "\" (B1,A5)", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, {"label": "DEL (B1,B11)", "matrix": [1, 14], "x": 15, "y": 1}, - {"label": "CAPSLOCK (B0,B12)", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"label": "CAPSLOCK (B0,B12)", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"label": "A (B0,B14)", "matrix": [2, 1], "x": 1.75, "y": 2}, {"label": "S (B0,B15)", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D (B0,A8)", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "D (B0,B5)", "matrix": [2, 3], "x": 3.75, "y": 2}, {"label": "F (B0,B13)", "matrix": [2, 4], "x": 4.75, "y": 2}, {"label": "G (B0,B3)", "matrix": [2, 5], "x": 5.75, "y": 2}, {"label": "H (B0,B4)", "matrix": [2, 6], "x": 6.75, "y": 2}, @@ -81,7 +77,7 @@ {"label": "LSHIFT (A7,B12)", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"label": "Z (A7,B14)", "matrix": [3, 1], "x": 2.25, "y": 3}, {"label": "X (A7,B15)", "matrix": [3, 2], "x": 3.25, "y": 3}, - {"label": "C (A7,A8)", "matrix": [3, 3], "x": 4.25, "y": 3}, + {"label": "C (A7,B5)", "matrix": [3, 3], "x": 4.25, "y": 3}, {"label": "V (A7,B13)", "matrix": [3, 4], "x": 5.25, "y": 3}, {"label": "B (A7,B3)", "matrix": [3, 5], "x": 6.25, "y": 3}, {"label": "N (A7,B4)", "matrix": [3, 6], "x": 7.25, "y": 3}, @@ -95,12 +91,12 @@ {"label": "LCTRL (A6,B12)", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"label": "WIN (A6,B14)", "matrix": [4, 1], "x": 1.5, "y": 4}, {"label": "ALT (A6,B15)", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "SPACE (A6,A8)", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, + {"label": "SPACE (A6,B5)", "matrix": [4, 3], "x": 4, "y": 4, "w": 7}, {"label": "FN (A6,A0)", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, {"label": "LEFT (A6,A4)", "matrix": [4, 12], "x": 13, "y": 4}, {"label": "DOWN (A6,A5)", "matrix": [4, 13], "x": 14, "y": 4}, {"label": "RIGHT (A6,B11)", "matrix": [4, 14], "x": 15, "y": 4} - ] + ] } } } diff --git a/keyboards/citrus/erdnuss65/keymaps/default/keymap.c b/keyboards/citrus/erdnuss65/keymaps/default/keymap.c index 0daef5af6461..fdc36ae65e57 100644 --- a/keyboards/citrus/erdnuss65/keymaps/default/keymap.c +++ b/keyboards/citrus/erdnuss65/keymaps/default/keymap.c @@ -5,19 +5,18 @@ 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_INS, + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, 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_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, RESET, KC_MNXT, + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, QK_BOOT, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MYCM, KC_VOLU, KC_END, - _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_MPLY + _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY ) }; - diff --git a/keyboards/citrus/erdnuss65/keymaps/via/keymap.c b/keyboards/citrus/erdnuss65/keymaps/via/keymap.c index 0f1bf9525e66..3014b72cfe81 100644 --- a/keyboards/citrus/erdnuss65/keymaps/via/keymap.c +++ b/keyboards/citrus/erdnuss65/keymaps/via/keymap.c @@ -5,19 +5,19 @@ 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_INS, + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, 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_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, RESET, KC_MNXT, + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, QK_BOOT, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MYCM, KC_VOLU, KC_END, - _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_MPLY + _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY ), [2] = LAYOUT( @@ -34,6 +34,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - + ) }; diff --git a/keyboards/citrus/erdnuss65/rules.mk b/keyboards/citrus/erdnuss65/rules.mk index 80b5a0b8f5a5..e69de29bb2d1 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 07c7421d2551..7506922b008e 100644 --- a/keyboards/ck60i/config.h +++ b/keyboards/ck60i/config.h @@ -26,19 +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 -#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 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/ck60i/info.json b/keyboards/ck60i/info.json index 38ae378ef4ca..d35eac99200e 100644 --- a/keyboards/ck60i/info.json +++ b/keyboards/ck60i/info.json @@ -24,7 +24,21 @@ "breathing": true }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "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 + } }, "ws2812": { "pin": "B15" diff --git a/keyboards/ck60i/rules.mk b/keyboards/ck60i/rules.mk index e505cf44b4f6..3ec023e5e842 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 9ce0181fe423..8e1eb0e2728c 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/ckeys/washington/rules.mk b/keyboards/ckeys/washington/rules.mk index 87154d95c9af..c6c08dda5950 100644 --- a/keyboards/ckeys/washington/rules.mk +++ b/keyboards/ckeys/washington/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable support for encoders OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable support for OLED displays diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json index 78794cbddb8f..c83fedeb2803 100644 --- a/keyboards/clickety_split/leeloo/info.json +++ b/keyboards/clickety_split/leeloo/info.json @@ -1,24 +1,31 @@ { - "keyboard_name": "Leeloo", "manufacturer": "Clickety Split Ltd", "url": "https://clicketysplit.ca/pages/leeloo", "maintainer": "ClicketySplit", "usb": { "vid": "0x4013", - "pid": "0x2022", - "device_version": "0.1.3" + "pid": "0x2022" }, + "diode_direction": "COL2ROW", "matrix_pins": { - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["C6", "D7", "E6", "B4", "B5"] + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["C6", "D7", "E6", "B4", "B5"] + }, + "build": { + "lto": true + }, + "features": { + "extrakey": true, + "oled": true }, - "diode_direction": "COL2ROW", "encoder": { + "enabled": true, "rotary": [ {"pin_a": "F5", "pin_b": "F4"} ] }, "split": { + "enabled": true, "soft_serial_pin": "D2", "encoder": { "right": { @@ -28,78 +35,77 @@ } } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.5}, - {"matrix": [0, 1], "x": 1, "y": 0.4}, - {"matrix": [0, 2], "x": 2, "y": 0.2}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.2}, - {"matrix": [0, 5], "x": 5, "y": 0.4}, + {"label":"Esc", "matrix": [0, 0], "x": 0.0, "y":0.5}, + {"label":"1", "matrix": [0, 1], "x": 1.0, "y":0.4}, + {"label":"2", "matrix": [0, 2], "x": 2.0, "y":0.2}, + {"label":"3", "matrix": [0, 3], "x": 3.0, "y":0.0}, + {"label":"4", "matrix": [0, 4], "x": 4.0, "y":0.2}, + {"label":"5", "matrix": [0, 5], "x": 5.0, "y":0.4}, - {"matrix": [5, 5], "x": 9, "y": 0.4}, - {"matrix": [5, 4], "x": 10, "y": 0.2}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0.2}, - {"matrix": [5, 1], "x": 13, "y": 0.4}, - {"matrix": [5, 0], "x": 14, "y": 0.5}, + {"label":"6", "matrix": [5, 5], "x": 9.0, "y":0.4}, + {"label":"7", "matrix": [5, 4], "x": 10.0, "y":0.2}, + {"label":"8", "matrix": [5, 3], "x": 11.0, "y":0.0}, + {"label":"9", "matrix": [5, 2], "x": 12.0, "y":0.2}, + {"label":"0", "matrix": [5, 1], "x": 13.0, "y":0.4}, + {"label":"BSL", "matrix": [5, 0], "x": 14.0, "y":0.5}, - {"matrix": [1, 0], "x": 0, "y": 1.5}, - {"matrix": [1, 1], "x": 1, "y": 1.4}, - {"matrix": [1, 2], "x": 2, "y": 1.2}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.2}, - {"matrix": [1, 5], "x": 5, "y": 1.4}, + {"label":"TAB", "matrix": [1, 0], "x": 0.0, "y":1.5}, + {"label":"Q", "matrix": [1, 1], "x": 1.0, "y":1.4}, + {"label":"W", "matrix": [1, 2], "x": 2.0, "y":1.2}, + {"label":"E", "matrix": [1, 3], "x": 3.0, "y":1.0}, + {"label":"R", "matrix": [1, 4], "x": 4.0, "y":1.2}, + {"label":"T", "matrix": [1, 5], "x": 5.0, "y":1.4}, - {"matrix": [6, 5], "x": 9, "y": 1.4}, - {"matrix": [6, 4], "x": 10, "y": 1.2}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1.2}, - {"matrix": [6, 1], "x": 13, "y": 1.4}, - {"matrix": [6, 0], "x": 14, "y": 1.5}, + {"label":"Y", "matrix": [6, 5], "x": 9.0, "y":1.4}, + {"label":"U", "matrix": [6, 4], "x": 10.0, "y":1.2}, + {"label":"I", "matrix": [6, 3], "x": 11.0, "y":1.0}, + {"label":"O", "matrix": [6, 2], "x": 12.0, "y":1.2}, + {"label":"P", "matrix": [6, 1], "x": 13.0, "y":1.4}, + {"label":"GRV", "matrix": [6, 0], "x": 14.0, "y":1.5}, - {"matrix": [2, 0], "x": 0, "y": 2.5}, - {"matrix": [2, 1], "x": 1, "y": 2.4}, - {"matrix": [2, 2], "x": 2, "y": 2.2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.2}, - {"matrix": [2, 5], "x": 5, "y": 2.4}, + {"label":"CAPS", "matrix": [2, 0], "x": 0.0, "y":2.5}, + {"label":"A", "matrix": [2, 1], "x": 1.0, "y":2.4}, + {"label":"S", "matrix": [2, 2], "x": 2.0, "y":2.2}, + {"label":"D", "matrix": [2, 3], "x": 3.0, "y":2.0}, + {"label":"F", "matrix": [2, 4], "x": 4.0, "y":2.2}, + {"label":"G", "matrix": [2, 5], "x": 5.0, "y":2.4}, - {"matrix": [7, 5], "x": 9, "y": 2.4}, - {"matrix": [7, 4], "x": 10, "y": 2.2}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2.2}, - {"matrix": [7, 1], "x": 13, "y": 2.4}, - {"matrix": [7, 0], "x": 14, "y": 2.5}, + {"label":"H", "matrix": [7, 5], "x": 9.0, "y":2.4}, + {"label":"J", "matrix": [7, 4], "x": 10.0, "y":2.2}, + {"label":"K", "matrix": [7, 3], "x": 11.0, "y":2.0}, + {"label":"L", "matrix": [7, 2], "x": 12.0, "y":2.2}, + {"label":";", "matrix": [7, 1], "x": 13.0, "y":2.4}, + {"label":"'", "matrix": [7, 0], "x": 14.0, "y":2.5}, - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.4}, - {"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": [4, 5], "x": 6.25, "y": 3.4}, + {"label":"SFT", "matrix": [3, 0], "x": 0.0, "y":3.5}, + {"label":"Z", "matrix": [3, 1], "x": 1.0, "y":3.4}, + {"label":"X", "matrix": [3, 2], "x": 2.0, "y":3.2}, + {"label":"C", "matrix": [3, 3], "x": 3.0, "y":3.0}, + {"label":"V", "matrix": [3, 4], "x": 4.0, "y":3.2}, + {"label":"B", "matrix": [3, 5], "x": 5.0, "y":3.4}, + {"label":"GUI", "matrix": [4, 5], "x": 6.25, "y":3.4}, - {"matrix": [9, 5], "x": 7.75, "y": 3.4}, - {"matrix": [8, 5], "x": 9, "y": 3.4}, - {"matrix": [8, 4], "x": 10, "y": 3.2}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3.2}, - {"matrix": [8, 1], "x": 13, "y": 3.4}, - {"matrix": [8, 0], "x": 14, "y": 3.5}, + {"label":"GUI", "matrix": [9, 5], "x": 7.75, "y":3.4}, + {"label":"N", "matrix": [8, 5], "x": 9.0, "y":3.4}, + {"label":"M", "matrix": [8, 4], "x": 10.0, "y":3.2}, + {"label":",", "matrix": [8, 3], "x": 11.0, "y":3.0}, + {"label":".", "matrix": [8, 2], "x": 12.0, "y":3.2}, + {"label":"/", "matrix": [8, 1], "x": 13.0, "y":3.4}, + {"label":"SFT", "matrix": [8, 0], "x": 14.0, "y":3.5}, - {"matrix": [4, 1], "x": 2.7, "y": 4.6}, - {"matrix": [4, 2], "x": 3.8, "y": 4.5}, - {"matrix": [4, 3], "x": 4.9, "y": 4.55}, - {"matrix": [4, 4], "x": 6.1, "y": 4.65}, + {"label":"ALT", "matrix": [4, 1], "x": 2.7, "y":4.6}, + {"label":"CTL", "matrix": [4, 2], "x": 3.8, "y":4.5}, + {"label":"ENT", "matrix": [4, 3], "x": 4.9, "y":4.55}, + {"label":"MINS", "matrix": [4, 4], "x": 6.1, "y":4.65}, - {"matrix": [9, 4], "x": 7.9, "y": 4.65}, - {"matrix": [9, 3], "x": 9.1, "y": 4.55}, - {"matrix": [9, 2], "x": 10.2, "y": 4.5}, - {"matrix": [9, 1], "x": 11.3, "y": 4.6} + {"label":"EQL", "matrix": [9, 4], "x": 7.9, "y":4.65}, + {"label":"SPC", "matrix": [9, 3], "x": 9.1, "y":4.55}, + {"label":"BSP", "matrix": [9, 2], "x": 10.2, "y":4.5}, + {"label":"DEL", "matrix": [9, 1], "x": 11.3, "y":4.6} ] } } diff --git a/keyboards/clickety_split/leeloo/keymaps/default/config.h b/keyboards/clickety_split/leeloo/keymaps/default/config.h index d0348d06efaf..e41b3d34aaa2 100644 --- a/keyboards/clickety_split/leeloo/keymaps/default/config.h +++ b/keyboards/clickety_split/leeloo/keymaps/default/config.h @@ -1,5 +1,4 @@ -/* Copyright 2022 Clickety Split Ltd. - * https://clicketysplit.ca +/* Copyright 2023 Clickety Split Ltd. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,17 +16,30 @@ #pragma once -// Select hand configuration -// #define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#ifdef TAPPING_TERM - #undef TAPPING_TERM - #define QUICK_TAP_TERM 0 - #define TAPPING_TERM 150 -#endif - // If rotary encoders are used, and they require more or less resolution/sensitivity // you may try increasing or decreasing the value. // #define ENCODER_RESOLUTION 2 + + #define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects + #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 115 // limits maximum brightness of LEDs to 150 out of 255. + // Higher may cause the controller to crash. + #define RGB_MATRIX_HUE_STEP 10 + #define RGB_MATRIX_SAT_STEP 10 + #define RGB_MATRIX_VAL_STEP 10 + #define RGB_MATRIX_SPD_STEP 10 + + +/* By default, the RGB_MATRIX effects are disabled. + * + * For a complete list, visit: https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects. + * Some of the effects take up a lot of memory, so you may need to manage the number of + * effects that are loaded at any given time. +*/ + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SPLASH diff --git a/keyboards/clickety_split/leeloo/keymaps/default/keymap.c b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c index bac722a7c30f..6bf982447283 100644 --- a/keyboards/clickety_split/leeloo/keymaps/default/keymap.c +++ b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c @@ -1,5 +1,4 @@ -/* Copyright 2022 Clickety Split Ltd. - * https://clicketysplit.ca +/* Copyright 2023 Clickety Split Ltd. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -92,23 +91,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | + * | | | | | | | | | | +VOL | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | |--------. ,-------| | | | | | | + * | | | | | | |--------. ,-------| | | -VOL | | | | * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | | | | | |--------| |-------| | | | | | | + * | | | | | | |--------| |-------| | MUTE | | | | | * `-----------------------------------------/ / \ \-----------------------------------------' * | LALT | LCTL | ENT | / MINS / \ EQL \ | SPC | BSPC | DEL | * | | | LOWR |/ RAISE / \RAISE \ | LOWR | | | * `-------------------------------' '------''-----------------------' + * + * NOTE: For Leeloo v1 the RGB Keycodes will not have any effect. + * */ [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, + _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, KC_VOLD, _______, _______, _______, + _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; +/* Tri Layer + * When Lower and Raise are pressed at the same time, and wrapped with LT(), + * Adjust is activated with the following method. + */ +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); + return state; +} diff --git a/keyboards/clickety_split/leeloo/leeloo.c b/keyboards/clickety_split/leeloo/leeloo.c index 864f31cbb773..3922556f5ca5 100644 --- a/keyboards/clickety_split/leeloo/leeloo.c +++ b/keyboards/clickety_split/leeloo/leeloo.c @@ -1,5 +1,4 @@ -/* Copyright 2022 Clickety Split Ltd. - * https://clicketysplit.ca +/* Copyright 2023 Clickety Split Ltd. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -48,9 +47,24 @@ static void render_mod_status(uint8_t modifiers) { static void render_secondary_oled(void) { // Version Information - oled_write_P(PSTR("Leeloo\n\n"), false); +#if defined(KEYBOARD_clickety_split_leeloo_rev1) + oled_write_P(PSTR("Leeloo v1\n\n"), false); +#elif defined(KEYBOARD_clickety_split_leeloo_rev2) + oled_write_P(PSTR("Leeloo v2\n\n"), false); +#else + oled_write_P(PSTR("Leeloo v2.1\n\n"), false); +#endif + oled_write_P(PSTR("Firmware: "), false); - oled_write_P(PSTR("v1.0"), false); + +#if defined(KEYBOARD_clickety_split_leeloo_rev1) + oled_write_P(PSTR("v1.13"), false); +#elif defined(KEYBOARD_clickety_split_leeloo_rev2) + oled_write_P(PSTR("v2.13"), false); +#else + oled_write_P(PSTR("v2.14"), false); +#endif + oled_write_P(PSTR("\n"), false); oled_write_P(PSTR("Clickety Split Ltd."), false); } @@ -58,7 +72,7 @@ static void render_secondary_oled(void) { static void render_status(void) { // Host Keyboard Layer Status switch (get_highest_layer(default_layer_state)) { - case _BASE: + case 0: oled_write_P(PSTR("QWERTY | "), false); break; } @@ -69,15 +83,15 @@ static void render_status(void) { oled_write_P(PSTR("Base \n"), false); break; - case _LOWER: + case 1: oled_write_P(PSTR("Lower \n"), false); break; - case _RAISE: + case 2: oled_write_P(PSTR("Raise \n"), false); break; - case _ADJUST: + case 3: oled_write_P(PSTR("Adjust \n"), false); break; @@ -128,4 +142,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif +#endif // ENCODER_ENABLE diff --git a/keyboards/clickety_split/leeloo/readme.md b/keyboards/clickety_split/leeloo/readme.md index f672294e1446..65f1069cdb91 100644 --- a/keyboards/clickety_split/leeloo/readme.md +++ b/keyboards/clickety_split/leeloo/readme.md @@ -1,16 +1,33 @@ -# Leeloo +# Clickety Split | Leeloo v2.1 -![Leeloo](https://cdn.shopify.com/s/files/1/0599/3460/5491/files/Leeloo-rev1.0-w.jpg?v=1646798726) +![Leeloo v2.1](https://i.imgur.com/swPHS0Bh.jpg) -Leeloo is a 4x6x5m ortholinear split keyboard kit made and sold by Clickety Split Ltd. +Leeloo v2.1 is a small evolution of Leeloo v2.0, which is a 4x6x5m ortholinear split keyboard designed, created, and sold by Clickety Split Ltd. * Keyboard Maintainer: [Clickety Split](https://github.com/ClicketySplit) -* Hardware Supported: Leeloo PCB rev1, Pro Micro, Elite-C -* Hardware Availability: [clicketysplit.ca](https://clicketysplit.ca/pages/leeloo) +* Hardware Supported: Leeloo PCB rev1/rev2/rev3, Pro Micro, Elite-C +* Hardware Availability: [clicketysplit.ca/pages/leeloo](https://clicketysplit.ca/pages/leeloo) + + +## Differences between v2.1 and v2.0 +* Removed 8 RGB LEDs on each side, which served as backlighting. +* Added a solderable jumper to bypass circuitry used for wireless configurations with nice!nanos. +* Simplified socketing of nice!view and OLED Displays. + + +# Leeloo + +![Leeloo](https://i.imgur.com/x1ew17Dh.jpg) + +The original design and release of Leeloo. + +# Sample Build Commands for Leeloo v1, v2, and v2.1 -Make example, after setting up build environment: +Make example for this keyboard (after setting up your build environment): make clickety_split/leeloo/rev1:default + make clickety_split/leeloo/rev2:default + make clickety_split/leeloo/rev3:default -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +See the [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 diff --git a/keyboards/clickety_split/leeloo/rev1/config.h b/keyboards/clickety_split/leeloo/rev1/config.h deleted file mode 100644 index 96c6b71d3743..000000000000 --- a/keyboards/clickety_split/leeloo/rev1/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2022 Clickety Split Ltd. - * https://clicketysplit.ca - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 */ -#define TAPPING_TERM 100 - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT diff --git a/keyboards/clickety_split/leeloo/rev1/info.json b/keyboards/clickety_split/leeloo/rev1/info.json new file mode 100644 index 000000000000..e9396f3f81a4 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev1/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Leeloo v1", + "usb": { + "device_version": "0.1.3" + } +} diff --git a/keyboards/clickety_split/leeloo/rev2/config.h b/keyboards/clickety_split/leeloo/rev2/config.h new file mode 100644 index 000000000000..2aa1acd97219 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev2/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Clickety Split Ltd. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +# define RGB_MATRIX_LED_COUNT 74 +# define RGB_MATRIX_SPLIT {37, 37} +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/clickety_split/leeloo/rev2/info.json b/keyboards/clickety_split/leeloo/rev2/info.json new file mode 100644 index 000000000000..6db77714a433 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev2/info.json @@ -0,0 +1,104 @@ +{ + "keyboard_name": "Leeloo v2", + "usb": { + "device_version": "0.2.0" + }, + "features": { + "rgb_matrix": true + }, + "split": { + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "rgblight": { + "led_count": 74, + "split": true, + "split_count": [37, 37], + "max_brightness": 115 + }, + "ws2812": { + "pin": "D3" + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"flags": 2, "x": 86, "y": 8}, // L LU01 + {"flags": 2, "x": 52, "y": 8}, // L LU02 + {"flags": 2, "x": 17, "y": 8}, // L LU03 + {"flags": 2, "x": 0, "y": 24}, // L LU04 + {"flags": 2, "x": 0, "y": 40}, // L LU05 + {"flags": 2, "x": 17, "y": 56}, // L LU06 + {"flags": 2, "x": 52, "y": 56}, // L LU07 + {"flags": 2, "x": 86, "y": 56}, // L LU08 + {"flags": 4, "matrix": [4, 5], "x": 103, "y": 48}, // L LB09 | SW29 + {"flags": 4, "matrix": [4, 4], "x": 103, "y": 64}, // L LB10 | SW28 + {"flags": 4, "matrix": [4, 3], "x": 86, "y": 64}, // L LB11 | SW27 + {"flags": 4, "matrix": [3, 5], "x": 86, "y": 48}, // L LB12 | SW24 + {"flags": 4, "matrix": [2, 5], "x": 86, "y": 32}, // L LB13 | SW18 + {"flags": 4, "matrix": [1, 5], "x": 86, "y": 15}, // L LB14 | SW12 + {"flags": 4, "matrix": [0, 5], "x": 86, "y": 0}, // L LB15 | SW6 + {"flags": 4, "matrix": [0, 4], "x": 69, "y": 0}, // L LB16 | SW5 + {"flags": 4, "matrix": [1, 4], "x": 69, "y": 16}, // L LB17 | SW11 + {"flags": 4, "matrix": [2, 4], "x": 69, "y": 32}, // L LB18 | SW17 + {"flags": 4, "matrix": [3, 4], "x": 69, "y": 48}, // L LB19 | SW23 + {"flags": 4, "matrix": [4, 2], "x": 69, "y": 64}, // L LB20 | SW26 + {"flags": 4, "matrix": [4, 1], "x": 52, "y": 64}, // L LB21 | SW25 + {"flags": 4, "matrix": [3, 3], "x": 52, "y": 48}, // L LB22 | SW22 + {"flags": 4, "matrix": [2, 3], "x": 52, "y": 32}, // L LB23 | SW16 + {"flags": 4, "matrix": [1, 3], "x": 52, "y": 16}, // L LB24 | SW10 + {"flags": 4, "matrix": [0, 3], "x": 52, "y": 0}, // L LB25 | SW4 + {"flags": 4, "matrix": [0, 2], "x": 34, "y": 0}, // L LB26 | SW3 + {"flags": 4, "matrix": [1, 2], "x": 34, "y": 16}, // L LB27 | SW9 + {"flags": 4, "matrix": [2, 2], "x": 34, "y": 32}, // L LB28 | SW15 + {"flags": 4, "matrix": [3, 2], "x": 34, "y": 48}, // L LB29 | SW21 + {"flags": 4, "matrix": [3, 1], "x": 17, "y": 48}, // L LB30 | SW20 + {"flags": 4, "matrix": [2, 1], "x": 17, "y": 32}, // L LB31 | SW14 + {"flags": 4, "matrix": [1, 1], "x": 17, "y": 16}, // L LB32 | SW8 + {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, // L LB33 | SW2 + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, // L LB34 | SW1 + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, // L LB35 | SW7 + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 32}, // L LB36 | SW13 + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 48}, // L LB37 | SW19 + {"flags": 2, "x": 137, "y": 8}, // R LU38 + {"flags": 2, "x": 172, "y": 8}, // R LU39 + {"flags": 2, "x": 206, "y": 8}, // R LU40 + {"flags": 2, "x": 224, "y": 24}, // R LU41 + {"flags": 2, "x": 224, "y": 40}, // R LU42 + {"flags": 2, "x": 206, "y": 56}, // R LU43 + {"flags": 2, "x": 172, "y": 56}, // R LU44 + {"flags": 2, "x": 137, "y": 56}, // R LU45 + {"flags": 4, "matrix": [9, 5], "x": 120, "y": 48}, // R LB46 | SW58 + {"flags": 4, "matrix": [9, 4], "x": 120, "y": 64}, // R LB47 | SW57 + {"flags": 4, "matrix": [9, 3], "x": 137, "y": 64}, // R LB48 | SW56 + {"flags": 4, "matrix": [8, 5], "x": 137, "y": 48}, // R LB49 | SW53 + {"flags": 4, "matrix": [7, 5], "x": 137, "y": 32}, // R LB50 | SW47 + {"flags": 4, "matrix": [6, 5], "x": 137, "y": 15}, // R LB51 | SW41 + {"flags": 4, "matrix": [5, 5], "x": 137, "y": 0}, // R LB52 | SW35 + {"flags": 4, "matrix": [5, 4], "x": 155, "y": 0}, // R LB53 | SW34 + {"flags": 4, "matrix": [6, 4], "x": 155, "y": 16}, // R LB54 | SW40 + {"flags": 4, "matrix": [7, 4], "x": 155, "y": 32}, // R LB55 | SW46 + {"flags": 4, "matrix": [8, 4], "x": 155, "y": 48}, // R LB56 | SW52 + {"flags": 4, "matrix": [9, 2], "x": 155, "y": 64}, // R LB57 | SW55 + {"flags": 4, "matrix": [9, 1], "x": 172, "y": 64}, // R LB58 | SW54 + {"flags": 4, "matrix": [8, 3], "x": 172, "y": 48}, // R LB59 | SW51 + {"flags": 4, "matrix": [7, 3], "x": 172, "y": 32}, // R LB60 | SW45 + {"flags": 4, "matrix": [6, 3], "x": 172, "y": 16}, // R LB61 | SW39 + {"flags": 4, "matrix": [5, 3], "x": 172, "y": 0}, // R LB62 | SW33 + {"flags": 4, "matrix": [5, 2], "x": 189, "y": 0}, // R LB63 | SW32 + {"flags": 4, "matrix": [6, 2], "x": 189, "y": 16}, // R LB64 | SW38 + {"flags": 4, "matrix": [7, 2], "x": 189, "y": 32}, // R LB65 | SW44 + {"flags": 4, "matrix": [8, 2], "x": 189, "y": 48}, // R LB66 | SW50 + {"flags": 4, "matrix": [8, 1], "x": 206, "y": 48}, // R LB67 | SW49 + {"flags": 4, "matrix": [7, 1], "x": 206, "y": 32}, // R LB68 | SW43 + {"flags": 4, "matrix": [6, 1], "x": 206, "y": 16}, // R LB69 | SW37 + {"flags": 4, "matrix": [5, 1], "x": 206, "y": 0}, // R LB70 | SW31 + {"flags": 4, "matrix": [5, 0], "x": 224, "y": 0}, // R LB71 | SW30 + {"flags": 4, "matrix": [6, 0], "x": 224, "y": 16}, // R LB72 | SW36 + {"flags": 4, "matrix": [7, 0], "x": 224, "y": 32}, // R LB73 | SW42 + {"flags": 4, "matrix": [8, 0], "x": 224, "y": 48} // R LB74 | SW48 + ] + } + } diff --git a/keyboards/clickety_split/leeloo/rev2/rules.mk b/keyboards/clickety_split/leeloo/rev2/rules.mk new file mode 100644 index 000000000000..80a6663b9c64 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev2/rules.mk @@ -0,0 +1 @@ +# Intentionally left blank. diff --git a/keyboards/clickety_split/leeloo/rev3/config.h b/keyboards/clickety_split/leeloo/rev3/config.h new file mode 100644 index 000000000000..ac9315022149 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev3/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Clickety Split Ltd. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +# define RGB_MATRIX_LED_COUNT 58 +# define RGB_MATRIX_SPLIT {29, 29} +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/clickety_split/leeloo/rev3/info.json b/keyboards/clickety_split/leeloo/rev3/info.json new file mode 100644 index 000000000000..2c92f5226ef2 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev3/info.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "Leeloo v2.1", + "usb": { + "device_version": "0.2.1" + }, + "features": { + "rgb_matrix": true + }, + "split": { + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "rgblight": { + "led_count": 58, + "split": true, + "split_count": [29, 29], + "max_brightness": 115 + }, + "ws2812": { + "pin": "D3" + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"flags": 4, "matrix": [4, 5], "x": 103, "y": 48}, // L LB01 | SW29 + {"flags": 4, "matrix": [4, 4], "x": 103, "y": 64}, // L LB02 | SW28 + {"flags": 4, "matrix": [4, 3], "x": 86, "y": 64}, // L LB03 | SW27 + {"flags": 4, "matrix": [3, 5], "x": 86, "y": 48}, // L LB04 | SW24 + {"flags": 4, "matrix": [2, 5], "x": 86, "y": 32}, // L LB05 | SW18 + {"flags": 4, "matrix": [1, 5], "x": 86, "y": 15}, // L LB06 | SW12 + {"flags": 4, "matrix": [0, 5], "x": 86, "y": 0}, // L LB07 | SW6 + {"flags": 4, "matrix": [0, 4], "x": 69, "y": 0}, // L LB08 | SW5 + {"flags": 4, "matrix": [1, 4], "x": 69, "y": 16}, // L LB09 | SW11 + {"flags": 4, "matrix": [2, 4], "x": 69, "y": 32}, // L LB10 | SW17 + {"flags": 4, "matrix": [3, 4], "x": 69, "y": 48}, // L LB11 | SW23 + {"flags": 4, "matrix": [4, 2], "x": 69, "y": 64}, // L LB12 | SW26 + {"flags": 4, "matrix": [4, 1], "x": 52, "y": 64}, // L LB13 | SW25 + {"flags": 4, "matrix": [3, 3], "x": 52, "y": 48}, // L LB14 | SW22 + {"flags": 4, "matrix": [2, 3], "x": 52, "y": 32}, // L LB15 | SW16 + {"flags": 4, "matrix": [1, 3], "x": 52, "y": 16}, // L LB16 | SW10 + {"flags": 4, "matrix": [0, 3], "x": 52, "y": 0}, // L LB17 | SW4 + {"flags": 4, "matrix": [0, 2], "x": 34, "y": 0}, // L LB18 | SW3 + {"flags": 4, "matrix": [1, 2], "x": 34, "y": 16}, // L LB19 | SW9 + {"flags": 4, "matrix": [2, 2], "x": 34, "y": 32}, // L LB20 | SW15 + {"flags": 4, "matrix": [3, 2], "x": 34, "y": 48}, // L LB21 | SW21 + {"flags": 4, "matrix": [3, 1], "x": 17, "y": 48}, // L LB22 | SW20 + {"flags": 4, "matrix": [2, 1], "x": 17, "y": 32}, // L LB23 | SW14 + {"flags": 4, "matrix": [1, 1], "x": 17, "y": 16}, // L LB24 | SW8 + {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, // L LB25 | SW2 + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, // L LB26 | SW1 + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, // L LB27 | SW7 + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 32}, // L LB28 | SW13 + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 48}, // L LB29 | SW19 + {"flags": 4, "matrix": [9, 5], "x": 120, "y": 48}, // R LB30 | SW58 + {"flags": 4, "matrix": [9, 4], "x": 120, "y": 64}, // R LB31 | SW57 + {"flags": 4, "matrix": [9, 3], "x": 137, "y": 64}, // R LB32 | SW56 + {"flags": 4, "matrix": [8, 5], "x": 137, "y": 48}, // R LB33 | SW53 + {"flags": 4, "matrix": [7, 5], "x": 137, "y": 32}, // R LB34 | SW47 + {"flags": 4, "matrix": [6, 5], "x": 137, "y": 15}, // R LB35 | SW41 + {"flags": 4, "matrix": [5, 5], "x": 137, "y": 0}, // R LB36 | SW35 + {"flags": 4, "matrix": [5, 4], "x": 155, "y": 0}, // R LB37 | SW34 + {"flags": 4, "matrix": [6, 4], "x": 155, "y": 16}, // R LB38 | SW40 + {"flags": 4, "matrix": [7, 4], "x": 155, "y": 32}, // R LB39 | SW46 + {"flags": 4, "matrix": [8, 4], "x": 155, "y": 48}, // R LB40 | SW52 + {"flags": 4, "matrix": [9, 2], "x": 155, "y": 64}, // R LB41 | SW55 + {"flags": 4, "matrix": [9, 1], "x": 172, "y": 64}, // R LB42 | SW54 + {"flags": 4, "matrix": [8, 3], "x": 172, "y": 48}, // R LB43 | SW51 + {"flags": 4, "matrix": [7, 3], "x": 172, "y": 32}, // R LB44 | SW45 + {"flags": 4, "matrix": [6, 3], "x": 172, "y": 16}, // R LB45 | SW39 + {"flags": 4, "matrix": [5, 3], "x": 172, "y": 0}, // R LB46 | SW33 + {"flags": 4, "matrix": [5, 2], "x": 189, "y": 0}, // R LB47 | SW32 + {"flags": 4, "matrix": [6, 2], "x": 189, "y": 16}, // R LB48 | SW38 + {"flags": 4, "matrix": [7, 2], "x": 189, "y": 32}, // R LB49 | SW44 + {"flags": 4, "matrix": [8, 2], "x": 189, "y": 48}, // R LB50 | SW50 + {"flags": 4, "matrix": [8, 1], "x": 206, "y": 48}, // R LB51 | SW49 + {"flags": 4, "matrix": [7, 1], "x": 206, "y": 32}, // R LB52 | SW43 + {"flags": 4, "matrix": [6, 1], "x": 206, "y": 16}, // R LB53 | SW37 + {"flags": 4, "matrix": [5, 1], "x": 206, "y": 0}, // R LB54 | SW31 + {"flags": 4, "matrix": [5, 0], "x": 224, "y": 0}, // R LB55 | SW30 + {"flags": 4, "matrix": [6, 0], "x": 224, "y": 16}, // R LB56 | SW36 + {"flags": 4, "matrix": [7, 0], "x": 224, "y": 32}, // R LB57 | SW42 + {"flags": 4, "matrix": [8, 0], "x": 224, "y": 48} // R LB58 | SW48 + ] + } + } diff --git a/keyboards/clickety_split/leeloo/rev3/rules.mk b/keyboards/clickety_split/leeloo/rev3/rules.mk new file mode 100644 index 000000000000..80a6663b9c64 --- /dev/null +++ b/keyboards/clickety_split/leeloo/rev3/rules.mk @@ -0,0 +1 @@ +# Intentionally left blank. diff --git a/keyboards/clickety_split/leeloo/rules.mk b/keyboards/clickety_split/leeloo/rules.mk index e99b3e15ed4d..9d35960f7cf6 100644 --- a/keyboards/clickety_split/leeloo/rules.mk +++ b/keyboards/clickety_split/leeloo/rules.mk @@ -1,15 +1,2 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # 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 -SPLIT_KEYBOARD = yes - -DEFAULT_FOLDER = clickety_split/leeloo/rev1 +# Default Folder +DEFAULT_FOLDER = clickety_split/leeloo/rev3 diff --git a/keyboards/clueboard/2x1800/2018/keymaps/macroboard/keymap.c b/keyboards/clueboard/2x1800/2018/keymaps/macroboard/keymap.c deleted file mode 100644 index bc54d9da4a38..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/macroboard/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2017 Zach White - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum custom_keycodes { - MACRO01 = SAFE_RANGE, - MACRO02, - MACRO03, - MACRO04, - MACRO05, - MACRO06, - MACRO07, - MACRO08, - MACRO09, - MACRO10, - MACRO11, - MACRO12, - MACRO13, - MACRO14, - MACRO15, - MACRO16, - MACRO17, - MACRO18, - MACRO19, - MACRO20, - MACRO21, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( - MACRO01, MACRO02, MACRO03, MACRO04, 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_INS, - - MACRO05, MACRO06, MACRO07, MACRO08, 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, - MACRO09, MACRO10, MACRO11, MACRO12, KC_TAB, KC_Q, KC_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_PSLS, - MACRO13, MACRO14, MACRO15, KC_CAPS, KC_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, - MACRO16, MACRO17, MACRO18, MACRO19, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - MACRO20, MACRO21, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT -) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case MACRO01: - SEND_STRING("This is macro 01"); - return false; - case MACRO02: - SEND_STRING("This is macro 02"); - return false; - case MACRO03: - SEND_STRING("This is macro 03"); - return false; - case MACRO04: - SEND_STRING("This is macro 04"); - return false; - case MACRO05: - SEND_STRING("This is macro 05"); - return false; - case MACRO06: - SEND_STRING("This is macro 06"); - return false; - case MACRO07: - SEND_STRING("This is macro 07"); - return false; - case MACRO08: - SEND_STRING("This is macro 08"); - return false; - case MACRO09: - SEND_STRING("This is macro 09"); - return false; - case MACRO10: - SEND_STRING("This is macro 10"); - return false; - case MACRO11: - SEND_STRING("This is macro 11"); - return false; - case MACRO12: - SEND_STRING("This is macro 12"); - return false; - case MACRO13: - SEND_STRING("This is macro 13"); - return false; - case MACRO14: - SEND_STRING("This is macro 14"); - return false; - case MACRO15: - SEND_STRING("This is macro 15"); - return false; - case MACRO16: - SEND_STRING("This is macro 16"); - return false; - case MACRO17: - SEND_STRING("This is macro 17"); - return false; - case MACRO18: - SEND_STRING("This is macro 18"); - return false; - case MACRO19: - SEND_STRING("This is macro 19"); - return false; - case MACRO20: - SEND_STRING("This is macro 20"); - return false; - case MACRO21: - SEND_STRING("This is macro 21"); - return false; - } - } - return true; -}; diff --git a/keyboards/clueboard/2x1800/2018/keymaps/macroboard/readme.md b/keyboards/clueboard/2x1800/2018/keymaps/macroboard/readme.md deleted file mode 100644 index 61c9468e7dc1..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/macroboard/readme.md +++ /dev/null @@ -1 +0,0 @@ -# A macro keymap template diff --git a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/keymap.c b/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/keymap.c deleted file mode 100644 index 7764087b0f7a..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2017 Zach White - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_NO, KC_ACL0, KC_ACL1, KC_ACL2, 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_INS, - - KC_NO, KC_NO, KC_BTN4, KC_BTN5, 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_WH_U, KC_NO, KC_MS_U, KC_NO, KC_TAB, KC_Q, KC_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_PSLS, - KC_MS_L, KC_BTN3, KC_MS_R, KC_CAPS, KC_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_WH_D, KC_BTN1, KC_MS_D, KC_BTN2, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_WH_L, KC_WH_R, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT -) -}; diff --git a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/readme.md b/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/readme.md deleted file mode 100644 index 41304eca5e91..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_left/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Mouse keys in the left numpad diff --git a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/keymap.c b/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/keymap.c deleted file mode 100644 index dc55c5928779..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2017 Zach White - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_HOME, KC_END, KC_PGUP, 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_SCRL, KC_PAUS, KC_INS, - - KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NO, KC_ACL0, KC_ACL1, KC_ACL2, - KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_NO, KC_MS_U, KC_NO, KC_WH_U, - 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_MS_L, KC_BTN3, KC_MS_R, - KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_BTN1, KC_MS_D, KC_BTN2, KC_WH_D, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_WH_L, KC_WH_R -) -}; diff --git a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/readme.md b/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/readme.md deleted file mode 100644 index 51939d6347fc..000000000000 --- a/keyboards/clueboard/2x1800/2018/keymaps/mouseboard_right/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Mouse keys in the right numpad diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json index 1227020b2971..10f557d72975 100644 --- a/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json +++ b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json @@ -2,7 +2,7 @@ "version": 1, "author": "skullydazed", "notes": "", - "keyboard": "clueboard/2x1800/2018", + "keyboard": "clueboard/2x1800/2021", "keymap": "default", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h b/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h deleted file mode 100644 index 81995d66f39e..000000000000 --- a/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2017 Zach White - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 MAX7219_LED_FONTTEST - -// place overrides here diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c b/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c deleted file mode 100644 index 35da16664e72..000000000000 --- a/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -#include QMK_KEYBOARD_H -#include "font.h" -#include "max7219.h" - -enum custom_keycodes { - MSG_CB = SAFE_RANGE, - MSG_CS, - MSG_KMI, - MSG_QMK, -}; - -uint8_t custom_message[5][6] = {CHR_M, CHR_y, CHR_SPACE, CHR_2, CHR_CENT}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - MSG_CB, MSG_QMK, MSG_KMI, MSG_CS, 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_INS, - KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case MSG_CB: - max7219_led_scrolling=true; - uint8_t cb_msg[MSG_CLUEBOARD_LEN][6] = MSG_CLUEBOARD; - max7219_message_sign(cb_msg, MSG_CLUEBOARD_LEN); - return true; - case MSG_CS: - max7219_led_scrolling=false; - max7219_message_sign(custom_message, 5); - return true; - case MSG_KMI: - max7219_led_scrolling=true; - uint8_t kmi_msg[MSG_KONAMI_LEN][6] = MSG_KONAMI; - max7219_message_sign(kmi_msg, MSG_KONAMI_LEN); - return true; - case MSG_QMK: - max7219_led_scrolling=true; - uint8_t qmk_msg[MSG_QMK_POWERED_LEN][6] = MSG_QMK_POWERED; - max7219_message_sign(qmk_msg, MSG_QMK_POWERED_LEN); - return true; - } - } - return true; -}; diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md b/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md deleted file mode 100644 index 4e3457efce62..000000000000 --- a/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for 2x1800 diff --git a/keyboards/clueboard/2x1800/2021/rules.mk b/keyboards/clueboard/2x1800/2021/rules.mk index e9f44d7bd23e..19c7eb2946bd 100644 --- a/keyboards/clueboard/2x1800/2021/rules.mk +++ b/keyboards/clueboard/2x1800/2021/rules.mk @@ -1 +1,2 @@ -QUANTUM_LIB_SRC += max7219.c spi_master.c +SPI_DRIVER_REQUIRED = yes +QUANTUM_LIB_SRC += max7219.c diff --git a/keyboards/clueboard/66/keymaps/badger/keymap.c b/keyboards/clueboard/66/keymaps/badger/keymap.c deleted file mode 100644 index 4c40e5ec19ef..000000000000 --- a/keyboards/clueboard/66/keymaps/badger/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2020 Dan White - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "badger.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY_LINUX] = LAYOUT_66_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, - MOVE, KC_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, ADJUST, KC_RGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT), - - [_MOVE_LINUX] = LAYOUT_66_ansi( - KC_ESC, VD_1, VD_2, VD_3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, IJ_UP, IJ_DOWN, KC_DEL, KC_PGUP, - _______, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, IJ_OUT, KC_PGUP, KC_HOME, KC_END, KC_PGDN, IJ_BACK, IJ_FWD, KC_INS, KC_PGDN, - _______, WM_LH, WM_UH, WM_RH, WD_FRWD, MAC_POP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, - _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, WD_BACK, KC_MNXT, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, KC_BRIU, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BRID, KC_END), - - [_QWERTY_MAC] = LAYOUT_66_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, - MOVE_MAC, KC_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, ADJUST, KC_RGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT), - - [_MOVE_MAC] = LAYOUT_66_ansi( - KC_ESC, M_VD1, M_VD2, M_VD3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, IJ_UP, IJ_DOWN, KC_DEL, KC_PGUP, - _______, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, IJ_OUT, KC_PGUP, KC_HOME, KC_END, KC_PGDN, IJ_BACK, IJ_FWD, KC_INS, KC_PGDN, - _______, MM_LH, MM_MAX, MM_RH, WD_FRWD, MAC_POP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CM_RIGHT, CM_DOWN, _______, - _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, WD_BACK, KC_MNXT, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, KC_BRIU, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BRID, KC_END), - - [_ADJUST] = LAYOUT_66_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU, - _______, NK_ON, NK_OFF, EE_CLR, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, AG_SWAP, AG_NORM, KC_INS, KC_VOLD, - _______, GE_SWAP, GE_NORM, DB_TOGG, AG_SWAP, AG_NORM, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, DF_1, DF_2, KC_CAPS, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, KC_BRIU, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BRID, KC_END) -}; - diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/config.h b/keyboards/clueboard/66/keymaps/bloodlvst/config.h deleted file mode 100644 index 60c6ad4a12cb..000000000000 --- a/keyboards/clueboard/66/keymaps/bloodlvst/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define DISABLE_SPACE_CADET_ROLLOVER diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c b/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c deleted file mode 100644 index fc49663fa4ab..000000000000 --- a/keyboards/clueboard/66/keymaps/bloodlvst/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_INS, KC_DEL, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, SC_RSPC, KC_UP, - KC_LCTL, KC_LGUI, MO(_FL), KC_LALT, KC_BSPC,KC_SPC, KC_RALT, KC_APP, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_END, KC_VOLU, - _______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SCRL, KC_PAUS, _______, _______, KC_MUTE, KC_VOLD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, KC_PSCR, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MPLY, - _______, KC_MYCM, MO(_FL), _______, _______,_______, _______, KC_CALC, MO(_FL), _______, KC_MPRV, KC_MSTP, KC_MNXT), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - KC_PWR, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, RGB_MOD, - _______, _______, _______,_______,_______,_______,_______,_______,_______,RGB_HUD, RGB_HUI, _______, _______, _______, KC_WAKE, - _______, _______, MO(_FL), _______, RGB_SAD,RGB_SAI, _______, _______, MO(_FL), _______, _______, KC_SLEP, _______), -}; diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/readme.md b/keyboards/clueboard/66/keymaps/bloodlvst/readme.md deleted file mode 100644 index ee287ca476f1..000000000000 --- a/keyboards/clueboard/66/keymaps/bloodlvst/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -``` - ___ _____ _ _ _ __ __ _ __ -|__ \ / ____| | | | | | / / / /(_) / / - ||) | | | | |_ _ ___| |__ ___ __ _ _ __ __| | / /_ / /_ / / - |/ / | | | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / / - |_| | |____| | |_| | __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _ - (_) \_____|_|\__,_|\___|_.__/ \___/ \__,_|_| \__,_| \___/ \___/_/ (_) -``` - -![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png) - -# Default Clueboard Layout - -This is the default layout that comes flashed on every Clueboard. For the most -part it's a straightforward and easy to follow layout. The only unusual key is -the key in the upper left, which sends Escape normally, but Grave when any of -the Ctrl, Alt, or GUI modifiers are held down. diff --git a/keyboards/clueboard/66/keymaps/bloodlvst/rules.mk b/keyboards/clueboard/66/keymaps/bloodlvst/rules.mk deleted file mode 100644 index b1c2f32f6ae4..000000000000 --- a/keyboards/clueboard/66/keymaps/bloodlvst/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -EXTRAKEY_ENABLE = yes -COMMAND_ENABLE = no diff --git a/keyboards/clueboard/66/keymaps/caps_fn/keymap.c b/keyboards/clueboard/66/keymaps/caps_fn/keymap.c deleted file mode 100644 index 2bbe67cb73e4..000000000000 --- a/keyboards/clueboard/66/keymaps/caps_fn/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/caps_fn/readme.md b/keyboards/clueboard/66/keymaps/caps_fn/readme.md deleted file mode 100644 index 71d1246c0788..000000000000 --- a/keyboards/clueboard/66/keymaps/caps_fn/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Caps Fn Layout - -This is the default layout except that Caps Lock acts like Caps Lock when -tapped but Fn when held. diff --git a/keyboards/clueboard/66/keymaps/jokrik/keymap.c b/keyboards/clueboard/66/keymaps/jokrik/keymap.c deleted file mode 100644 index 832493e579ac..000000000000 --- a/keyboards/clueboard/66/keymaps/jokrik/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_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_BSPC, KC_PAUS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_INS, KC_DEL, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/jokrik/readme.md b/keyboards/clueboard/66/keymaps/jokrik/readme.md deleted file mode 100644 index a845e65f1b91..000000000000 --- a/keyboards/clueboard/66/keymaps/jokrik/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# Jokrik's Clueboard Layout - diff --git a/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c b/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c deleted file mode 100644 index 50c31563c84c..000000000000 --- a/keyboards/clueboard/66/keymaps/mac_optimized/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_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_UP, - KC_LCTL,KC_LALT,KC_LGUI,KC_INT5, KC_SPC, KC_SPC, KC_INT4,KC_RGUI,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_VOLU, - _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MPLY,KC_MFFD,_______,KC_MUTE, KC_VOLD, - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, - _______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, - _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, - _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/mac_optimized/readme.md b/keyboards/clueboard/66/keymaps/mac_optimized/readme.md deleted file mode 100644 index db7a87d443b6..000000000000 --- a/keyboards/clueboard/66/keymaps/mac_optimized/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Default Clueboard Layout for Mac - -This is the default Clueboard layout with Alt and GUI switched to match Mac -conventions. diff --git a/keyboards/clueboard/66/keymaps/magicmonty/config.h b/keyboards/clueboard/66/keymaps/magicmonty/config.h deleted file mode 100644 index c38aee5ee6d1..000000000000 --- a/keyboards/clueboard/66/keymaps/magicmonty/config.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -/* - * 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 - -/* - Setting the modified Space Cadet Parens for German layout - - Default is - #define LSPO_KEY KC_9 - #define RSPC_KEY KC_0 -*/ -#define LSPO_KEY KC_8 -#define RSPC_KEY KC_9 -#define PERMISSIVE_HOLD diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c deleted file mode 100644 index 238147537d77..000000000000 --- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c +++ /dev/null @@ -1,222 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 // BASE Layer -#define _FL 1 // Function Layer -#define _ME 2 // Media Layer -#define _CL 3 // Control Layer -#define _ML 4 // Mouse Layer -#if defined(MIDI_ENABLE) - #define _MI 5 // MIDI Layer - #define TO_MIDI TO(_MI) -#else - #define TO_MIDI _______ -#endif - -// go back to base layer -#define TO_BASE TO(_BL) - -// switch to function layer while helde -#define MO_FUNC MO(_FL) - -// switch to media layer while held -#define MEDIA MO(_ME) - -// switch to Control layer while helde -#define MO_CTL MO(_CL) - -// switch to mouse layer if held, else space -#define L_MOUSE LT(_ML, KC_SPC) - -// Function key when held, else ESC -#define ESC_FUN LT(_FL, KC_ESC) - -// Hyper (CTRL+ALT+SHIFT+SUPER) when held, TAB when tapped -#define HPR_TAB ALL_T(KC_TAB) - -// CTRL when held, ESC when tapped -#define CTL_ESC CTL_T(KC_ESC) - -enum custom_keycodes { - RGB_RST = SAFE_RANGE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) */ - [_BL] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, KC_INS, - HPR_TAB, KC_Q, KC_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, - ESC_FUN, 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,_______, L_MOUSE, L_MOUSE, _______, KC_RALT, KC_RCTL, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function layer */ - [_FL] = 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, _______, _______, BL_STEP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO_CTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, - SC_LSPO, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, TO_MIDI, _______, SC_RSPC, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, MO_FUNC, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _ME: Media layer */ - [_ME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT), - - /* Keymap _CL: Control layer */ - [_CL] = LAYOUT( - _______, RGB_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO_CTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), - - /* Keymap _ML: Mouse layer */ - [_ML] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN2, KC_BTN3, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, - _______, _______, _______, _______, L_MOUSE, L_MOUSE, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R), - -#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED) - /* Keymap _MI: MIDI layer (Advanced)*/ - [_MI] = LAYOUT( - TO_BASE, MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, MI_CHND, MI_CHNU, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, MI_Fs1, XXXXXXX, XXXXXXX, - MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, XXXXXXX, - MI_SUST, XXXXXXX, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_AOFF, MI_AOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX), -#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC) - /* Keymap _MI: MIDI layer (Basic)*/ - [_MI] = LAYOUT( - TO_BASE, 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, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX), -#endif -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_RST: - if (record->event.pressed) { - rgblight_mode(1); - rgblight_sethsv(206, 255, 255); - } - return false; - } - return true; -} - -enum layer_id { - LAYER_BASE, - LAYER_FUNCTION, - LAYER_MEDIA, - LAYER_CONTROL, - LAYER_MOUSE, -#if defined(MIDI_ENABLE) - LAYER_MIDI -#endif -}; - -void clueboard_set_led(uint8_t id, uint8_t val) { - switch (id) { - case LAYER_BASE: - rgblight_sethsv_noeeprom(135, 255, val); - break; - case LAYER_FUNCTION: - rgblight_sethsv_noeeprom(32, 255, val); - break; - case LAYER_MEDIA: - rgblight_sethsv_noeeprom(60, 255, val); - break; - case LAYER_CONTROL: - rgblight_sethsv_noeeprom(245, 255, val); - break; - case LAYER_MOUSE: - rgblight_sethsv_noeeprom(146, 255, val); - break; -#if defined(MIDI_ENABLE) - case LAYER_MIDI: - rgblight_sethsv_noeeprom(224, 255, val); - break; -#endif - } -}; - -const uint16_t oct_hues[10] = { - 0, - 20, - 40, - 60, - 80, - 100, - 120, - 140, - 160, - 180 -}; - -#define MAX_OCT 9 - -void clueboard_set_midi_led(uint8_t base_oct, uint8_t val) -{ - uint8_t sat = 255; - - for (uint8_t i = 0; i < RGBLED_NUM; i++) { - sethsv(oct_hues[base_oct], sat, val, (LED_TYPE *)&led[i]); - } - - uint8_t next_oct = base_oct < MAX_OCT ? base_oct + 1 : base_oct; - - uint16_t next_hue = base_oct < MAX_OCT ? oct_hues[next_oct] : 0; - uint8_t next_val = base_oct < MAX_OCT ? val : 0; - uint8_t next_sat = base_oct < MAX_OCT ? sat : 0; - - - for (uint8_t i = 0; i < 3; i++) { - sethsv(next_hue, next_sat, next_val, (LED_TYPE *)&led[i]); - } - - for (uint8_t i = 11; i < 14; i++) { - sethsv(next_hue, next_sat, next_val, (LED_TYPE *)&led[i]); - } - - rgblight_set(); -} - -void matrix_scan_user(void) { - rgblight_config_t rgblight_config; - rgblight_config.raw = eeconfig_read_rgblight(); - - if (!rgblight_config.enable || rgblight_config.mode != 1) { return; } - - layer_state_t layer = layer_state; - uint8_t val = rgblight_config.val; - - if (layer & (1<<_FL)) { - if (layer & (1<<_ME)) { - clueboard_set_led(LAYER_MEDIA, val); - } else if (layer & (1<<_CL)) { - clueboard_set_led(LAYER_CONTROL, val); - } else { - clueboard_set_led(LAYER_FUNCTION, val); - } - } else if (layer & (1<<_ML)) { - clueboard_set_led(LAYER_MOUSE, val); -#if defined(MIDI_ENABLE) - } else if (layer & (1<<_MI)) { - clueboard_set_midi_led(midi_config.octave, val); -#endif - } else { - clueboard_set_led(LAYER_BASE, val); - } -}; diff --git a/keyboards/clueboard/66/keymaps/magicmonty/readme.md b/keyboards/clueboard/66/keymaps/magicmonty/readme.md deleted file mode 100644 index 20d1c6fa3fc8..000000000000 --- a/keyboards/clueboard/66/keymaps/magicmonty/readme.md +++ /dev/null @@ -1,53 +0,0 @@ -# Layout of @magicmonty - -[Keyboard Layout Editor File] - -![Clueboard Layout Image](http://i.imgur.com/eEwjLEj.png) -My ClueBoard Layout as of 2017/06/30 - - -This layout is a combination of the `mouse_keys` and the `win_optimized` layouts. -This layout is optimized for an ISO layout. -The CapsLock is disabled and works as ESC when tapped and FN when held. -The `TAB` key works as `TAB` when tapped, and [HYPER] (`CTRL` + `ALT` + `SHIFT` + `CMD`) when held. - -## Mouse Layer - -When you hold down the spacebar the arrow keys will move your mouse cursor. -You can click using the 3 mods to the left of the arrow keys, or the 3 keys under your primary fingers on the home row. -The Left, Down, Up and Right for the mouse movement are also VIM-Like on the HJKL keys - -## MIDI layer - -The MIDI layer is permanently enabled by pressing `FN` + `/`. -It can be exited with the `ESC`-Key - -## Space Cadet(ish) Shift Parentheses - -If the function layer is active, the `SHIFT`-Keys are configured like the [Space Cadet Shift Parentheses] -as opened (left `SHIFT`) and closed (right `SHIFT`) parentheses if tapped and `SHIFT` if held. - -## Media layer - -The media layer with Volume/Play controls, can be accessed via `FN` + `m` - -## Control layer - -The control layer is accessed via `FN` + `s`. -Here one can control the behavior of the RGB underlight. -`FN` + `s` + `1` resets the RGB underlight to the Layer signalling mode - -## Layer signalling through underlight - -The different layers are signalled throug setting of the underlight: - -- Base layer: Light Blue -- Function layer: Yellow -- Media layer: Green -- Mouse layer: Blue -- Control layer: Red -- Midi layer: Purple - -[HYPER]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ -[Space Cadet Shift Parentheses]: http://stevelosh.com/blog/2012/10/a-modern-space-cadet/#shift-parentheses -[Keyboard Layout Editor File]: http://www.keyboard-layout-editor.com/#/gists/f869b8789242a712e0f46eabbd550056 diff --git a/keyboards/clueboard/66/keymaps/magicmonty/rules.mk b/keyboards/clueboard/66/keymaps/magicmonty/rules.mk deleted file mode 100644 index 46222e2d3428..000000000000 --- a/keyboards/clueboard/66/keymaps/magicmonty/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ - -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality - -MIDI_ENABLE = yes - -# if MIDI_ENABLE is set to yes, then CONSOLE_ENABLE has to be disabled, because of the firmware size -CONSOLE_ENABLE = no -COMMAND_ENABLE = no diff --git a/keyboards/clueboard/66/keymaps/manofinterests/keymap.c b/keyboards/clueboard/66/keymaps/manofinterests/keymap.c deleted file mode 100644 index 4e9a35e0b657..000000000000 --- a/keyboards/clueboard/66/keymaps/manofinterests/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, KC_BSPC, RGB_VAI, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, RGB_VAD, - KC_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_UP, - KC_LCTL,KC_LGUI,KC_LALT,KC_INT5, KC_SPC, KC_SPC, KC_INT4,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_VOLU, - _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, - _______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, - _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, - _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/manofinterests/readme.md b/keyboards/clueboard/66/keymaps/manofinterests/readme.md deleted file mode 100644 index 019131aeb199..000000000000 --- a/keyboards/clueboard/66/keymaps/manofinterests/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png) - -# Default Clueboard Layout - -This is the default layout that comes flashed on every Clueboard. For the most -part it's a straightforward and easy to follow layout. The only unusual key is -the key in the upper left, which sends Escape normally, but Grave when any of -the Ctrl, Alt, or GUI modifiers are held down. diff --git a/keyboards/clueboard/66/keymaps/maximised/keymap.c b/keyboards/clueboard/66/keymaps/maximised/keymap.c deleted file mode 100644 index 256c7a76dbe5..000000000000 --- a/keyboards/clueboard/66/keymaps/maximised/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_NUHS, KC_ENT, - MO(_FL), 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(_FL), KC_UP, - KC_LCTL, KC_LALT, KC_LGUI,KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP, - _______, _______, _______,_______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Reset/Underlight layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/maximised/readme.md b/keyboards/clueboard/66/keymaps/maximised/readme.md deleted file mode 100644 index b8d54a309393..000000000000 --- a/keyboards/clueboard/66/keymaps/maximised/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Maximised Clueboard Layout - -This layout is intended for a board with one or both shifts split. The outside key on the split shift is an Fn, while the inside is shift. The bottom row has all the mods on both sides, optimised for a Mac. diff --git a/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c b/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c deleted file mode 100644 index 0f7c5762f461..000000000000 --- a/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 -#define _ML 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), - - /* Keymap _ML: Mouse layer - */ - [_ML] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN3,KC_BTN2,KC_BTN1,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MS_U, - _______, _______, _______,_______, LT(_ML, KC_SPC),LT(_ML, KC_SPC), _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D,KC_MS_R), -}; diff --git a/keyboards/clueboard/66/keymaps/mouse_keys/readme.md b/keyboards/clueboard/66/keymaps/mouse_keys/readme.md deleted file mode 100644 index de883e8940ba..000000000000 --- a/keyboards/clueboard/66/keymaps/mouse_keys/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# MouseKeys Layout - -This layout adds a mouse layer. When you hold down the spacebar the arrow keys -will move your mouse cursor. You can click using the 3 mods to the left of the -arrow keys, or the 3 keys under your primary fingers on the home row. diff --git a/keyboards/clueboard/66/keymaps/mouse_keys/rules.mk b/keyboards/clueboard/66/keymaps/mouse_keys/rules.mk deleted file mode 100644 index 6c605daecf53..000000000000 --- a/keyboards/clueboard/66/keymaps/mouse_keys/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = yes diff --git a/keyboards/clueboard/66/keymaps/mrscooty/keymap.c b/keyboards/clueboard/66/keymaps/mrscooty/keymap.c deleted file mode 100644 index f26ac0b90dea..000000000000 --- a/keyboards/clueboard/66/keymaps/mrscooty/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, - MO(_FL), 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_UP, - KC_LCTL, KC_LGUI,KC_LALT,KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_PGUP, - _______, RGB_TOG, KC_MPRV, KC_MPLY, KC_MNXT,_______,_______,KC_HOME,KC_UP, KC_END, _______, _______, _______, KC_PSCR, KC_PGDN, - _______, RGB_VAI, KC_MUTE, KC_VOLD, KC_VOLU,_______,_______,KC_LEFT,KC_DOWN,KC_RIGHT, _______, _______, _______, _______, - _______, RGB_VAD, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI) -}; - - /* Keymap _CL: Control layer - -[_CL] = LAYOUT( - BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, - _______,_______,_______,_______,QK_BOOT, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, - _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_HUI), -};*/ diff --git a/keyboards/clueboard/66/keymaps/mrscooty/readme.md b/keyboards/clueboard/66/keymaps/mrscooty/readme.md deleted file mode 100644 index 69cdb816c502..000000000000 --- a/keyboards/clueboard/66/keymaps/mrscooty/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Mr Scooty's Clueboard Layout - -My personal layout for everyday typing and coding. -I have a most of my media keys on the function layer as well as a second set of arrows as IJKL which you switch between by holding the normal CAPS key. - - -#### Base Layer -![Base Layout Image] (https://imgur.com/HWdi36y) - -#### Fn Layer -![Fn Layout Image] (https://imgur.com/IPa8gFg) - - - -Both layers (https://imgur.com/a/dAwXq) diff --git a/keyboards/clueboard/66/keymaps/mrscooty/rules.mk b/keyboards/clueboard/66/keymaps/mrscooty/rules.mk deleted file mode 100644 index ba997f86967b..000000000000 --- a/keyboards/clueboard/66/keymaps/mrscooty/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ - -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes - diff --git a/keyboards/clueboard/66/keymaps/muzfuz/keymap.c b/keyboards/clueboard/66/keymaps/muzfuz/keymap.c deleted file mode 100644 index bc911f045b0f..000000000000 --- a/keyboards/clueboard/66/keymaps/muzfuz/keymap.c +++ /dev/null @@ -1,74 +0,0 @@ -#include QMK_KEYBOARD_H - -// Helpful defines -#define ESC_CTL CTL_T(KC_ESCAPE) // Tap for Esc, hold for Ctrl -#define _FL_KCF LT(1,KC_F) -#define _FL_KCJ LT(1,KC_J) -#define _AL_KCA LT(2,KC_A) -#define CMD_ENT LGUI(LSFT(KC_ENT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -#define _BL 0 -#define _FL 1 -#define _AL 2 -#define _CL 3 - -enum custom_keycodes { - HASHRKT = SAFE_RANGE, - CLNEQLS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ - [_BL] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, HASHRKT, LGUI(KC_C), - KC_TAB, KC_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, LGUI(KC_V), - ESC_CTL, _AL_KCA, KC_S, KC_D, _FL_KCF, KC_G, KC_H, _FL_KCJ, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_LGUI, - 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_SLSH, KC_RSFT, KC_UP, - CMD_ENT, KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_CL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ - [_FL] = 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_VOLU, - _______, HASHRKT, _______, KC_LCBR, KC_RCBR, _______, _______, KC_UNDS, KC_PLUS, KC_PIPE, _______, _______, _______, KC_MUTE, KC_VOLD, - _______, CLNEQLS, _______, KC_LBRC, KC_RBRC, _______, _______, KC_MINS, KC_EQL, KC_BSLS, KC_TILD, KC_GRV, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _FL: Function Layer - */ - [_AL] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* Keymap _CL: Control layer - */ - [_CL] = LAYOUT( - BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case HASHRKT: - if (record->event.pressed) { - SEND_STRING("=>"); - } - break; - case CLNEQLS: - if (record->event.pressed) { - SEND_STRING(":="); - } - break; - } - return true; -} diff --git a/keyboards/clueboard/66/keymaps/muzfuz/readme.md b/keyboards/clueboard/66/keymaps/muzfuz/readme.md deleted file mode 100644 index ce23a8a99c0e..000000000000 --- a/keyboards/clueboard/66/keymaps/muzfuz/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# muzfuz Clueboard layout - -```shell -make clueboard/66/rev3:muzfuz -dfu-programmer atmega32u4 erase --force && \ -dfu-programmer atmega32u4 flash .build/clueboard_66_rev3_muzfuz.hex && \ -dfu-programmer atmega32u4 reset -``` diff --git a/keyboards/clueboard/66/keymaps/serubin/keymap.c b/keyboards/clueboard/66/keymaps/serubin/keymap.c deleted file mode 100644 index 80c550b56b01..000000000000 --- a/keyboards/clueboard/66/keymaps/serubin/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _ME 2 -#define _CL 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, 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, - F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RGUI, MO(_FL), MO(_ME), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_PSCR,KC_SCRL, KC_PAUS, _______, _______, KC_PSCR, KC_END, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_HOME, KC_PGDN, KC_END), - -/* Keymap _FL: Function Layer - */ -[_ME] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, KC_VOLD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______ , _______, _______, - _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_MPRV, KC_MPLY, KC_MNXT), - - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/serubin/readme.md b/keyboards/clueboard/66/keymaps/serubin/readme.md deleted file mode 100644 index 78eef53523c8..000000000000 --- a/keyboards/clueboard/66/keymaps/serubin/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# Serubin's Clueboard Layout - -This is the layout based on the clueboard default, modified for development on Mac, PC, and Windows. This layout also handles media and volume keys on all the previously listed platforms. Most importantly, Capslock has been replaced by a dual function Esc/Ctrl key. This is particularly handy for use in Vim. - -#### Base Layer -![Base Layout Image](http://i.imgur.com/qL78n1y.png) - -#### Fn Layer -![Fn Layout Image](http://i.imgur.com/QuwxePw.png) - -#### Media Layer -![Media Layer Image](http://i.imgur.com/oOfWXMf.png) - - diff --git a/keyboards/clueboard/66/keymaps/serubin/rules.mk b/keyboards/clueboard/66/keymaps/serubin/rules.mk deleted file mode 100644 index ba997f86967b..000000000000 --- a/keyboards/clueboard/66/keymaps/serubin/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ - -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes - diff --git a/keyboards/clueboard/66/keymaps/shift_fn/keymap.c b/keyboards/clueboard/66/keymaps/shift_fn/keymap.c deleted file mode 100644 index fc6a0ed53558..000000000000 --- a/keyboards/clueboard/66/keymaps/shift_fn/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_NUHS, KC_ENT, - MO(_FL), 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_UP, - KC_LCTL, KC_LGUI, KC_LALT,KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, S(KC_GRV), KC_DEL, BL_STEP, - S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN), - S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT), - MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_INT1),KC_RSFT, KC_PGUP, - KC_LCTL, KC_LALT, KC_LGUI,KC_INT5, S(KC_SPC),S(KC_SPC), KC_INT4, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/shift_fn/readme.md b/keyboards/clueboard/66/keymaps/shift_fn/readme.md deleted file mode 100644 index d68c5b053214..000000000000 --- a/keyboards/clueboard/66/keymaps/shift_fn/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Shift Fn Clueboard 66% Layout - -This is an experimental layout. It makes the left shift key a dual roll key. -For most keys it acts as a shift key, but for some keys it activates an -alternate function instead. Primarily I use this to access the F-keys under -the number rows. diff --git a/keyboards/clueboard/66/keymaps/smt/keymap.c b/keyboards/clueboard/66/keymaps/smt/keymap.c deleted file mode 100644 index 7c9ef443d7cf..000000000000 --- a/keyboards/clueboard/66/keymaps/smt/keymap.c +++ /dev/null @@ -1,132 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _FL 3 -#define _CL 4 - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK -}; - -// Custom macros -#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl -#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt) -#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _QWERTY: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,---. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| |PgU| - * |-----------------------------------------------------------| |---| - * |HpTab| Q| W| E| R| T| Y| U| I| O| P| [| ]| BS| |PgD| - * |-----------------------------------------------------------| `---' - * |CtlEsc| A| S| D| F| G| H| J| K| L| ;| '| | Ent| - * |--------------------------------------------------------------. - * |Shift| | Z| X| C| V| B| N| M| ,| .| /|Shift| Fn| Up| - * |------------------------------------------------------------------. - * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt| - * `------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP, - HPR_TAB, KC_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, - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, - KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _COLEMAK: Base Layer - * ,-----------------------------------------------------------. ,---. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| |PgU| - * |-----------------------------------------------------------| |---| - * |HpTab| Q| W| F| P| G| J| L| U| Y| ;| [| ]| BS| |PgD| - * |-----------------------------------------------------------| `---' - * |CtlEsc| A| R| S| T| D| H| N| E| I| O| '| | Ent| - * |--------------------------------------------------------------. - * |Shift| | Z| X| C| V| B| K| M| ,| .| /|Shift| Fn| Up| - * |------------------------------------------------------------------. - * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt| - * `------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP, - HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, - CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, - KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _DVORAK: Base Layer - * ,-----------------------------------------------------------. ,---. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| `| |PgU| - * |-----------------------------------------------------------| |---| - * |HpTab| '| ,| .| P| Y| F| G| C| R| L| /| =| BS| |PgD| - * |-----------------------------------------------------------| `---' - * |CtlEsc| A| O| E| U| I| D| H| T| N| S| -| | Ent| - * |--------------------------------------------------------------. - * |Shift| | ;| Q| J| K| X| B| M| W| V| Z|Shift| Fn| Up| - * |------------------------------------------------------------------. - * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt| - * `------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_PGUP, - HPR_TAB, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_PGDN, - CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, - KC_LSFT, XXXXXXX, KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, MO(_FL), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, _______, _______, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, KC_DEL, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,QWERTY, COLEMAK,DVORAK, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; - } - return true; -} diff --git a/keyboards/clueboard/66/keymaps/smt/readme.md b/keyboards/clueboard/66/keymaps/smt/readme.md deleted file mode 100644 index 7fc0f0248d1d..000000000000 --- a/keyboards/clueboard/66/keymaps/smt/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# smt Clueboard Layout (HHKB variant) - -![Clueboard Layout Image](http://i.imgur.com/Ll5gGte.png) - -This is smt's HHKB variant layout, based on the default layout that comes -flashed on every Clueboard. The primary differences from the default are: - -- The Backspace key is moved down into the traditional `\` position -- `\` and `` ` `` are assigned to the "split-backspace" positions -- The right Shift is split to allow for a Fn key to its right -- The modifiers on the right side now mirror the left side (`Alt`/`Super`/`Ctrl`) - -For the most part, it's a straightforward and easy to follow layout. There -are a few special keys: - -- The Esc key sends `Esc` when tapped, `` ` `` when `Alt`/`Super`/`Ctrl`/`Fn` is held, or `~` when `Shift` is held -- The Tab key sends `Tab` when tapped, or `Super+Ctrl+Alt+Shift` (a.k.a. [Hyper]) when held -- The key traditionally in the Caps-Lock position has been re-mapped to send `Esc` when tapped, or `Ctrl` when held -- The left Shift key sends `Enter` when tapped, or `Shift` when held - -[Hyper]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ diff --git a/keyboards/clueboard/66/keymaps/tetris/keymap.c b/keyboards/clueboard/66/keymaps/tetris/keymap.c deleted file mode 100644 index b6385e2fa05e..000000000000 --- a/keyboards/clueboard/66/keymaps/tetris/keymap.c +++ /dev/null @@ -1,156 +0,0 @@ -#include QMK_KEYBOARD_H -#include "tetris_text.h" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -enum custom_keycodes { - TETRIS_START = SAFE_RANGE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; - -static uint8_t tetris_key_presses = 0; -static uint16_t tetris_timer = 0; -static uint8_t tetris_running = 0; -static int tetris_keypress = 0; - -/* - * Set up tetris - */ - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - tetris_key_presses++; - } - - if (tetris_running && record->event.pressed) { - tetris_keypress = 0; - switch (keycode) { - case KC_UP: tetris_keypress = 1; break; - case KC_LEFT: tetris_keypress = 2; break; - case KC_DOWN: tetris_keypress = 3; break; - case KC_RIGHT: tetris_keypress = 4; break; - // Make ESC stop tetris (on keyboards other than clueboard) - // case KC_ESC: tetris_running = 0; return false; - } - if (tetris_keypress != 0) { - return false; - } - } - - switch (keycode) { - case QK_GRAVE_ESCAPE: - // clueboard specific hook to make escape quite tetris - if (tetris_running) { - tetris_running = 0; - return false; - } - break; - case TETRIS_START: - if (record->event.pressed) { - tetris_running = 1; - tetris_timer = 0; - tetris_keypress = 0; - // set randomness using total number of key presses - tetris_start(tetris_key_presses); - } - return false; - } - - return true; -} - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - if (tetris_running) { - tetris_timer++; - if (tetris_timer > 1000) { - // every 1000 times this is run is about 100 ms. - if (!tetris_tick(100)) { - // game over - tetris_running = 0; - } - tetris_timer = 0; - } - } -} - -void tetris_send_up(void) { - tap_code(KC_UP); -} -void tetris_send_left(void) { - tap_code(KC_LEFT); -} -void tetris_send_down(void) { - tap_code(KC_DOWN); -} -void tetris_send_right(void) { - tap_code(KC_RGHT); -} -void tetris_send_backspace(void) { - tap_code(KC_BSPC); -} -void tetris_send_delete(void) { - tap_code(KC_DEL); -} - -void tetris_send_string(const char *s) { - for (int i = 0; s[i] != 0; i++) { - if (s[i] >= 'a' && s[i] <= 'z') { - tap_code(KC_A + (s[i] - 'a')); - } else if (s[i] >= 'A' && s[i] <= 'Z') { - tap_code16(S(KC_A + (s[i] - 'A'))); - } else if (s[i] >= '1' && s[i] <= '9') { - tap_code(KC_1 + (s[i] - '1')); - } else { - switch (s[i]) { - case ' ': tap_code(KC_SPACE); break; - case '.': tap_code(KC_DOT); break; - case '0': tap_code(KC_0); break; - } - } - } -} - -void tetris_send_newline(void) { - tap_code(KC_ENT); -} - -int tetris_get_keypress(void) { - int out = tetris_keypress; - tetris_keypress = 0; - return out; -} diff --git a/keyboards/clueboard/66/keymaps/tetris/readme.md b/keyboards/clueboard/66/keymaps/tetris/readme.md deleted file mode 100644 index 20e97fb19f5b..000000000000 --- a/keyboards/clueboard/66/keymaps/tetris/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -Default layout but with a tetris game -===================================== -Tetris works by outputting key-presses to make ascii-art in a regular text editor. -It reads key presses to rotate and move the bricks like a regular tetris game. - -Example -======= -![tetris](https://raw.githubusercontent.com/danamlund/meckb_tetris/master/tetris.gif) - -Usage -===== -1) Open a default text editor -2) Press the tetris button (Fn + t) -3) Play tetris - -It makes ascii-art by sending keycodes: left, right, up, down, qwerty characters, and numbers. - -Problems -======== -Drawing ascii-art is too slow to make a pleasant playing experience. -While drawing ascii-art, the keyboard does not record key-presses, so its pretty unresponsive. - -Adds 5000 bytes to the hex file. - -Implement in other keyboards -============================ - - Copy-paste the files tetris_text.c and tetrix_text.h to your keymap folder. - - Add/update your-keyboard/your-keymap/Makefile to include ``SRC = tetris_text.c`` - - Copy-paste the tetris-related code from this keymap.c to yours. - - Set a key to trigger F(1) to start tetris mode. - - Its also a good idea to set a key to stop tetris, here its escape. - -You can find a simple tetris keyboard definition at diff --git a/keyboards/clueboard/66/keymaps/tetris/rules.mk b/keyboards/clueboard/66/keymaps/tetris/rules.mk deleted file mode 100644 index 464c6e0c8e4e..000000000000 --- a/keyboards/clueboard/66/keymaps/tetris/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -SRC = tetris_text.c -RGBLIGHT_ENABLE = no -BACKLIGHT_ENABLE = no diff --git a/keyboards/clueboard/66/keymaps/tetris/tetris_text.c b/keyboards/clueboard/66/keymaps/tetris/tetris_text.c deleted file mode 100644 index 1376ead00506..000000000000 --- a/keyboards/clueboard/66/keymaps/tetris/tetris_text.c +++ /dev/null @@ -1,505 +0,0 @@ -/* Copyright 2017 Dan Amlund Thomsen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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 -#include - -#include "tetris_text.h" - -static char empty_piece[7][7] = { { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0 } }; - -static char temp_piece[7][7]; - -static int curx = 0; -static int cury = 0; - -static void clear_piece(char piece[7][7]) { - for (int y = 0; y < 7; y++) { - for (int x = 0; x < 7; x++) { - piece[x][y] = 0; - } - } -} - -static void copy_piece_from_to(char from[7][7], char to[7][7]) { - for (int y = 0; y < 7; y++) { - for (int x = 0; x < 7; x++) { - to[x][y] = from[x][y]; - } - } -} - -static void rotate_piece(char piece[7][7]) { - // transpose - for (int y = 0; y < 7; y++) { - for (int x = y + 1; x < 7; x++) { - char tmp = piece[y][x]; - piece[y][x] = piece[x][y]; - piece[x][y] = tmp; - } - } - - // reverse rows - for (int y = 0; y < 7; y++) { - for (int x = 0; x < 3; x++) { - char tmp = piece[y][6 - x]; - piece[y][6 - x] = piece[y][x]; - piece[y][x] = tmp; - } - } -} - -static char get_shape_char(int shape) { - switch (shape) { - case 0: return 'I'; - case 1: return 'J'; - case 2: return 'L'; - case 3: return 'O'; - case 4: return 'S'; - case 5: return 'T'; - case 6: return 'Z'; - } - return 'Q'; -} - -static void set_piece(char piece[7][7], int shape, int rotation) { - clear_piece(piece); - switch (shape) { - case 0: - if (rotation % 2 == 0) { - // xxXx - piece[3][1] = 1; - piece[3][2] = 1; - piece[3][3] = 1; - piece[3][4] = 1; - } else { - // x - // x - // X - // x - piece[1][3] = 1; - piece[2][3] = 1; - piece[3][3] = 1; - piece[4][3] = 1; - } - break; - case 1: - // xXx - // x - piece[3][2] = 1; - piece[3][3] = 1; - piece[3][4] = 1; - piece[4][4] = 1; - for (int i = 0; i < rotation; i++) { - rotate_piece(piece); - } - break; - case 2: - // xXx - // x - piece[3][2] = 1; - piece[3][3] = 1; - piece[3][4] = 1; - piece[4][2] = 1; - for (int i = 0; i < rotation; i++) { - rotate_piece(piece); - } - break; - case 3: - // xX - // xx - piece[3][2] = 1; - piece[3][3] = 1; - piece[4][2] = 1; - piece[4][3] = 1; - break; - case 4: - if (rotation % 2 == 0) { - // xX - // xx - piece[3][2] = 1; - piece[3][3] = 1; - piece[4][3] = 1; - piece[4][4] = 1; - } else { - // x - // xX - // x - piece[2][3] = 1; - piece[3][2] = 1; - piece[3][3] = 1; - piece[4][2] = 1; - } - break; - case 5: - // xXx - // x - piece[3][2] = 1; - piece[3][3] = 1; - piece[3][4] = 1; - piece[4][3] = 1; - for (int i = 0; i < rotation; i++) { - rotate_piece(piece); - } - break; - case 6: - if (rotation % 2 == 0) { - // Xx - // xx - piece[3][3] = 1; - piece[3][4] = 1; - piece[4][2] = 1; - piece[4][3] = 1; - } else { - // x - // Xx - // x - piece[2][3] = 1; - piece[3][3] = 1; - piece[3][4] = 1; - piece[4][4] = 1; - } - break; - } -} - -static void send_deletes(int deletes) { - for (int i = 0; i < deletes; i++) { - tetris_send_delete(); - } -} - -static void send_backspaces(int backspaces) { - for (int i = 0; i < backspaces; i++) { - tetris_send_backspace(); - curx--; - } -} - -static void send_goto_xy(int x, int y) { - while (curx < x) { - tetris_send_right(); - curx++; - } - while (curx > x) { - tetris_send_left(); - curx--; - } - while (cury < y) { - tetris_send_down(); - cury++; - } - while (cury > y) { - tetris_send_up(); - cury--; - } -} - -static void draw_row(char c, const char oldrow[7], const char newrow[7], int x, int y) { - char str[2] = { c, 0 }; - char row_is_del[7] = { 0 }; - int first = -1; - int last = -1; - for (int px = 0; px < 7; px++) { - if (oldrow[px] && !newrow[px]) { - row_is_del[px] = 1; - } - if (newrow[px] || oldrow[px]) { - if (first == -1) first = px; - last = px; - } - } - - if (first >= 0) { - if (curx > x + last + 1) { - send_goto_xy(x + last + 1, cury); - } - if (curx < x + first) { - send_goto_xy(x + first, cury); - } - send_goto_xy(curx, y); - send_deletes((x + last + 1) - curx); - send_backspaces(curx - (x + first)); - for (int i = first; i <= last; i++) { - if (row_is_del[i]) { - tetris_send_string("."); - } else { - tetris_send_string(str); - } - curx++; - } - } -} - -static void move_piece_from_to(char from[7][7], char to[7][7], int xadd, int yadd) { - for (int y = 0; y < 7; y++) { - for (int x = 0; x < 7; x++) { - if (x + xadd >= 0 && x + xadd < 7 && y + yadd >= 0 && y + yadd < 7) { - to[y][x] = from[y + yadd][x + xadd]; - } else { - to[y][x] = 0; - } - } - } -} - -static void draw_piece(char c, int x, int y, char oldpiece[7][7], char piece[7][7]) { - for (int py = 0; py < 7; py++) { - draw_row(c, oldpiece[py], piece[py], x, y + py); - } -} - -static void draw_piece_moved(char c, int x, int y, char piece[7][7], int oldxadd, int oldyadd) { - move_piece_from_to(piece, temp_piece, oldxadd, oldyadd); - draw_piece(c, x, y, temp_piece, piece); -} - -static int is_piece_hitting(char board[20][10], char piece[7][7], int x, int y) { - for (int py = 0; py < 7; py++) { - for (int px = 0; px < 7; px++) { - if (piece[py][px] && - (px + x >= 10 || px + x < 0 - || py + y >= 20 || py + y < 0 - || board[py + y][px + x])) { - return 1; - } - } - } - return 0; -} - -static void add_piece_to_board(char piece[7][7], char board[20][10], int x, int y) { - for (int py = 0; py < 7; py++) { - for (int px = 0; px < 7; px++) { - if (piece[py][px]) { - board[py + y][px + x] = piece[py][px]; - } - } - } -} - -static void draw_board_line(void) { - //send_string("l l"); - tetris_send_string("l..........l"); - tetris_send_newline(); -} -static void init(void) { - for (int i = 0; i < 20; i++) { - draw_board_line(); - } - tetris_send_string("doooooooooob"); - curx = 12; - cury = 20; -} - -static int get_piece_min_y(char piece[7][7]) { - for (int y = 0; y < 7; y++) { - for (int x = 0; x < 7; x++) { - if (piece[y][x]) - return y; - } - } - return 0; -} - -static int clear_lines(char board[20][10]) { - int cleared_lines = 0; - for (int y = 19; y >= 0; y--) { - char isfull = 1; - for (int x = 0; x < 10; x++) { - if (!board[y][x]) { - isfull = 0; - } - } - if (isfull) { - // delete clear line - send_goto_xy(12, y); - send_backspaces(12); // delete line contents - // delete newline - tetris_send_backspace(); - cury--; - curx = 12; - cleared_lines++; - } else { - if (cleared_lines > 0) { - // move cleared lines down on board - for (int x = 0; x < 10; x++) { - board[y + cleared_lines][x] = board[y][x]; - } - } - } - } - // clear cleared top lines - for (int y = 0; y < cleared_lines; y++) { - for (int x = 0; x < 10; x++) { - board[y][x] = 0; - } - } - if (cleared_lines > 0) { - send_goto_xy(0, 0); - for (int i = 0; i < cleared_lines; i++) { - draw_board_line(); - curx = 0; - cury++; - } - } - return cleared_lines; -} - -static uint8_t myrandom(uint8_t seed) { - uint8_t out = seed >> 1; - if (seed & 1) { - out = out ^ 0xB8; - } - return out; -} - -static char piece[7][7]; -static char board[20][10]; -static uint8_t r; -static int score; -static int x; -static int y; -static int shape; -static int rotation; -static int time; -static int next_down; -static int down_delay; -static int first_run; -static int game_over; - -void tetris_start(uint8_t seed) { - for (int y = 0; y < 20; y++) { - for (int x = 0; x < 10; x++) { - board[y][x] = 0; - } - } - - clear_piece(piece); - - init(); - - game_over = 0; - - r = seed; - score = 0; - - copy_piece_from_to(empty_piece, piece); - x = 0; - y = 0; - shape = 0; - rotation = 0; - time = 0; - next_down = 0; - down_delay = -1; - first_run = 1; -} - -int tetris_tick(int ms_since_previous_tick) { - if (game_over) { - return 0; - } - - time += ms_since_previous_tick; - - if (first_run || time > next_down) { - if (first_run || is_piece_hitting(board, piece, x, y + 1)) { - first_run = 0; - add_piece_to_board(piece, board, x, y); - - score += clear_lines(board); - - down_delay = 500 - score * 10; - if (down_delay < 100) { - down_delay = 100; - } - - rotation = 0; - shape = r % 7; - r = myrandom(r); - set_piece(piece, shape, rotation); - - x = 1; - y = - get_piece_min_y(piece); - draw_piece_moved(get_shape_char(shape), 1 + x, y, piece, 0, 0); - - if (is_piece_hitting(board, piece, x, y)) { - game_over = 1; - send_goto_xy(12, 10); - tetris_send_string(" game over"); - tetris_send_down(); - tetris_send_string(" score "); - char tmp[10]; - sprintf(tmp, "%d", score); - tetris_send_string(tmp); - return 0; - } - } else { - y++; - draw_piece_moved(get_shape_char(shape), 1 + x, y, piece, 0, +1); - } - next_down = time + down_delay; - } else { - - switch (tetris_get_keypress()) { - case 1: { // up - int oldrotation = rotation; - rotation = (rotation + 1) % 4; - copy_piece_from_to(piece, temp_piece); - set_piece(piece, shape, rotation); - if (is_piece_hitting(board, piece, x, y)) { - rotation = oldrotation; - set_piece(piece, shape, rotation); - } else { - draw_piece(get_shape_char(shape), 1 + x, y, temp_piece, piece); - } - break; - } - case 2: // left - if (!is_piece_hitting(board, piece, x - 1, y)) { - x--; - draw_piece_moved(get_shape_char(shape), 1 + x, y, piece, -1, 0); - } - break; - case 3: {// down - int starty = y; - while (!is_piece_hitting(board, piece, x, y + 1)) { - y++; - } - - draw_piece(get_shape_char(shape), x + 1, starty, piece, empty_piece); - draw_piece(get_shape_char(shape), x + 1, y, empty_piece, piece); - - next_down = time + down_delay; - break; - } - case 4: // right - if (!is_piece_hitting(board, piece, x + 1, y)) { - x++; - draw_piece_moved(get_shape_char(shape), 1 + x, y, piece, 1, 0); - } - break; - } - } - return 1; -} diff --git a/keyboards/clueboard/66/keymaps/tetris/tetris_text.h b/keyboards/clueboard/66/keymaps/tetris/tetris_text.h deleted file mode 100644 index 25b4177e0b9b..000000000000 --- a/keyboards/clueboard/66/keymaps/tetris/tetris_text.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2017 Dan Amlund Thomsen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#ifndef TETRIS_TEXT_H -#define TETRIS_TEXT_H - -//// to implement -void tetris_send_up(void); -void tetris_send_left(void); -void tetris_send_down(void); -void tetris_send_right(void); - -void tetris_send_backspace(void); -void tetris_send_delete(void); - -void tetris_send_string(const char *s); - -void tetris_send_newline(void); - -// return = meaning -// 0 = no keys pressed -// 1 = up -// 2 = left -// 3 = down -// 4 = right -int tetris_get_keypress(void); - -//// to call -void tetris_start(uint8_t seed); -// returns 0 when game is over -int tetris_tick(int ms_since_previous_tick); - -#endif diff --git a/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c b/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c deleted file mode 100644 index 2dfaafab022a..000000000000 --- a/keyboards/clueboard/66/keymaps/unix_optimized/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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_INS, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, KC_DEL, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/unix_optimized/readme.md b/keyboards/clueboard/66/keymaps/unix_optimized/readme.md deleted file mode 100644 index 79c7daef8422..000000000000 --- a/keyboards/clueboard/66/keymaps/unix_optimized/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Default Clueboard 66% Layout - -This is the default layout except that Caps Lock has been changed to Control -and Insert and Delete have been put into the Fn layer. diff --git a/keyboards/clueboard/66/keymaps/win_optimized/keymap.c b/keyboards/clueboard/66/keymaps/win_optimized/keymap.c deleted file mode 100644 index 4a5e8c472041..000000000000 --- a/keyboards/clueboard/66/keymaps/win_optimized/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = 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_GRV, KC_BSPC, KC_INS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = 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, BL_STEP, - _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL, KC_PAUS, _______, _______, _______, _______, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, - _______, _______, _______,_______,QK_BOOT, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, - _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, - MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, - _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), -}; diff --git a/keyboards/clueboard/66/keymaps/win_optimized/readme.md b/keyboards/clueboard/66/keymaps/win_optimized/readme.md deleted file mode 100644 index d79603268d27..000000000000 --- a/keyboards/clueboard/66/keymaps/win_optimized/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Default Clueboard 66% Layout - -This is the default layout that comes flashed on every Clueboard. For the most -part it's a straightforward and easy to follow layout. The only unusual key is -the key in the upper left, which sends Escape normally, but Grave when any of -the Ctrl, Alt, or GUI modifiers are held down. diff --git a/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c b/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c deleted file mode 100644 index 8b2f9d096bde..000000000000 --- a/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -#include QMK_KEYBOARD_H - -/* THIS FILE WAS GENERATED! - * - * This file was generated by qmk json2c. You may or may not want to - * edit it directly. - */ - -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_GRV, 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_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_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RALT, MO(1), 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_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(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_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END), - [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, 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, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI) -}; diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index b50b676713fc..922426e87b39 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h @@ -33,18 +33,10 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 0b1110100 AD <-> GND -// 0b1110111 AD <-> VCC -// 0b1110101 AD <-> SCL -// 0b1110110 AD <-> SDA -#define LED_DRIVER_ADDR_1 0b1110100 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define I2C1_SCL_PIN B8 #define I2C1_SDA_PIN B9 -#define LED_DRIVER_COUNT 1 #define LED_MATRIX_LED_COUNT 71 // LED Matrix Animation modes. Explicitly enabled diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c index a935884a0b3e..7af0b964da5e 100644 --- a/keyboards/clueboard/66_hotswap/gen1/gen1.c +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef LED_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index 360f2e0e042b..81a23f7d87a4 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -17,7 +17,7 @@ "nkro": true }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B10", "B2", "B1", "B0", "A7", "B4", "B3", "B7"], @@ -28,7 +28,7 @@ "pid": "0x2391", "vid": "0xC1ED" }, - "community_layouts": [], + "community_layouts": ["66_ansi"], "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json deleted file mode 100644 index 6ff257b8509f..000000000000 --- a/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json +++ /dev/null @@ -1 +0,0 @@ -{"keyboard":"clueboard/66_hotswap/gen1","keymap":"default_66","layout":"LAYOUT","layers":[["QK_GESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_BSPC","KC_PGUP","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGDN","KC_CAPS","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_SPC","KC_RALT","KC_RGUI","MO(1)","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["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","BL_UP","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_MPRV","KC_MPLY","KC_MNXT","KC_NO","KC_MUTE","BL_DOWN","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_PGUP","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","MO(1)","KC_NO","KC_HOME","KC_PGDN","KC_END"],["KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_TOGG","BL_UP","KC_NO","KC_NO","KC_NO","KC_NO","QK_BOOT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_DOWN","KC_NO","KC_NO","MO(2)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","BL_STEP","KC_NO","KC_NO","MO(1)","KC_NO","KC_NO","KC_NO","KC_NO"]],"author":"","notes":""} \ No newline at end of file diff --git a/keyboards/cmm_studio/fuji65/config.h b/keyboards/cmm_studio/fuji65/config.h deleted file mode 100644 index 2460cac2cb73..000000000000 --- a/keyboards/cmm_studio/fuji65/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2021 CMM.Studio Freather - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/cmm_studio/fuji65/info.json b/keyboards/cmm_studio/fuji65/info.json index 2225bedad3dd..860608042f68 100644 --- a/keyboards/cmm_studio/fuji65/info.json +++ b/keyboards/cmm_studio/fuji65/info.json @@ -8,6 +8,23 @@ "pid": "0x364D", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "E6" }, @@ -18,8 +35,86 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_ansi_blocker_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [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, 12], "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, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + + {"matrix": [4, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -90,6 +185,459 @@ {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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, 12], "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, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 12], "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, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 12], "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, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 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, 12], "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, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 12], "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, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 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, 12], "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, 11], "x": 13, "y": 4}, {"matrix": [4, 12], "x": 14, "y": 4}, {"matrix": [4, 13], "x": 15, "y": 4} diff --git a/keyboards/cmm_studio/fuji65/keymaps/default/keymap.c b/keyboards/cmm_studio/fuji65/keymaps/default/keymap.c index da0538c82e96..ba93e7ae1e00 100644 --- a/keyboards/cmm_studio/fuji65/keymaps/default/keymap.c +++ b/keyboards/cmm_studio/fuji65/keymaps/default/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ansi_blocker_split_bs( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS, @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_ansi_blocker_split_bs( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c b/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c index 6b37798c9d5a..88b3fa1f57fd 100644 --- a/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c +++ b/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ansi_blocker_split_bs( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS, @@ -26,21 +26,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_ansi_blocker_split_bs( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT( + [2] = LAYOUT_ansi_blocker_split_bs( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [3] = LAYOUT( + [3] = LAYOUT_ansi_blocker_split_bs( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/cmm_studio/fuji65/matrix_diagram.md b/keyboards/cmm_studio/fuji65/matrix_diagram.md new file mode 100644 index 000000000000..b98ef38fa5f6 --- /dev/null +++ b/keyboards/cmm_studio/fuji65/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for CMM.Studio Fuji65 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───┐ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī ┌──â”ī┐2C │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │1D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī +│40 │41 │42 │46 │49 │4A │ │4B │4C │4D │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┐ +│40 │41 │42 │46 │4A │ Blocker Tsangan +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────┘ +``` diff --git a/keyboards/coarse/cordillera/config.h b/keyboards/coarse/cordillera/config.h index ef26abfc02f5..4282937c7cdc 100644 --- a/keyboards/coarse/cordillera/config.h +++ b/keyboards/coarse/cordillera/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 1 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/coarse/cordillera/rules.mk b/keyboards/coarse/cordillera/rules.mk index 6e8451b10cd5..d6cd9d5f0dab 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/keymaps/wntrmln/keymap.c b/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c deleted file mode 100644 index bf26771b7c80..000000000000 --- a/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-----------------. - * |QK_BOOT| 2 | 3 | - * |-----------------| - * |Caps |NmLk |ScLk | - * `-----------------' - */ -[0] = LAYOUT_full( - KC_PSCR, KC_MUTE, LGUI(KC_1), - KC_MPRV, KC_MPLY, KC_MNXT) -}; - -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/coarse/ixora/rules.mk b/keyboards/coarse/ixora/rules.mk index ff4c3156fed4..af1134ce2989 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/info.json b/keyboards/coarse/vinta/info.json index a430ea36b704..3dd9898f1aa6 100644 --- a/keyboards/coarse/vinta/info.json +++ b/keyboards/coarse/vinta/info.json @@ -17,6 +17,9 @@ "bootloader": "stm32-dfu", "debounce": 0, "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_69_ansi": { "layout": [ diff --git a/keyboards/coarse/vinta/rules.mk b/keyboards/coarse/vinta/rules.mk index 88f853eb44d1..cedbfeb321f9 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 9483086fb488..5299ccb4f1c9 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 3eadcb7f50f0..fc5c8ee71ee6 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/coban/pad9a/config.h b/keyboards/coban/pad9a/config.h new file mode 100644 index 000000000000..7b465d2eef2b --- /dev/null +++ b/keyboards/coban/pad9a/config.h @@ -0,0 +1,20 @@ +/* Copyright 2023 RyanDam (https://github.com/RyanDam) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/coban/pad9a/info.json b/keyboards/coban/pad9a/info.json new file mode 100644 index 000000000000..1b5efb34567e --- /dev/null +++ b/keyboards/coban/pad9a/info.json @@ -0,0 +1,76 @@ +{ + "manufacturer": "Coban Stationery", + "keyboard_name": "Coban Pad 9A", + "maintainer": "Coban Stationery", + "bootloader": "rp2040", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP21", "pin_b": "GP20"}, + {"pin_a": "GP1", "pin_b": "GP0"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["GP22", "GP2", "GP19", "GP16", "GP10", "GP18", "GP17", "GP11"] + ] + }, + "name": "Coban Pad 9A", + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "breathing": true, + "cycle_all": true, + "digital_rain": true, + "pixel_rain": true, + "rainbow_beacon": true, + "raindrops": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 4], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 64, "y": 64, "flags": 4}, + {"matrix": [0, 6], "x": 112, "y": 64, "flags": 4}, + {"matrix": [0, 7], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 150 + }, + "url": "https://cobanstationery.com", + "usb": { + "device_version": "1.2.0", + "pid": "0xCC9A", + "vid": "0xCB3A" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP12" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "push_left", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "push_right", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "key_1", "matrix": [0, 2], "x": 0, "y": 1}, + {"label": "key_2", "matrix": [0, 3], "x": 1, "y": 1}, + {"label": "key_3", "matrix": [0, 4], "x": 2, "y": 1}, + {"label": "key_4", "matrix": [0, 5], "x": 0, "y": 2}, + {"label": "key_5", "matrix": [0, 6], "x": 1, "y": 2}, + {"label": "key_6", "matrix": [0, 7], "x": 2, "y": 3} + ] + } + } +} diff --git a/keyboards/coban/pad9a/keymaps/default/keymap.c b/keyboards/coban/pad9a/keymaps/default/keymap.c new file mode 100644 index 000000000000..9ef5fc54d7e5 --- /dev/null +++ b/keyboards/coban/pad9a/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2023 RyanDam (https://github.com/RyanDam) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MPLY, KC_ENT, + KC_MPRV, KC_UP, KC_MNXT, + KC_LEFT, KC_DOWN, KC_RIGHT + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, +}; +#endif diff --git a/keyboards/coban/pad9a/keymaps/default/rules.mk b/keyboards/coban/pad9a/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/coban/pad9a/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/coban/pad9a/keymaps/via/keymap.c b/keyboards/coban/pad9a/keymaps/via/keymap.c new file mode 100644 index 000000000000..9ef5fc54d7e5 --- /dev/null +++ b/keyboards/coban/pad9a/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2023 RyanDam (https://github.com/RyanDam) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MPLY, KC_ENT, + KC_MPRV, KC_UP, KC_MNXT, + KC_LEFT, KC_DOWN, KC_RIGHT + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, +}; +#endif diff --git a/keyboards/coban/pad9a/keymaps/via/rules.mk b/keyboards/coban/pad9a/keymaps/via/rules.mk new file mode 100644 index 000000000000..1189f4ad1927 --- /dev/null +++ b/keyboards/coban/pad9a/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/coban/pad9a/readme.md b/keyboards/coban/pad9a/readme.md new file mode 100644 index 000000000000..3abb63e126e4 --- /dev/null +++ b/keyboards/coban/pad9a/readme.md @@ -0,0 +1,24 @@ +# Coban Pad 9A + +![Coban Pad 9A](https://i.imgur.com/5svg1RMh.jpeg) + +Small macro keyboard with 6 hotswapable button and 2 EC11 rotary encoder + +* Keyboard Maintainer: [RyanDam](https://github.com/RyanDam) +* Hardware Supported: Coban Pad 9A + +Make example for this keyboard (after setting up your build environment): + + make coban/pad9a:default + +Flashing example for this keyboard: + + make coban/pad9a: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/layouts/community/ortho_4x12/alfrdmalr/rules.mk b/keyboards/coban/pad9a/rules.mk similarity index 100% rename from layouts/community/ortho_4x12/alfrdmalr/rules.mk rename to keyboards/coban/pad9a/rules.mk diff --git a/keyboards/contender/config.h b/keyboards/contender/config.h index 971253f396aa..4254bdc63c3f 100644 --- a/keyboards/contender/config.h +++ b/keyboards/contender/config.h @@ -17,28 +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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING - /* 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/contender/info.json b/keyboards/contender/info.json index 8a81ae164d7a..b09556f3d6fe 100644 --- a/keyboards/contender/info.json +++ b/keyboards/contender/info.json @@ -12,7 +12,22 @@ "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } }, "matrix_pins": { "cols": ["C7", "D6", "B3", "B0", "B1"], diff --git a/keyboards/contra/keymaps/alper/config.h b/keyboards/contra/keymaps/alper/config.h deleted file mode 100644 index 6114392f63ee..000000000000 --- a/keyboards/contra/keymaps/alper/config.h +++ /dev/null @@ -1,35 +0,0 @@ -#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 - -#define MUSIC_MASK (keycode != KC_NO) - -/* - * 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 diff --git a/keyboards/contra/keymaps/alper/keymap.c b/keyboards/contra/keymaps/alper/keymap.c deleted file mode 100644 index 1ffa892dfd91..000000000000 --- a/keyboards/contra/keymaps/alper/keymap.c +++ /dev/null @@ -1,191 +0,0 @@ -/* Copyright 2015-2017 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 { - _QWERTY, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,---------------------------------------------------------------------------------------------------. - * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| - * | Ctrl/Tab | A | S | D | F | G | H | J | K | L | ; | " | - * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| - * | Shift/Esc | Z | X | C | V | B | N | M | , | . | / | Shift/Enter | - * |-----------+------+------+------+------+------+------+------+----------+------+------+-------------| - * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | - * `---------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = 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, - MT(MOD_LCTL, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - MT(MOD_LSFT, KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT), - KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT - ), - - /* Colemak - * ,---------------------------------------------------------------------------------------------------. - * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| - * | Ctrl/Tab | A | R | S | T | D | H | N | E | I | O | " | - * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| - * | Shift/Esc | Z | X | C | V | B | K | M | , | . | / | Shift/Enter | - * |-----------+------+------+------+------+-------------+------+----------+------+------+------+------| - * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | - * `---------------------------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT_planck_mit( - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - MT(MOD_LCTL, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - MT(MOD_LSFT, KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT), - KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,---------------------------------------------------------------------------------------------------. - * | Esc | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| - * | Ctrl/Tab | A | O | E | U | I | D | H | T | N | S | / | - * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| - * | Shift/Esc | ; | Q | J | K | X | B | M | W | V | Z | Shift/Enter | - * |-----------+------+------+------+------+------+------+------+----------+------+------+-------------| - * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | - * `---------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = LAYOUT_planck_mit( - KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, - MT(MOD_LCTL, KC_TAB), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - MT(MOD_LSFT, KC_ESC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MT(MOD_RSFT, KC_ENT), - KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_planck_mit( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MFFD, 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 | | - * |-----------+---------+---------+------+------+------+------+------+------+------+------+------| - * | AppSwitch | PrevTab | NextTab | | | | | Next | Vol- | Vol+ | Play | - * `----------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_planck_mit( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, - LGUI(KC_GRAVE), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), _______, _______, _______, _______, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | Reset| | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT_planck_mit( - _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/alper/readme.md b/keyboards/contra/keymaps/alper/readme.md deleted file mode 100644 index 0b9cab507f84..000000000000 --- a/keyboards/contra/keymaps/alper/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# Alper's Contra Layout - -![Dvorak Layout](https://i.imgur.com/BvBYgpz.png) - -## Rationale - -I based this off the default and changed some stuff because I'm a macOS user who types in Dvorak: - -* Ctrl/Tab: It is normal to remap Caps Lock to control there and having a press button there for Tab would solve a lot of problems. BUT on my Contra this button is broken, so I've mapped 0,0 to Tab as well. -* Shift/Esc: A standard left shift with an Escape that I have not been utilizing much in favor of the top corner button. -* Tab: The replacement tab. -* Overloaded the Left arrow with another GUI (Command) button because that is essential on macOS. -* Overloaded the Enter button with a Shift because like Command, it is essential for me to have these on both sides of the keyboard. -* Raise-0,0: Switches between windows of an application. -* Raise-0,1-2: Dedicated next and previous tab buttons since these key combinations caused a finger twister. - - -## TODO - -* Try out tapdance for brackets (see ryanm101/keymap.c) -* REMAP ESC To LT() so I can use it to select numbers (_NUMB) and functions more easily? (see msiu/keymap.c) https://docs.qmk.fm/#/feature_advanced_keycodes?id=switching-and-toggling-layers -* Wipe everything except Dvorak and Qwerty (see deastiny/keymap.c) \ No newline at end of file diff --git a/keyboards/contra/keymaps/basic/config.h b/keyboards/contra/keymaps/basic/config.h deleted file mode 100644 index 928ddb1617eb..000000000000 --- a/keyboards/contra/keymaps/basic/config.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - - -#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 - -#define MUSIC_MASK (keycode != KC_NO) - -/* - * 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 - -#endif \ No newline at end of file diff --git a/keyboards/contra/keymaps/basic/keymap.c b/keyboards/contra/keymaps/basic/keymap.c deleted file mode 100644 index 1b5336b8e52b..000000000000 --- a/keyboards/contra/keymaps/basic/keymap.c +++ /dev/null @@ -1,167 +0,0 @@ -/* Copyright 2015-2017 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 - -extern keymap_config_t keymap_config; - -enum planck_layers { - _QWERTY, - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - LOWER, - RAISE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------. - * | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_planck_mit( - KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN - ), - - /* Colemak - * ,-----------------------------------------------------------------------------------. - * | ` | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | H | N | E | I | O | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - * `-----------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT_planck_mit( - KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN - ), - - /* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_planck_mit( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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_mit( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | |AGnorm|AGswap|Qwerty|Colemk| | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT_planck_mit( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/basic/readme.md b/keyboards/contra/keymaps/basic/readme.md deleted file mode 100644 index a2397b798b43..000000000000 --- a/keyboards/contra/keymaps/basic/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# A Basic Contra Layout - -The *default* layout currently (as of Mar 19, 2018) has a lot of components from Planck's default layout and is not very suitable for a basic Contra board. This basic layout is developed from Planck's default layout but has removed the parts that's irrelevant to a Contra board. - -My other keyboard is a HHKB and I don't use `Tab` or `Esc` key that much and hence the unusual placements for those keys. - -## QWERTY (Normal) Layer -``` -,-----------------------------------------------------------------------------------. - | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | - |------+------+------+------+------+------|------+------+------+------+------+------| - | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------| - | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - `-----------------------------------------------------------------------------------' -``` - -## Colemak Layer -Switch from `Adjust` layer. -``` -,-----------------------------------------------------------------------------------. - | ` | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | Ctrl | A | R | S | T | D | H | N | E | I | O | ' | - |------+------+------+------+------+------|------+------+------+------+------+------| - | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------| - | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - `-----------------------------------------------------------------------------------' -``` - -## Lower -``` -,-----------------------------------------------------------------------------------. - | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | Next | Vol- | Vol+ | Play | - `-----------------------------------------------------------------------------------' -``` - -## 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 | - `-----------------------------------------------------------------------------------' -``` - -## Adjust -`AGnorm` and `AGswap` switches `alt` and `os` key on the keyboard. -``` -,-----------------------------------------------------------------------------------. - | | | | | | | | | | | | Del | - |------+------+------+------+------+-------------+------+------+------+------+------| - | | | | | |AGnorm|AGswap|Qwerty|Colemk| | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | | | | | | | | | | | | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | - `-----------------------------------------------------------------------------------' -``` diff --git a/keyboards/contra/keymaps/basic_qwerty/config.h b/keyboards/contra/keymaps/basic_qwerty/config.h deleted file mode 100644 index 179070dc7b5e..000000000000 --- a/keyboards/contra/keymaps/basic_qwerty/config.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2021 Stehpon Parker (@stephondoestech) -// SPDX-License-Identifier: GPL-2.0-or-later - -#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(DVORAK_SOUND) \ - } -#endif - -#define MUSIC_MASK (keycode != KC_NO) - -/* - * 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 diff --git a/keyboards/contra/keymaps/basic_qwerty/keymap.c b/keyboards/contra/keymaps/basic_qwerty/keymap.c deleted file mode 100644 index db41d1d5b14a..000000000000 --- a/keyboards/contra/keymaps/basic_qwerty/keymap.c +++ /dev/null @@ -1,140 +0,0 @@ -/* Copyright 2015-2017 Jack Humbert - * Contributor 2022 Stephon Parker - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE -}; - -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 | ; |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | Ctrl | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = 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_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, - KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN - ), - - /* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ` | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Del | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_planck_mit( - KC_TILD, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_DEL, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | ! | @ | # | $ | % | ^ | & | * | ( | ) | 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_mit( - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_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) - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | |AGnorm|AGswap|Qwerty| | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT_planck_mit( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/basic_qwerty/readme.md b/keyboards/contra/keymaps/basic_qwerty/readme.md deleted file mode 100644 index d5aa56666d1d..000000000000 --- a/keyboards/contra/keymaps/basic_qwerty/readme.md +++ /dev/null @@ -1,64 +0,0 @@ -# A Basic QWERTY Layout - -The Contra layer was something that I didn't see widely utilized as a US standard so I tweaked the basic layout layout by Jack Humbert. It's closer to the standard layout you would get on a US keyboard. I also moved the rest of the special characters to the lower layer. - -This is almost the same as my MechWild Marcuio keyboard. - -# A Basic Contra Layout - -The *default* layout currently (as of Mar 19, 2018) has a lot of components from Planck's default layout and is not very suitable for a basic Contra board. This basic layout is developed from Planck's default layout but has removed the parts that's irrelevant to a Contra board. - -My other keyboard is a HHKB and I don't use `Tab` or `Esc` key that much and hence the unusual placements for those keys. - -## QWERTY (Normal) Layer -``` -,-----------------------------------------------------------------------------------. - | 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 | - |------+------+------+------+------+------+------+------+------+------+------+------| - | CAPS | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | - `-----------------------------------------------------------------------------------' -``` - -## Lower -``` -,-----------------------------------------------------------------------------------. - | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | Next | Vol- | Vol+ | Play | - `-----------------------------------------------------------------------------------' -``` - -## 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 | - `-----------------------------------------------------------------------------------' -``` - -## Adjust -`AGnorm` and `AGswap` switches `alt` and `os` key on the keyboard. -``` -,-----------------------------------------------------------------------------------. - | | | | | | | | | | | | Del | - |------+------+------+------+------+-------------+------+------+------+------+------| - | | | | | |AGnorm|AGswap|Qwerty| | | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | | | | | | | | | | | | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | - `-----------------------------------------------------------------------------------' -``` diff --git a/keyboards/contra/keymaps/bramver/README.md b/keyboards/contra/keymaps/bramver/README.md deleted file mode 100644 index 3c7028a933f2..000000000000 --- a/keyboards/contra/keymaps/bramver/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Contra layout - -My current setup consists of a very simple base layer, numbers layer, mouse layer and emoji layer. -Still many options, but time will tell if changes are needed. - -## Keymap - -``` -#define SP_MSE LT(_MOUSE, KC_SPC) - - -BASE layer - { QK_GESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC }, - { KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT }, - { KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT }, - { KC_LCTL , KC_GRV , KC_LALT , KC_LGUI , MO(1) , SP_MSE , SP_MSE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , MO(2) }, - -LOWER layer - { _______ , 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_LBRC , KC_MINS , KC_EQL , KC_RBRC , KC_F7 , KC_F8 , KC_F9 , _______ }, - { _______ , KC_F4 , KC_F5 , KC_F6 , KC_HOME , KC_BSLS , KC_MPLY , KC_END , KC_F10 , KC_F11 , KC_F12 , _______ }, - { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, - -EMOJI layer - { _______ , X(CLAP) , X(CUM) , X(BNIS) , X(BUTT) , X(CAR) , X(FIRE) , X(REDB) , X(MONY) , X(HNDR) , X(SOS) , _______ }, - { _______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______ }, - { _______ , X(TRIU) , X(SCRM) , X(VOMI) , X(DTIV) , X(EXPL) , X(HAIR) , X(DANC) , X(STRN) , X(LEFT) , X(RGHT) , _______ }, - { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, - -MOUSE layer - { _______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______ }, - { _______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______ }, - { _______ , KC_VOLD , KC_VOLU , KC_MPRV , KC_MNXT , KC_MPLY , KC_MPLY , KC_MPRV , KC_MNXT , KC_VOLD , KC_VOLU , _______ }, - { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, -``` \ No newline at end of file diff --git a/keyboards/contra/keymaps/bramver/config.h b/keyboards/contra/keymaps/bramver/config.h deleted file mode 100755 index de2a9b0ee147..000000000000 --- a/keyboards/contra/keymaps/bramver/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 16 -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_WHEEL_MAX_SPEED 8 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 -#define MOUSEKEY_WHEEL_DELAY 0 diff --git a/keyboards/contra/keymaps/bramver/keymap.c b/keyboards/contra/keymaps/bramver/keymap.c deleted file mode 100644 index 3816ee629e2c..000000000000 --- a/keyboards/contra/keymaps/bramver/keymap.c +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright 2018 darm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 emoji_map { - UNAM, // unamused 😒 - HEYE, // smiling face with heart shaped eyes 😍 - OK, // ok hand sign 👌 - SMIR, // smirk 😏 - PRAY, // pray 🙏 - CELE, // celebration 🙌 - COOL, // smile with sunglasses 😎 - EYES, // eyes - THNK, // BIG THONK - NAIL, // Nailcare - SOS, // Vuile sos - REDB, // Red B - HNDR, // 100 - MONY, - FIRE, - CAR, - BUTT, - BNIS, - CUM, - CLAP, - TRIU, // Fart from nose - SCRM, - VOMI, - DTIV, // Detective - EXPL, // Brainsplosion - HAIR, // Haircut - DANC, // Salsa dancer - STRN, // Stronk - LEFT, // Point Left - RGHT, // Point Right -}; - -const uint32_t unicode_map[] PROGMEM = { - [UNAM] = 0x1F612, - [HEYE] = 0x1f60d, - [OK] = 0x1F44C, - [SMIR] = 0x1F60F, - [PRAY] = 0x1F64F, - [CELE] = 0x1F64C, - [COOL] = 0x1F60E, - [EYES] = 0x1F440, - [THNK] = 0x1F914, - [NAIL] = 0x1F485, - [SOS] = 0x1F198, - [REDB] = 0x1F171, - [HNDR] = 0x1F4AF, - [MONY] = 0x1F480, - [FIRE] = 0x1F525, - [CAR] = 0x1F697, - [BUTT] = 0x1F351, - [BNIS] = 0x1F346, - [CUM] = 0x1F4A6, - [CLAP] = 0x1F44F, - [TRIU] = 0x1F624, - [SCRM] = 0x1F631, - [VOMI] = 0x1F92E, - [DTIV] = 0x1F575, - [EXPL] = 0x1F92F, - [HAIR] = 0x2640, - [DANC] = 0x1F483, - [STRN] = 0x1F4AA, - [LEFT] = 0x1F448, - [RGHT] = 0x1F449, -}; - -// Layer shorthand -#define _BASE 0 -#define _LOWER 1 -#define _EMOJI 2 -#define _MOUSE 3 - -#define SP_MSE LT(_MOUSE, KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_BASE] = LAYOUT_ortho_4x12( - QK_GESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC , - KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT , - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT , - KC_LCTL , KC_GRV , KC_LALT , KC_LGUI , MO(1) , SP_MSE , SP_MSE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , MO(2) - ), - - [_LOWER] = LAYOUT_ortho_4x12( - _______ , 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_LBRC , KC_MINS , KC_EQL , KC_RBRC , KC_F7 , KC_F8 , KC_F9 , _______ , - _______ , KC_F4 , KC_F5 , KC_F6 , KC_HOME , KC_BSLS , KC_MPLY , KC_END , KC_F10 , KC_F11 , KC_F12 , _______ , - _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ - ), - - [_EMOJI] = LAYOUT_ortho_4x12( - _______ , X(CLAP) , X(CUM) , X(BNIS) , X(BUTT) , X(CAR) , X(FIRE) , X(REDB) , X(MONY) , X(HNDR) , X(SOS) , _______ , - _______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______ , - _______ , X(TRIU) , X(SCRM) , X(VOMI) , X(DTIV) , X(EXPL) , X(HAIR) , X(DANC) , X(STRN) , X(LEFT) , X(RGHT) , _______ , - _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ - ), - - [_MOUSE] = LAYOUT_ortho_4x12( - _______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______ , - _______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______ , - _______ , KC_VOLD , KC_VOLU , KC_MPRV , KC_MNXT , KC_MPLY , KC_MPLY , KC_MPRV , KC_MNXT , KC_VOLD , KC_VOLU , _______ , - _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ - ) - -}; - -void matrix_init_user(void) { - set_unicode_input_mode(UNICODE_MODE_LINUX); -} diff --git a/keyboards/contra/keymaps/bramver/rules.mk b/keyboards/contra/keymaps/bramver/rules.mk deleted file mode 100755 index 925b1c2b26fc..000000000000 --- a/keyboards/contra/keymaps/bramver/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -NKRO_ENABLE = yes # USB Nkey Rollover -UNICODEMAP_ENABLE = yes # Unicode -BOOTLOADER = atmel-dfu - diff --git a/keyboards/contra/keymaps/dana/config.h b/keyboards/contra/keymaps/dana/config.h deleted file mode 100644 index 2846b5791050..000000000000 --- a/keyboards/contra/keymaps/dana/config.h +++ /dev/null @@ -1,30 +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 . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - - -#undef TAPPING_TERM -#define TAPPING_TERM 190 - -#define MUSIC_MASK (keycode != KC_NO) -#define MIDI_ADVANCED - -#endif diff --git a/keyboards/contra/keymaps/dana/keymap.c b/keyboards/contra/keymaps/dana/keymap.c deleted file mode 100644 index 3f4f44182ee9..000000000000 --- a/keyboards/contra/keymaps/dana/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, -// this is the style you want to emulate. - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------. - * | ` | 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 | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | Cmd |Lower | Space |Raise | Enter| Cmd | Alt |Ctrl | - * `-----------------------------------------------------------------------------------' - */ - [0] = LAYOUT_ortho_4x12( - MI_C4, MI_Cs4, MI_D4, MI_Ds4, MI_E4, MI_F4, MI_Fs4, MI_G4, MI_Gs4, MI_A4, MI_As4, MI_B4, - MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, MI_A3, MI_As3, MI_B3, - MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, - MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1 - ) - -}; - - - - diff --git a/keyboards/contra/keymaps/dana/readme.md b/keyboards/contra/keymaps/dana/readme.md deleted file mode 100644 index 75b4582d4afc..000000000000 --- a/keyboards/contra/keymaps/dana/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Dana musical MIDI keyboard layout - -Has the contra mapped as a MIDI keyboard, where each row is an octave. - -The keyboard has only MIDI, nothing else! - diff --git a/keyboards/contra/keymaps/dana/rules.mk b/keyboards/contra/keymaps/dana/rules.mk deleted file mode 100644 index bd29e0f41075..000000000000 --- a/keyboards/contra/keymaps/dana/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ - - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = yes # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/contra/keymaps/deastiny/config.h b/keyboards/contra/keymaps/deastiny/config.h deleted file mode 100644 index 6166fea4a779..000000000000 --- a/keyboards/contra/keymaps/deastiny/config.h +++ /dev/null @@ -1,34 +0,0 @@ -#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 - -#define MUSIC_MASK (keycode != KC_NO) - -/* - * 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 diff --git a/keyboards/contra/keymaps/deastiny/keymap.c b/keyboards/contra/keymaps/deastiny/keymap.c deleted file mode 100644 index 026db263edf4..000000000000 --- a/keyboards/contra/keymaps/deastiny/keymap.c +++ /dev/null @@ -1,142 +0,0 @@ -/* Copyright 2015-2017 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 -#include "keymap_extras/keymap_german.h" - -extern keymap_config_t keymap_config; - -enum planck_layers { - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - DVORAK = SAFE_RANGE, - LOWER, - RAISE -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/** -,-----------------------------------------------------------------------------------. - | ESC | Ü | , | . | P | Y | F | G | C | T | Z | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | TAB | A | O | E | I | U | H | D | R | N | S | L | - |------+------+------+------+------+------|------+------+------+------+------+------| - | Shift| Ä | Ö | Q | J | K | X | B | M | W | V |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------| - | CTRL | GUI | Alt | MOD |Lower | Space |Raise | Left |Right | Up |Down | - `-----------------------------------------------------------------------------------' -**/ - [_DVORAK] = LAYOUT_planck_mit( - KC_ESC, DE_UDIA, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC, - KC_TAB, DE_A, DE_O, DE_E, DE_I, DE_U, DE_H, DE_D, DE_R, DE_N, DE_S, DE_L, - KC_LSFT, DE_ADIA, DE_ODIA, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT , - KC_LCTL, KC_LGUI, KC_LALT, MO(3), LOWER, KC_SPC, RAISE, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN - ), - - /* 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_mit( - DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, KC_DEL, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QUES, - _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_planck_mit( - DE_GRV, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_DEL, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_MINS, DE_EQL, DE_LBRC, DE_RBRC, DE_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, DE_SLSH, - _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (MO(3)) - * ,-----------------------------------------------------------------------------------. - * | | HOME | UP | END | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | LEFT | DOWN | RIGHT| | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT_planck_mit( - _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, KC_DEL , - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case DVORAK: - if (record->event.pressed) { - print("mode just switched to dvorak and this is a huge string\n"); - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/deastiny/readme.md b/keyboards/contra/keymaps/deastiny/readme.md deleted file mode 100644 index 61d722847eea..000000000000 --- a/keyboards/contra/keymaps/deastiny/readme.md +++ /dev/null @@ -1,56 +0,0 @@ -# A Dvorak Type II based board - -As I switched from a Poker II some keys are based on my experience there. - - -## DVORAK (Normal) Layer -``` -,-----------------------------------------------------------------------------------. - | ESC | Ü | , | . | P | Y | F | G | C | T | Z | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | TAB | A | O | E | I | U | H | D | R | N | S | L | - |------+------+------+------+------+------|------+------+------+------+------+------| - | Shift| Ä | Ö | Q | J | K | X | B | M | W | V |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------| - | CTRL | OS | Alt | MO(3)|Lower | Space |Raise | Left |Right | Up |Down | - `-----------------------------------------------------------------------------------' -``` - -## Lower -``` -,-----------------------------------------------------------------------------------. - | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - |------+------+------+------+------+-------------+------+------+------+------+------| - | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | ? | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | Next | Vol- | Vol+ | Play | - `-----------------------------------------------------------------------------------' -``` - -## 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 | - `-----------------------------------------------------------------------------------' -``` - -## Adjust (MO(3)) -``` - ,-----------------------------------------------------------------------------------. - | | HOME | UP | END | | | | | | | | Del | - |------+------+------+------+------+-------------+------+------+------+------+------| - | | LEFT | DOWN | RIGHT| | | | | | | | | - |------+------+------+------+------+------|------+------+------+------+------+------| - | | | | | | | | | | | | | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | - `-----------------------------------------------------------------------------------' -``` \ No newline at end of file diff --git a/keyboards/contra/keymaps/enigma/config.h b/keyboards/contra/keymaps/enigma/config.h deleted file mode 100644 index 4fc612e3ea05..000000000000 --- a/keyboards/contra/keymaps/enigma/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2022 Christopher Swenson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_DI_PIN F7 - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/contra/keymaps/enigma/keymap.c b/keyboards/contra/keymaps/enigma/keymap.c deleted file mode 100644 index d8779fb06340..000000000000 --- a/keyboards/contra/keymaps/enigma/keymap.c +++ /dev/null @@ -1,625 +0,0 @@ -/* Copyright 2022 Christopher Swenson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _ENIGMA, - _QWERTY, - _FN, - _LOWER, - _RAISE -}; - -enum planck_normal_keycodes { - QWERTY = SAFE_RANGE, - ENIGMA, - EN_A, - EN_B, - EN_C, - EN_D, - EN_E, - EN_F, - EN_G, - EN_H, - EN_I, - EN_J, - EN_K, - EN_L, - EN_M, - EN_N, - EN_O, - EN_P, - EN_Q, - EN_R, - EN_S, - EN_T, - EN_U, - EN_V, - EN_W, - EN_X, - EN_Y, - EN_Z, - EN_RES, - EN_TEST, - EN_DIAG, - EN_BSPC, - EN_SREF, - EN_SROT, - EN_SPOS, - EN_SRIN, - EN_SPLU -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Enigma - * ,-----------------------------------------------------------------------------------. - * | 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 | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_ENIGMA] = LAYOUT_planck_mit( - QK_GESC, EN_Q, EN_W, EN_E, EN_R, EN_T, EN_Y, EN_U, EN_I, EN_O, EN_P, KC_BSPC, - KC_TAB, EN_A, EN_S, EN_D, EN_F, EN_G, EN_H, EN_J, EN_K, EN_L, KC_SCLN, KC_QUOT, - KC_LSFT, EN_Z, EN_X, EN_C, EN_V, EN_B, EN_N, EN_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, MO(_FN), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - /* 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 | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_planck_mit( - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_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, MO(_FN), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - /* Function - * ,-----------------------------------------------------------------------------------. - * | Boot | Reset| Diag | | | | | | | | Test |Revers| - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Reflec|Rotors|Posn.s|Rings |Plugs | | |Enigma|Qwerty| | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_FN] = LAYOUT_planck_mit( - QK_BOOT, EN_RES, EN_DIAG, _______, _______, _______, _______, _______, _______, _______, EN_TEST, EN_BSPC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, EN_SREF, EN_SROT, EN_SPOS, EN_SRIN, EN_SPLU, _______, _______, QWERTY, ENIGMA, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_planck_mit( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, _______, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - /* RAISE - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_planck_mit( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, _______, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), -}; - -char rotor_definitions[5][26] = { - "EKMFLGDQVZNTOWYHXUSPAIBRCJ", - "AJDKSIRUXBLHWTMCQGZNPYFVOE", - "BDFHJLCPRTXVZNYEIWGAKMUSQO", - "ESOVPZJAYQUIRHXLNFTGKDCMWB", - "VZBRGITYUPSDNHLXAWMJQOFECK" -}; - -char reflector_definitions[3][26] = { - "EJMZALYXVBWFCRQUONTSPIKHGD", - "YRUHQSLDPXNGOKMIEBFZCWVJAT", - "FVPJIAOYEDRZXWGCTKUQSBNMHL" -}; - -char notch[5] = "QEVJZ"; - -typedef struct Settings { - char rotor_order[3]; - char rotor_rings[3]; - char rotor_positions[3]; - char plugs[25]; - int plug_count; - char reflector; -} Settings; - -typedef struct KeyboardState { - bool is_setting_reflector; - bool is_setting_rotors; - bool is_setting_rotor_positions; - bool is_setting_rotor_rings; - bool is_setting_plugs; - char setting_progress[26]; - int setting_index; - Settings current_settings; - Settings default_settings; -} KeyboardState; - -int bound(int letter) { - return ((letter % 26) + 26) % 26; -} - -char to_char(int letter) { - return 'A' + letter; -} - -int to_int(char letter) { - return letter - 'A'; -} - -char encipher(char letter, Settings *settings) { - int rotor_2_step = settings->rotor_positions[2] == notch[settings->rotor_order[2] - 1]; - int rotor_1_step = settings->rotor_positions[1] == notch[settings->rotor_order[1] - 1]; - - // Advance the third rotor - settings->rotor_positions[2]++; - if (settings->rotor_positions[2] > 'Z') { - settings->rotor_positions[2] -= 26; - } - - // Maybe advance the second rotor, including double steps - if (rotor_2_step || rotor_1_step) { - settings->rotor_positions[1]++; - if (settings->rotor_positions[1] > 'Z') { - settings->rotor_positions[1] -= 26; - } - } - - // Maybe advance the first rotor - if (rotor_1_step) { - settings->rotor_positions[0]++; - if (settings->rotor_positions[0] > 'Z') { - settings->rotor_positions[0] -= 26; - } - } - - // Swap letters on plugboard - for (int i = 0; i < settings->plug_count * 2; i += 2) { - if (letter == settings->plugs[i]) { - letter = settings->plugs[i + 1]; - } else if (letter == settings->plugs[i + 1]) { - letter = settings->plugs[i]; - } - } - - // Rotors (right to left) - for (int rotor_index = 2; rotor_index >= 0; rotor_index--) { - char *rotor_definition = rotor_definitions[settings->rotor_order[rotor_index] - 1]; - int position = to_int(settings->rotor_positions[rotor_index]); - int ring = to_int(settings->rotor_rings[rotor_index]); - int char_index = to_int(letter); - letter = to_char(bound( - to_int(rotor_definition[bound(char_index + position - ring)]) + ring - position - )); - } - - // Swap via reflector - letter = reflector_definitions[to_int(settings->reflector)][to_int(letter)]; - - // Rotors in reverse (left to right) - for (int rotor_index = 0; rotor_index < 3; rotor_index++) { - char *rotor_definition = rotor_definitions[settings->rotor_order[rotor_index] - 1]; - int position = to_int(settings->rotor_positions[rotor_index]); - int ring = to_int(settings->rotor_rings[rotor_index]); - int search_index; - for (search_index = 0; search_index < 26; search_index++) { - if ( - rotor_definition[search_index] - == to_char(bound(to_int(letter) - ring + position)) - ) { - break; - } - } - letter = to_char(bound(search_index - position + ring)); - } - - // Plugboard again - for (int i = 0; i < settings->plug_count * 2; i += 2) { - if (letter == settings->plugs[i]) { - letter = settings->plugs[i + 1]; - } else if (letter == settings->plugs[i + 1]) { - letter = settings->plugs[i]; - } - } - - return letter; -} - -void init_enigma_default(Settings *settings) { - settings->rotor_order[0] = 1; - settings->rotor_rings[0] = 'A'; - settings->rotor_positions[0] = 'A'; - - settings->rotor_order[1] = 2; - settings->rotor_rings[1] = 'A'; - settings->rotor_positions[1] = 'A'; - - settings->rotor_order[2] = 3; - settings->rotor_rings[2] = 'A'; - settings->rotor_positions[2] = 'A'; - - strcpy(settings->plugs, ""); - settings->plug_count = 0; - - settings->reflector = 'B'; -} - -void copy_settings(Settings *from, Settings *to) { - to->rotor_order[0] = from->rotor_order[0]; - to->rotor_rings[0] = from->rotor_rings[0]; - to->rotor_positions[0] = from->rotor_positions[0]; - - to->rotor_order[1] = from->rotor_order[1]; - to->rotor_rings[1] = from->rotor_rings[1]; - to->rotor_positions[1] = from->rotor_positions[1]; - - to->rotor_order[2] = from->rotor_order[2]; - to->rotor_rings[2] = from->rotor_rings[2]; - to->rotor_positions[2] = from->rotor_positions[2]; - - strncpy(to->plugs, from->plugs, from->plug_count * 2); - to->plug_count = from->plug_count; - - to->reflector = from->reflector; -} - -char *rotor_name(int rotor_number) { - if (rotor_number == 1) { - return "I"; - } else if (rotor_number == 2) { - return "II"; - } else if (rotor_number == 3) { - return "III"; - } else if (rotor_number == 4) { - return "IV"; - } else if (rotor_number == 5) { - return "V"; - } - return "?"; -} - -void rotors_reverse(Settings *settings) { - int rotor_2_step = settings->rotor_positions[2] - == to_char(bound(to_int(notch[settings->rotor_order[2] - 1]) + 1)); - int rotor_1_step = settings->rotor_positions[1] - == to_char(bound(to_int(notch[settings->rotor_order[1] - 1]) + 1)); - - // Reverse third rotor - settings->rotor_positions[2]--; - if (settings->rotor_positions[2] < 'A') { - settings->rotor_positions[2] += 26; - } - - // Maybe reverse second rotor (including double steps) - if (rotor_2_step || rotor_1_step) { - settings->rotor_positions[1]--; - if (settings->rotor_positions[1] < 'A') { - settings->rotor_positions[1] += 26; - } - } - - // Maybe recerse first rotor - if (rotor_1_step) { - settings->rotor_positions[0]--; - if (settings->rotor_positions[0] < 'A') { - settings->rotor_positions[0] += 26; - } - } -} - -void reset_settings(KeyboardState *state) { - copy_settings(&state->default_settings, &state->current_settings); -} - -void set_layer(uint8_t default_layer) { - default_layer_set((layer_state_t)1 << default_layer); -} - -void set_backlight(uint8_t mode, uint8_t hue, uint8_t sat, uint8_t val) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(mode); - rgblight_sethsv_noeeprom(hue, sat, val); - #endif -} - -void clear_working_settings(KeyboardState *state) { - state->is_setting_reflector = false; - state->is_setting_rotors = false; - state->is_setting_rotor_positions = false; - state->is_setting_rotor_rings = false; - state->is_setting_plugs = false; - state->setting_index = 0; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_STATIC_LIGHT, HSV_RED); -} - -void send_settings_string(Settings *settings) { - send_char(settings->reflector); - send_string(". "); - send_string(rotor_name(settings->rotor_order[0])); - send_char(settings->rotor_rings[0]); - send_string("-"); - send_string(rotor_name(settings->rotor_order[1])); - send_char(settings->rotor_rings[1]); - send_string("-"); - send_string(rotor_name(settings->rotor_order[2])); - send_char(settings->rotor_rings[2]); - send_string(" ("); - send_char(settings->rotor_positions[0]); - send_string(", "); - send_char(settings->rotor_positions[1]); - send_string(", "); - send_char(settings->rotor_positions[2]); - send_string(") "); - for (int i = 0; i < settings->plug_count; i++) { - send_char(settings->plugs[i * 2]); - send_char(settings->plugs[i * 2 + 1]); - send_string(" "); - } - send_string("\n"); -} - -void perform_test(Settings *settings) { - for (int i = 0; i < 1000; i++) { - send_char(encipher('A', settings) - ('A' - 'a')); - } -} - -void commit_plug_settings(KeyboardState *state) { - state->default_settings.plug_count = state->setting_index / 2; - for (int i = 0; i < state->default_settings.plug_count; i++) { - state->default_settings.plugs[i * 2] = state->setting_progress[i * 2]; - state->default_settings.plugs[i * 2 + 1] = state->setting_progress[i * 2 + 1]; - } - reset_settings(state); - clear_working_settings(state); -} - -void handle_set_reflector(char letter, KeyboardState *state) { - if (letter >= 'A' && letter <= 'C') { - state->default_settings.reflector = letter; - reset_settings(state); - clear_working_settings(state); - } -} - -bool handle_set_rotor(char letter, KeyboardState *state) { - bool is_valid = letter >= 'A' && letter <= 'E' && state->setting_index < 3; - if (is_valid) { - state->setting_progress[state->setting_index] = to_int(letter) + 1; - state->setting_index += 1; - if (state->setting_index == 3) { - state->default_settings.rotor_order[0] = state->setting_progress[0]; - state->default_settings.rotor_order[1] = state->setting_progress[1]; - state->default_settings.rotor_order[2] = state->setting_progress[2]; - reset_settings(state); - clear_working_settings(state); - } - } - return is_valid; -} - -bool handle_set_rotor_position(char letter, KeyboardState *state) { - bool is_valid = state->setting_index < 3; // Guaranteed to be A-Z already - if (is_valid) { - state->setting_progress[state->setting_index] = letter; - state->setting_index += 1; - if (state->setting_index == 3) { - state->default_settings.rotor_positions[0] = state->setting_progress[0]; - state->default_settings.rotor_positions[1] = state->setting_progress[1]; - state->default_settings.rotor_positions[2] = state->setting_progress[2]; - reset_settings(state); - clear_working_settings(state); - } - } - return is_valid; -} - -bool handle_set_rotor_ring(char letter, KeyboardState *state) { - bool is_valid = state->setting_index < 3; - if (is_valid) { - state->setting_progress[state->setting_index] = letter; - state->setting_index += 1; - if (state->setting_index == 3) { - state->default_settings.rotor_rings[0] = state->setting_progress[0]; - state->default_settings.rotor_rings[1] = state->setting_progress[1]; - state->default_settings.rotor_rings[2] = state->setting_progress[2]; - reset_settings(state); - clear_working_settings(state); - } - } - return is_valid; -} - -bool handle_set_plug(char letter, KeyboardState *state) { - bool is_valid = state->setting_index < 26; - if (is_valid) { - state->setting_progress[state->setting_index] = letter; - state->setting_index += 1; - } - return is_valid; -} - -void handle_enigma_keypress(char letter, bool any_mods, KeyboardState *state) { - bool settings_valid = true; - if (letter) { - if (any_mods) { - tap_code(KC_A + to_int(letter)); - } else if (state->is_setting_reflector) { - handle_set_reflector(letter, state); - } else if (state->is_setting_rotors) { - settings_valid = handle_set_rotor(letter, state); - } else if (state->is_setting_rotor_positions) { - settings_valid = handle_set_rotor_position(letter, state); - } else if (state->is_setting_rotor_rings) { - settings_valid = handle_set_rotor_ring(letter, state); - } else if (state->is_setting_plugs) { - settings_valid = handle_set_plug(letter, state); - } else { - char c2 = encipher(letter, &state->current_settings); - send_char(c2 - ('A' - 'a')); - } - } - if (!settings_valid) { - clear_working_settings(state); - } -} - -KeyboardState STATE; - -void keyboard_pre_init_user(void) { - init_enigma_default(&STATE.default_settings); - init_enigma_default(&STATE.current_settings); - clear_working_settings(&STATE); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t letter_index; - bool letter_found = false; - if (record->event.pressed) { - switch (keycode) { - case QWERTY: - set_layer(_QWERTY); - set_backlight(RGBLIGHT_MODE_RAINBOW_SWIRL + 4, HSV_PURPLE); - break; - case ENIGMA: - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_STATIC_LIGHT, HSV_RED); - break; - case EN_SREF: - reset_settings(&STATE); - STATE.is_setting_reflector = true; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_SNAKE, HSV_RED); - break; - case EN_SROT: - reset_settings(&STATE); - STATE.is_setting_rotors = true; - STATE.setting_index = 0; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_SNAKE, 10, 255, 255); - break; - case EN_SPOS: - reset_settings(&STATE); - STATE.is_setting_rotor_positions = true; - STATE.setting_index = 0; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_SNAKE, HSV_ORANGE); - break; - case EN_SRIN: - reset_settings(&STATE); - STATE.is_setting_rotor_rings = true; - STATE.setting_index = 0; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_SNAKE, HSV_GREEN); - break; - case EN_SPLU: - reset_settings(&STATE); - STATE.is_setting_plugs = true; - STATE.setting_index = 0; - set_layer(_ENIGMA); - set_backlight(RGBLIGHT_MODE_SNAKE, HSV_BLUE); - break; - case QK_GESC: - if ( - STATE.is_setting_reflector - || STATE.is_setting_rotors - || STATE.is_setting_rotor_positions - || STATE.is_setting_rotor_rings - || STATE.is_setting_plugs - ) { - clear_working_settings(&STATE); - return false; - } - break; - case KC_ENT: - if (STATE.is_setting_plugs) { - commit_plug_settings(&STATE); - return false; - } - break; - case EN_A ... EN_Z: - letter_index = keycode - EN_A; - letter_found = true; - break; - case EN_RES: - reset_settings(&STATE); - break; - case EN_TEST: - perform_test(&STATE.current_settings); - break; - case EN_DIAG: - send_settings_string(&STATE.current_settings); - break; - case EN_BSPC: - rotors_reverse(&STATE.current_settings); - tap_code(KC_BSPC); - break; - } - } - char letter = letter_found ? 'A' + letter_index : 0; - uint8_t mods = get_mods(); - bool any_mods = (mods & MOD_MASK_CTRL) || (mods & MOD_MASK_ALT) || (mods & MOD_MASK_GUI); - handle_enigma_keypress(letter, any_mods, &STATE); - return true; -} - -void keyboard_post_init_user(void) { - set_layer(_QWERTY); - set_backlight(RGBLIGHT_MODE_RAINBOW_SWIRL + 4, HSV_PURPLE); -} diff --git a/keyboards/contra/keymaps/enigma/readme.md b/keyboards/contra/keymaps/enigma/readme.md deleted file mode 100644 index 9bc69b3980b7..000000000000 --- a/keyboards/contra/keymaps/enigma/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# A Contra Layout with an Enigma Emulator - -``` - -,-----------------------------------------------------------------------------------. -| 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 | Fn | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | -`-----------------------------------------------------------------------------------' -``` - -By default, this layout functions like a normal QWERTY layout. But it also has an in-built Enigma machine emulator. -To enable the emulator, press `Fn+.`, and to go back to QWERTY, press `FN+,`. - -A demonstration video can be found [here](https://youtu.be/p8kBjP1DCzo). - -When Enigma mode is enabled, all letters A-Z will be enciphered using the Enigma emulator. Other keycodes will not be modified. Shift will be sent as normal, so you can choose whether to capitalize the output. If any other modifier (Ctrl, Alt, or Gui) are being pressed, the normal letter will come through. - -There are a few key combinations for configuring and diagnosing the Enigma emulator: - -* `Fn+Q` resets the emulator to the last-configured settings -* `Fn+W` types out the current Enigma settings, e.g. `B. IA-IIA-IIIA (A, A, A) QW` (meaning reflector B; rotors I, II, and III all at ring setting A; all at position A, and with Q and W swapped on the plugboard) -* `Fn+P` types out 1000 enciphered As, for testing -* `Fn+Backspace` back-rotates the rotors one step, for fixing typos without having to re-type a whole message -* `Fn+Z` followed by A, B, or C is used to set the reflector -* `Fn+X` followed by three characters A-E is used to set the rotors -* `Fn+C` followed by three characters A-Z is used to set the rotor positions -* `Fn+V` followed by three characters A-Z is used to set the ring settings -* `Fn+B` followed by up to 13 pairs of characters A-Z (one at a time, not simulaneously) then the Enter key is used to set the plugboard - - diff --git a/keyboards/contra/keymaps/enigma/rules.mk b/keyboards/contra/keymaps/enigma/rules.mk deleted file mode 100644 index 261e59922adb..000000000000 --- a/keyboards/contra/keymaps/enigma/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_ENABLE = yes -RGBLIGHT_SUPPORTED = yes \ No newline at end of file diff --git a/keyboards/contra/keymaps/erovia/config.h b/keyboards/contra/keymaps/erovia/config.h deleted file mode 100644 index 11d6a2c1ae58..000000000000 --- a/keyboards/contra/keymaps/erovia/config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#define AUTO_SHIFT_TIMEOUT 150 -#define NO_AUTO_SHIFT_SPECIAL -#define NO_AUTO_SHIFT_NUMERIC - -#define TAPPING_TERM 200 diff --git a/keyboards/contra/keymaps/erovia/keymap.c b/keyboards/contra/keymaps/erovia/keymap.c deleted file mode 100644 index ed7c2873c6d5..000000000000 --- a/keyboards/contra/keymaps/erovia/keymap.c +++ /dev/null @@ -1,163 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -enum planck_layers { - _QWERTY, - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - LOWER, - RAISE -}; - -enum { - TD_SPACE_CADET_SHIFT = 0, - TD_SPACE_CADET_ENTER = 1 -}; - -tap_dance_action_t tap_dance_actions[] = { - [TD_SPACE_CADET_SHIFT] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_LPRN), - [TD_SPACE_CADET_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_RPRN) -}; - -#define TD_SHFT TD(TD_SPACE_CADET_SHIFT) -#define TD_ENTR TD(TD_SPACE_CADET_ENTER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_4x12( - KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - TD_SHFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD_ENTR, - KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, LOWER, KC_TAB, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | ` | Q | W | F | P | B | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Ctrl | A | R | S | T | G | M | N | E | I | O | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | D | V | K | H | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_ortho_4x12( - KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - TD(TD_SPACE_CADET_SHIFT), KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, TD(TD_SPACE_CADET_ENTER), - KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, LOWER, KC_TAB, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_4x12( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 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 | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Prev | Vol- | Mute | Stop | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_4x12( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MUTE, KC_MSTP -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | |Qwerty|Colemk| | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | AuSh | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_4x12( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AS_TOGG -) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/erovia/readme.md b/keyboards/contra/keymaps/erovia/readme.md deleted file mode 100644 index 34cbdf0a18cb..000000000000 --- a/keyboards/contra/keymaps/erovia/readme.md +++ /dev/null @@ -1,76 +0,0 @@ -# Erovia's Contra Keymap - -My personal Contra keymap based on the *basic* keymap. - -**Features** - -* Qwerty and Colemak Mod-DH support -* autoshifting -* double tap LSHIFT and ENTER for quick access to ( and ) - -## QWERTY (Normal) Layer -``` -,-----------------------------------------------------------------------------------. -| ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | -|------+------+------+------+------+-------------+------+------+------+------+------| -| Esc | A | S | D | F | G | H | J | K | L | ; | ' | -|------+------+------+------+------+------|------+------+------+------+------+------| -| Shift| Z | X | C | V | B | N | M | , | . | / |Enter | -|------+------+------+------+------+------+------+------+------+------+------+------| -| Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | -`-----------------------------------------------------------------------------------' -``` - -## Colemak Layer -Switch from `Adjust` layer. -``` -,-----------------------------------------------------------------------------------. -| ` | Q | W | F | P | B | J | L | U | Y | ; | Bksp | -|------+------+------+------+------+-------------+------+------+------+------+------| -| Ctrl | A | R | S | T | G | M | N | E | I | O | ' | -|------+------+------+------+------+------|------+------+------+------+------+------| -| Shift| Z | X | C | D | V | K | H | , | . | / |Enter | -|------+------+------+------+------+------+------+------+------+------+------+------| -| Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | -`-----------------------------------------------------------------------------------' -``` - -## Lower -``` -,-----------------------------------------------------------------------------------. -| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | -|------+------+------+------+------+-------------+------+------+------+------+------| -| Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | -|------+------+------+------+------+------|------+------+------+------+------+------| -| | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | -|------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | Next | Vol- | Vol+ | Play | -`-----------------------------------------------------------------------------------' -``` - -## 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 | | -|------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | Prev | Vol- | Mute | Stop | -`-----------------------------------------------------------------------------------' -``` - -## Adjust -`AuSh` toggles autoshifting. -``` -,-----------------------------------------------------------------------------------. -| | | | | | | | | | | | | -|------+------+------+------+------+-------------+------+------+------+------+------| -| | | | | | | |Qwerty|Colemk| | | | -|------+------+------+------+------+------|------+------+------+------+------+------| -| | | | | | | | | | | | | -|------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | AuSh | -`-----------------------------------------------------------------------------------' -``` diff --git a/keyboards/contra/keymaps/erovia/rules.mk b/keyboards/contra/keymaps/erovia/rules.mk deleted file mode 100755 index 97999d9cb05a..000000000000 --- a/keyboards/contra/keymaps/erovia/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -AUTO_SHIFT_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/contra/keymaps/losinggeneration/README.md b/keyboards/contra/keymaps/losinggeneration/README.md deleted file mode 100644 index affd2fb9b414..000000000000 --- a/keyboards/contra/keymaps/losinggeneration/README.md +++ /dev/null @@ -1,30 +0,0 @@ -losinggeneration's Contra Layout -============================ - -This build uses the MIT layout. - -See description of the layout in the common folder -[here](../../../../users/losinggeneration/README.md) - -## Features -- Adjust - - Removed AGSwap, AGNorm, & Del - - Added Caps Lock, F1-F12 in a 4x3 grid, arrow cluster, - and layer transitions to the new layers. - - Moved Reset & Audio control to the right side - -## Layouts - -### Adjust (Lower + Raise) - -``` - ,-----------------------------------------------------------------------------------. - | | F1 | F2 | F3 | F4 | | RESET| Game |Numpad|Mouse | |Sleep | - |------+------+------+------+------+------+------+------+------+------+------+------| - | | F5 | F6 | F7 | F8 | | |Qwerty|Colmak|Workmn|Dvorak| | - |------+------+------+------+------+------+------+------+------+------+------+------| - | CAPS | F9 | F10 | F11 | F12 | | | | | | Up | | - |------+------+------+------+------+-------------+------+------+------+------+------| - | | | | | | | | XXX | Left | Down |Right | - `-----------------------------------------------------------------------------------' -``` diff --git a/keyboards/contra/keymaps/losinggeneration/config.h b/keyboards/contra/keymaps/losinggeneration/config.h deleted file mode 100644 index 4a64e977c9bf..000000000000 --- a/keyboards/contra/keymaps/losinggeneration/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2017 Danny Nguyen -Copyright 2018 Harley Laue - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -long with this program. If not, see . -*/ - -#pragma once - -#define USE_MIT_LAYOUT - -#define TAPPING_TERM 250 diff --git a/keyboards/contra/keymaps/losinggeneration/keymap.c b/keyboards/contra/keymaps/losinggeneration/keymap.c deleted file mode 100644 index c7fb08b8d89a..000000000000 --- a/keyboards/contra/keymaps/losinggeneration/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -#include QMK_KEYBOARD_H -#include "losinggeneration-config.h" -#include "losinggeneration-keymap.h" - -extern keymap_config_t keymap_config; - -#define MT_CAPS LSFT_T(KC_CAPS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = CATMAP( QWERTY_LAYER ), -[_COLEMAK] = CATMAP( COLEMAK_LAYER ), -[_WORKMAN] = CATMAP( WORKMAN_LAYER ), -[_DVORAK] = CATMAP( DVORAK_LAYER ), -[_GAME] = CATMAP( GAME_LAYER ), -[_NUMPAD] = CATMAP( NUMPAD_LAYER ), -[_MOUSE] = CATMAP( MOUSE_LAYER ), -[_LOWER] = CATMAP( LOWER_LAYER ), -[_RAISE] = CATMAP( RAISE_LAYER ), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | | QK_BOOT| Game |Numpad|Mouse | |Sleep | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | F5 | F6 | F7 | F8 | | |Qwerty|Colmak|Workmn|Dvorak| | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F9 | F10 | F11 | F12 | | | | | | Up | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | XXX | Left | Down |Right | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = CATMAP( - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, QK_BOOT, TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, - _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, QWERTY , COLEMAK, WORKMAN, DVORAK , _______, - MT_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, KC_UP , _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT -) - -}; - diff --git a/keyboards/contra/keymaps/losinggeneration/rules.mk b/keyboards/contra/keymaps/losinggeneration/rules.mk deleted file mode 100644 index 34b0ba318fba..000000000000 --- a/keyboards/contra/keymaps/losinggeneration/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -AUDIO_ENABLE = no # Audio output on port C6 -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -COMMAND_ENABLE = no # Commands for debug and configuration -CONSOLE_ENABLE = no # Console for debug(+400) -MIDI_ENABLE = no # MIDI controls -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - diff --git a/keyboards/contra/keymaps/maxr1998/config.h b/keyboards/contra/keymaps/maxr1998/config.h deleted file mode 100644 index 5580ffeae8ad..000000000000 --- a/keyboards/contra/keymaps/maxr1998/config.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - - -#define TAPPING_TOGGLE 2 - -#define WS2812_DI_PIN F7 // pin the DI on the WS2812B is hooked-up to -#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 -#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) - -#endif diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c deleted file mode 100644 index 8a56c6074610..000000000000 --- a/keyboards/contra/keymaps/maxr1998/keymap.c +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright 2015-2017 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 -#include "keymap_german.h" - -enum contra_layers { - _QWERTZ, - _FN, - _NR, - _NR_L3, - _FX, - _GAMING -}; - -#define KC_I3 LM(_NR, MOD_LALT) -#define KC_NR SAFE_RANGE -#define KC_N3 (SAFE_RANGE + 1) -#define KC_FN MO(_FN) -#define G_1 TO(_GAMING) -#define G_0 TG(_GAMING) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwertz - * ,-----------------------------------------------------------------------------------. - * | Esc | Q | W | E | R | T | Z | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Tab | A | S | D | F | G | H | J | K | L | +* ~ | Enter| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Y | X | C | V | B | N | M | , | . | Up | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Sup | Alt | i3 | NumR | Space | Spec | Fun | Left | Down | Right| - * `-----------------------------------------------------------------------------------' - */ -[_QWERTZ] = { - {QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, 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_I3, KC_NR, KC_SPC, KC_SPC, KC_N3, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT} -}, - -/* Function layer - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | Ü | | Ö | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | ---- | ---- | | ---- | ---- | Home | PgDn | End | - * `-----------------------------------------------------------------------------------' - */ -[_FN] = { - {_______, _______, _______, _______, _______, _______, _______, DE_UDIA, _______, DE_ODIA, _______, KC_DEL }, - {QK_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, - {_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______}, - {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END } -}, - -/* Numrow layer (special characters with Shift and ISO_L3_Shift) - * ,-----------------------------------------------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | #' | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | <> | | | | | | | | | | -_ | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | ---- | ---- | | ---- | ---- | | | | - * `-----------------------------------------------------------------------------------' - */ -[_NR] = { - {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______}, - {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, - {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} -}, -[_NR_L3] = { - {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS }, - {_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, - {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} -}, - -/* Function keys - * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_FX] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 }, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} -}, - -/* Gaming - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Space| | | | | | | Leave| | | | - * `-----------------------------------------------------------------------------------' - */ -[_GAMING] = { - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {KC_SPC, XXXXXXX, _______, _______, _______, KC_LCTL, KC_LCTL, _______, G_0, _______, _______, _______} -} -}; - -void update_tri_layer_user(void); - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case KC_BSPC: - if (record->event.pressed) { - if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) { - register_code(DE_SS); - return false; - } - } else { - unregister_code(DE_SS); - } - return true; - case KC_NR: - if (record->event.pressed) { - layer_on(_NR); - } else { - layer_off(_NR); - } - update_tri_layer_user(); - return false; - case KC_N3: - if (record->event.pressed) { - layer_on(_NR_L3); - } else { - layer_off(_NR_L3); - } - update_tri_layer_user(); - return false; - default: - return true; - } -} - -void update_tri_layer_user(void) { - update_tri_layer(_NR, _NR_L3, _FX); - if (layer_state_is(_NR_L3) && !layer_state_is(_FX)) { - register_code(KC_ALGR); - } else { - unregister_code(KC_ALGR); - } -} - -void led_set_user(uint8_t usb_led) { - // Force-enable Numlock - if (!(usb_led & (1<event.pressed) { - // print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/contra/keymaps/msiu/readme.md b/keyboards/contra/keymaps/msiu/readme.md deleted file mode 100644 index 80aba1095487..000000000000 --- a/keyboards/contra/keymaps/msiu/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# The Default Contra Layout - diff --git a/keyboards/contra/keymaps/ryanm101/config.h b/keyboards/contra/keymaps/ryanm101/config.h deleted file mode 100644 index 3e6187b08e6b..000000000000 --- a/keyboards/contra/keymaps/ryanm101/config.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - - -#define TAPPING_TERM 200 - -#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 - -#define MUSIC_MASK (keycode != KC_NO) - -/* - * 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 - -#endif diff --git a/keyboards/contra/keymaps/ryanm101/keymap.c b/keyboards/contra/keymaps/ryanm101/keymap.c deleted file mode 100644 index 76cbdc7ff8bb..000000000000 --- a/keyboards/contra/keymaps/ryanm101/keymap.c +++ /dev/null @@ -1,259 +0,0 @@ -#include QMK_KEYBOARD_H -#include "action_layer.h" - -extern keymap_config_t keymap_config; - -// Custom Key Combos -#define LCKSCR LCTL(LGUI(KC_Q)) -//#define KC_CAD LCTL(LALT(KC_DEL)) // CTL+ALT+DEL (windows) -//#define KC_CAE LGUI(LALT(KC_ESC)) // CMD+ALT+ESC (Force Close) -//#define KC_SCREENSHOT LGUI(S(KC_4)) // CMD+SHIFT+4 (Mac Screenshot) - -#define _QWERTY 0 -#define _QWERTYMAC 1 -#define _L1 2 -#define _L2 3 -#define _L3 4 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - QWERTYMAC, - L1, - L2, - L3 -}; - -//Tap Dance Declarations -#define COLON TD(CLN) -#define QUOTE TD(QUOT) -#define PARAN TD(PAR) -#define CURLY TD(CUR) -#define SQUAR TD(SQU) -#define ANGUL TD(ANG) -#define TMUX TD(TD_TMUX) -#define CADCAE TD(CAD_CAE) -#define SHIFTSLASHPIPE TD(TD_SHIFTSLASHPIPE) - -enum { - CLN = 0, - QUOT, - CAD_CAE, - PAR, - CUR, - SQU, - ANG, - TD_TMUX, - TD_SHIFTSLASHPIPE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ;: | '@ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | ,< | .> | /? |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt | \| | L1 | | | L2 | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* QwertyMAC - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ;: | '@ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | ,< | .> | /? |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | \| | L1 | | | L2 | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTYMAC] = LAYOUT_ortho_4x12( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - KC_LCTL, KC_LALT, KC_LGUI, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* L1 - * ,-----------------------------------------------------------------------------------. - * | `ÂŽ |INSERT| PGUP | HOME | <> | | () | 7& | 8* | 9( | | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | |DELETE| PGDN | END | [] | {} | =+ | 4$ | 5% | 6^ | * | LMAC | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |LSHIFT|PSCRN | |CADCAE| L3 |LCKSCR| -_ | 1! | 2" | 3ÂĢ | /? |ENTER | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt | #~ | | | | | 0) | .> | | MENU | - * `-----------------------------------------------------------------------------------' - */ - [_L1] = LAYOUT_ortho_4x12( - KC_GRV, KC_INS, KC_PGUP, KC_HOME, ANGUL, XXXXXXX, PARAN, KC_7, KC_8, KC_9, XXXXXXX, KC_BSPC, - XXXXXXX, KC_DEL, KC_PGDN, KC_END, SQUAR, CURLY, KC_EQL, KC_4, KC_5, KC_6, S(KC_8), TG(_QWERTYMAC), - _______, KC_PSCR, XXXXXXX, CADCAE, MO(_L3), LCKSCR, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, KC_ENT, - _______, _______, _______, KC_NUHS, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_0, ALGR_T(KC_DOT), XXXXXXX, KC_MENU - ), - - /* L2 - * ,-----------------------------------------------------------------------------------. - * |Sysreq| F9 | F10 | F11 | F12 | |NUMLK | 7 | 8 | 9 | * |Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | F5 | F6 | F7 | F8 | | | 4 | 5 | 6 | / | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | | | 1 | 2 | 3 | + |KP_ENT| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt | | | | | | 0 | . | - | | - * `-----------------------------------------------------------------------------------' - */ - [_L2] = LAYOUT_ortho_4x12( - KC_SYRQ, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC, - XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PSLS, _______, - XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PENT, - _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_P0, KC_PDOT, KC_PMNS, _______ - ), - - /* L3 - * ,-----------------------------------------------------------------------------------. - * |RGBTOG|RGBHUI|RGBHUD|RGBSAI|RGBSAD| | | PGDN | PGUP | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * |BLTOG |BLSTEP|RGBVAI|RGBVAD|RGBMOD|RGBRMD| Left | Down | Up | Right| | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | TMUX | | | | | | | | | | |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ - [_L3] = LAYOUT_ortho_4x12( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - TMUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) - -}; - -// Parantheses -void paranthesis_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - SEND_STRING("()"); register_code(KC_LEFT); unregister_code(KC_LEFT); - } else if (state->count == 2) { - SEND_STRING("("); - } else if (state->count == 3) { - SEND_STRING(")"); - } -} - -void curly_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - SEND_STRING("{}"); register_code(KC_LEFT); unregister_code(KC_LEFT); - } else if (state->count == 2) { - SEND_STRING("{"); - } else if (state->count == 3) { - SEND_STRING("}"); - } -} - -void square_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - SEND_STRING("[]"); register_code(KC_LEFT); unregister_code(KC_LEFT); - } else if (state->count == 2) { - SEND_STRING("["); - } else if (state->count == 3) { - SEND_STRING("]"); - } -} - -void angular_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - SEND_STRING("<>"); register_code(KC_LEFT); unregister_code(KC_LEFT); - } else if (state->count == 2) { - SEND_STRING("<"); - } else if (state->count == 3) { - SEND_STRING(">"); - } -} - -void tmux_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - SEND_STRING("tmux"); register_code(KC_ENT); unregister_code(KC_ENT); - } else if (state->count == 2) { - register_mods(MOD_BIT(KC_LCTL)); - register_code(KC_B); unregister_code(KC_B); - unregister_mods(MOD_BIT(KC_LCTL)); - register_mods(MOD_BIT(KC_LSFT)); - register_code(KC_5); unregister_code(KC_5); - unregister_mods(MOD_BIT(KC_LSFT)); - } -} - -void cmd_dance (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_mods(MOD_BIT(KC_LCTL)); - register_mods(MOD_BIT(KC_LALT)); - register_code(KC_DELETE); - unregister_mods(MOD_BIT(KC_LCTL)); - unregister_mods(MOD_BIT(KC_LALT)); - unregister_code(KC_DELETE); - } else if (state->count == 2) { - register_mods(MOD_BIT(KC_LGUI)); - register_mods(MOD_BIT(KC_LALT)); - register_code(KC_ESC); - unregister_mods(MOD_BIT(KC_LGUI)); - unregister_mods(MOD_BIT(KC_LALT)); - unregister_code(KC_ESC); - } else if (state->count == 3) { - register_mods(MOD_BIT(KC_LGUI)); - register_mods(MOD_BIT(KC_LSFT)); - register_code(KC_4); - unregister_mods(MOD_BIT(KC_LGUI)); - unregister_mods(MOD_BIT(KC_LSFT)); - unregister_code(KC_4); - } -} - -void cmd_sft_slash_pipe_down (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (state->interrupted || state->pressed==0) { - register_code (KC_NONUS_BACKSLASH); - } else { - register_code (KC_LSFT); - } - } else if (state->count == 2) { - register_mods(MOD_BIT(KC_LSFT)); - register_code(KC_NONUS_BACKSLASH); - } -} - -void cmd_sft_slash_pipe_up (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { - unregister_code (KC_LSFT); - } else { - unregister_code (KC_NONUS_BACKSLASH); - } - } else if (state->count == 2) { - unregister_mods(MOD_BIT(KC_LSFT)); - unregister_code(KC_NONUS_BACKSLASH); - } -} - - //All tap dance functions would go here. Only showing this one. - tap_dance_action_t tap_dance_actions[] = { - [CLN] = ACTION_TAP_DANCE_DOUBLE (KC_SCLN, S(KC_SCLN )) - ,[QUOT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOT, S(KC_2)) - ,[CAD_CAE] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, cmd_dance ) - ,[PAR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, paranthesis_dance ) - ,[CUR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, curly_dance ) - ,[SQU] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, square_dance ) - ,[ANG] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, angular_dance ) - ,[TD_TMUX] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, tmux_dance ) - ,[TD_SHIFTSLASHPIPE] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, cmd_sft_slash_pipe_down, cmd_sft_slash_pipe_up) - }; diff --git a/keyboards/contra/keymaps/ryanm101/readme.md b/keyboards/contra/keymaps/ryanm101/readme.md deleted file mode 100644 index a289eefcb755..000000000000 --- a/keyboards/contra/keymaps/ryanm101/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Layout Info -Map is from my JJ40 but Contra has been done with a grid vs my JJ's MIT layout. Map will be updated as soon as i figure out what to do with the addional key. - -- Uses non-US keys -- Keymap can be seen: Keymap -> http://www.keyboard-layout-editor.com/#/gists/7d111d72b138c3ef03ea4ffac4ddb7e4 - -# Notes - -- .> on lower layer if tapped but ALTGR if held -- RAISE -> uses TT() so tap to enter (NUMPAD Usage) or hold for momentary (F Keys) -- LOWER on _RAISE goes straight to qwerty layout (Base layer) diff --git a/keyboards/contra/keymaps/ryanm101/rules.mk b/keyboards/contra/keymaps/ryanm101/rules.mk deleted file mode 100644 index f5e8c3d6dc82..000000000000 --- a/keyboards/contra/keymaps/ryanm101/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE=yes \ No newline at end of file diff --git a/keyboards/controllerworks/city42/config.h b/keyboards/controllerworks/city42/config.h new file mode 100644 index 000000000000..4e161532f2ac --- /dev/null +++ b/keyboards/controllerworks/city42/config.h @@ -0,0 +1,32 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define WS2812_PIO_USE_PIO1 +#define RGB_MATRIX_LED_COUNT 42 + +#define SPI_SCK_PIN GP18 +#define SPI_MOSI_PIN GP19 +#define SPI_MISO_PIN GP16 +#define POINTING_DEVICE_CS_PIN GP17 + +#define CIRQUE_PINNACLE_DIAMETER_MM 40 +#define CIRQUE_PINNACLE_ATTENUATION EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_1X +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE \ No newline at end of file diff --git a/keyboards/controllerworks/city42/info.json b/keyboards/controllerworks/city42/info.json new file mode 100644 index 000000000000..2976021b11a7 --- /dev/null +++ b/keyboards/controllerworks/city42/info.json @@ -0,0 +1,178 @@ +{ + "manufacturer": "Controller Works", + "keyboard_name": "city42", + "maintainer": "controller-works", + "bootloader": "rp2040", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5"], + "rows": ["GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "solid_color": true, + "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": [ + {"matrix": [0, 5], "x": 80, "y": 17, "flags": 4}, + {"matrix": [0, 4], "x": 66, "y": 11, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 6, "flags": 4}, + {"matrix": [0, 2], "x": 37, "y": 4, "flags": 4}, + {"matrix": [0, 1], "x": 22, "y": 4, "flags": 4}, + {"matrix": [0, 0], "x": 8, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 4, "y": 13, "flags": 1}, + {"matrix": [1, 1], "x": 18, "y": 17, "flags": 4}, + {"matrix": [1, 2], "x": 34, "y": 17, "flags": 4}, + {"matrix": [1, 3], "x": 49, "y": 18, "flags": 4}, + {"matrix": [1, 4], "x": 63, "y": 24, "flags": 4}, + {"matrix": [1, 5], "x": 76, "y": 29, "flags": 4}, + {"matrix": [2, 5], "x": 73, "y": 43, "flags": 4}, + {"matrix": [2, 4], "x": 59, "y": 37, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 30, "y": 30, "flags": 4}, + {"matrix": [2, 1], "x": 15, "y": 29, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 26, "flags": 1}, + {"matrix": [3, 3], "x": 49, "y": 50, "flags": 1}, + {"matrix": [3, 4], "x": 66, "y": 56, "flags": 1}, + {"matrix": [3, 5], "x": 76, "y": 64, "flags": 1}, + {"matrix": [3, 6], "x": 148, "y": 64, "flags": 1}, + {"matrix": [3, 7], "x": 158, "y": 56, "flags": 1}, + {"matrix": [3, 8], "x": 175, "y": 50, "flags": 1}, + {"matrix": [2, 11], "x": 224, "y": 26, "flags": 1}, + {"matrix": [2, 10], "x": 209, "y": 29, "flags": 4}, + {"matrix": [2, 9], "x": 193, "y": 29, "flags": 4}, + {"matrix": [2, 8], "x": 179, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 165, "y": 37, "flags": 4}, + {"matrix": [2, 6], "x": 151, "y": 43, "flags": 4}, + {"matrix": [1, 6], "x": 148, "y": 30, "flags": 4}, + {"matrix": [1, 7], "x": 161, "y": 24, "flags": 4}, + {"matrix": [1, 8], "x": 175, "y": 18, "flags": 4}, + {"matrix": [1, 9], "x": 190, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 206, "y": 17, "flags": 4}, + {"matrix": [1, 11], "x": 220, "y": 13, "flags": 1}, + {"matrix": [0, 11], "x": 217, "y": 0, "flags": 1}, + {"matrix": [0, 10], "x": 202, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 187, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 172, "y": 6, "flags": 4}, + {"matrix": [0, 7], "x": 158, "y": 11, "flags": 4}, + {"matrix": [0, 6], "x": 144, "y": 17, "flags": 4} + ], + "max_brightness": 150 + }, + "tags": ["RP2040", "choc v1", "choc spaced"], + "url": "https://controller.works/products/city42-ergonomic-keyboard", + "usb": { + "device_version": "1.0.0", + "pid": "0x0005", + "vid": "0x4357" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "community_layouts": ["split_3x6_3"], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.4}, + {"matrix": [0, 1], "x": 1, "y": 0.4}, + {"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": [0, 6], "x": 8, "y": 0.25}, + {"matrix": [0, 7], "x": 9, "y": 0.125}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.125}, + {"matrix": [0, 10], "x": 12, "y": 0.4}, + {"matrix": [0, 11], "x": 13, "y": 0.4}, + {"matrix": [1, 0], "x": 0, "y": 1.4}, + {"matrix": [1, 1], "x": 1, "y": 1.4}, + {"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": [1, 6], "x": 8, "y": 1.25}, + {"matrix": [1, 7], "x": 9, "y": 1.125}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.125}, + {"matrix": [1, 10], "x": 12, "y": 1.4}, + {"matrix": [1, 11], "x": 13, "y": 1.4}, + {"matrix": [2, 0], "x": 0, "y": 2.4}, + {"matrix": [2, 1], "x": 1, "y": 2.4}, + {"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": [2, 6], "x": 8, "y": 2.25}, + {"matrix": [2, 7], "x": 9, "y": 2.125}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.125}, + {"matrix": [2, 10], "x": 12, "y": 2.4}, + {"matrix": [2, 11], "x": 13, "y": 2.4}, + {"matrix": [3, 3], "x": 3.5, "y": 3.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3.5}, + {"matrix": [3, 5], "x": 5.5, "y": 3.75, "h": 1.5}, + {"matrix": [3, 6], "x": 7.5, "y": 3.75, "h": 1.5}, + {"matrix": [3, 7], "x": 8.5, "y": 3.5}, + {"matrix": [3, 8], "x": 9.5, "y": 3.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/controllerworks/city42/keymaps/default/keymap.c b/keyboards/controllerworks/city42/keymaps/default/keymap.c new file mode 100644 index 000000000000..7f46648a7e87 --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/default/keymap.c @@ -0,0 +1,68 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/controllerworks/city42/keymaps/via/keymap.c b/keyboards/controllerworks/city42/keymaps/via/keymap.c new file mode 100644 index 000000000000..7f46648a7e87 --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/via/keymap.c @@ -0,0 +1,68 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/controllerworks/city42/keymaps/via/rules.mk b/keyboards/controllerworks/city42/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/controllerworks/city42/readme.md b/keyboards/controllerworks/city42/readme.md new file mode 100644 index 000000000000..7dc382bffc6d --- /dev/null +++ b/keyboards/controllerworks/city42/readme.md @@ -0,0 +1,31 @@ +# city42 +![city42](https://i.imgur.com/YZNW4EZh.jpg) +*A pre-built, low profile, unibody split keyboard based on the RP2040 processor* +* Keyboard Maintainer: [Kevin Gee](https://github.com/controller-works) +* Hardware Supported: *city42 split unibody ergonomic keyboard* +* Hardware Availability: *[Controller Works Retail Site](https://controller.works/products/city42-ergonomic-keyboard)* Hardware is available as pre-built units only. +Make example for this keyboard (after setting up your build environment): +```sh + make controllerworks/city42:default +``` +Flashing example for this keyboard: + +```sh + make controllerworks/city42: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). +## Features +- Highly integrated design with microcontroller and USB connectors on the main board +- RP2040 processor by Raspberry Pi Foundation running at 130 MHz with 16MB flash memory +- 40mm Cirque trackpad +- 42 per-key RGB LEDs +- ESD and over-current protection on USB +- Reset and boot tactile switches +- USB C host connection +- Hot swap connectors for Kailh Chocolate PG1350 switches +- Chocolate key spacing (18mm horizontal x 17mm vertical) +## Bootloader +Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down the upper left key while plugging in USB +* **Physical reset button**: Press the RST button twice, rapidly +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/controllerworks/city42/rules.mk b/keyboards/controllerworks/city42/rules.mk new file mode 100644 index 000000000000..2e0f2befbf49 --- /dev/null +++ b/keyboards/controllerworks/city42/rules.mk @@ -0,0 +1,2 @@ +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi \ No newline at end of file diff --git a/keyboards/controllerworks/mini36/config.h b/keyboards/controllerworks/mini36/config.h index c9da0d411b6d..4a0c48b1b03a 100644 --- a/keyboards/controllerworks/mini36/config.h +++ b/keyboards/controllerworks/mini36/config.h @@ -18,16 +18,10 @@ #pragma once #define WS2812_PIO_USE_PIO1 -#define RGBLED_NUM 48 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 48 #define RGB_MATRIX_SPLIT \ { 24, 24 } -#define SPLIT_TRANSPORT_MIRROR -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_MODS_ENABLE - #define I2C_DRIVER I2CD0 #define I2C1_SCL_PIN GP25 #define I2C1_SDA_PIN GP24 diff --git a/keyboards/controllerworks/mini36/info.json b/keyboards/controllerworks/mini36/info.json index dcab8a1b97c8..3a49b210ac30 100644 --- a/keyboards/controllerworks/mini36/info.json +++ b/keyboards/controllerworks/mini36/info.json @@ -41,7 +41,13 @@ }, "soft_serial_pin": "GP1", "transport": { - "protocol": "serial" + "protocol": "serial", + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true, + "modifiers": true + } } }, "features": { @@ -55,7 +61,7 @@ "oled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 2, "x": 71, "y": 4}, {"flags": 2, "x": 32, "y": 2}, diff --git a/keyboards/controllerworks/mini36/rules.mk b/keyboards/controllerworks/mini36/rules.mk index ee37cd7f6f05..161ec22b16e2 100644 --- a/keyboards/controllerworks/mini36/rules.mk +++ b/keyboards/controllerworks/mini36/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/controllerworks/mini42/config.h b/keyboards/controllerworks/mini42/config.h index 0a4d8c84b77e..20b6bbac8d00 100644 --- a/keyboards/controllerworks/mini42/config.h +++ b/keyboards/controllerworks/mini42/config.h @@ -18,13 +18,7 @@ #pragma once #define WS2812_PIO_USE_PIO1 -#define RGBLED_NUM 54 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM - -#define SPLIT_TRANSPORT_MIRROR -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_MODS_ENABLE +#define RGB_MATRIX_LED_COUNT 54 #undef I2C_DRIVER #define I2C_DRIVER I2CD0 diff --git a/keyboards/controllerworks/mini42/info.json b/keyboards/controllerworks/mini42/info.json index 4aa0b8eeaf8e..5d1d56db1a22 100644 --- a/keyboards/controllerworks/mini42/info.json +++ b/keyboards/controllerworks/mini42/info.json @@ -29,7 +29,6 @@ }, "split": { "enabled": true, - "main": "left", "matrix_pins": { "right": { "direct": [ @@ -42,7 +41,13 @@ }, "soft_serial_pin": "GP1", "transport": { - "protocol": "serial" + "protocol": "serial", + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true, + "modifiers": true + } } }, "features": { @@ -56,7 +61,7 @@ "oled": true }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split_count": [27, 27], "layout": [ {"flags": 2, "x": 75, "y": 4}, diff --git a/keyboards/controllerworks/mini42/rules.mk b/keyboards/controllerworks/mini42/rules.mk index 71f52c4e4d26..161ec22b16e2 100644 --- a/keyboards/controllerworks/mini42/rules.mk +++ b/keyboards/controllerworks/mini42/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -OLED_DRIVER = SSD1306 diff --git a/keyboards/converter/a1200/mistress1200/config.h b/keyboards/converter/a1200/mistress1200/config.h index 21ba99e0b7f9..bc137dc1856a 100644 --- a/keyboards/converter/a1200/mistress1200/config.h +++ b/keyboards/converter/a1200/mistress1200/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #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 c37bdadd617b..28de092b3dec 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/adb_usb/keymaps/13bit/keymap.c b/keyboards/converter/adb_usb/keymaps/13bit/keymap.c deleted file mode 100644 index c5dd8aa49b60..000000000000 --- a/keyboards/converter/adb_usb/keymaps/13bit/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -#define MCTL LCTL(KC_UP) -#define SCST LSFT(LGUI(KC_4)) -#define SLP LALT(LGUI(KC_EJCT)) - -#define APP1 LSFT(LALT(LCTL(LGUI(KC_1)))) -#define APP2 LSFT(LALT(LCTL(LGUI(KC_2)))) -#define APP3 LSFT(LALT(LCTL(LGUI(KC_3)))) -#define APP4 LSFT(LALT(LCTL(LGUI(KC_4)))) -#define APP5 LSFT(LALT(LCTL(LGUI(KC_5)))) -#define APP6 LSFT(LALT(LCTL(LGUI(KC_6)))) -#define APP7 LSFT(LALT(LCTL(LGUI(KC_7)))) -#define APP8 LSFT(LALT(LCTL(LGUI(KC_8)))) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ext_ansi( - KC_ESC, APP1, APP2, APP3, APP4, APP5, APP6, APP7, APP8, MCTL, KC_MUTE, KC_VOLD, KC_VOLU, SCST, KC_SCRL, KC_PAUS, SLP, - 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_EQL, KC_PSLS, KC_PAST, - KC_TAB, KC_Q, KC_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_PMNS, - KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT - ), -}; diff --git a/keyboards/converter/adb_usb/keymaps/zyber/keymap.c b/keyboards/converter/adb_usb/keymaps/zyber/keymap.c deleted file mode 100644 index a34b46d6de66..000000000000 --- a/keyboards/converter/adb_usb/keymaps/zyber/keymap.c +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2022 ZyBeR (@ZyberSE) -// SPDX-License-Identifier: GPL-2.0 - -#include "zyber.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ext_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_EJCT, - KC_GRV, KC_1, KC_2, KC_3, TD(SSHT), 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_EQL, KC_PSLS, KC_PAST, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD(LBRC), KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, - KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN), TD(QUOT), KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT - ), -}; diff --git a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c deleted file mode 100644 index 5497bfe87a5f..000000000000 --- a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -Copyright 2020 dsanchezseco -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 { - DVO, // dvorak - QWE, // qwerty - SYS, // system -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* dvorak */ - [DVO] = LAYOUT( - KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_PSCR, KC_PAUS, MO(SYS), - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - - LCTL(KC_A), LCTL(KC_Z), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_BSPC, KC_PEQL, KC_PSLS, KC_PAST, - LCTL(KC_B), LCTL(KC_X), KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, - LCTL(KC_D), LCTL(KC_C), KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS, - LCTL(KC_F), LCTL(KC_V), KC_LSFT, KC_BSLS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, XXXXXXX, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - LCTL(KC_G), LCTL(KC_W), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, XXXXXXX, KC_P0, KC_PDOT, XXXXXXX - ), - /* qwerty */ - [QWE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX - ), - - /* system */ - [SYS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, KC_NUM, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, TO(DVO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, TO(QWE), _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX - ), -}; diff --git a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h deleted file mode 100644 index 271f48d0011b..000000000000 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -// place overrides here diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c deleted file mode 100644 index 0e11fa677975..000000000000 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c +++ /dev/null @@ -1,302 +0,0 @@ -/* -Copyright 2016 Priyadi Iman Nurcahyo - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 { - QWE, // qwerty - COL, // colemak - WOR, // workman - DVO, // dvorak - - MOU, // mouse keys - EMO, // emoji - SYS, // system -}; - -enum keycodes { - // default layout switcher - LAY_QWE = SAFE_RANGE, - LAY_COL, - LAY_WOR, - LAY_DVO, - - // layer switchers - LYR_SYS, - LYR_EMO, - - // os switchers - OS_LIN, - OS_WIN, - OS_MAC, -}; - -// unicode map - -enum unicode_name { - GRIN, // grinning face 😊 - TJOY, // tears of joy 😂 - SMILE, // grining face with smiling eyes 😁 - HEART, // heart âĪ - EYERT, // smiling face with heart shaped eyes 😍 - CRY, // crying face 😭 - SMEYE, // smiling face with smiling eyes 😊 - UNAMU, // unamused 😒 - KISS, // kiss 😘 - HART2, // two hearts 💕 - WEARY, // weary ðŸ˜Đ - OKHND, // ok hand sign 👌 - PENSV, // pensive 😔 - SMIRK, // smirk 😏 - RECYC, // recycle â™ŧ - WINK, // wink 😉 - THMUP, // thumb up 👍 - THMDN, // thumb down 👎 - PRAY, // pray 🙏 - PHEW, // relieved 😌 - MUSIC, // musical notes - FLUSH, // flushed ðŸ˜ģ - CELEB, // celebration 🙌 - CRY2, // crying face ðŸ˜Ē - COOL, // smile with sunglasses 😎 - NOEVS, // see no evil - NOEVH, // hear no evil - NOEVK, // speak no evil - POO, // pile of poo - EYES, // eyes - VIC, // victory hand - BHART, // broken heart - SLEEP, // sleeping face - SMIL2, // smiling face with open mouth & sweat - HUNRD, // 100 - CONFU, // confused - TONGU, // face with tongue & winking eye - DISAP, // disappointed - YUMMY, // face savoring delicious food - CLAP, // hand clapping - FEAR, // face screaming in fear - HORNS, // smiling face with horns - HALO, // smiling face with halo - BYE, // waving hand - SUN, // sun - MOON, // moon - SKULL, // skull -}; - -const uint32_t unicode_map[] PROGMEM = { - [GRIN] = 0x1F600, - [TJOY] = 0x1F602, - [SMILE] = 0x1F601, - [HEART] = 0x2764, - [EYERT] = 0x1f60d, - [CRY] = 0x1f62d, - [SMEYE] = 0x1F60A, - [UNAMU] = 0x1F612, - [KISS] = 0x1F618, - [HART2] = 0x1F495, - [WEARY] = 0x1F629, - [OKHND] = 0x1F44C, - [PENSV] = 0x1F614, - [SMIRK] = 0x1F60F, - [RECYC] = 0x267B, - [WINK] = 0x1F609, - [THMUP] = 0x1F44D, - [THMDN] = 0x1F44E, - [PRAY] = 0x1F64F, - [PHEW] = 0x1F60C, - [MUSIC] = 0x1F3B6, - [FLUSH] = 0x1F633, - [CELEB] = 0x1F64C, - [CRY2] = 0x1F622, - [COOL] = 0x1F60E, - [NOEVS] = 0x1F648, - [NOEVH] = 0x1F649, - [NOEVK] = 0x1F64A, - [POO] = 0x1F4A9, - [EYES] = 0x1F440, - [VIC] = 0x270C, - [BHART] = 0x1F494, - [SLEEP] = 0x1F634, - [SMIL2] = 0x1F605, - [HUNRD] = 0x1F4AF, - [CONFU] = 0x1F615, - [TONGU] = 0x1F61C, - [DISAP] = 0x1F61E, - [YUMMY] = 0x1F60B, - [CLAP] = 0x1F44F, - [FEAR] = 0x1F631, - [HORNS] = 0x1F608, - [HALO] = 0x1F607, - [BYE] = 0x1F44B, - [SUN] = 0x2600, - [MOON] = 0x1F314, - [SKULL] = 0x1F480, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* qwerty */ - [QWE] = LAYOUT( - KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_PSCR, KC_SCRL, KC_PAUS, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - - MO(EMO), MO(SYS), 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, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_MNXT, 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, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_MPLY, KC_MUTE, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PCMM, - KC_MPRV, KC_VOLD, KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, KC_LEFT, TG(MOU), KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LGUI, KC_APP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, XXXXXXX, KC_P0, KC_PDOT, XXXXXXX - ), - - /* colemak */ - [COL] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* workman */ - [WOR] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* dvorak */ - [DVO] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* system */ - [SYS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, LAY_QWE, OS_WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, LAY_DVO, _______, _______, _______, _______, LAY_WOR, OS_LIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, LAY_COL, _______, _______, _______, OS_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* mouse keys */ - [MOU] = 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, KC_BTN4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, KC_BTN5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, _______, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_D, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* emoji */ - [EMO] = 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, X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY), X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN), X(HEART),X(BYE), X(KISS), X(CELEB),X(COOL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,X(SLEEP),X(CLAP), X(CRY), X(VIC), X(BHART),X(SUN), X(SMEYE),X(WINK), X(MOON), X(CONFU), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* - [XXX] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - */ -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - /* layout switcher */ - case LAY_QWE: - if (record->event.pressed) { - persistent_default_layer_set(1UL<event.pressed) { - persistent_default_layer_set(1UL<event.pressed) { - persistent_default_layer_set(1UL<event.pressed) { - persistent_default_layer_set(1UL<. #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< - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/keymap.c b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/keymap.c deleted file mode 100644 index 58d23d2566da..000000000000 --- a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/keymap.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2019 Adam Newbold - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines 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] = { -/* - +-------+ +-------+-------+-------+ +-------+-------+ - | Esc | | 7 | 8 | 9 | | ( | ) | - +-------+ +-------+-------+-------+ +-------+-------+ - | <-- | | 4 | 5 | 6 | | - | / | - +-------+ +-------+-------+-------+ +-------+-------+ - | --> | | 1 | 2 | 3 | | + | * | - +-------+ +--+-------+-------+-------+ +-------+-------+ - | Space | | 0 | , | . | | Ret | Print | - +-------+ +----------+-------+-------+ +-------+-------+ -*/ - [0] = LAYOUT( - KC_MUTE, KC_KP_7, KC_KP_8, KC_KP_9, KC_LEFT_PAREN, KC_RIGHT_PAREN, - KC_VOLD, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, KC_KP_SLASH, - KC_VOLU, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, KC_KP_ASTERISK, - MO(1), KC_KP_0, KC_KP_COMMA, KC_KP_DOT, KC_RETURN, KC_QUESTION - ), - [1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_BRMD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_BRMU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void keyboard_post_init_user(void) { - -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/readme.md b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/readme.md deleted file mode 100644 index 0bccfdb6cf81..000000000000 --- a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# @newbold's layout for the Numeric Keypad IIe - -Includes the standard layout for all keys except for the left-most column, which is remapped to these keys: - - +-----------------+ - | Mute | - +-----------------+ - | Volume Down | - +-----------------+ - | Volume Up | - +-----------------+ - | Function | - +-----------------+ - - With Function held down: - - +-----------------+ - | Mute | - +-----------------+ - | Brightness Down | - +-----------------+ - | Brightness Up | - +-----------------+ - | Function | - +-----------------+ - - And also with Function held down, "Print" (the lower right key) will trigger RESET (putting the controller into bootloader mode so it can be flashed). - \ No newline at end of file diff --git a/keyboards/converter/palm_usb/rules.mk b/keyboards/converter/palm_usb/rules.mk index e02b683d3bc3..72d9daf6d9ac 100644 --- a/keyboards/converter/palm_usb/rules.mk +++ b/keyboards/converter/palm_usb/rules.mk @@ -14,6 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. CUSTOM_MATRIX = yes SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes DEFAULT_FOLDER = converter/palm_usb/stowaway diff --git a/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c b/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c index 0ce8a64ab7ae..0f3911a2d362 100644 --- a/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c +++ b/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c @@ -51,10 +51,11 @@ void matrix_init_user(void) { writePinLow(B0); } -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) { writePinHigh(B0); } else { writePinLow(B0); } + return false; } diff --git a/keyboards/converter/siemens_tastatur/rules.mk b/keyboards/converter/siemens_tastatur/rules.mk index bd42622805ad..1bc8ee188b85 100644 --- a/keyboards/converter/siemens_tastatur/rules.mk +++ b/keyboards/converter/siemens_tastatur/rules.mk @@ -15,5 +15,3 @@ SLEEP_LED_ENABLE = yes CUSTOM_MATRIX = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/converter/sun_usb/led.c b/keyboards/converter/sun_usb/led.c index 493825bac8d9..160664ffded0 100644 --- a/keyboards/converter/sun_usb/led.c +++ b/keyboards/converter/sun_usb/led.c @@ -19,15 +19,18 @@ along with this program. If not, see . #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< @sigma - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "sigma.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = - { - [_QWERTY] = LAYOUT_us_unix( - QK_LEAD, KC_SCRT, KC_F1,KC_F2,KC_F3,KC_F4, KC_F5,KC_F6,KC_F7,KC_F8, KC_F9,KC_F10,KC_F11,KC_F12, KC_PSCR,KC_SCRL,KC_PAUS, KC_MUTE,KC_VOLD,KC_VOLU,KC_OS_LOCK, - KC_STOP, KC_OS_REDO, 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_INS, KC_HOME,KC_PGUP, KC_NUM, KC_PSLS,KC_PAST,KC_PMNS, - VRSN, KC_OS_UNDO, KC_TAB, KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_MAKE, KC_OS_COPY, 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_P4, KC_P5, KC_P6, - KC_EXECUTE,KC_OS_PASTE, 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_FIND, KC_OS_CUT, KC_CAPS,KC_LGUI,KC_LALT, KC_SPC, KC_RGUI,KC_APP,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT - ), - }; diff --git a/keyboards/converter/sun_usb/type5/keymaps/sigma/readme.md b/keyboards/converter/sun_usb/type5/keymaps/sigma/readme.md deleted file mode 100644 index 6ae011f86686..000000000000 --- a/keyboards/converter/sun_usb/type5/keymaps/sigma/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -Overview -======== - -This is my personal Sun Type 5 configuration. - -How to build ------------- - - make converter/sun_usb/type5:sigma:teensy - -Layers ------- diff --git a/keyboards/converter/sun_usb/type5/keymaps/sigma/rules.mk b/keyboards/converter/sun_usb/type5/keymaps/sigma/rules.mk deleted file mode 100644 index f1de332c0c12..000000000000 --- a/keyboards/converter/sun_usb/type5/keymaps/sigma/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BOOTLOADER = halfkay -UNICODE_ENABLE = yes diff --git a/keyboards/converter/usb_usb/ble/info.json b/keyboards/converter/usb_usb/ble/info.json index 56062f7ad371..18edf5f577c1 100644 --- a/keyboards/converter/usb_usb/ble/info.json +++ b/keyboards/converter/usb_usb/ble/info.json @@ -1,3 +1,6 @@ { - "bootloader": "caterina" + "bootloader": "caterina", + "bluetooth": { + "driver": "bluefruit_le" + } } diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk index 86a4e15ffec5..5b0435372b70 100644 --- a/keyboards/converter/usb_usb/ble/rules.mk +++ b/keyboards/converter/usb_usb/ble/rules.mk @@ -3,5 +3,4 @@ F_CPU = 8000000 EXTRAKEY_ENABLE = no BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE LTO_ENABLE = yes diff --git a/keyboards/converter/usb_usb/hasu/rules.mk b/keyboards/converter/usb_usb/hasu/rules.mk index c2ee0bc86f97..6e7633bfe015 100644 --- a/keyboards/converter/usb_usb/hasu/rules.mk +++ b/keyboards/converter/usb_usb/hasu/rules.mk @@ -1,2 +1 @@ -# Processor frequency -F_CPU = 16000000 +# This file intentionally left blank diff --git a/keyboards/converter/usb_usb/keymaps/ble/keymap.c b/keyboards/converter/usb_usb/keymaps/ble/keymap.c deleted file mode 100644 index 7cac65e78522..000000000000 --- a/keyboards/converter/usb_usb/keymaps/ble/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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: plain Qwerty without layer switching - * ,---------------. ,---------------. ,---------------. - * |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| - * ,---. |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help | - * `---' `---------------' `---------------' `---------------' `-----------' `---------------' `-------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| |Stp|Agn| - * |-----------------------------------------------------------| |-----------| |---------------| |-------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| |Mnu|Und| - * |-----------------------------------------------------------| `-----------' |---------------| |-------| - * |CapsL | A| S| D| F| G| H| J| K| L| ;| :| #|Retn| | 4| 5| 6|KP,| |Sel|Cpy| - * |-----------------------------------------------------------| ,---. |---------------| |-------| - * |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=| |Exe|Pst| - * |-----------------------------------------------------------| ,-----------. |---------------| |-------| - * |Ctl|Gui|Alt|MHEN|HNJ| Space |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent| |Fnd|Cut| - * `-----------------------------------------------------------' `-----------' `---------------' `-------' - */ - [0] = 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, KC_HELP, - 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_STOP, KC_AGIN, - KC_TAB, KC_Q, KC_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_MENU, KC_UNDO, - KC_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_PCMM, KC_SLCT, KC_COPY, - 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_UP, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_EXEC, KC_PSTE, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_LNG2, KC_SPC, KC_LNG1, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_FIND, KC_CUT - ), -}; diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c b/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c deleted file mode 100644 index 3b894886482a..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright 2020 Christopher Ko - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "shared_enum.h" - -#include "quantum.h" - -enum combo_event { - SD_LAYER_COMBO, - KL_MEH_COMBO, -}; - -const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END}; // Combo: S + D for SuperDuper mode -const uint16_t PROGMEM kl_combo[] = {KC_K, KC_L, COMBO_END}; // Combo: K + L for Meh modifier - -// Register the combo action -combo_t key_combos[] = { - [SD_LAYER_COMBO] = COMBO_ACTION(sd_combo), - [KL_MEH_COMBO] = COMBO_ACTION(kl_combo), -}; - -// Called after a combo event is triggered -void process_combo_event(uint16_t combo_index, bool pressed) { - switch (combo_index) { - case SD_LAYER_COMBO: - if (pressed) { - layer_on(_SUPERDUPER); - } else { - layer_off(_SUPERDUPER); - } - break; - - case KL_MEH_COMBO: - if (pressed) { - register_mods(MOD_MEH); - } else { - unregister_mods(MOD_MEH); - } - break; - } -} diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/config.h b/keyboards/converter/usb_usb/keymaps/chriskopher/config.h deleted file mode 100644 index 8f26d257994d..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Christopher Ko - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 // Delay for tap modifiers until it is considered a hold - -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY // Allows configuration of hold on other key press per key in keymap.c - -#define COMBO_TERM 20 // Delay for combo keys to be chained together diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c b/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c deleted file mode 100644 index d34f91d21e4f..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/keymap.c +++ /dev/null @@ -1,186 +0,0 @@ -/* Copyright 2020 Christopher Ko - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "shared_enum.h" - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Modified Qwerty for chriskopher: base default layer - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | |Ins|Hom|PgU| |NmL| /| *| -| - * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Bsp| |Del|End|PgD| | 7| 8| 9| | - * |-----------------------------------------------------------| `-----------' |-----------| | - * |Ctl/Esc| A| S| D| F| G| H| J| K| L|;/:| ' | Return| | 4| 5| 6| +| - * |-----------------------------------------------------------| ,---. |---------------| - * |Shift/( |Dev/Z| X| C| V| B| N| M| ,| .| /| Shift/)| | ↑ | | 1| 2| 3| | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * |Meh/CapsL|Gui|Alt| Space |Alt|Adjust/Gui|App| Ctl| | ← | ↓ | → | | 0| .|Ent| - * `-----------------------------------------------------------' `-----------' `---------------' - */ - [_CKO] = LAYOUT_fullsize_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_BSLS, 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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN_CLN), KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, - TD(ESPC_L), LT(_DEV,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(ESPC_R), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - MEH_T(KC_CAPS), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - - /* Regular Qwerty: default layer - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp| |Ins|Hom|PgU| |NmL| /| *| -| - * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| | - * |-----------------------------------------------------------| `-----------' |-----------| | - * |CapsL | A| S| D| F| G| H| J| K| L| ;| '| Return| | 4| 5| 6| +| - * |-----------------------------------------------------------| ,---. |---------------| - * |Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift | | ↑ | | 1| 2| 3| | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * |Ctl|Gui|Alt| Space |Alt|Adjust/Gui|App|Ctl| | ← | ↓ | → | | 0| .|Ent| - * `-----------------------------------------------------------' `-----------' `---------------' - */ - [_QWERTY] = LAYOUT_fullsize_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_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, LT(_ADJUST,KC_RGUI), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - - /* SuperDuper - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * | | | | | | | | | | | | | | | | | | | | | - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | | | | | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-----------| |---------------| - * | | | | | | | |1T |T← |T→ |9T | | | | | | | | | | | | | - * |-----------------------------------------------------------| `-----------' |-----------| | - * | |Alt|[SuperDuper]|Bksp|Ctl| ← | ↓ | ↑ | → |Del| | | | | | | | - * |-----------------------------------------------------------| ,---. |---------------| - * | | | | | | | | | | |ToggleSD| | | | | | | | | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * | | | | Shift | | | | | | | | | | | | | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - [_SUPERDUPER] = LAYOUT_fullsize_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, C(KC_1), C(S(KC_TAB)), C(KC_TAB), C(KC_9), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LALT, _______, _______, KC_BSPC, KC_LCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_DEL, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_SUPERDUPER), _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Dev - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * | | | | | | | | | | | | | | | | | | | | | - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | | | | | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-----------| |---------------| - * | | | | | | | | - | + | ( | ) | | | | | | | | | | | | | - * |-----------------------------------------------------------| `-----------' |-----------| | - * | | | | | | | _ | [ | ] | { | } | | | | | | | | - * |-----------------------------------------------------------| ,---. |---------------| - * | | | | | | | = | | | < | > | ? | | | | | | | | | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * | | | | | | | | | | | | | | | | | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - [_DEV] = LAYOUT_fullsize_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MINS, S(KC_EQL), S(KC_9), S(KC_0), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, S(KC_MINS), KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_EQL, S(KC_BSLS), S(KC_COMM), S(KC_DOT), S(KC_SLSH), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Adjust - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * | | | | | | | | | | | | | | | | | | | | | - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,--------------. ,---------------. - * | | | | | | | | | | | | | | | |Play|Next|VolU| | | | | | - * |-----------------------------------------------------------| |--------------| |---------------| - * | |QWERTY| | | | | | | | | | | | | |Stop|Prev|VolD| | | | | | - * |-----------------------------------------------------------| `--------------' |-----------| | - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,---. |---------------| - * | | | |CKO| | | |Play|Mute|VolD|VolU| SD| | | | | | | | | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * | | | | | | | | | | | | | | | | | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - [_ADJUST] = LAYOUT_fullsize_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_VOLU, _______, _______, _______, _______, - _______, DF(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, DF(_CKO), _______, _______, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, TG(_SUPERDUPER), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -/* Empty layout for future reference - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * | | | | | | | | | | | | | | | | | | | | | - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | | | | | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |-----------| |---------------| - * | | | | | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `-----------' |-----------| | - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,---. |---------------| - * | | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * | | | | | | | | | | | | | | | | | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - /* - * [_EMPTY] = LAYOUT_fullsize_ansi( - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - * _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - * ), - */ -}; -// clang-format on - -// Configure hold on other key press per key -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // I don't like how ignore interrupt feels with these keys specifically when I'm typing - case LCTL_T(KC_ESC): - return true; - default: - return false; - } -} diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/readme.md b/keyboards/converter/usb_usb/keymaps/chriskopher/readme.md deleted file mode 100644 index 59f70716aed5..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/readme.md +++ /dev/null @@ -1,193 +0,0 @@ -# chriskopher's QMK Config -Currently designed for the use of an ANSI tenkeyless keyboard on Windows 10. Although many of the ideas can be applied agnostically across operating systems. - -## Hardware -- [Hasu USB to USB Controller Converter](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/) - - Limitations include: - - 6KRO - - Media/System control keys and Fn key are not recognized by the converter - - Max firmware size of 28K and a lot of it is taken up by the USB keyboard support, so not all QMK features can be enabled - - No mouse or other pointing device support -- A regular ANSI QWERTY USB Type B keyboard - -## Layer Overview -### Base Layers -#### 0. [My personal modified QWERTY layout](#chriskopher-qwerty-layout) -This is the default base layer that is used for most of my typing and where the intermediate layers are stacked onto. It is loaded by default on keyboard power up. -- Apply this base layer with [Adjust](#adjust-layer) + c, or by powering on the keyboard -- Swapped CapsLock and LCtrl for ergonomics with often performed LCtrl keyboard shortcuts -- Swapped \\ and Backspace to minimize hand movement, inspired by the [HHKB](https://happyhackingkb.com/) layout -- Overloaded modifier keys, inspired by Steve Losh's [A Modern Space Cadet](https://stevelosh.com/blog/2012/10/a-modern-space-cadet/) - - Tap LShift for (, hold for LShift - - Tap RShift for ), hold for RShift - - Tap LCtrl for Esc, hold for LCtrl (remember that LCtrl is swapped with CapsLock) -- Tap Dances that allow different functionality based on the number of key presses within the `TAPPING_TERM` of 200 ms - - Extended space cadet shifting: - - Two taps of LShift sends {, and three taps send [ - - Two taps of RShift sends }, and three taps send ] - - One tap of ; will send ;, two taps of ; will send : -- Combos that allow for different functionality based on custom chorded key presses within the `COMBO_TERM` of 20 ms - - Press and hold s and d to momentarily activate the [(S)uper(D)uper](#superduper-layer) layer - - Press and hold k and l to momentarily activate Meh modifier key - - Meh key (Ctrl + Shift + Alt) is useful for binding unique hotkeys on the OS that won't collide with or override other existing hotkeys - - Tap CapsLock for CapsLock, hold CapsLock to momentarily activate Meh modifier key while held (remember that LCtrl is swapped with CapsLock) -- Tap/Hold actions for layer switching - - Similar to the overloaded modifier keys - - Tap z for z, hold z to momentarily activate [Dev](#dev-layer) layer while held - - Tap RGui for RGui, hold RGui to momentarily activate [Adjust](#adjust-layer) layer while held - -``` -,---. ,---------------. ,---------------. ,---------------. ,-----------. -|Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| -`---' `---------------' `---------------' `---------------' `-----------' -,-----------------------------------------------------------. ,-----------. ,---------------. -| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | |Ins|Hom|PgU| |NmL| /| *| -| -|-----------------------------------------------------------| |-----------| |---------------| -|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Bsp| |Del|End|PgD| | 7| 8| 9| | -|-----------------------------------------------------------| `-----------' |-----------| | -|Ctl/Esc| A| S| D| F| G| H| J| K| L|;/:| ' | Return| | 4| 5| 6| +| -|-----------------------------------------------------------| ,---. |---------------| -|Shift/( |Dev/Z| X| C| V| B| N| M| ,| .| /| Shift/)| | ↑ | | 1| 2| 3| | -|-----------------------------------------------------------| ,-----------. |-----------| | -|Meh/CapsL|Gui|Alt| Space |Alt|Adjust/Gui|App| Ctl| | ← | ↓ | → | | 0| .|Ent| -`-----------------------------------------------------------' `-----------' `---------------' -``` - -Note: can't use Hyper key (Ctrl + Shift + Alt + Gui) instead of Meh reliably on Windows 10 because pressing Hyper opens Microsoft Office, Hyper + t opens Microsoft Teams, Hyper + d opens Microsoft OneDrive, Hyper + y Yammer, etc. And I couldn't find a clean way to disable this without needing to modify the host computer. - -#### 1. [A regular QWERTY layout](#regular-qwerty-layout) -This layer is for when other people need to type on my keyboard. -- Apply this base layer with [Adjust](#adjust-layer) + q -- The only modification is the addition of the tap/hold action for switching back to the [Adjust](#adjust-layer) layer while held - - Tap RGui for RGui, hold RGui to momentarily activate [Adjust](#adjust-layer) layer while held - -``` -,---. ,---------------. ,---------------. ,---------------. ,-----------. -|Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| -`---' `---------------' `---------------' `---------------' `-----------' -,-----------------------------------------------------------. ,-----------. ,---------------. -| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp| |Ins|Hom|PgU| |NmL| /| *| -| -|-----------------------------------------------------------| |-----------| |---------------| -|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| | -|-----------------------------------------------------------| `-----------' |-----------| | -|CapsL | A| S| D| F| G| H| J| K| L| ;| '| Return| | 4| 5| 6| +| -|-----------------------------------------------------------| ,---. |---------------| -|Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift | | ↑ | | 1| 2| 3| | -|-----------------------------------------------------------| ,-----------. |-----------| | -|Ctl|Gui|Alt| Space |Alt|Adjust/Gui|App|Ctl| | ← | ↓ | → | | 0| .|Ent| -`-----------------------------------------------------------' `-----------' `---------------' -``` - -### Intermediate Layers -#### 2. [(S)uper(D)uper Mode](#superduper-layer) -Inspired by [narze](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck/keymaps/narze) via [jasonrudolph](https://github.com/jasonrudolph/keyboard#super-duper-mode). It's designed to help with navigation while keeping you on the home row, or very close to it. - -- To activate this layer, press s + d simultaneously and hold from the base layer - - Alternatively, hold / to activate the layer. This method is slower because the layer toggle uses a `TAPPING_TERM` of 200 ms but s + d uses a `COMBO_TERM` of only 20 ms (can be changed within `config.h`). -- Use h / j / k / l - for ← / ↓ / ↑ / →, respectively -- Use a for Alt -- Use f for Backspace -- Use g for Ctrl -- Use Space for Shift -- Use ; for Delete -- Use i / o to move to the previous/next tab -- Use u / p to go to the first/last tab (in most apps) -- Use / to toggle [(S)uper(D)uper](#superduper-layer) layer - -``` -,---. ,---------------. ,---------------. ,---------------. ,-----------. -| | | | | | | | | | | | | | | | | | | | | -`---' `---------------' `---------------' `---------------' `-----------' -,-----------------------------------------------------------. ,-----------. ,---------------. -| | | | | | | | | | | | | | | | | | | | | | | | -|-----------------------------------------------------------| |-----------| |---------------| -| | | | | | | |1T |T← |T→ |9T | | | | | | | | | | | | | -|-----------------------------------------------------------| `-----------' |-----------| | -| |Alt|[SuperDuper]|Bksp|Ctl| ← | ↓ | ↑ | → |Del| | | | | | | | -|-----------------------------------------------------------| ,---. |---------------| -| | | | | | | | | | |ToggleSD| | | | | | | | | -|-----------------------------------------------------------| ,-----------. |-----------| | -| | | | Shift | | | | | | | | | | | | | -`-----------------------------------------------------------' `-----------' `---------------' -``` - -#### 3. [Dev](#dev-layer) -This layer is for easy access to symbols commonly used during development. -- To activate this layer, press and hold z from the base layer -- Use u / i / o / p - for - / + / ( / ), respectively -- Use h / j / k / l / ; - for _ / [ / ] / { / }, respectively -- Use n / m / , / . / / - for = / | / < / > / ?, respectively - -``` -,---. ,---------------. ,---------------. ,---------------. ,-----------. -| | | | | | | | | | | | | | | | | | | | | -`---' `---------------' `---------------' `---------------' `-----------' -,-----------------------------------------------------------. ,-----------. ,---------------. -| | | | | | | | | | | | | | | | | | | | | | | | -|-----------------------------------------------------------| |-----------| |---------------| -| | | | | | | | - | + | ( | ) | | | | | | | | | | | | | -|-----------------------------------------------------------| `-----------' |-----------| | -| | | | | | | _ | [ | ] | { | } | | | | | | | | -|-----------------------------------------------------------| ,---. |---------------| -| | | | | | | = | | | < | > | ? | | | | | | | | | -|-----------------------------------------------------------| ,-----------. |-----------| | -| | | | | | | | | | | | | | | | | -`-----------------------------------------------------------' `-----------' `---------------' -``` - -### Top Layer -#### 4. [Adjust](#adjust-layer) -This layer is applied at the top so that it will override all other layers and as a result it will always be possible to change which base layer is applied as a default. It is also used for media controls. -- To activate this layer, press and hold RGui from the base layer -- Switch to [chriskopher modified QWERTY layout](#chriskopher-qwerty-layout) with c -- Switch to [regular QWERTY layout](#regular-qwerty-layout) with q -- Use n / m / , / . / / - for Play/Pause / Mute / Volume Down / Volume Up / Toggle [(S)uper(D)uper](#superduper-layer) layer, respectively -- Use Insert / Home / Page Up - for Play/Pause / Next Track / Volume Up, respectively -- Use Delete / End / Page Down -for Stop / Previous Track / Volume Down, respectively - -``` -,---. ,---------------. ,---------------. ,---------------. ,-----------. -| | | | | | | | | | | | | | | | | | | | | -`---' `---------------' `---------------' `---------------' `-----------' -,-----------------------------------------------------------. ,--------------. ,---------------. -| | | | | | | | | | | | | | | |Play|Next|VolU| | | | | | -|-----------------------------------------------------------| |--------------| |---------------| -| |QWERTY| | | | | | | | | | | | | |Stop|Prev|VolD| | | | | | -|-----------------------------------------------------------| `--------------' |-----------| | -| | | | | | | | | | | | | | | | | | | -|-----------------------------------------------------------| ,---. |---------------| -| | | |CKO| | | |Play|Mute|VolD|VolU| SD| | | | | | | | | -|-----------------------------------------------------------| ,-----------. |-----------| | -| | | | | | | | | | | | | | | | | -`-----------------------------------------------------------' `-----------' `---------------' -``` - -## Build Instructions -To compile and flash the config onto the USB to USB converter: -```sh -cd /path/to/qmk_firmware -qmk config user.keyboard=converter/usb_usb/hasu -qmk config user.keymap=chriskopher -qmk compile -qmk flash -``` - -Alternatively: -```sh -cd /path/to/qmk_firmware -qmk compile -kb converter/usb_usb/hasu -km chriskopher -qmk flash -kb converter/usb_usb/hasu -km chriskopher -``` - -To modify the config: -```sh -cd /path/to/qmk_firmware/keyboards/converter/usb_usb/keymaps/chriskopher -``` -and edit `keymap.c`, `config.h`, and `rules.mk`. diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk b/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk deleted file mode 100644 index 643e1d013b8c..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2020 Christopher Ko -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -COMMAND_ENABLE = no # Not being used, and can cause conflicts with space cadet shifting -SPACE_CADET_ENABLE = no # Not using special built in space cadet keys, using custom tap dance instead -EXTRAKEY_ENABLE = yes # Used for audio control and system control keys -COMBO_ENABLE = yes # Used to allow chording of keys to trigger an action -TAP_DANCE_ENABLE = yes # Used to allow multiple taps of a key to perform different actions - -LTO_ENABLE = yes # Reduces the compiled firmware size - -SRC += combo.c tap_dance.c diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/shared_enum.h b/keyboards/converter/usb_usb/keymaps/chriskopher/shared_enum.h deleted file mode 100644 index f83bfa3c4909..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/shared_enum.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2020 Christopher Ko - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -enum keyboard_layer { - // Base layers - _CKO, - _QWERTY, - // Intermediate layers - _SUPERDUPER, - _DEV, - // Adjust layer at the end - _ADJUST -}; - -enum tap_dance_key_event { - // Extended space cadet shift tap dance - ESPC_L, - ESPC_R, - // Semicolon-Colon tap dance - SCLN_CLN -}; diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c b/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c deleted file mode 100644 index 51a677a58802..000000000000 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c +++ /dev/null @@ -1,164 +0,0 @@ -/* Copyright 2020 Christopher Ko - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "shared_enum.h" - -#include "quantum.h" - -enum tap_dance_state { - SINGLE_HOLD = 1, - SINGLE_TAP, - DOUBLE_TAP, - TRIPLE_TAP, -}; - -// Record current state of a tap dance -static int espc_l_tap_state = 0; -static int espc_r_tap_state = 0; -static int scln_cln_tap_state = 0; - -// Watch the state of the tap dance -int cur_dance(tap_dance_state_t *state) { - if (state->pressed) { - return SINGLE_HOLD; - } - if (state->count == 1) { - return SINGLE_TAP; - } - if (state->count == 2) { - return DOUBLE_TAP; - } - if (state->count == 3) { - return TRIPLE_TAP; - } - - return -1; -} - -// Extended Space Cadet Shift - Left ================================== -void espc_l_finished(tap_dance_state_t *state, void *user_data) { - espc_l_tap_state = cur_dance(state); - switch (espc_l_tap_state) { - case SINGLE_TAP: // ( - register_code16(LSFT(KC_9)); - break; - case DOUBLE_TAP: // { - unregister_code16(LSFT(KC_9)); - register_code16(LSFT(KC_LBRC)); - break; - case TRIPLE_TAP: // [ - unregister_code16(LSFT(KC_LBRC)); - register_code16(KC_LBRC); - break; - case SINGLE_HOLD: // LShift - register_code16(KC_LSFT); - break; - } -} - -void espc_l_reset(tap_dance_state_t *state, void *user_data) { - switch (espc_l_tap_state) { - case SINGLE_TAP: // ( - unregister_code16(LSFT(KC_9)); - break; - case DOUBLE_TAP: // { - unregister_code16(LSFT(KC_LBRC)); - break; - case TRIPLE_TAP: // [ - unregister_code16(KC_LBRC); - break; - case SINGLE_HOLD: // LShift - unregister_code16(KC_LSFT); - break; - } - espc_l_tap_state = 0; -} -// ====================================================================// - -// Extended Space Cadet Shift - Right ================================== -void espc_r_finished(tap_dance_state_t *state, void *user_data) { - espc_r_tap_state = cur_dance(state); - switch (espc_r_tap_state) { - case SINGLE_TAP: // ) - register_code16(LSFT(KC_0)); - break; - case DOUBLE_TAP: // } - unregister_code16(LSFT(KC_0)); - register_code16(LSFT(KC_RBRC)); - break; - case TRIPLE_TAP: // ] - unregister_code16(LSFT(KC_RBRC)); - register_code16(KC_RBRC); - break; - case SINGLE_HOLD: // RShift - register_code16(KC_RSFT); - break; - } -} - -void espc_r_reset(tap_dance_state_t *state, void *user_data) { - switch (espc_r_tap_state) { - case SINGLE_TAP: // ) - unregister_code16(LSFT(KC_0)); - break; - case DOUBLE_TAP: // } - unregister_code16(LSFT(KC_RBRC)); - break; - case TRIPLE_TAP: // ] - unregister_code16(KC_RBRC); - break; - case SINGLE_HOLD: // RShift - unregister_code16(KC_RSFT); - break; - } - espc_r_tap_state = 0; -} -// ====================================================================// - -// Semicolon - Colon ================================================== -void scln_cln_finished(tap_dance_state_t *state, void *user_data) { - scln_cln_tap_state = cur_dance(state); - switch (scln_cln_tap_state) { - case SINGLE_TAP: // ; - register_code16(KC_SCLN); - break; - default: // : - register_code16(LSFT(KC_SCLN)); - break; - } -} - -void scln_cln_reset(tap_dance_state_t *state, void *user_data) { - switch (scln_cln_tap_state) { - case SINGLE_TAP: // ; - unregister_code16(KC_SCLN); - break; - default: // : - unregister_code16(LSFT(KC_SCLN)); - break; - } -} -// ====================================================================// - -// Associate tap dance with defined functionality -tap_dance_action_t tap_dance_actions[] = { - // Extended space cadet shift left: Hold - Shift, One - (, Two - {, Three - [ - [ESPC_L] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, espc_l_finished, espc_l_reset), - // Extended space cadet shift right: Hold - Shift, One - ), Two - }, Three - ] - [ESPC_R] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, espc_r_finished, espc_r_reset), - // Semicolon - Colon: One - ;, Two - : - [SCLN_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_cln_finished, scln_cln_reset), -}; diff --git a/keyboards/converter/usb_usb/keymaps/coloneljesus/config.h b/keyboards/converter/usb_usb/keymaps/coloneljesus/config.h deleted file mode 100644 index 7fa3bf328ec9..000000000000 --- a/keyboards/converter/usb_usb/keymaps/coloneljesus/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#endif diff --git a/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c b/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c deleted file mode 100644 index 67e1075654a0..000000000000 --- a/keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c +++ /dev/null @@ -1,291 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - /* 0: plain Qwerty without layer switching - * ,---------------. ,---------------. ,---------------. - * |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| - * ,---. |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help | - * `---' `---------------' `---------------' `---------------' `-----------' `---------------' `-------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| |Stp|Agn| - * |-----------------------------------------------------------| |-----------| |---------------| |-------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| |Mnu|Und| - * |-----------------------------------------------------------| `-----------' |---------------| |-------| - * |CapsL | A| S| D| F| G| H| J| K| L| ;| :| #|Retn| | 4| 5| 6|KP,| |Sel|Cpy| - * |-----------------------------------------------------------| ,---. |---------------| |-------| - * |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=| |Exe|Pst| - * |-----------------------------------------------------------| ,-----------. |---------------| |-------| - * |Ctl|Gui|Alt|MHEN|HNJ| Space |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent| |Fnd|Cut| - * `-----------------------------------------------------------' `-----------' `---------------' `-------' - */ - // LAYOUT_all( - // F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, - // ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,PWR, HELP, - // GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, STOP,AGIN, - // TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, MENU,UNDO, - // CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, P4, P5, P6, PCMM, SLCT,COPY, - // LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PEQL, EXEC,PSTE, - // LCTL,LGUI,LALT,MHEN,HANJ, SPC, HAEN,HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT, FIND,CUT - // ), - 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, KC_HELP, - 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_STOP, KC_AGIN, - KC_TAB, KC_Q, KC_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_MENU, KC_UNDO, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_SLCT, KC_COPY, - 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_UP, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_EXEC, KC_PSTE, - KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_LNG2, KC_SPC, KC_LNG1, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_FIND, KC_CUT - ), - LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -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) { - -} - -/* - * Keymap samples - */ -#if 0 - /* ANSI layout - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp| |Ins|Hom|PgU| |NmL| /| *| -| - * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| - * |-----------------------------------------------------------| `-----------' |-----------| | - * |CapsL | A| S| D| F| G| H| J| K| L| ;| '| Return| | 4| 5| 6| | - * |-----------------------------------------------------------| ,---. |---------------| - * |Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3| | - * |-----------------------------------------------------------| ,-----------. |-----------| | - * |Ctl|Gui|Alt| Space |Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .|Ent| - * `-----------------------------------------------------------' `-----------' `---------------' - */ - LAYOUT_fullsize_ansi( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9, - LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS, - LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3, - LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT - ), - - /* ISO layout - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| ^| Bsp| |Ins|Hom|PgU| |NmL| /| *| -| - * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Retn| |Del|End|PgD| | 7| 8| 9| +| - * |------------------------------------------------------` | `-----------' |-----------| | - * |CapsL | A| S| D| F| G| H| J| K| L| ;| '| #| | | 4| 5| 6| | - * |-----------------------------------------------------------| ,---. |---------------| - * |Shft|\ | Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3|Ent| - * |-----------------------------------------------------------| ,-----------. |-----------| | - * |Ctl|Gui|Alt| Space |HNK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .| | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - LAYOUT_fullsize_iso( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,ENT, DEL, END, PGDN, P7, P8, P9, PPLS, - LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NUHS, P4, P5, P6, - LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3, PENT, - LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT - ), - - /* JIS layout - * ,---. ,---------------. ,---------------. ,---------------. ,-----------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| - * `---' `---------------' `---------------' `---------------' `-----------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| ^|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| - * |-----------------------------------------------------------| |-----------| |---------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| @| [| Retn| |Del|End|PgD| | 7| 8| 9| +| - * |------------------------------------------------------` | `-----------' |-----------| | - * |CapsL | A| S| D| F| G| H| J| K| L| ;| :| ]| | | 4| 5| 6| | - * |-----------------------------------------------------------| ,---. |---------------| - * |Shft | Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|Ent| - * |-----------------------------------------------------------| ,-----------. |-----------| | - * |Ctl|Gui|Alt|MHEN| Space |HENK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .| | - * `-----------------------------------------------------------' `-----------' `---------------' - */ - LAYOUT_jis( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JPY, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, ENT, DEL, END, PGDN, P7, P8, P9, PPLS, - LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NUHS, P4, P5, P6, - LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PENT, - LCTL,LGUI,LALT,MHEN, SPC, HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT - ), - - /* Colemak http://colemak.com - * ,-----------------------------------------------------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| - * |-----------------------------------------------------------| - * |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \| - * |-----------------------------------------------------------| - * |BackSp| A| R| S| T| D| H| N| E| I| O| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| K| M| ,| ,| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl |Gui |Alt | Space |Alt |Gui |Menu|Ctrl| - * `----------------------------------------------------------' - */ - LAYOUT_all( - F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,PWR, HELP, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, STOP,AGIN, - TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, MENU,UNDO, - BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, NUHS,ENT, P4, P5, P6, PCMM, SLCT,COPY, - LSFT,NUBS,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PEQL, EXEC,PSTE, - LCTL,LGUI,LALT,MHEN,HANJ, SPC, HAEN,HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT, FIND,CUT - ), - - /* Dvorak http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard - * ,-----------------------------------------------------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]|Backspa| - * |-----------------------------------------------------------| - * |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| \| - * |-----------------------------------------------------------| - * |BackSp| A| O| E| U| I| D| H| T| N| S| -|Return | - * |-----------------------------------------------------------| - * |Shift | ;| Q| J| K| X| B| M| Wl V| Z|Shift | - * |-----------------------------------------------------------| - * |Ctrl |Gui |Alt | Space |Alt |Gui |Menu|Ctrl| - * `-----------------------------------------------------------' - */ - LAYOUT_all( - F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,PWR, HELP, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, STOP,AGIN, - TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, MENU,UNDO, - CAPS,A, O, E, U, I, D, H, T, N, S, MINS, NUHS,ENT, P4, P5, P6, PCMM, SLCT,COPY, - LSFT,NUBS,SCLN,Q, J, K, X, B, M, W, V, Z, RO, RSFT, UP, P1, P2, P3, PEQL, EXEC,PSTE, - LCTL,LGUI,LALT,MHEN,HANJ, SPC, HAEN,HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT, FIND,CUT - ), - - /* Workman http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/ - * ,-----------------------------------------------------------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| - * |-----------------------------------------------------------| - * |Tab | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| - * |-----------------------------------------------------------| - * |CapsLo| A| S| H| T| G| Y| N| E| O| I| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| M| C| V| K| L| ,| ,| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl |Gui |Alt | Space |Alt |Gui |Menu|Ctrl| - * `-----------------------------------------------------------' - */ - LAYOUT_all( - F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,PWR, HELP, - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, STOP,AGIN, - TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, MENU,UNDO, - CAPS,A, S, H, T, G, Y, N, E, O, I, QUOT, NUHS,ENT, P4, P5, P6, PCMM, SLCT,COPY, - LSFT,NUBS,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PEQL, EXEC,PSTE, - LCTL,LGUI,LALT,MHEN,HANJ, SPC, HAEN,HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT, FIND,CUT - ), - -#define KC_LT1 LT(1, KC_SPC) - -/* - * SpaceFN layout - * http://geekhack.org/index.php?topic=51069.0 - */ -const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: plain Qwerty - * ,---------------. ,---------------. ,---------------. - * |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| - * ,---. |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help | - * `---' `---------------' `---------------' `---------------' `-----------' `---------------' `-------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| |Stp|Agn| - * |-----------------------------------------------------------| |-----------| |---------------| |-------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| |Mnu|Und| - * |-----------------------------------------------------------| `-----------' |---------------| |-------| - * |LCtrl | A| S| D| F| G| H| J| K| L| ;| :| #|Retn| | 4| 5| 6|KP,| |Sel|Cpy| - * |-----------------------------------------------------------| ,---. |---------------| |-------| - * |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=| |Exe|Pst| - * |-----------------------------------------------------------| ,-----------. |---------------| |-------| - * |Ctl|Gui|Alt|MHEN|HNJ| Space |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent| |Fnd|Cut| - * `-----------------------------------------------------------' `-----------' `---------------' `-------' - */ - [0] = LAYOUT_all( - F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,PWR, HELP, - ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, STOP,AGIN, - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, MENU,UNDO, - LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, P4, P5, P6, PCMM, SLCT,COPY, - LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PEQL, EXEC,PSTE, - LCTL,LGUI,LALT,MHEN,HANJ, LT1, HAEN,HENK,KANA,RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT, FIND,CUT - ), - - /* 1: SpaceFN - * ,-----------------------------------------------------------. - * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | - * |-----------------------------------------------------------| - * |Caps | | |Esc| | | |Hom|Up |End|Psc|Slk|Pau|Ins | - * |-----------------------------------------------------------| - * | | | | | | |PgU|Lef|Dow|Rig| | | | - * |-----------------------------------------------------------| - * | | | | | |Spc|PgD|` |~ | |Men| | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' - */ - [1] = LAYOUT_all( - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, - CAPS,TRNS,TRNS,ESC, TRNS,TRNS,TRNS,HOME,UP, END, PSCR,SLCK,PAUS, INS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PGUP,LEFT,DOWN,RGHT,TRNS,TRNS, TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SPC, PGDN,GRV, TILD, TRNS,APP, TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, TRNS,TRNS, TRNS,TRNS - ), -}; - -#endif diff --git a/keyboards/converter/usb_usb/keymaps/narze/README.md b/keyboards/converter/usb_usb/keymaps/narze/README.md deleted file mode 100644 index eb9dbbf60b0f..000000000000 --- a/keyboards/converter/usb_usb/keymaps/narze/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# narze's layout for usb-usb converter - -## Key features -- Qwerty + [Colemak](https://colemak.com) layouts, and you can type Qwerty on software-level Colemak as well. Very useful for gaming or when your friend wanna type something but don't use Colemak. -- [(S)uper (D)uper Mode](/users/narze/readme.md) - -## Build instructions -- `cd /path/to/qmk_firmware` -- Ensure latest libraries are loaded `make git-submodule` -- Build & flash : `make converter/usb_usb:narze:flash` diff --git a/keyboards/converter/usb_usb/keymaps/narze/config.h b/keyboards/converter/usb_usb/keymaps/narze/config.h deleted file mode 100644 index a7fccc41873f..000000000000 --- a/keyboards/converter/usb_usb/keymaps/narze/config.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -/* - * 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 - -#undef TAPPING_TERM -#define TAPPING_TERM 100 - -#define COMBO_TERM 20 - -#define PERMISSIVE_HOLD - -#define SUPER_DUPER_SOUND S__NOTE(_B1) - -#define MOUSEKEY_DELAY 100 - -#define USB_POLLING_INTERVAL_MS 1 - -#ifdef AUDIO_ENABLE - #define STARTUP_SONG SONG(PLANCK_SOUND) - - #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ - SONG(COLEMAK_SOUND), \ - SONG(DVORAK_SOUND) \ - } -#endif diff --git a/keyboards/converter/usb_usb/keymaps/narze/keymap.c b/keyboards/converter/usb_usb/keymaps/narze/keymap.c deleted file mode 100644 index 7b1b0ec4459a..000000000000 --- a/keyboards/converter/usb_usb/keymaps/narze/keymap.c +++ /dev/null @@ -1,167 +0,0 @@ -#include QMK_KEYBOARD_H -#include "narze.h" -#include "keymap_colemak.h" - -enum usb_usb_layers { - _QWERTY, - _COLEMAK, - _QWOC, - _SUPERDUPER, -}; - -enum usb_usb_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - QWOC, - SUPERDUPER, - SDTOGG, // Toggle SuperDuper - GUI_UNDS, - LSFT_LPRN, - RSFT_RPRN, -}; - -#define HPR_ESC ALL_T(KC_ESC) -#define SFT_ENT SFT_T(KC_ENT) -#define BRWS_L S(LGUI(KC_LBRC)) -#define BRWS_R S(LGUI(KC_RBRC)) - -enum process_combo_event { - CB_SUPERDUPER, -}; - -const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { - /* 0: plain Qwerty without layer switching - * ,---------------. ,---------------. ,---------------. - * |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24| - * ,---. |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------. - * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help | - * `---' `---------------' `---------------' `---------------' `-----------' `---------------' `-------' - * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| |Stp|Agn| - * |-----------------------------------------------------------| |-----------| |---------------| |-------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| |Mnu|Und| - * |-----------------------------------------------------------| `-----------' |---------------| |-------| - * |CapsL | A| S| D| F| G| H| J| K| L| ;| :| #|Retn| | 4| 5| 6|KP,| |Sel|Cpy| - * |-----------------------------------------------------------| ,---. |---------------| |-------| - * |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=| |Exe|Pst| - * |-----------------------------------------------------------| ,-----------. |---------------| |-------| - * |Ctl|Gui|Alt|MHEN|HNJ| Space |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent| |Fnd|Cut| - * `-----------------------------------------------------------' `-----------' `---------------' `-------' - */ - [_QWERTY] = 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, KC_HELP, - 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_STOP, KC_AGIN, - KC_TAB, KC_Q, KC_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_MENU, KC_UNDO, - HPR_ESC, 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_PCMM, KC_SLCT, KC_COPY, - LSFT_LPRN,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, RSFT_RPRN, KC_UP, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_EXEC, KC_PSTE, - KC_LCTL, KC_LALT, GUI_UNDS,KC_INT5, KC_LNG2, KC_SPC, KC_LNG1, KC_INT4, KC_INT2, KC_BSPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_FIND, KC_CUT - ), - [_COLEMAK] = 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, KC_HELP, - 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_STOP, KC_AGIN, - KC_TAB, KC_Q, KC_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_MENU, KC_UNDO, - HPR_ESC, 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_PCMM, KC_SLCT, KC_COPY, - LSFT_LPRN,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, RSFT_RPRN, KC_UP, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_EXEC, KC_PSTE, - KC_LCTL, KC_LALT, GUI_UNDS,KC_INT5, KC_LNG2, KC_SPC, KC_LNG1, KC_INT4, KC_INT2, KC_BSPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_FIND, KC_CUT - ), - [_QWOC] = 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_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_VOLD, KC_VOLU, KC_MUTE, KC_PWR, KC_HELP, - 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_STOP, KC_AGIN, - KC_TAB, KC_Q, KC_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_MENU, KC_UNDO, - HPR_ESC, 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_PCMM, KC_SLCT, KC_COPY, - LSFT_LPRN,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, RSFT_RPRN, KC_UP, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_EXEC, KC_PSTE, - KC_LCTL, KC_LALT, GUI_UNDS,KC_INT5, KC_LNG2, KC_SPC, KC_LNG1, KC_INT4, KC_INT2, KC_BSPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, KC_FIND, KC_CUT - ), - [_SUPERDUPER] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, BRWS_L, BRWS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_SPC, KC_LALT, _______, _______, KC_BSPC, KC_LGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - - set_superduper_key_combo_layer(_QWERTY); - } - return false; - - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - - set_superduper_key_combo_layer(_COLEMAK); - } - return false; - - case QWOC: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWOC); - - set_superduper_key_combo_layer(_QWOC); - } - return false; - - case SDTOGG: - if (record->event.pressed) { - toggle_superduper_mode(); - } - return false; - - // Macros - - // 1. Hold for LGUI, tap for Underscore - case GUI_UNDS: - perform_space_cadet(record, keycode, KC_LGUI, KC_LSFT, KC_MINS); - return false; - - // 2. Hold for LSHIFT, tap for Parens open - case LSFT_LPRN: - perform_space_cadet(record, keycode, KC_LSFT, KC_LSFT, KC_9); - return false; - - // 3. Hold for RSHIFT, tap for Parens close - case RSFT_RPRN: - perform_space_cadet(record, keycode, KC_RSFT, KC_RSFT, KC_0); - return false; - - default: - return true; - } - return true; -} - -void matrix_setup(void) { - set_superduper_key_combos(); -} - -void process_combo_event(uint16_t combo_index, bool pressed) { - if (pressed) { - switch(combo_index) { - case CB_SUPERDUPER: - layer_on(_SUPERDUPER); - break; - } - } else { - layer_off(_SUPERDUPER); - unregister_mods(MOD_BIT(KC_LGUI) | MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT)); // Sometimes mods are held, unregister them - } -} diff --git a/keyboards/converter/usb_usb/keymaps/narze/rules.mk b/keyboards/converter/usb_usb/keymaps/narze/rules.mk deleted file mode 100644 index 2d982de62890..000000000000 --- a/keyboards/converter/usb_usb/keymaps/narze/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -EXTRAKEY_ENABLE = no -COMBO_ENABLE = yes diff --git a/keyboards/converter/usb_usb/leonardo/info.json b/keyboards/converter/usb_usb/leonardo/info.json new file mode 100644 index 000000000000..56062f7ad371 --- /dev/null +++ b/keyboards/converter/usb_usb/leonardo/info.json @@ -0,0 +1,3 @@ +{ + "bootloader": "caterina" +} diff --git a/keyboards/converter/usb_usb/leonardo/rules.mk b/keyboards/converter/usb_usb/leonardo/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/converter/usb_usb/leonardo/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/converter/usb_usb/readme.md b/keyboards/converter/usb_usb/readme.md index 594a9be877e4..50743b11fcc6 100644 --- a/keyboards/converter/usb_usb/readme.md +++ b/keyboards/converter/usb_usb/readme.md @@ -11,6 +11,10 @@ Make example for this keyboard (after setting up your build environment): make converter/usb_usb:default +If you use Arduino Leonardo with a USB Host Shield: + + make converter/usb_usb/leonardo:default + See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Note that you have to choose the right hardware variant as your subproject, otherwise you will probably have issues. @@ -23,8 +27,6 @@ If you are sure you have this correct, try changeing the default in `usb_usb/rul The Pro Micro variant uses a 3.3V Pro Micro and thus runs at 8MHz, hence the following line in `usb_usb/pro_micro/rules.mk`: `F_CPU = 8000000` -The converter sold by Hasu runs at 16MHz and so the corresponding line in `usb_usb/hasu/rules.mk` is: -`F_CPU = 16000000` Getting the Hardware -------------------- diff --git a/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c deleted file mode 100644 index e5b110790df1..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/brandonschlack/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright 2019 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "brandonschlack.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Base Layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮──â”ī──┮───┾───┾───â”Ī - * │Ctrl│ Opt│ Cmd│ Space │ Cmd │FnPly│Lef│Dow│Rig│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī─────â”ī─────â”ī───â”ī───â”ī───┘ - */ -[_BASE] = LAYOUT_65_ansi_2_right_mods( - 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, - HY_CAPS, KC_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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT -), -/* Function Layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Del │SlD│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │F13│F14│F15│ LHP │VlU│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │VlD│ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │ │ │ │ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮──â”ī──┮───┾───┾───â”Ī - * │ │ │ │ │ │ │Hom│PgD│End│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī─────â”ī─────â”ī───â”ī───â”ī───┘ - */ -[_FN1] = LAYOUT_65_ansi_2_right_mods( - 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, MC_SLPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_LHPD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, - _______, _______, _______, _______, _______, QK_BOOT, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END -) -}; diff --git a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c deleted file mode 100644 index ed49188c5e91..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2019 COSEYFANNITUTTI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_ESC LT(_FUNC, KC_ESC) - -enum discipline_layers { - _QWERTY, - _WORKMAN, - _FUNC, -}; - -enum discpline_keycodes { - QWERTY = SAFE_RANGE, - WORKMAN, - FUNC, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* QWERTY: Default Layer - * ,--------------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backs| `~| - * |---------------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del| - * |---------------------------------------------------------------| - * |Fn/CL | A| S| D| F| G| H| J| K| L| ;| '| Enter|PgU| - * |---------------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD| - * |---------------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig| - * `---------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_65_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_DEL, - FN_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, KC_HOME, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL,KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Workman - * ,---------------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backs| `~| - * |---------------------------------------------------------------| - * |Tab | Q| D| R| W| B| J| F| U| P| ;| [| ]| \| Del| - * |---------------------------------------------------------------| - * |Fn/CL | A| S| H| T| G| Y| N| E| O| I| '| Enter| PgU| - * |---------------------------------------------------------------| - * |Shift | Z| X| M| C| V| K| L| ,| .| /|Shift |Up| PgD| - * |---------------------------------------------------------------| - * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig| - * `---------------------------------------------------------------' - */ - [_WORKMAN] = LAYOUT_65_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_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - FN_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_ENT, KC_HOME, - KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, 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 - ), - - /* Function - * ,---------------------------------------------------------------. - * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | |INS| - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | |HME| - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | |VL+|END| - * |---------------------------------------------------------------| - * | | | | PLY/PS | | | | |PRV|VL-|NXT| - * `---------------------------------------------------------------' - */ - [_FUNC] = LAYOUT_65_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,_______, QK_BOOT, - _______,KC_WH_U,KC_BTN1,KC_MS_U,KC_BTN2,_______,_______,AG_NORM,AG_SWAP,QWERTY,WORKMAN,_______,_______,_______, KC_INS, - _______,KC_WH_D,KC_MS_L,KC_MS_D,KC_MS_R,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, - _______,KC_WH_L,KC_BTN3,KC_WH_R,_______,_______,_______,_______,_______,_______,_______, _______,KC_VOLU, KC_PGDN, - _______,_______,_______, KC_MPLY, _______,_______,_______,KC_MPRV,KC_VOLD, KC_MNXT - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - case WORKMAN: - if (record->event.pressed) { - set_single_persistent_default_layer(_WORKMAN); - } - return false; - } - return true; -} diff --git a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md b/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md deleted file mode 100644 index c97f4ced164d..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/briianpowell/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Discipline Keyboard Compilation - -## Features - -- Base Layers - - QWERTY - - Workman -- Mouse Keys -- Entertainment Keys - -## Building and flashing - -``` -make coseyfannitutti/discipline:briianpowell:flash -``` diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h deleted file mode 100644 index 1c1f66c89fe0..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 James Young (@noroadsleft) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 ANSI_NUBS_ROW 3 -#define ANSI_NUBS_COL 2 diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c deleted file mode 100644 index 1c7f42f2107e..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2021-2022 James Young (@noroadsleft) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "noroadsleft.h" - -enum layer_names { - _DV, - _QW, - _NP, - _FN, - _SY -}; - -#define FN_CAPS LT(_FN, KC_CAPS) -#define CTL_GRV MT(MOD_LCTL, KC_GRV) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DV] = LAYOUT_65_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP, - FN_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END, - CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_QW] = LAYOUT_65_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_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, - FN_CAPS, KC_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, - CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_NP] = LAYOUT_65_ansi( - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, _______, - _______, _______, _______, _______, KC_C, KC_D, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PMNS, KC_PENT, _______, - _______, _______, _______, _______, KC_A, KC_B, _______, KC_P0, _______, KC_PDOT, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_FN] = LAYOUT_65_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, DM_REC1, - _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SCRL, KC_PAUS, DM_REC2, - _______, M_SALL, _______, _______, G_PWD, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1, - _______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, TO(_SY), _______, _______, DM_PLY2, - _______, _______, _______, TG(_NP), _______, _______, _______, _______, _______, _______ - ), - - [_SY] = LAYOUT_65_ansi( - TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, DB_TOGG, XXXXXXX, VRSN, 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 - ) - -}; diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk deleted file mode 100644 index 9e6797ed3074..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DYNAMIC_MACRO_ENABLE = yes diff --git a/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c deleted file mode 100644 index da719690e70f..000000000000 --- a/keyboards/coseyfannitutti/discipline/keymaps/osx/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2019 COSEYFANNITUTTI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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( - 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_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), - - [1] = LAYOUT_65_ansi( - /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */ - 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, - /* tab Q W E R T Y U I O P [ ] \ delete*/ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, - /* caps A S D F G H J K L ; ' enter pg 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_MPLY, KC_HOME, - /* shift Z X C V B N M , . / shift up pg dn*/ - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_END, - /* ctrl alt cmd space fn alt ctrl left down right*/ - KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL, KC_MPRV, KC_VOLD, KC_MNXT) -}; diff --git a/keyboards/coseyfannitutti/mullet/config.h b/keyboards/coseyfannitutti/mullet/config.h deleted file mode 100644 index 760c1645b080..000000000000 --- a/keyboards/coseyfannitutti/mullet/config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -Copyright 2019 COSEYFANNITUTTI - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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_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 -#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 - * 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/coseyfannitutti/mullet/info.json b/keyboards/coseyfannitutti/mullet/info.json index 695d0729c173..3b63ece22095 100644 --- a/keyboards/coseyfannitutti/mullet/info.json +++ b/keyboards/coseyfannitutti/mullet/info.json @@ -8,6 +8,24 @@ "pid": "0x6969", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "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 + } + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c b/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c deleted file mode 100644 index dcc035140ef5..000000000000 --- a/keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2019 COSEYFANNITUTTI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 _BL 0 -#define _FL 1 - - /* Qwerty - * .---------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | Del | - * |---------------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | PgUp| - * |---------------------------------------------------------------------------------------------+ - * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | PgDn| - * |---------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | Fn | - * |---------------------------------------------------------------------------------------------+ - * | Ctrl | Win | Alt | Space | RAlt | Fn |||||Left |Down |Right| - * '---------------------------------------------------------------------------------------------' - */ - - /* FnLayer - * .---------------------------------------------------------------------------------------------. - * | ` ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | | - * |---------------------------------------------------------------------------------------------+ - * | Tab |STATC|BRTHE|RNBOW|QK_BOOT| | | | | | |PrScr| | \ | Home| - * |---------------------------------------------------------------------------------------------+ - * | Caps |RGBH+|RGBS+|RGBB+| | | | | | | | | Enter | End | - * |---------------------------------------------------------------------------------------------+ - * | Shift |RGBH-|RGBS-|RGBB-| | | | |RGBM-|RGBM+|RGBTG| Shift |VolUp| | - * |---------------------------------------------------------------------------------------------+ - * | Ctrl | Win | Alt | | RAlt | Fn ||||| |VolDn| | - * '---------------------------------------------------------------------------------------------' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_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(_FL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RIGHT), - - [_FL] = LAYOUT( - /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc delete */ - 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, - /* tab Q W E R T Y U I O P [ ] \ pg up */ - KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_BSLS, KC_HOME, - /* caps A S D F G H J K L ; ' enter pg dn */ - KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_END, - /* shift Z X C V B N M , . / shift up fn */ - KC_LSFT, RGB_HUD, RGB_SAD, RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,RGB_RMOD, RGB_MOD, RGB_TOG, KC_RSFT, KC_VOLU, KC_TRNS, - /* ctrl win alt space alt fn left down right */ - KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) -}; diff --git a/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c b/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c deleted file mode 100644 index dd95901367e7..000000000000 --- a/keyboards/coseyfannitutti/romeo/keymaps/brandonschlack/keymap.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright 2020 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "brandonschlack.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Base Layer -* ┌─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮─────┐ -* │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bspc│ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī -* │HyEsc │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Enter│ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮──────â”Ī -* │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│ ?/Sft│ -* ├────┮───┾───┾───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī─┮────â”Ī -* │Ctrl│Opt│Cmd│ Space │ Cmd│Opt│ Lwr│ -* └────â”ī───â”ī───â”ī────────────────────────â”ī────â”ī───â”ī────┘ -*/ -[_BASE] = LAYOUT_ansi_40( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - HY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SF_SLSH, - KC_LCTL, KC_LOPT, KC_LCMD, SPC_RAI, KC_RCMD, KC_ROPT, LOWER -), -/* Lower -* ┌─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮─────┐ -* │Del │BrD│BrU│Msn│LHP│   │   │   │PgU│Hom│End│ SlpD│ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī -* │HyCaps│Mut│VlU│NxW│PvT│Bck│Fwd│NxT│PgD│ ↑ │ Play│ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮──────â”Ī -* │ │Prv│VlD│Nxt│1PX│1Ps│   │ ← │ ↓ │ → │ │ -* ├────┮───┾───┾───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī─┮────â”Ī -* │ │ │ │ │ │ │ │ -* └────â”ī───â”ī───â”ī────────────────────────â”ī────â”ī───â”ī────┘ -*/ -[_LOWER] = LAYOUT_ansi_40( - KC_DEL, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, _______, _______, _______, KC_PGUP, KC_HOME, KC_END, MC_SLPD, - HY_CAPS, KC_MUTE, KC_VOLU, NXT_WIN, PRV_TAB, MC_BACK, MC_FWRD, NXT_TAB, KC_PGDN, KC_UP, KC_MPLY, - _______, KC_MPRV, KC_VOLD, KC_MNXT, PX_AFLL, OP_AFLL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______ -), -/* Raise -* ┌─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮─────┐ -* │~ `  │! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│ │ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī -* │     │ F1│ F2│ F3│ F4│ F5│ F6│_ -│+ =│: ;│ " '│ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮──────â”Ī -* │ │ F7│ F8│ F9│F10│F11│F12│   │{ [│} ]│ |\Sft│ -* ├────┮───┾───┾───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī─┮────â”Ī -* │ │ │ │ │    │   │    │ -* └────â”ī───â”ī───â”ī────────────────────────â”ī────â”ī───â”ī────┘ -*/ -[_RAISE] = LAYOUT_ansi_40( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_LBRC, KC_RBRC, SF_BSLS, - _______, _______, _______, _______, _______, _______, _______ -), -/* Adjust/Macro Layer -* ┌─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮─────┐ -* │Make │   │   │EEP│RST│ │ │ │ │ │ │     │ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī -* │ │ │ │ │ │ │ │ │ │ │ │ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮──────â”Ī -* │ │ │ │ │ │ │ │ │ │ │ │ -* ├────┮───┾───┾───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī─┮────â”Ī -* │ │ │ │ │ │ │ │ -* └────â”ī───â”ī───â”ī────────────────────────â”ī────â”ī───â”ī────┘ -*/ -[_ADJUST] = LAYOUT_ansi_40( - QM_MAKE, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ -) -/* Blank Layer -* ┌─────┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮─────┐ -* │ │ │ │ │ │ │ │ │ │ │ │ │ -* ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī -* │ │ │ │ │ │ │ │ │ │ │ │ -* ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮──────â”Ī -* │ │ │ │ │ │ │ │ │ │ │ │ -* ├────┮───┾───┾───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī┮──â”ī─┮─â”ī─┮────â”Ī -* │ │ │ │ │ │ │ │ -* └────â”ī───â”ī───â”ī────────────────────────â”ī────â”ī───â”ī────┘ -*/ -/* -[BLANK] = LAYOUT_ansi_40( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ -) -*/ -}; - -layer_state_t layer_state_set_keymap(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/cosmo65/config.h b/keyboards/cosmo65/config.h deleted file mode 100644 index c97f9dbac4c8..000000000000 --- a/keyboards/cosmo65/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2022 BentoBox 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 http://www.gnu.org/licenses/. -*/ - -#pragma once - - -/* RGB Lighting */ -#define RGBLED_NUM 16 -#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/cosmo65/info.json b/keyboards/cosmo65/info.json index d20de266e473..1cc4ff4e637f 100644 --- a/keyboards/cosmo65/info.json +++ b/keyboards/cosmo65/info.json @@ -8,6 +8,20 @@ "pid": "0x6331", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/cozykeys/bloomer/config.h b/keyboards/cozykeys/bloomer/config.h index 44f6aa36133f..922dec71d150 100644 --- a/keyboards/cozykeys/bloomer/config.h +++ b/keyboards/cozykeys/bloomer/config.h @@ -16,26 +16,6 @@ along with this program. If not, see . */ #pragma once - -// 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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - // 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/cozykeys/bloomer/info.json b/keyboards/cozykeys/bloomer/info.json index 96db04787eba..dd0232bbcb5d 100644 --- a/keyboards/cozykeys/bloomer/info.json +++ b/keyboards/cozykeys/bloomer/info.json @@ -7,6 +7,24 @@ "vid": "0xFEED", "pid": "0x1191" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "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 + } + }, "ws2812": { "pin": "D7" } diff --git a/keyboards/cozykeys/speedo/v3/config.h b/keyboards/cozykeys/speedo/v3/config.h index 8a13e5e509d0..2643e4de4a1f 100644 --- a/keyboards/cozykeys/speedo/v3/config.h +++ b/keyboards/cozykeys/speedo/v3/config.h @@ -16,24 +16,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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - // 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/cozykeys/speedo/v3/info.json b/keyboards/cozykeys/speedo/v3/info.json index d368fd25fc89..3a084b04baab 100644 --- a/keyboards/cozykeys/speedo/v3/info.json +++ b/keyboards/cozykeys/speedo/v3/info.json @@ -8,6 +8,24 @@ "pid": "0x1192", "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "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 + } + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c b/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c deleted file mode 100644 index 51fb5ca67c4f..000000000000 --- a/keyboards/cozykeys/speedo/v3/keymaps/pcewing/keymap.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2022 Paul Ewing - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "key_repeater.h" - -#include - -enum { - LAYER_DEFAULT, - LAYER_FN, - LAYER_MACRO, - - __LAYER_COUNT, -}; - -#define TO_MACRO TO(LAYER_MACRO) -#define TO_DFLT TO(LAYER_DEFAULT) -#define MO_FN MO(LAYER_FN) - -#define RGB_N RGB_MOD // Rotate to next RGB mode -#define RGB_P RGB_RMOD // Rotate to next RGB mode - -#define KC_YANK LCTL(KC_INS) // Copy shortcut in most terminal emulators -#define KC_PUT LSFT(KC_INS) // Paste shortcut in most terminal emulators - -// Custom keycodes -enum { - SH_TOG = SAFE_RANGE, // Toggle shift - SH_BTN1, // Shift left click - RP_BTN1, // Click repeatedly while key is held -}; - -const uint16_t PROGMEM keymaps[__LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = { - -[LAYER_DEFAULT] = 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_UP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LEFT, KC_RGHT, 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_DOWN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO_FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_RALT, KC_RGUI, KC_RCTL -), - -[LAYER_FN] = LAYOUT( - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, QK_BOOT, - _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, RGB_TOG, KC_YANK, KC_GRV, KC_LBRC, KC_RBRC, KC_PUT, _______, - KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, RGB_N, RGB_P, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_PAUS, RGB_M_P, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - _______, _______, _______, _______, _______, _______, _______, TO_MACRO, _______, _______, _______, _______, _______, _______ -), - -[LAYER_MACRO] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, RP_BTN1, SH_TOG, _______, _______, _______, _______, _______, _______, _______, - TO_DFLT, _______, _______, KC_BTN1, SH_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_1, KC_6, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______ -), - -}; - -static bool shift_enabled = false; - -static struct key_repeater_t* click_repeater = NULL; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SH_TOG: - if (record->event.pressed) { - if (shift_enabled) { - unregister_code(KC_LSFT); - } else { - register_code(KC_LSFT); - } - shift_enabled = !shift_enabled; - } - return false; // Skip all further processing of this key - case SH_BTN1: - if (record->event.pressed) { - register_code(KC_LSFT); - register_code(KC_BTN1); - } else { - unregister_code(KC_BTN1); - unregister_code(KC_LSFT); - } - return false; - case RP_BTN1: - if (record->event.pressed) { - kr_enable(click_repeater); - } else { - kr_disable(click_repeater); - } - return false; - default: - return true; // Process all other keycodes normally - } -} - -void keyboard_post_init_user(void) { - // Seed the random number generator which is used by the key repeater - srand(timer_read32()); - - // Configure and instantiate a key repeater for mouse button 1 "rapid fire" - struct key_repeater_config_t cfg = { - .key = KC_BTN1, - .key_duration_min = 20, - .key_duration_max = 50, - .wait_duration_min = 90, - .wait_duration_max = 140, - }; - - click_repeater = kr_new(&cfg); -} - -void matrix_scan_user(void) { - kr_poll(click_repeater); -} diff --git a/keyboards/cradio/keymaps/default/config.h b/keyboards/cradio/keymaps/default/config.h index 4b5a8b30be33..11eac72a77fb 100644 --- a/keyboards/cradio/keymaps/default/config.h +++ b/keyboards/cradio/keymaps/default/config.h @@ -1,21 +1,8 @@ -/* Copyright 2018-2021 - * ENDO Katsuhiro - * David Philip Barr <@davidphilipbarr> - * Pierre Chevalier - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 2018-2021 +// ENDO Katsuhiro +// David Philip Barr <@davidphilipbarr> +// Pierre Chevalier +// SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/keyboards/cradio/keymaps/default/keymap.c b/keyboards/cradio/keymaps/default/keymap.c index ef3a214a6cba..e6cbe763ba1e 100644 --- a/keyboards/cradio/keymaps/default/keymap.c +++ b/keyboards/cradio/keymaps/default/keymap.c @@ -1,21 +1,8 @@ -/* Copyright 2018-2021 - * ENDO Katsuhiro - * David Philip Barr <@davidphilipbarr> - * Pierre Chevalier - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 2018-2021 +// ENDO Katsuhiro +// David Philip Barr <@davidphilipbarr> +// Pierre Chevalier +// SPDX-License-Identifier: GPL-2.0+ #include QMK_KEYBOARD_H @@ -26,13 +13,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_3x5_2( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - SFT_T(KC_A),ALT_T(KC_S),CTL_T(KC_D),GUI_T(KC_F), KC_G, KC_H, GUI_T(KC_J),CTL_T(KC_K),ALT_T(KC_L),SFT_T(KC_SCLN), + CTL_T(KC_A),ALT_T(KC_S),GUI_T(KC_D),SFT_T(KC_F), KC_G, KC_H, SFT_T(KC_J),GUI_T(KC_K),ALT_T(KC_L),CTL_T(KC_SCLN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LT(2,KC_TAB), KC_ENT, KC_SPC, LT(1,KC_BSPC) ), [1] = LAYOUT_split_3x5_2( - _______, KC_1, KC_2, KC_3, KC_VOLU, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, - _______, KC_4, KC_5, KC_6, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, + KC_INS, KC_1, KC_2, KC_3, KC_VOLU, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, + KC_DEL, KC_4, KC_5, KC_6, KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, KC_CAPS, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, MO(3), QK_GESC, _______, _______ ), diff --git a/keyboards/craftwalk/config.h b/keyboards/craftwalk/config.h index 40d79db10cd3..4254bdc63c3f 100644 --- a/keyboards/craftwalk/config.h +++ b/keyboards/craftwalk/config.h @@ -17,22 +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 - #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 - /* 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/craftwalk/info.json b/keyboards/craftwalk/info.json index b3f3fbbe577b..51030e9e64b8 100644 --- a/keyboards/craftwalk/info.json +++ b/keyboards/craftwalk/info.json @@ -8,6 +8,21 @@ "pid": "0x2E8F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 19, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crawlpad/config.h b/keyboards/crawlpad/config.h index 437843547131..cf006905ab2b 100755 --- a/keyboards/crawlpad/config.h +++ b/keyboards/crawlpad/config.h @@ -13,17 +13,3 @@ #define IS_COMMAND() ( \ false \ ) - -#ifdef RGBLIGHT_ENABLE -#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 -#define RGBLED_NUM 3 -#endif diff --git a/keyboards/crawlpad/info.json b/keyboards/crawlpad/info.json index 0d4d38d4ead8..3eb3b3295554 100644 --- a/keyboards/crawlpad/info.json +++ b/keyboards/crawlpad/info.json @@ -8,6 +8,21 @@ "pid": "0x6070", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 3, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crazy_keyboard_68/config.h b/keyboards/crazy_keyboard_68/config.h index 50fbb5dcb9af..b5128c936513 100644 --- a/keyboards/crazy_keyboard_68/config.h +++ b/keyboards/crazy_keyboard_68/config.h @@ -17,22 +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 -# 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 - /* 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/crazy_keyboard_68/info.json b/keyboards/crazy_keyboard_68/info.json index 5e7416545df9..704bcb5897f6 100644 --- a/keyboards/crazy_keyboard_68/info.json +++ b/keyboards/crazy_keyboard_68/info.json @@ -17,6 +17,24 @@ "caps_lock": "B0", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 84, + "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 + } + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/crimsonkeyboards/resume1800/info.json b/keyboards/crimsonkeyboards/resume1800/info.json index 0a967d11d60b..23257be46e5b 100644 --- a/keyboards/crimsonkeyboards/resume1800/info.json +++ b/keyboards/crimsonkeyboards/resume1800/info.json @@ -20,8 +20,12 @@ }, "processor": "atmega32a", "bootloader": "usbasploader", + "layout_aliases": { + "LAYOUT_resume1800_ansi_all": "LAYOUT_ansi_all", + "LAYOUT_resume1800_iso_all": "LAYOUT_iso_all" + }, "layouts": { - "LAYOUT_resume1800_ansi_all": { + "LAYOUT_ansi_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -138,7 +142,7 @@ {"matrix": [5, 19], "x": 19, "y": 5} ] }, - "LAYOUT_resume1800_iso_all": { + "LAYOUT_iso_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c deleted file mode 100644 index c7f471a113a2..000000000000 --- a/keyboards/crimsonkeyboards/resume1800/keymaps/dee/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2022 CrimsonKeyboards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum custom_keycodes { - KC_00 = SAFE_RANGE, //Double Zero -}; - -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"); - } else { - // when keycode KC_00 is released - } - break; - } - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_resume1800_iso_all( - /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ - 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_F14, KC_PRINT_SCREEN, KC_SCRL, KC_PAUS, KC_INS, KC_END, - /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DELETE, KC_NUM_LOCK, KC_PSLS, KC_PAST, KC_PMNS, - /* Tab Q W E R T Y U I O P [ ] ISO Enter Home Num 7 Num 8 Num 9 N/A */ - KC_TAB, KC_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_HOME, KC_P7, KC_P8, KC_P9, KC_TRNS, - /* Caps A S D F G H J K L ; ' ISO \ Page Up Num 4 Num 5 Num 6 Num + */ - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PPLS, - /* Left Shift N/A Z X C V B N M , . / R Shift Up Page Down Num 1 Num 2 Num 3 N/A */ - KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_TRNS, - /* L Control Windows L Alt Space R Alt Fn R Control Left Down Right Num 00 Num 0 Num . Num Enter */ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_ALGR, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_00, KC_P0, KC_PDOT, KC_PENT) -}; diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c index b8adef49b0ed..a8bb2c13d514 100644 --- a/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/default/keymap.c @@ -34,7 +34,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_resume1800_ansi_all( + [0] = LAYOUT_ansi_all( /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ 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_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c index ea08c07b1977..2f5f351f1399 100644 --- a/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/iso/keymap.c @@ -34,7 +34,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_resume1800_iso_all( + [0] = LAYOUT_iso_all( /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ 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_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ diff --git a/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c b/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c index b8adef49b0ed..a8bb2c13d514 100644 --- a/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c +++ b/keyboards/crimsonkeyboards/resume1800/keymaps/via/keymap.c @@ -34,7 +34,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_resume1800_ansi_all( + [0] = LAYOUT_ansi_all( /* Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 Print Scroll Lock Pause Insert End */ 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_F14, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_END, /* ~ 1 2 3 4 5 6 7 8 9 0 - = Backspace Delete Num Lock Num / Num * Num - */ diff --git a/keyboards/crin/rules.mk b/keyboards/crin/rules.mk index 0aeca0dd9f35..7f4f202a1b70 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/crkbd.c b/keyboards/crkbd/crkbd.c index 3c1cd5565be2..2ac0e63125fa 100644 --- a/keyboards/crkbd/crkbd.c +++ b/keyboards/crkbd/crkbd.c @@ -71,6 +71,10 @@ uint8_t last_col; static const char PROGMEM code_to_name[60] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; static void set_keylog(uint16_t keycode, keyrecord_t *record) { + // save the row and column (useful even if we can't find a keycode to show) + last_row = record->event.key.row; + last_col = record->event.key.col; + key_name = ' '; last_keycode = keycode; if (IS_QK_MOD_TAP(keycode)) { @@ -92,8 +96,6 @@ static void set_keylog(uint16_t keycode, keyrecord_t *record) { // update keylog key_name = pgm_read_byte(&code_to_name[keycode]); - last_row = record->event.key.row; - last_col = record->event.key.col; } static const char *depad_str(const char *depad_str, char depad_char) { @@ -103,11 +105,9 @@ static const char *depad_str(const char *depad_str, char depad_char) { } static void oled_render_keylog(void) { - const char *last_row_str = get_u8_str(last_row, ' '); - oled_write(depad_str(last_row_str, ' '), false); + oled_write_char('0' + last_row, false); oled_write_P(PSTR("x"), false); - const char *last_col_str = get_u8_str(last_col, ' '); - oled_write(depad_str(last_col_str, ' '), false); + oled_write_char('0' + last_col, false); oled_write_P(PSTR(", k"), false); const char *last_keycode_str = get_u16_str(last_keycode, ' '); oled_write(depad_str(last_keycode_str, ' '), false); diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json index 198ef51d5f09..fa9abc574e62 100644 --- a/keyboards/crkbd/info.json +++ b/keyboards/crkbd/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/crkbd/keymaps/ajarov/config.h b/keyboards/crkbd/keymaps/ajarov/config.h deleted file mode 100644 index d993e8e6595e..000000000000 --- a/keyboards/crkbd/keymaps/ajarov/config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -//#define QUICK_TAP_TERM 0 -//#define TAPPING_TERM 100 - -#ifdef RGBLIGHT_ENABLE -# 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 -# define RGBLIGHT_LIMIT_VAL 120 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/ajarov/keymap.c b/keyboards/crkbd/keymaps/ajarov/keymap.c deleted file mode 100644 index 5931dc563582..000000000000 --- a/keyboards/crkbd/keymaps/ajarov/keymap.c +++ /dev/null @@ -1,150 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2022 Alejandro Jarovisky <@ajarov> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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_spanish.h" - -enum layers { - L_BASE, - L_UPPER, - L_RIGHT, - L_UPPER_RIGHT, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [L_BASE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, ES_Q, ES_W, ES_E, ES_R, ES_T, ES_Y, ES_U, ES_I, ES_O, ES_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, ES_A, ES_S, ES_D, ES_F, ES_G, ES_H, ES_J, ES_K, ES_L, ES_NTIL, ES_ACUT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, ES_Z, ES_X, ES_C, ES_V, ES_B, ES_N, ES_M, ES_COMM, ES_DOT, ES_MINS, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_LALT - //`--------------------------' `--------------------------' - ), - - [L_UPPER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_APP, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ES_DIAE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, ES_SCLN, ES_COLN, ES_UNDS, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_LALT - //`--------------------------' `--------------------------' - ), - - [L_RIGHT] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_CAPS, ES_EXLM, ES_DQUO, ES_HASH, ES_CIRC, XXXXXXX, ES_ASTR, ES_7, ES_8, ES_9, ES_MINS, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, ES_LCBR, ES_RCBR, ES_LPRN, ES_RPRN, ES_QUES, ES_SLSH, ES_4, ES_5, ES_6, ES_PLUS, ES_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, ES_LBRC, ES_RBRC, ES_LABK, ES_RABK, ES_EQL, ES_0, ES_1, ES_2, ES_3, ES_DOT, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_LALT - //`--------------------------' `--------------------------' - ), - - [L_UPPER_RIGHT] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, ES_IEXL, ES_AT, ES_EURO, ES_DLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_MORD, XXXXXXX, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, ES_FORD, ES_AMPR, ES_PIPE, ES_BSLS, ES_IQUE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_TILD, ES_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, ES_NOT, ES_CCED, ES_PERC, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_LALT - //`--------------------------' `--------------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, L_UPPER, L_RIGHT, L_UPPER_RIGHT); -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -void oled_render_layer_state(void) { - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_UPPER: - oled_write_ln_P(PSTR("Upper"), false); - break; - case L_RIGHT: - oled_write_ln_P(PSTR("Right"), false); - break; - case L_UPPER_RIGHT: - oled_write_ln_P(PSTR("Upper Right"), false); - break; - default: - oled_write_ln_P(PSTR("Undefined"), false); - } - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR(""), false); - oled_write_ln_P(led_state.caps_lock ? PSTR("CAPS LOCK") : PSTR(" "), false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - } else { - oled_render_logo(); - } - return false; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/ajarov/readme.md b/keyboards/crkbd/keymaps/ajarov/readme.md deleted file mode 100644 index 7a51a35e6e94..000000000000 --- a/keyboards/crkbd/keymaps/ajarov/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Corne Spanish layout by ajarov - -![Layout](https://user-images.githubusercontent.com/1832140/178291869-ea3c070b-2c0d-45f9-aeb8-00ac6942e847.png) - -The OS keyboard layout should be set to Spanish so the above image matches the actual keys. - -Some ideas that shaped this layout: -* There are 4 layers: Base, Upper (`â–ģ`), Right (`▷`), and Upper Right (`â–ģ` + `▷`). -* The base layer is almost the same as the one on the default Corne layout when the keyboard is set to Spanish on the OS (the only differences being `RShift` instead of `Esc`, and `LAlt` instead of `Alt Gr`). -* When the Upper layer (`â–ģ`) is selected, the right hand resting position matches the one on the arrow keys on a traditional keyboard. -* The right half of the keyboard can be used as a numpad with only the right hand by selecting the Right layer (`▷`). -* The only keys missing from a full-size (105 keys) Spanish keyboard are the interpunct (`·` or `Shift` + `3`), `Scroll Lock`, and `Num Lock`. I never use them (does anybody?) and I'd rather not include them and risk toggling Scroll/Num Lock by accident. -* Media keys are not present because I find it better to use keyboard + mouse shortcuts with [AutoHotkey](https://www.autohotkey.com/) (e.g: `Ctrl` + `Shift` + `Wheel Up`/`Wheel Down` increases/decreases the volume). diff --git a/keyboards/crkbd/keymaps/ajarov/rules.mk b/keyboards/crkbd/keymaps/ajarov/rules.mk deleted file mode 100644 index 3e637d11da4d..000000000000 --- a/keyboards/crkbd/keymaps/ajarov/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -MOUSEKEY_ENABLE = yes -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/antosha417/config.h b/keyboards/crkbd/keymaps/antosha417/config.h deleted file mode 100644 index 983f274ace07..000000000000 --- a/keyboards/crkbd/keymaps/antosha417/config.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 Anton Kavalkou (@antosha417) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - - -/* Select hand configuration */ - -//#define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - - -#define QUICK_TAP_TERM 0 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define TAPPING_TERM 200 -#define COMBO_TERM 30 - diff --git a/keyboards/crkbd/keymaps/antosha417/keymap.c b/keyboards/crkbd/keymaps/antosha417/keymap.c deleted file mode 100644 index 47771b531e3d..000000000000 --- a/keyboards/crkbd/keymaps/antosha417/keymap.c +++ /dev/null @@ -1,397 +0,0 @@ -// Copyright 2021 Anton Kavalkou (@antosha417) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H -#include "sendstring_dvorak.h" - -typedef union { - uint32_t raw; - struct { - bool is_macos :1; - }; -} user_config; - -user_config config; - -enum layers { - _QWERTY, - _DVORAK, - _LOWER, - _RAISE, - _TOP, - _BOTTOM, -}; - -enum keycodes { - QWERTY = SAFE_RANGE, - - RUS_LANG, - EN_LANG, - HEB_LANG, - - VIM_SAVE, - - CHNGE_OS, - DELETE_WORD, - -#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ - keycode, -#include "mod_tap_keys.h" -#undef MOD_TAP_KEY -}; - - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define TOP MO(_TOP) -#define BOTTOM MO(_BOTTOM) -#define LANG TG(_DVORAK) -#define KC_CAD LALT(LCTL(KC_DEL)) -#define KC_CAH LALT(LCTL(KC_HOME)) - -#define E_SFT LSFT_T(KC_E) -#define D_SFT LSFT_T(KC_D) -#define A_ALT LALT_T(KC_A) -#define O_GUI LGUI_T(KC_O) -#define U_CTRL LCTL_T(KC_U) - -#define T_SFT RSFT_T(KC_T) -#define K_SFT RSFT_T(KC_K) -#define S_ALT RALT_T(KC_S) -#define N_GUI RGUI_T(KC_N) -#define H_CTRL RCTL_T(KC_H) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, A_ALTQ, S_GUIQ, D_SFT, F_CTLQ, KC_G, KC_H, J_CTLQ, K_SFT, L_GUIQ, SCLN_Q, 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, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - BOTTOM, KC_SPC, LOWER, RAISE, KC_SPC, TOP - //`--------------------------' `--------------------------' -), - -[_DVORAK] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, A_ALT, O_GUI, E_SFT, U_CTRL, KC_I, KC_D, H_CTRL, T_SFT, N_GUI, S_ALT, KC_QUOT, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ESC, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' -), - -[_LOWER] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - KC_F11, KC_UNDS, KC_MINS, KC_TILD, KC_PERC, KC_QUOT, _______, KC_CIRC, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_DEL, KC_LBRC, KC_LCBR, KC_PLUS, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_EXLM, KC_RCBR, KC_RBRC, KC_BSPC, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_CAD, KC_CAH, _______, LANG, _______, _______,HEB_LANG, EN_LANG,RUS_LANG, _______, _______, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - //^^^^^^^ -), - - -[_RAISE] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - KC_F11, _______, _______, KC_DLR, KC_AMPR, _______, KC_COLON, KC_QUES, KC_AT, KC_HASH, KC_SLSH, KC_F12, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_7, KC_5, KC_3, KC_1, KC_9, KC_0, KC_2, KC_4, KC_6, KC_8, KC_BSPC, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F10, KC_F2, KC_F4, KC_F6, KC_F8, _______, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - //^^^^^^^ -), - -[_TOP] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - _______,CHNGE_OS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_DOWN, KC_UP, _______, _______, _______, _______, _______, _______, _______, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - //^^^^^^^ -), - -[_BOTTOM] = LAYOUT_split_3x6_3( -//,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RGHT, _______, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, _______, _______, _______, _______, -//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - //^^^^^^^ -) - -}; - -enum combo_events { - // combos for dvorak layer - RU_COMBO, - EN_COMBO, - HEB_COMBO, - ESC_COMBO, - TAB_COMBO, - ENT_COMBO, - DEL_COMBO, - SAVE_COMBO, - BSPC_COMBO, - BSPCW_COMBO, - - // combos for qwerty layer - RUQ_COMBO, - ENQ_COMBO, - HEBQ_COMBO, - ESCQ_COMBO, - TABQ_COMBO, - ENTQ_COMBO, - DELQ_COMBO, - SAVEQ_COMBO, - BSPCQ_COMBO, - BSPCWQ_COMBO -}; - -const uint16_t PROGMEM ru_combo[] = {KC_R, U_CTRL, COMBO_END}; -const uint16_t PROGMEM en_combo[] = {U_CTRL, S_ALT, COMBO_END}; -const uint16_t PROGMEM heb_combo[] = {KC_I, KC_V, COMBO_END}; -const uint16_t PROGMEM esc_combo[] = {H_CTRL, U_CTRL, COMBO_END}; -const uint16_t PROGMEM tab_combo[] = {T_SFT, A_ALT, COMBO_END}; -const uint16_t PROGMEM ent_combo[]= {E_SFT, N_GUI, COMBO_END}; -const uint16_t PROGMEM del_combo[] = {KC_D, E_SFT, COMBO_END}; -const uint16_t PROGMEM bspc_combo[] = {KC_C, H_CTRL, COMBO_END}; -const uint16_t PROGMEM bspcw_combo[] = {N_GUI, U_CTRL, COMBO_END}; -const uint16_t PROGMEM save_combo[] = {O_GUI, H_CTRL, COMBO_END}; - -const uint16_t PROGMEM ruq_combo[] = {KC_O, F_CTLQ, COMBO_END}; -const uint16_t PROGMEM enq_combo[] = {F_CTLQ, SCLN_Q, COMBO_END}; -const uint16_t PROGMEM hebq_combo[] = {KC_G, KC_DOT, COMBO_END}; -const uint16_t PROGMEM escq_combo[] = {F_CTLQ, J_CTLQ, COMBO_END}; -const uint16_t PROGMEM tabq_combo[] = {K_SFT, A_ALTQ, COMBO_END}; -const uint16_t PROGMEM entq_combo[] = {D_SFT, L_GUIQ, COMBO_END}; -const uint16_t PROGMEM delq_combo[] = {KC_H, D_SFT, COMBO_END}; -const uint16_t PROGMEM bspcq_combo[] = {KC_I, J_CTLQ, COMBO_END}; -const uint16_t PROGMEM bspcwq_combo[] = {L_GUIQ, F_CTLQ, COMBO_END}; -const uint16_t PROGMEM saveq_combo[] = {S_GUIQ, J_CTLQ, COMBO_END}; - -combo_t key_combos[] = { - [RU_COMBO] = COMBO(ru_combo, RUS_LANG), - [EN_COMBO] = COMBO(en_combo, EN_LANG), - [HEB_COMBO] = COMBO(heb_combo, HEB_LANG), - [ESC_COMBO] = COMBO(esc_combo, KC_ESC), - [TAB_COMBO] = COMBO(tab_combo, KC_TAB), - [ENT_COMBO] = COMBO(ent_combo, KC_ENT), - [DEL_COMBO] = COMBO(del_combo, KC_DEL), - [BSPC_COMBO] = COMBO(bspc_combo, KC_BSPC), - [SAVE_COMBO] = COMBO(save_combo, VIM_SAVE), - [BSPCW_COMBO] = COMBO(bspcw_combo, DELETE_WORD), - - [RUQ_COMBO] = COMBO(ruq_combo, RUS_LANG), - [ENQ_COMBO] = COMBO(enq_combo, EN_LANG), - [HEBQ_COMBO] = COMBO(hebq_combo, HEB_LANG), - [ESCQ_COMBO] = COMBO(escq_combo, KC_ESC), - [TABQ_COMBO] = COMBO(tabq_combo, KC_TAB), - [ENTQ_COMBO] = COMBO(entq_combo, KC_ENT), - [DELQ_COMBO] = COMBO(delq_combo, KC_DEL), - [BSPCQ_COMBO] = COMBO(bspcq_combo, KC_BSPC), - [SAVEQ_COMBO] = COMBO(saveq_combo, VIM_SAVE), - [BSPCWQ_COMBO] = COMBO(bspcwq_combo, DELETE_WORD), -}; - - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -void oled_render_layer_state(void) { - oled_write_P(PSTR("layer: "), false); - switch (get_highest_layer(layer_state|default_layer_state)) { - case _QWERTY: - oled_write_ln_P(PSTR("qwerty"), false); - break - case _DVORAK: - oled_write_ln_P(PSTR("dvorak"), false); - break; - case _LOWER: - oled_write_ln_P(PSTR("lower"), false); - break; - case_RAISE: - oled_write_ln_P(PSTR("raise"), false); - break; - case _TOP: - oled_write_ln_P(PSTR("top"), false); - break; - case _BOTTOM: - oled_write_ln_P(PSTR("bottom"), false); - break; - default: - oled_write_ln_P(PSTR("unknown"), false); - break; - } -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_write_ln_P(PSTR("nice cock"), false); - oled_render_layer_state(); - } else { - oled_render_logo(); - } - return false; -} - -#endif // OLED_ENABLE - -void keyboard_post_init_user(void) { - config.raw = eeconfig_read_user(); - layer_on(_DVORAK); -} - -void set_english_language(void) { - layer_on(_DVORAK); - tap_code16(LSFT(LCTL(LGUI(KC_1)))); -} - -void set_russian_language(void) { - layer_off(_DVORAK); - tap_code16(LSFT(LCTL(LGUI(KC_2)))); -} - -void set_hebrew_language(void) { - layer_off(_DVORAK); - tap_code16(LSFT(LCTL(LGUI(KC_3)))); -} - -void delete_word(void) { - if (config.is_macos) { - tap_code16(A(KC_BSPC)); - } else { - tap_code16(C(KC_BSPC)); - } -} - -#define CASE(keycode, key_pressed_action, key_released_action) \ - case (keycode): \ - if (record->event.pressed) { \ - key_pressed_action; \ - } else { \ - key_released_action; \ - } \ - return false; \ - break; - -#define CASE_PRESSED(keycode, key_pressed_action) CASE(keycode, key_pressed_action, {}); - -#define CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action) \ - CASE(keycode, { \ - keycode ## _TIMER = timer_read(); \ - IS_ ## keycode ## _ACTIVE = true; \ - }, { \ - if(IS_ ## keycode ## _MOD_ACTIVE) { \ - mod_off_action; \ - } else if (IS_ ## keycode ## _ACTIVE) { \ - tap_action; \ - } \ - IS_ ## keycode ## _MOD_ACTIVE = false; \ - IS_ ## keycode ## _ACTIVE = false; \ - }); - -#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ -uint16_t keycode ## _TIMER = 0; \ -bool IS_ ## keycode ## _ACTIVE = false; \ -bool IS_ ## keycode ## _MOD_ACTIVE = false; -#include "mod_tap_keys.h" -#undef MOD_TAP_KEY - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - #ifdef OLED_ENABLE - if (record->event.pressed) { - set_keylog(keycode, record); - } -#endif //OLED_ENABLE - - switch (keycode) { - CASE_PRESSED(EN_LANG, set_english_language()); - CASE_PRESSED(RUS_LANG, set_russian_language()); - CASE_PRESSED(HEB_LANG, set_hebrew_language()); - - CASE_PRESSED(VIM_SAVE, {set_english_language(); SEND_STRING(SS_TAP(X_ESC)SS_LSFT(SS_TAP(X_SCLN))SS_TAP(X_W)SS_TAP(X_ENT));}); - - CASE_PRESSED(CHNGE_OS, {config.is_macos ^= 1; eeconfig_update_user(config.raw);}); - CASE_PRESSED(DELETE_WORD, delete_word()); - - #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ - CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action); - #include "mod_tap_keys.h" - #undef MOD_TAP_KEY - } - - #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ - if (IS_ ## keycode ## _ACTIVE && !IS_ ## keycode ## _MOD_ACTIVE) { \ - if (timer_elapsed(keycode ## _TIMER) <= TAPPING_TERM) { \ - tap_action; \ - IS_ ## keycode ## _ACTIVE = false; \ - } \ - } - #include "mod_tap_keys.h" - #undef MOD_TAP_KEY - - return true; -} - -void matrix_scan_user(void) { - #define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \ - if (IS_ ## keycode ## _ACTIVE) { \ - if (timer_elapsed(keycode ## _TIMER) > TAPPING_TERM) { \ - mod_on_action; \ - IS_ ## keycode ## _MOD_ACTIVE = true; \ - } \ - } - #include "mod_tap_keys.h" - #undef MOD_TAP_KEY -} diff --git a/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h b/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h deleted file mode 100644 index 0d7a86b69131..000000000000 --- a/keyboards/crkbd/keymaps/antosha417/mod_tap_keys.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2021 Anton Kavalkou (@antosha417) -// SPDX-License-Identifier: GPL-2.0-or-later - -// MOD_TAP_KEY(key, tap_action, mod_on_action, mod_off_action) - -MOD_TAP_KEY(S_GUIQ, tap_code(KC_S), {layer_on(_DVORAK); register_code(KC_LGUI);}, {layer_off(_DVORAK); unregister_code(KC_LGUI);}) -MOD_TAP_KEY(L_GUIQ, tap_code(KC_L), {layer_on(_DVORAK); register_code(KC_RGUI);}, {layer_off(_DVORAK); unregister_code(KC_RGUI);}) - -MOD_TAP_KEY(F_CTLQ, tap_code(KC_F), {layer_on(_DVORAK); register_code(KC_LCTL);}, {layer_off(_DVORAK); unregister_code(KC_LCTL);}) -MOD_TAP_KEY(J_CTLQ, tap_code(KC_J), {layer_on(_DVORAK); register_code(KC_RCTL);}, {layer_off(_DVORAK); unregister_code(KC_RCTL);}) - -MOD_TAP_KEY(A_ALTQ, tap_code(KC_A), {layer_on(_DVORAK); register_code(KC_LALT);}, {layer_off(_DVORAK); unregister_code(KC_LALT);}) -MOD_TAP_KEY(SCLN_Q, tap_code(KC_SCLN), {layer_on(_DVORAK); register_code(KC_RALT);},{layer_off(_DVORAK); unregister_code(KC_RALT);}) - - diff --git a/keyboards/crkbd/keymaps/antosha417/rules.mk b/keyboards/crkbd/keymaps/antosha417/rules.mk deleted file mode 100644 index 63a3a16616f4..000000000000 --- a/keyboards/crkbd/keymaps/antosha417/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -OLED_ENABLE = yes -COMBO_ENABLE = yes - -LTO_ENABLE = yes #enable link time optimization to reduce binary size - diff --git a/keyboards/crkbd/keymaps/antosha417/todo.md b/keyboards/crkbd/keymaps/antosha417/todo.md deleted file mode 100644 index 4ee83af65dec..000000000000 --- a/keyboards/crkbd/keymaps/antosha417/todo.md +++ /dev/null @@ -1,13 +0,0 @@ -# Notes: - * to flush firmware to keyboard use: - ``` - $ make crkbd/rev1:antosha417:avrdude-split-right - $ make crkbd/rev1:antosha417:avrdude-split-left - ``` - -# Todo: - [ ] do something with displayig symbols on oled screen - [ ] count wpm - [ ] load images - [X] figure out how to delete word on linux - [X] fix oled layer names diff --git a/keyboards/crkbd/keymaps/ardakilic/README.md b/keyboards/crkbd/keymaps/ardakilic/README.md deleted file mode 100644 index 5e620f03f039..000000000000 --- a/keyboards/crkbd/keymaps/ardakilic/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Ardakilic's Corne Layout - -This layout is optimised to use Turkish characters on Corne on macOS. - -Also, some size optimisations enabled in `rules.mk` and `config.h`. - -Bongo cat animation implemented from: https://github.com/nwii/oledbongocat diff --git a/keyboards/crkbd/keymaps/ardakilic/config.h b/keyboards/crkbd/keymaps/ardakilic/config.h deleted file mode 100644 index 59e348981f96..000000000000 --- a/keyboards/crkbd/keymaps/ardakilic/config.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -/* Select hand configuration */ - -#define MASTER_LEFT - -#define SPLIT_WPM_ENABLE - -// #define MASTER_RIGHT -// #define EE_HANDS - - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD -#define RETRO_TAPPING - - - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" - -// size optimisations -// #define NO_DEBUG -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* CONSOLE_ENABLE = no achieves this -// Size optimisations -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -#define NO_PRINT -#endif // !NO_PRINT - -#define NO_ACTION_ONESHOT -// Size optimisations END -*/ diff --git a/keyboards/crkbd/keymaps/ardakilic/keymap.c b/keyboards/crkbd/keymaps/ardakilic/keymap.c deleted file mode 100644 index 98a9fb50f3be..000000000000 --- a/keyboards/crkbd/keymaps/ardakilic/keymap.c +++ /dev/null @@ -1,489 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2021 Arda Kilicdagi - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -// Layers -enum { - _QWERTY, - _LOWER, - _RAISE, - _SPACE, - _NUMPAD, - _SODA, - _ADJUST -}; - -//KC_NUBS (\|) is equivalent to ["ÃĐ] key in Turkish keyboards. -//KC_GRV (~ `) is equivalent to [<>|] key in Turkish keyboards. -// KC_SCLN is Turkish s [şŞ] key -// KC_QUOT is Turkish i [iÄ°] key -// KC_COMM is Turkish o [ÃķÖ] key -// KC_DOT is Turkish c [çÇ] key - -// Custom shortcuts specific to Turkish layout -#define CURLY_OPEN RALT(KC_7) -#define CURLY_CLOSE RALT(KC_0) -#define SQUARE_OPEN RALT(KC_8) -#define SQUARE_CLOSE RALT(KC_9) -#define DOLLAR_SIGN RALT(KC_4) -#define BACKSLASH RALT(KC_MINS) -#define VERTICAL_PIPE RALT(KC_EQL) -#define BACKTICK RALT(KC_BSLS) -#define TILDE RALT(KC_RBRC) -#define NUMBER_SIGN RALT(KC_3) //hashtag sign -#define LOCKSCREEN LCTL(LSFT(KC_PWR)) // Screen Lock shortcut for OSX - -/* -// Unicode Turkish characters, in case it's needed -enum { - TR_C, // ç - TR_C_L, // Ç - TR_I, // Äą - TR_I_L, // Ä° - TR_G, // ğ - TR_G_L, // Ğ - TR_S, // ş - TR_S_L, // Ş - TR_U, // Þ - TR_U_L, // Ü - TR_O, // Ãķ - TR_O_L, // Ö -}; - -// clang-format off -const uint32_t unicode_map[] PROGMEM = { - [TR_C] = 0x00c7, - [TR_C_L] = 0x00e7, - [TR_I] = 0x0130, - [TR_I_L] = 0x0131, - [TR_G] = 0x011e, - [TR_G_L] = 0x011f, - [TR_S] = 0x015e, - [TR_S_L] = 0x015f, - [TR_U] = 0x00dc, - [TR_U_L] = 0x00fc, - [TR_O] = 0x00d6, - [TR_O_L] = 0x00f6, -}; -// clang-format on -*/ - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * BASE LAYER - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | NpdESC | A | S | D | F | G | | H | J | K | L | Ş | Ä° | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | SftCaps| Z | X | C | V | B | | N | M | Ö | Ç | . | CtlEnt| - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | OS|. | Lwr|, | Space*| |Sda|Ent|Raise|"| LAlt|.| - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_QWERTY] = LAYOUT_split_3x6_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT(_NUMPAD, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - LSFT_T(KC_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LCTL_T(KC_ENT), /*KC_ENT*/ - LGUI_T(KC_SLSH), LT(_LOWER, KC_BSLS),LT(_SPACE, KC_SPC), LT(_SODA, KC_ENT), LT(_RAISE, KC_NUBS), LALT_T(KC_SLSH) - - ), - -/* - * LOWER LAYER - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | > | ! | ' | ^ | + | % | | & | / | ( | ) | = | Bksp | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | F1 | F2 | F3 | F4 | F5 | F6 | | "$" | ? | _ | Ğ | Ü | - | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | F7 | F8 | F9 | F10 | F11 | F12 | | "[" | "]" | "{" | "}" | < | ">" | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | | | | | | ADJUST| | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_LOWER] = LAYOUT_split_3x6_3( - 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DOLLAR_SIGN, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_EQL, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, SQUARE_OPEN, SQUARE_CLOSE, CURLY_OPEN, CURLY_CLOSE, KC_GRV, LSFT(KC_GRV), - _______, _______, _______, _______, MO(_ADJUST), _______ - ), - -/* - * RAISE LAYER - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | Tab | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | F1 | F2 | F3 | F4 | F5 | F6 | | | * | - | "\" | "|" | , | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | F7 | F8 | F9 | F10 | F11 | F12 | | ' | # | " | "~" | "`" | <>| | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | | | | | | | | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_RAISE] = LAYOUT_split_3x6_3( - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_MINS, KC_EQL, BACKSLASH, VERTICAL_PIPE, KC_BSLS, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_AT, NUMBER_SIGN, KC_NUBS, TILDE, BACKTICK, KC_GRV, - _______, _______, _______, _______, _______, _______ - ), - -/* - * SPACE LAYER - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | | CMD+1 | CMD+2 | CMD+3 | CMD+4 | CMD+5 | | CMD+6 | CMD+7 | CMD+8 | CMD+9 | CMD+0 | LCKOSX| - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | Brght▾ | Brghtâ–ē | | | | | Left | Down | Up | Right | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | | | | | | | | Prev | Next | Vol- | Vol+ | Play | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | | | | | | | | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_SPACE] = LAYOUT_split_3x6_3( - _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LOCKSCREEN, - _______, KC_BRMD, KC_BRMU, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, - _______, _______, _______, _______, _______, _______ - ), - -/* - * NUMPAD LAYER - * KC_PDOT is comma on the Turkish layout ÂŊ\_(ツ)_/ÂŊ - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | | | | | | | | = | Num7 | Num8 | Num9 | - | Bksp | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | | | | | | | . | Num4 | Num5 | Num6 | + | * | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | | | | | | | , | Num1 | Num2 | Num3 | . | / | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | | | | | Ent | Num0 | Num0 | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_NUMPAD] = LAYOUT_split_3x6_3( - _______, _______, _______, _______, _______, _______, KC_PEQL, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_BSPC, - _______, _______, _______, _______, _______, _______, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_PAST, - _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_SLSH, KC_PSLS, - _______, _______, _______, KC_PENT, KC_P0, KC_P0 - ), - - - /* - * SODA LAYER - * KC_PDOT is comma on the Turkish layout ÂŊ\_(ツ)_/ÂŊ - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | | | Up | | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | Left | Down | Right | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | | | | | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | | | | | | | | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_SODA] = LAYOUT_split_3x6_3( - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - - -/* - * ADJUST LAYER - [_TPL] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,----------------------------------------------------. - | QK_BOOT | EEPRST | | | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | RGBTog | HUEâ–ē | SATâ–ē | BRGHTâ–ē | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - | RGBMOD | HUE▾ | SAt▾ | BRGHT▾ | | | | | | | | | | - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+-------| - ,-----------------------, ,-----------------------. - | OS | | Space | | Ent | | ALT | - /|-------+-------+-------' +-------+-------+-------|\ - ), -*/ - [_ADJUST] = LAYOUT_split_3x6_3( - QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - ) -}; - - -#ifdef OLED_ENABLE -// #include - -// bongo cat -// Taken from -// https://github.com/nwii/oledbongocat -// char wpm_str[10]; // sprintf changed with more optimized code - - -// WPM-responsive animation stuff here -# define IDLE_FRAMES 5 -# define IDLE_SPEED 20 // below this wpm value your animation will idle - -// #define PREP_FRAMES 1 // uncomment if >1 - -# define TAP_FRAMES 2 -# define TAP_SPEED 40 // above this wpm value typing animation to trigger - -# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms -// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing -# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024 - -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; -uint8_t current_idle_frame = 0; -// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1 -uint8_t current_tap_frame = 0; - -// Code containing pixel art, contains: -// 5 idle frames, 1 prep frame, and 2 tap frames - -// To make your own pixel art: -// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw ) -// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display- -// replace numbers in brackets with your own -// if you start getting errors when compiling make sure you didn't accedentally delete a bracket -static void render_anim(void) { - static const char PROGMEM idle[IDLE_FRAMES][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; - static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - }; - - // assumes 1 frame prep stage - void animation_phase(void) { - 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)], ANIM_SIZE); - } - if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { - // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1 - oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 - } - 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)], ANIM_SIZE); - } - } - if (get_current_wpm() != 000) { - oled_on(); // not essential but turns on animation OLED with any alpha keypress - if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -// bongop cat - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_ln_P(PSTR("Default"), false); - break; - case _LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case _RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case _SPACE: - oled_write_ln_P(PSTR("Space"), false); - break; - case _NUMPAD: - oled_write_ln_P(PSTR("Numpad"), false); - break; - case _SODA: - oled_write_ln_P(PSTR("Soda"), false); - break; - case _ADJUST: - // case _ADJUST|_LOWER: - // case _ADJUST|_RAISE: - // case _ADJUST|_LOWER|_RAISE: - // case _ADJUST|_LOWER|_RAISE|_SPACE: - // case _ADJUST|_LOWER|_RAISE|_SPACE|_NUMPAD|_SODA: - oled_write_ln_P(PSTR("Adjust"), false); - break; - default: - oled_write_ln_P(PSTR("?????"), false); - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -// void oled_render_logo(void) { -// static const char PROGMEM crkbd_logo[] = { -// 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, -// 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, -// 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, -// 0}; -// oled_write_P(crkbd_logo, false); -// } - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - // bongo cat - render_anim(); // renders pixelart - - oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top) - // sprintf(wpm_str, "WPM:%03d", get_current_wpm()); // edit the string to change wwhat shows up, edit %03d to change how many digits show up - // oled_write(wpm_str, false); // writes wpm on top left corner of string - - // This way it's more size efficient than calling sprintf - oled_write_P(PSTR("WPM: "), false); - oled_write(get_u8_str(get_current_wpm(), ' '), false); - // This way it's more size efficient than calling sprintf - - led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on - - oled_set_cursor(0, 1); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - // bongo cat - - //oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_DRIVER_ENABLE diff --git a/keyboards/crkbd/keymaps/ardakilic/rules.mk b/keyboards/crkbd/keymaps/ardakilic/rules.mk deleted file mode 100644 index 0453ca573aa7..000000000000 --- a/keyboards/crkbd/keymaps/ardakilic/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -OLED_ENABLE = yes -EXTRAKEY_ENABLE = yes # for media keys - -# bongo cat -WPM_ENABLE = yes -# bongo cat - -# Size optimisations -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -LTO_ENABLE = yes -SPACE_CADET_ENABLE = no -GRAVE_ESCAPE_ENABLE = no -MOUSEKEY_ENABLE = no -# Size optimisations END diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h deleted file mode 100644 index 8d97cf1465a1..000000000000 --- a/keyboards/crkbd/keymaps/armand1m/config.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -// #define QUICK_TAP_TERM 0 -// #define PERMISSIVE_HOLD -#define TAPPING_TERM 300 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */ -#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/armand1m/keymap.c b/keyboards/crkbd/keymaps/armand1m/keymap.c deleted file mode 100644 index 3caee1c827fb..000000000000 --- a/keyboards/crkbd/keymaps/armand1m/keymap.c +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2021 Armando Magalhaes <@armand1m> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -enum custom_keycodes { - ARROW_FUNCTION = SAFE_RANGE -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case ARROW_FUNCTION: - if (record->event.pressed) { - SEND_STRING("() => {}"); - } else { - SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_ENTER)); - } - return false; - } - - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT(1, KC_ESC), LT(2, KC_A), LT(3, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - OSM(MOD_LSFT), MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), OSM(MOD_RSFT), - KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), MO(2), KC_RALT - ), - - [1] = LAYOUT_split_3x6_3( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - [2] = LAYOUT_split_3x6_3( - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, ARROW_FUNCTION, KC_LT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GT, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - _______, _______, _______, _______, _______, _______ - ), - - [3] = LAYOUT_split_3x6_3( - _______, XXXXXXX, XXXXXXX, XXXXXXX, LALT(LSFT(KC_0)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(LSFT(KC_4)), XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(KC_MINS), LGUI(KC_PLUS), XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______ - ), -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_amsterdam_flag(void) { - // 'Flag_of_Amsterdam', 128x32px - static const char PROGMEM amsterdam_flag[] = { - 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, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 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, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 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, 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, - 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, - 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 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, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(amsterdam_flag, sizeof(amsterdam_flag)); -} - -bool oled_task_user(void) { - oled_render_amsterdam_flag(); - return false; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/armand1m/readme.md b/keyboards/crkbd/keymaps/armand1m/readme.md deleted file mode 100644 index 0d10ae17d0a0..000000000000 --- a/keyboards/crkbd/keymaps/armand1m/readme.md +++ /dev/null @@ -1,64 +0,0 @@ -# armand1m crkbd layout - -This is the personal layout for [@armand1m](https://go.d1m.dev/github) - -This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage. - -As of the date of this writing, my environment runs OS X Big Sur with yabai and skhd to provide an window tiling management experience similar to what i3wm offers to Linux, which means that I often use the `alt` keys. - -I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd. - -## Layout - -You can find `json` files for http://www.keyboard-layout-editor.com/ in the keymap folder. - -Here are some screenshots for convenience: - -Base Layer:
-Base Layer - -Numbers Layer:
-Numbers Layer - -Symbols Layer:
-Symbols Layer - -## Choices - -Every keymap is pretty unique and tailored to suit it's main creators needs. Here are some of my choices for the keys and their explanations: - - - Left thumb acts as Space when tapping but as Command when holding: this makes my life so much easier in OS X. Having command reachable all the time just feels right to me and Mod Taps help me a lot on this. - - - Right thumb acts as Enter when tapping but as Right Shift when holding: this is more of an experiment. I usually use shift on my pinkies. It is an interesting feature but I often forget about it. - - - Esc lives in the home row, before A. It also acts as a layer toggle to the numbers layer when held. Having the LT to the numbers layer here allows me to actually reach the number 1 pretty nicely and other numbers on the left hand pretty easily. - - - Keys on the home row are used to switch to layers, so "A" goes to layer 2 when held. I started making this in the Moonlander and migrated the practice, but still sometimes I use the MO 2 on the right thumb. - - - One Shot Keys are enabled for the shifts on the pinkies. If you press it twice: it will lock on shift until pressed again (pretty much like caps lock). These are handy when you're typing and just don't want to hold shift to have a capitalized word. - -## Usage - -In case you have `qmk` installed: - -```sh -qmk compile -kb crkbd -km armand1m -``` - -The compiled .hex file should be available in `qmk_firmware/.build` - -You can also trigger a build and flash automatically by running the following command: - -```sh -qmk flash -kb crkbd -km armand1m -``` - -If you built your crkbd with an Elite-C microcontroller, you probably want to use a DFU bootloader: - -```sh -qmk flash -kb crkbd -km armand1m -bl dfu -``` - -## Credits - - - Armando Magalhaes [(github)](https://go.d1m.dev/github) diff --git a/keyboards/crkbd/keymaps/armand1m/rules.mk b/keyboards/crkbd/keymaps/armand1m/rules.mk deleted file mode 100644 index d34d066ded93..000000000000 --- a/keyboards/crkbd/keymaps/armand1m/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/benrestech/config.h b/keyboards/crkbd/keymaps/benrestech/config.h deleted file mode 100644 index b827d76fcb1b..000000000000 --- a/keyboards/crkbd/keymaps/benrestech/config.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 175 -#define PERMISSIVE_HOLD - -#ifdef RGBLIGHT_ENABLE - #undef RGBLED_NUM - #define RGBLED_NUM 27 - #define RGBLIGHT_SLEEP - #define RGBLIGHT_SPLIT - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - #define RGBLIGHT_LAYERS -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/benrestech/keymap.c b/keyboards/crkbd/keymaps/benrestech/keymap.c deleted file mode 100644 index a79a3cc8c96f..000000000000 --- a/keyboards/crkbd/keymaps/benrestech/keymap.c +++ /dev/null @@ -1,151 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2022 Ben Allen <@benrestech> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 KC_NP KC_NO // key is not present -#define KC_NA KC_NO // present but not available for use -#define KC_NU KC_NO // available but not used - - -// 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 crkbd_layers { - BASE, - MEDR, - NAVR, - MOUR, - NSSL, - NSL, - FUNL, - GAME -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_split_3x6_3( - TO(NSSL), KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, TO(MOUR), - TO(NSL), LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), TO(NAVR), - TO(FUNL), KC_Z, ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, TO(MEDR), - LT(MEDR, KC_ESC), LT(NAVR, KC_SPC), LT(MOUR, KC_TAB), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL) - ), - [NAVR] = LAYOUT_split_3x6_3( - TO(NSSL), QK_BOOT, KC_NA, KC_NA, KC_NA, KC_NA, KC_AGIN, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, TO(MOUR), - TO(NSL), KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TO(BASE), - TO(FUNL), KC_NA, KC_ALGR, KC_NA, KC_NA, KC_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, TO(MEDR), - KC_NA, KC_NA, KC_NA, KC_ENT, KC_BSPC, KC_DEL - ), - [MOUR] = LAYOUT_split_3x6_3( - TO(NSSL), QK_BOOT, KC_NA, KC_NA, KC_NA, KC_NA, KC_NU, KC_NU, KC_NU, KC_NU, KC_NU, TO(BASE), - TO(NSL), KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA, KC_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, TO(NAVR), - TO(FUNL), KC_NA, KC_ALGR, KC_NA, KC_NA, KC_NA, KC_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, TO(MEDR), - KC_NA, KC_NA, KC_NA, KC_BTN1, KC_BTN3, KC_BTN2 - ), - [MEDR] = LAYOUT_split_3x6_3( - TO(NSSL), QK_BOOT, KC_NA, KC_NA, KC_NA, KC_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, TO(MOUR), - TO(NSL), KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA, KC_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, TO(NAVR), - TO(FUNL), KC_NA, KC_ALGR, KC_NA, KC_NA, KC_NA, KC_NU, KC_NU, KC_NU, KC_NU, KC_NU, TO(BASE), - KC_NA, KC_NA, KC_NA, KC_MSTP, KC_MPLY, KC_MUTE - ), - [FUNL] = LAYOUT_split_3x6_3( - TO(NSSL), KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_NA, KC_NA, KC_NA, KC_NA, QK_BOOT, TO(MOUR), - TO(NSL), KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, KC_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, TO(NAVR), - TO(BASE), KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_NA, KC_NA, KC_NA, KC_ALGR, KC_NA, TO(MEDR), - KC_APP, KC_SPC, KC_TAB, KC_NA, KC_NA, KC_NA - ), - [NSL] = LAYOUT_split_3x6_3( - TO(NSSL), KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, KC_NA, KC_NA, KC_NA, KC_NA, QK_BOOT, TO(MOUR), - TO(BASE), KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, KC_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, TO(NAVR), - TO(FUNL), KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, KC_NA, KC_NA, KC_NA, KC_ALGR, KC_NA, TO(MEDR), - KC_DOT, KC_0, KC_MINS, TO(GAME), KC_NA, KC_NA - ), - [NSSL] = LAYOUT_split_3x6_3( - TO(BASE), KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NA, KC_NA, KC_NA, KC_NA, QK_BOOT, TO(MOUR), - TO(NSL), KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, TO(NAVR), - TO(FUNL), KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NA, KC_NA, KC_NA, KC_ALGR, KC_NA, TO(MEDR), - KC_GT, KC_RPRN, KC_UNDS, KC_NA, KC_NA, KC_NA - ), - [GAME] = LAYOUT_split_3x6_3( - KC_NA, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, TO(BASE), - KC_NA, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), TO(BASE), - KC_NA, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), KC_SLSH, TO(BASE), - KC_ESC, KC_SPC, KC_TAB, LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL) - ) -}; - -// Default (BASE) lighting layer is HSV_GREEN. -// MEDR lighting layer. -const rgblight_segment_t PROGMEM medr_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_PINK} // Light all LEDs -); -// NAVR lighting layer. -const rgblight_segment_t PROGMEM navr_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_CYAN} // Light all LEDs -); -// MOUR lighting layer. -const rgblight_segment_t PROGMEM mour_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_YELLOW} // Light all LEDs -); -// NSSL lighting layer. -const rgblight_segment_t PROGMEM nssl_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_SPRINGGREEN} // Light all LEDs -); -// NSL lighting layer. -const rgblight_segment_t PROGMEM nsl_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_BLUE} // Light all LEDs -); -// FUNL lighting layer. -const rgblight_segment_t PROGMEM funl_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_RED} // Light all LEDs -); -// GAME lighting layer. -const rgblight_segment_t PROGMEM game_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 53, HSV_PURPLE} // Light all LEDs -); - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - medr_layer, - navr_layer, - mour_layer, - nssl_layer, - nsl_layer, - funl_layer, - game_layer -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = my_rgb_layers; - rgblight_sethsv(HSV_GREEN); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(0, layer_state_cmp(state, MEDR)); - rgblight_set_layer_state(1, layer_state_cmp(state, NAVR)); - rgblight_set_layer_state(2, layer_state_cmp(state, MOUR)); - rgblight_set_layer_state(3, layer_state_cmp(state, NSSL)); - rgblight_set_layer_state(4, layer_state_cmp(state, NSL)); - rgblight_set_layer_state(5, layer_state_cmp(state, FUNL)); - rgblight_set_layer_state(6, layer_state_cmp(state, GAME)); - return state; -} - - diff --git a/keyboards/crkbd/keymaps/benrestech/rules.mk b/keyboards/crkbd/keymaps/benrestech/rules.mk deleted file mode 100644 index c177a33cf525..000000000000 --- a/keyboards/crkbd/keymaps/benrestech/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/bermeo/config.h b/keyboards/crkbd/keymaps/bermeo/config.h deleted file mode 100644 index fce27a72658b..000000000000 --- a/keyboards/crkbd/keymaps/bermeo/config.h +++ /dev/null @@ -1,124 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -// #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 150 -// #define RETRO_TAPPING -// #define PERMISSIVE_HOLD - -#ifdef RGBLIGHT_ENABLE -# undef RGBLED_NUM -# define RGBLED_NUM 27 -#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 -# define RGBLIGHT_SLEEP -# define RGBLIGHT_SPLIT -# define RGBLIGHT_LIMIT_VAL 120 -# define RGBLIGHT_HUE_STEP 6 -# define RGBLIGHT_SAT_STEP 6 -# define RGBLIGHT_VAL_STEP 6 -# define RGBLIGHT_SLEEP -# define RGBLIGHT_TIMEOUT 75000 -#endif - -#ifdef OLED_ENABLE -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_WPM_ENABLE -# define SPLIT_OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/soundmonster/glcdfont.c" -# define OLED_DISABLE_TIMEOUT -# define OLED_TIMEOUT 150000 -# define OLED_BRIGHTNESS 255 -# define OLED_FADE_OUT -# define OLED_FADE_OUT_INTERVAL 15 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* 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. */ -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/bermeo/glcdfont.c b/keyboards/crkbd/keymaps/bermeo/glcdfont.c deleted file mode 100644 index 588ecfd8c886..000000000000 --- a/keyboards/crkbd/keymaps/bermeo/glcdfont.c +++ /dev/null @@ -1,232 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, -0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, -0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, -0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, -0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, -0x22, 0x22, 0x42, 0x82, 0x02, 0x02, -0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, -0x42, 0x22, 0x42, 0x82, 0x02, 0x02, -0x02, 0x82, 0x42, 0x22, 0x12, 0x22, -0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, -0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, -0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, -0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, -0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, -0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, -0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, -0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, -0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, -0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, -0x07, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, -0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, -0x40, 0x40, 0x40, 0x40, 0x41, 0x42, -0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, -0x40, 0x40, 0x40, 0x40, 0x41, 0x40, -0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, -0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, -0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, -0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, -0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, -0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, -0x88, 0x88, 0x55, 0x55, 0x23, 0x23, -0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, -0x23, 0x23, 0x55, 0x55, 0x88, 0x88, -0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, -0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, -0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, -0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, -0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, -0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, -0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, -0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, -0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, -0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, -0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, -0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, -0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, -0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x03, -0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, -0x03, 0x03, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x02, -0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, -0x03, 0x02, 0x01, 0x01, 0x00, 0x00 -}; diff --git a/keyboards/crkbd/keymaps/bermeo/keymap.c b/keyboards/crkbd/keymaps/bermeo/keymap.c deleted file mode 100644 index 3b3e6d0abe63..000000000000 --- a/keyboards/crkbd/keymaps/bermeo/keymap.c +++ /dev/null @@ -1,596 +0,0 @@ -// Copyright 2022 Guilherme BermÊo (bermeo.dev) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layers { - _QWERTY, - _LOWER, - _RAISE, - _NUMP, -}; - -uint8_t mod_state; - -bool isBarking = false; -bool isJumping = false; -bool showedJump = true; -bool isSneaking = false; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - CEDILHA, // ç direct key - AO, // ÃĢ direct key - ASPAS, // " direct key - -}; -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LCTL_T(KC_F3), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRAVE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LALT_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LSFT_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RGUI_T(KC_RIGHT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LGUI_T(KC_DOWN), MO(1), KC_SPC, KC_BSPC, MO(2), RSFT_T(KC_UP) - // `--------------------------' `--------------------------' - ), - -[_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LCTL_T(KC_F5), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESCAPE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL(LGUI(KC_SPC)), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, KC_LBRC, KC_RBRC, KC_BSLS, KC_QUOT, KC_COLON, KC_ENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LALT(KC_LEFT), KC_F1, KC_F2, KC_C, KC_V, KC_BSPC, KC_MINS, KC_EQL, KC_LT, KC_GT, KC_QUESTION, LALT(KC_RIGHT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LGUI_T(KC_PAGE_DOWN), _______, KC_SPC, LALT(KC_BSPC), TG(3), RSFT_T(KC_PAGE_UP) - // `--------------------------' `--------------------------' - ), - -[_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LCTL_T(KC_F4), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILDE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LALT_T(KC_TAB), AO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PIPE, ASPAS, KC_COLON, KC_ENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LALT(KC_LEFT), XXXXXXX, XXXXXXX, CEDILHA, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LT, KC_GT, KC_QUESTION, LALT(KC_RIGHT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LGUI_T(KC_END), TG(3), KC_SPC, KC_DEL, _______, RSFT_T(KC_HOME) - // `--------------------------' `--------------------------' - ), - -[_NUMP] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - RGB_TOG, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_ENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - TG(3), TG(3), TG(3), KC_BSPC, TG(3), KC_P0 - // `--------------------------' `--------------------------' - )}; - -//Per key lights -bool rgb_matrix_indicators_user(void) { -#ifdef RGB_MATRIX_ENABLE - switch (get_highest_layer(layer_state)) { - case _QWERTY: - isSneaking = false; - mod_state = get_mods(); - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (mod_state & MOD_MASK_SHIFT) { - isBarking = true; - rgb_matrix_set_color(52, 255, 255, 255); - rgb_matrix_set_color(i, 255, 150, 0); - } else if (mod_state & MOD_MASK_GUI || mod_state & MOD_MASK_CTRL) { - isBarking = true; - rgb_matrix_set_color(15, 255, 0, 0); - switch (i) { - case 0 ... 5: // underglow left side - case 9: // cmd + T white (new tab) - case 11: // cmd + F white (find) - case 18: // cmd + W white (close tab) - case 19: // cmd + S white (save) - case 21: // cmd + Z white (undo) - case 22: // cmd + A white (select all) - case 27 ... 32: // underglow right side - case 43: // cmd + K white (comment for desktop remote) - case 48: // cmd + / white (comment line) - rgb_matrix_set_color(i, 255, 255, 255); // white - break; - case 6: // space bar off - case 24 ... 26: // left column off - case 33: // backspace off - case 41: // shift off - case 51 ... 53: // right column off - rgb_matrix_set_color(i, 0, 0, 0); //off - break; - } - if (mod_state & MOD_MASK_GUI) { - rgb_matrix_set_color(12, 255, 255, 255); // white V key - rgb_matrix_set_color(15, 255, 255, 255); // white C key - rgb_matrix_set_color(20, 255, 255, 255); // white X key - } else { - } - } else if (mod_state & MOD_MASK_ALT) { - isBarking = true; - } else { - isBarking = false; - rgb_matrix_set_color(14, 0, 0, 0); // command key off - } - } - rgb_matrix_set_color(13, 23, 181, 255); // cyan layer - rgb_matrix_set_color(40, 255, 33, 0); // orange layer - break; - - case _RAISE: - isSneaking = true; - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - switch (i) { - case 7: // B key off - case 8: // G key off - case 11: // F key off - case 12: // V key off - case 16: // D key off - case 19 ... 21: // S, X, Z keys off - case 25: // tab key off - case 26: // shift key off - case 52 ... 53: // right column off - rgb_matrix_set_color(i, 0, 0, 0); // off - break; - case 15: // Ç key - case 22: // à key - case 24: // Launch (F4) - case 40: // Active layer - rgb_matrix_set_color(i, 255, 255, 255); // white - break; - case 13: // active layer - rgb_matrix_set_color(i, 0, 255, 0); // green - break; - case 42: // , shifted key - case 47 ... 49: // . / ; shifted keys - rgb_matrix_set_color(i, 255, 214, 0); // yellow - break; - default: - rgb_matrix_set_color(i, 255, 33, 0); // orange - } - } - break; - - case _LOWER: - isSneaking = true; - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - switch (i) { - case 7: // Delete key - case 51: // ESC key - rgb_matrix_set_color(i, 255, 0, 0); // red - break; - case 12: // V key off - case 15: // C key off - case 20: // X key off - case 21: // Z key off - - case 26: // shift key off - case 52 ... 53: // right column off - rgb_matrix_set_color(i, 0, 0, 0); // off - break; - case 11: // Right arrow key - case 13: // Active layer - case 16: // Up arrow key - case 19: // Down arrow key - case 22: // Left arrow key - case 24: // Print - rgb_matrix_set_color(i, 255, 255, 255); // white - break; - case 8: // Enter key - case 40: // Activate Numpad - rgb_matrix_set_color(i, 0, 255, 0); // green - break; - case 42: // , shifted key - case 47 ... 49: // . / ; shifted keys - case 25: // opens emoji dialog (on macOS) - rgb_matrix_set_color(i, 255, 214, 0); // yellow - break; - default: - rgb_matrix_set_color(i, 23, 181, 255); // cyan - } - } - - break; - - case _NUMP: - isSneaking = true; - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - switch (i) { - case 12: // RGB speed- - case 15: // RGB brigthness- - case 20: // RGB saturation- - case 21: // RGB hue- - case 49: // Numpad - - case 51: // Numpad / - rgb_matrix_set_color(i, 255, 0, 0); // red - break; - case 8 ... 10: // G T R off - case 17: // E off - case 18: // W off - case 23: // Q off - case 25: // Tab off - case 26: // LShift off - case 33: // Backspace off - case 35: // H off - case 36: // Y off - case 53: // RShift off - rgb_matrix_set_color(i, 0, 0, 0); // off - break; - case 6: // Space bar off - case 13: // Return to default layer - case 16: // RGB brigthness+ - case 24: // RGB toggle - case 37 ... 47: // Numpad numbers - case 52: // Enter key - rgb_matrix_set_color(i, 255, 255, 255); // white - break; - case 11: // RGB speed+ - case 19: // RGB saturation+ - case 22: // RGB hue+ - case 48: // Numpad + - rgb_matrix_set_color(i, 0, 255, 0); // green - break; - case 34: // . numpad key - rgb_matrix_set_color(i, 255, 214, 0); // yellow - break; - } - rgb_matrix_set_color(13, 23, 181, 255); // Activate cyan layer - rgb_matrix_set_color(40, 255, 33, 0); // Activate orange layer - rgb_matrix_set_color(50, 0, 33, 255); // Numpad * - rgb_matrix_set_color(14, 0, 255, 0); // Green layer active - } - } - return false; -}; -#endif - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -/* KEYBOARD PET START */ -/* settings */ -# define MIN_WALK_SPEED 10 -# define MIN_RUN_SPEED 60 -/* advanced settings */ -# define ANIM_FRAME_DURATION 100 // how long each frame lasts in ms -# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024 -/* timers */ -uint32_t anim_timer = 0; -/* current frame */ -uint8_t current_frame = 0; -/* status variables */ -int current_wpm = 0; -// led_t led_usb_state; -/* logic */ -static void render_luna(int LUNA_X, int LUNA_Y) { - /* Sit */ - static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - /* 'sit2', 32x22px */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; - - /* Walk */ - static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - /* 'walk2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Run */ - static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'run2', 32x22px */ - { - 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - // /* Bark */ - static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */ - { - 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'bark2', 32x22px */ - { - 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Sneak */ - static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'sneak2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* animation */ - void animate_luna(void) { - /* jump */ - if (isJumping || !showedJump) { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y + 2); - oled_write(" ", false); - oled_set_cursor(LUNA_X, LUNA_Y - 1); - showedJump = true; - } else { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y - 1); - oled_write(" ", false); - oled_set_cursor(LUNA_X, LUNA_Y); - } - /* switch frame */ - current_frame = (current_frame + 1) % 2; - /* draw */ - if (isBarking) { - oled_write_raw_P(bark[current_frame], ANIM_SIZE); - - } else if (isSneaking) { - oled_write_raw_P(sneak[current_frame], ANIM_SIZE); - - } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[current_frame], ANIM_SIZE); - - } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[current_frame], ANIM_SIZE); - - } else { - oled_write_raw_P(run[current_frame], ANIM_SIZE); - } - } - /* animation timer */ - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animate_luna(); - } -} - -void render_mod_status_gui_alt(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if (modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_1, false); - } else { - oled_write_P(gui_off_1, false); - } - if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { - oled_write_P(on_on_1, false); - } else if (modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_1, false); - } else if (modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - if (modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_1, false); - } else { - oled_write_P(alt_off_1, false); - } - if (modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_2, false); - } else { - oled_write_P(gui_off_2, false); - } - if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { - oled_write_P(on_on_2, false); - } else if (modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_2, false); - } else if (modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - if (modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_2, false); - } else { - oled_write_P(alt_off_2, false); - } -} - -void render_mod_status_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; - static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; - static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; - static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; - static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if (modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_1, false); - } else { - oled_write_P(ctrl_off_1, false); - } - if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { - oled_write_P(on_on_1, false); - } else if (modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_1, false); - } else if (modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - if (modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_1, false); - } else { - oled_write_P(shift_off_1, false); - } - if (modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_2, false); - } else { - oled_write_P(ctrl_off_2, false); - } - if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { - oled_write_P(on_on_2, false); - } else if (modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_2, false); - } else if (modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - if (modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_2, false); - } else { - oled_write_P(shift_off_2, false); - } -} - -void render_layer_state(void) { - static const char PROGMEM default_layer[] = {0x20, 0x94, 0x95, 0x96, 0x20, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = {0x20, 0x97, 0x98, 0x99, 0x20, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = {0x20, 0x9a, 0x9b, 0x9c, 0x20, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM nump_layer[] = {0x20, 0x9d, 0x9e, 0x9f, 0x20, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if (layer_state_is(_NUMP)) { - oled_write_P(nump_layer, false); - } else if (layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if (layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -// renders on oled -bool oled_task_user(void) { - current_wpm = get_current_wpm(); - // led_usb_state = host_keyboard_led_state(); - - if (is_keyboard_left()) { - oled_set_cursor(0, 2); - if (isSneaking) { - render_layer_state(); - } else { - for (size_t i = 0; i < 7; i++) { - oled_write(" ", false); - } - } - render_luna(0, 12); - } else { - oled_set_cursor(0, 6); - render_layer_state(); - oled_set_cursor(0, 11); - if (mod_state) { - render_mod_status_gui_alt(get_mods()); - render_mod_status_ctrl_shift(get_mods()); - } else { - for (size_t i = 0; i < 5; i++) { - oled_write(" ", false); - } - } - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { - // ç key - case CEDILHA: - if (record->event.pressed) { - register_code(KC_QUOT); - unregister_code(KC_QUOT); - register_code(KC_C); - unregister_code(KC_C); - } - break; - return false; - - // ÃĢ key - case AO: - if (record->event.pressed) { - register_code(KC_LSFT); - register_code(KC_GRV); - unregister_code(KC_LSFT); - unregister_code(KC_GRV); - register_code(KC_A); - unregister_code(KC_A); - } - break; - return false; - - // direct " key - case ASPAS: - if (record->event.pressed) { - register_code(KC_LSFT); - register_code(KC_QUOT); - register_code(KC_SPC); - unregister_code(KC_SPC); - unregister_code(KC_QUOT); - unregister_code(KC_LSFT); - } - break; - return false; - - // Luna jumping on space - case KC_SPC: - if (record->event.pressed) { - isJumping = true; - showedJump = false; - } else { - isJumping = false; - } - break; - return false; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/bermeo/readme.md b/keyboards/crkbd/keymaps/bermeo/readme.md deleted file mode 100644 index a9b0d4ff0958..000000000000 --- a/keyboards/crkbd/keymaps/bermeo/readme.md +++ /dev/null @@ -1,158 +0,0 @@ -# Bermeo Layout for Corne - -## Features - -### *Corne for neo-latin creatives* - -* Usable with left hand only (Figma, Adobe, Spline, etc) to combo with mouse. -* Delete and enter keys on the left side. -* Z and X on left side with lower layer used to control the monitor's brigtness. -* Arrow keys on left hand (vim logic) -* Accentuations used in Romance (neo-latin) languages like Spanish, Portuguese, French and Italian - ` ~ ^ ' -. - -#### Direct ç and ÃĢ keys - -The termination "tion" (eg. action) in portuguese is "çÃĢo" (eg. açÃĢo). This layout is optimized to use the less keys possible to write words with this termination. - -Compared to the `crkbd:default` layout the difference to output çÃĢo would be half of the interations: - -| crkbd:bermeo | `MO(2)`, `KC_C`, `KC_A`, `MO(2)` | -|:--|:--| -| crkbd:default | `KC_QUOT`, `KC_C`, `MO(2)`, `KC_SFT`, `KC_GRV`, `MO(2)`, `KC_SFT`, `KC_A` | - -[ `hold key` , `release key` ] - -### Modern OLED Support - -* Non-intrusive OLED layer indicator. -* Non-intrusive OLED modifier indicators ⌘ ⇧ âŒĨ ⌃. -* Fully animated Luna on left side. - -### Full per-key RGB Matrix support - -With the index of every key mapped in the table below to be used with `rgb_matrix_set_color(index, r, g, b)`;. - -#### Indexes of the keys - -||||||||||||||| -|:--:|:--:|:--:|:--:|:--:|:--:|--|--|:--:|:--:|:--:|:--:|:--:|:--:| -| 24 | 23 | 18 | 17 | 10 | 9 ||| 36 | 37 | 44 | 45 | 50 | 51 | -| 25 | 22 | 19 | 16 | 11 | 8 ||| 35 | 38 | 43 | 46 | 49 | 52 | -| 26 | 21 | 20 | 15 | 12 | 7 ||| 34 | 39 | 42 | 47 | 48 | 53 | -||||| 14 | 13 | 6 | 33 | 40 | 41 ||||| - -Each layer uses the LED `14` as an visual indicator: - -* âšŦïļ Default layer -* ðŸ”ĩ Lower (0) -* 🟠 Raise (1) -* ðŸŸĒ Numpad (2) -* ⚩ïļ Control and Command -* ðŸŸĄ Shift - -## Mod-taps - -For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap: -| Key | Description | -| :-- | --: | -| LCTL_T(kc) | Left Control when held, kc when tapped. | -| LSFT_T(kc) | Left Shift when held, kc when tapped. | -| LALT_T(kc) | Left Alt when held, kc when tapped. | -| ALT(kc) | Left Alt + kc when tapped. | -| LGUI_T(kc) | Left GUI when held, kc when tapped. | -| RSFT_T(kc) | Right Shift when held, kc when tapped. | -| RGUI_T(kc) | Right GUI when held, kc when tapped. | - -## Macros - -|Layer | Name | Description | Keys | -| :--: | --: | -- | --: | -| 🟠 | CEDILLA | Directly outputs ç | ' + c | -| 🟠 | AO | Directly outputs ÃĢ | shift + ` + a | -| 🟠 | ASPAS | Outputs ", since diaeresis[^1] are less used than " (for coding and quoting) | shift + ' + space | - -## Layers - -### QWERTY - -||||||||||||||| -|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:| -| LCTL_T(F3[^2]) | Q | W | E | R | T ||| Y | U | I | O | P | GRAVE | -| LALT_T(TAB) | A | S | D | F | G ||| H | J | K | L | ; | â†ĩ | -| LSFT_T(←) | Z | X | C | V | B ||| N | M | , | . | / | RGUI_T(→) | -||||| LGUI_T(↓) | MO(1) | SPACE | âŒŦ | MO(2)| RSFT_T( ↑) ||||| - - -### LOWER ðŸ”ĩ - -||||||||||||||| -|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:| -|CTL_T(F5[^3]) | 1 | 2 | 3 | 4 | 5 ||| 6 | 7 | 8 | 9 | 0 | ESCAPE | -|LCTL(LGUI(KC_SPC))[^4] | ← | ↓ | ↑ | → | â†ĩ ||| [ | ] | \ | ' | : | â†ĩ | -|ALT(←) | F1[^5] | F2[^6] | C | V | âŒŦ ||| - | = | < | > | ? | LALT(→) | -||||| LGUI_T(PAGE_DOWN) | _ | SPACE | LALT(âŒŦ) | TG(3) | RSFT_T(PAGE_UP) ||||| - -### RAISE 🟠 - -||||||||||||||| -|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:| -LCTL_T(F4[^7]) | ! | @ | # | $ | % ||| ˆ | & | * | ( | ) | ˜ | -LALT_T(TAB) | Ã[^8] | | | | ||| { | } | | | "[^9] | : | â†ĩ | -LALT(←) | | | Ç[^10] | | ||| _ | + | < | > | ? | LALT(→) | -||||| LGUI_T(END) | TG(3) | SPACE| DEL| _ | RSFT_T(HOME) ||||| - -### NUMPAD ðŸŸĒ - -||||||||||||||| -|:--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|--:| -| RGB_TOG || | | |||| | 7 | 8 | 9 | * | / | -|| RGB_HUI | RGB_SAI | RGB_VAI | RGB_SPI |||| | 4 | 5 | 6 | - | â†ĩ | -|| RGB_HUD | RGB_SAD | RGB_VAD | RGB_SPD |||| . | 1 | 2 | 3 | + | | -||||| TG(3)| TG(3) | TG(3) | âŒŦ | TG(3) | 0 ||||| - -## Usage - -To compile and flash, from `qmk setup` folder, run: - - make crkbd:bermeo:flash - -## Compiled size - - 28658/28672 (99%, 14 bytes free) - -If more space is needed, start by deactivating Macros and Luna's animations. - -## Credits - -Guilherme BermÊo [(github)](https://git.bermeo.dev) - -### Thanks - -* @armand1m -* @brneor -* @drashna -* @hellsingcoder -* @soundmonster -* @wdtamagi - -[^1]: The diaeresis (/daɩˈɛrəsÉŠs, -ˈɩər-/ dy-ERR-ə-sis, -⁠EER-; also known as the trema) and the umlaut (/ˈʊmlaʊt/) are two different diacritical marks that (in modern usage) look alike. They both consist of two dots ÂĻ placed over a letter, usually a vowel; when that letter is an i or a j, the diacritic replaces the tittle: ÃŊ. In computer systems, both forms have the same code point (binary code). Their appearance in print or on screen may vary between typefaces but rarely within the same typeface. The "diaeresis" diacritic is used to mark the separation of two distinct vowels in adjacent syllables when an instance of diaeresis (or hiatus) occurs, so as to distinguish from a digraph or diphthong. -The "umlaut" diacritic, in contrast, indicates a sound shift phenomenon – also known as umlaut – in which a back vowel becomes a front vowel. -Neither of these phenomena occur in English, except in loanwords (like naÃŊve) or for stylistic reasons (as in the BrontÃŦ family or MÃķtley CrÞe). - -[^2]: Open Mission Control. - -[^3]: Bring up the screenshot toolbar. - -[^4]: Opens emoji dialog box. - -[^5]: Decrease display brightness. - -[^6]: Increase display brightness. - -[^7]: Launchpad. - -[^8]: Macro "CEDILLA". - -[^9]: Macro "AO". - -[^10]: Macro "ASPAS". diff --git a/keyboards/crkbd/keymaps/bermeo/rules.mk b/keyboards/crkbd/keymaps/bermeo/rules.mk deleted file mode 100644 index e666f1f0cbc7..000000000000 --- a/keyboards/crkbd/keymaps/bermeo/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -MOUSEKEY_ENABLE = no -NKRO_ENABLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes -SLEEP_LED_ENABLE = yes -WPM_ENABLE = yes - - -#Dont use -CONSOLE_ENABLE = no -MOUSEKEY_ENABLE = no -BOOTMAGIC_ENABLE = no -COMBO_ENABLE = no -AUDIO_ENABLE = no -MIDI_ENABLE = no -BLUETOOTH_ENABLE = no \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/blipson/blipsonfont.c b/keyboards/crkbd/keymaps/blipson/blipsonfont.c deleted file mode 100644 index 48f8de2c2e77..000000000000 --- a/keyboards/crkbd/keymaps/blipson/blipsonfont.c +++ /dev/null @@ -1,232 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. - -#include "progmem.h" - -// Standard ASCII 5x7 font -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x18, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, - 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x80, - 0xC0, 0xE0, 0x60, 0x60, 0xE0, 0xC0, - 0x80, 0x00, 0x00, 0x80, 0xC0, 0xC0, - 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, - 0x00, 0x00, 0xC0, 0x80, 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, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, - 0xDE, 0xD7, 0xDC, 0x00, 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, - 0xFF, 0xFF, 0x30, 0x18, 0x18, 0x38, - 0xF0, 0xE0, 0x00, 0x00, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xFE, 0xFE, 0x00, 0x00, 0xFF, - 0xFF, 0x18, 0x30, 0x30, 0x38, 0x1F, - 0x0F, 0x00, 0x8F, 0x1F, 0x38, 0x30, - 0x70, 0xE3, 0xC7, 0x00, 0x00, 0xFF, - 0xFF, 0x01, 0x00, 0x01, 0xFF, 0xFF, - 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00, - 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0E, - 0x07, 0x03, 0x00, 0x00, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, - 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x3F, - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x03, 0x07, 0x0C, 0x0C, - 0x0E, 0x07, 0x03, 0x00, 0x00, 0x03, - 0x07, 0x0E, 0x0C, 0x0E, 0x07, 0x03, - 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, - 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/blipson/config.h b/keyboards/crkbd/keymaps/blipson/config.h deleted file mode 100644 index ca69ac3873f2..000000000000 --- a/keyboards/crkbd/keymaps/blipson/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2015 Jack Humbert -Copyright 2020 Ben Lipson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/keymaps/blipson/blipsonfont.c" -#define SPLIT_LAYER_STATE_ENABLE diff --git a/keyboards/crkbd/keymaps/blipson/keymap.c b/keyboards/crkbd/keymaps/blipson/keymap.c deleted file mode 100644 index 53f45eaeb6d1..000000000000 --- a/keyboards/crkbd/keymaps/blipson/keymap.c +++ /dev/null @@ -1,140 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Ben Lipson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(1), KC_LGUI, KC_SPC, KC_SPC, KC_RALT, MO(2) - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_UP, KC_LPRN, KC_RPRN, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, KC_ENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_END, KC_HOME, KC_PGDN, KC_PGUP, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_LGUI, KC_SPC, KC_SPC, KC_RALT, MO(3) - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_LCTL, KC_ASTR, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BSLS, KC_PIPE, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(3), KC_LGUI, KC_SPC, KC_SPC, KC_RALT, _______ - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-------------------------------------------------------------------------------. ,------------------------------------------------------------------. - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, - //|----------+------------+--------------+---------------+-----------+------------| |------------+------------+------------+--------+--------+---------| - KC_LCTL, A(KC_F12), A(G(KC_LEFT)), A(G(KC_RIGHT)), S(KC_F6), C(S(KC_D)), C(S(KC_R)), G(KC_LBRC), G(KC_RBRC), KC_F11, KC_F12, KC_MPLY, - //|----------+------------+--------------+---------------+-----------+------------| |------------+------------+------------+--------+--------+---------| - G(KC_F2), A(G(KC_F)), KC_MUTE, KC_VOLD, KC_VOLU, G(KC_GRV), C(G(KC_G)), KC_TAB, S(KC_TAB), KC_BRID, KC_BRIU, KC_CAPS, - //|----------+------------+--------------+---------------+-----------+------------+--------| |--------+------------+------------+------------+--------+--------+---------| - _______, KC_LGUI, KC_SPC, KC_SPC, KC_RALT, _______ - //`----------------------------------' `-------------------------------' - ) - }; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_left()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } - oled_write_P(PSTR("I love Marce"), false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - } else { - oled_render_logo(); - } - return false; -} - -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/blipson/readme.md b/keyboards/crkbd/keymaps/blipson/readme.md deleted file mode 100644 index 5dfb926bc642..000000000000 --- a/keyboards/crkbd/keymaps/blipson/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# bLipson -a keymap for the CRKBD/Corne geared towards professional software development on MacOS. - -#### Meant for use with the following tools: - -- [Intellij IDEA](https://www.jetbrains.com/idea/) -- [Rectangle](https://rectangleapp.com/) - -## Building -`make crkbd:blipson` diff --git a/keyboards/crkbd/keymaps/blipson/rules.mk b/keyboards/crkbd/keymaps/blipson/rules.mk deleted file mode 100644 index 5cad39dbd20a..000000000000 --- a/keyboards/crkbd/keymaps/blipson/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -OLED_ENABLE = yes -RGBLIGHT_ENABLE = no -AUDIO_ENABLE = no diff --git a/keyboards/crkbd/keymaps/cameronjlarsen/config.h b/keyboards/crkbd/keymaps/cameronjlarsen/config.h deleted file mode 100644 index 1d83214a7779..000000000000 --- a/keyboards/crkbd/keymaps/cameronjlarsen/config.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2022 Cameron Larsen <@cameronjlarsen> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -/* Select hand configuration */ -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 135 - -#define CAPS_WORD_IDLE_TIMEOUT 5000 // Turn off Caps Word after 5 seconds. - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c b/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c deleted file mode 100644 index 54ad19dc0b01..000000000000 --- a/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c +++ /dev/null @@ -1,357 +0,0 @@ -/* Copyright 2022 Cameron Larsen <@cameronjlarsen> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include -#include "features/oneshot.h" - -enum layers { - _QWERTY = 0, - SYM, - NAV, - FUN, -}; -// Aliases for readability -#define QWERTY DF(_QWERTY) -#define LA_SYM LT(SYM, KC_TAB) -#define LA_NAV MO(NAV) - -// One shot mods -enum keycodes { - OS_SHFT = QK_USER, - OS_CTRL, - OS_ALT, - OS_GUI, -}; - -// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. -// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and -// produces the key `tap` when tapped (i.e. pressed and released). - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Base Layer: QWERTY - * - * Inspiration: - * - * https://github.com/serebrov/qmk_firmware/blob/custom/keyboards/kyria/keymaps/kyria-mini/keymap.c - * - * Notes: - * - F & J enables CAPSWORD, disables after 5 seconds - * - Left thumb CTRL and SHIFT are one shot - * - Enter is moved to ; location and ; is moved to Sym layer - * - ESC can be accessed by NAV and G - * - BKSP is accessed by NAV and Enter - * - Tab is accessed by tapping SYM layer - * - FUN layer is accessed by holding NAV and SYM layers at the same time - * - * ,----------------------------------. ,----------------------------------. - * | Q | W | E | R | T | | Y | U | I | O | P | - * |------+------+------+------+------| |------+------+------+------+------| - * | A | S | D | F | G | | H | J | K | L | Enter| - * |------+------+------+------+------. ,------+------+------+------+------| - * | Z | X | C | V | B | | N | M | , < | . > | / ? | - * `------+------+------+------+------+------. ,------+------+------+------+-------------' - * | OSM | OSM | Nav | | Sym | Space| GUI | - * | Ctrl | Shift| | | Tab | | | - * `---------------------' `--------------------' - */ - [_QWERTY] = 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_ENT , - KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N, KC_M ,KC_COMM, KC_DOT , KC_SLSH, - OS_CTRL, OS_SHFT, LA_NAV , LA_SYM , KC_SPC, OS_GUI - ), - -/* - * Sym Layer: Numbers and symbols - * - * Notes: - * - Symbols are grouped together and shifted symbols from middle row are on bottom row - * - Exception is angle brackets - * - * ,----------------------------------. ,----------------------------------. - * | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - * |------+------+------+------+------| |------+------+------+------+------| - * | ` | ( | ) | ' | = | | \ | - | [ | ] | ; | - * |------+------+------+------+------+ +------+------+------+------+------| - * | ~ | < | > | " | + | | | | _ | { | } | : | - * `-------------+------+------+------+------. ,------+------+------+------+-------------' - * | | | | | | | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [SYM] = LAYOUT_split_3x5_3( - KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , - KC_GRV , KC_LPRN, KC_RPRN, KC_QUOT, KC_EQL , KC_BSLS, KC_MINS, KC_LBRC, KC_RBRC, KC_SCLN, - KC_TILD, KC_LABK, KC_RABK, KC_DQUO, KC_PLUS, KC_PIPE, KC_UNDS, KC_LCBR, KC_RCBR, KC_COLN, - _______, _______, _______, _______, _______, _______ - ), - -/* - * Nav Layer: Navigation, Media - * - * Notes: - * - Vim style navigation keys - * - Volume and Media Keys - * - BKSP on Enter - * - DEL on / - * - Esc on G - * - * ,----------------------------------. ,----------------------------------. - * | | | | BriUp| BriDn| | Home | PgDn | PgUp | End |PrtScr| - * |------+------+------+------+------| |------+------+------+------+------| - * | GUI | Alt | Ctrl | Shift| Esc | | ← | ↓ | ↑ | → | Bksp | - * |------+------+------+------+------+ +------+------+------+------+------| - * | | Vol- | Mute | Vol+ |NumLck| | MPrev| MPlay| MStop| MNext|Delete| - * `-------------+------+------+------+------. ,------+------+------+------+-------------' - * | | | | | | | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [NAV] = LAYOUT_split_3x5_3( - _______, _______, _______, KC_BRIU, KC_BRID, KC_HOME, KC_PGDN, KC_PGUP, KC_END , KC_PSCR, - OS_GUI , OS_ALT , OS_CTRL, OS_SHFT, KC_ESC , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_BSPC, - _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_NUM , KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_DEL , - _______, _______, _______, _______, _______, _______ - ), - -/* - * Function Layer: Function keys - * - * Notes: - * - F1-F10 on bottom row - * - F11-F12 on index finger inner row - * - Homerow mods - * - Num keys on top row - * - * ,----------------------------------. ,----------------------------------. - * | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - * |------+------+------+------+------| |------+------+------+------+------| - * | GUI | Alt | Ctrl | Shift| F11 | | F12 | Shift| Ctrl | Alt | GUI | - * |------+------+------+------+------+ +------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - * `-------------+------+------+------+------. ,------+------+------+------+-------------' - * | | | | | | | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [FUN] = LAYOUT_split_3x5_3( - KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , - OS_GUI , OS_ALT , OS_CTRL, OS_SHFT, KC_F11 , KC_F12 , OS_SHFT, OS_CTRL, OS_ALT , OS_GUI , - KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , - _______, _______, _______, _______, _______, _______ - ), - -}; - -enum combo_events { - CAPS_COMBO -}; - -const uint16_t PROGMEM caps_combo[] = {KC_F, KC_J, COMBO_END}; - -combo_t key_combos[] = { - [CAPS_COMBO] = COMBO_ACTION(caps_combo), - // Other combos...C -}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - switch(combo_index) { - case CAPS_COMBO: - if (pressed) { - caps_word_on(); // Activate Caps Word! - } - break; - - // Other combos... - } -} - -bool is_oneshot_cancel_key(uint16_t keycode){ - switch (keycode) { - case LA_NAV: - return true; - default: - return false; - } -} - -bool is_oneshot_ignored_key(uint16_t keycode){ - switch (keycode) { - case LA_NAV: - case LA_SYM: - case OS_SHFT: - case OS_CTRL: - case OS_ALT: - case OS_GUI: - return true; - default: - return false; - } -} - -oneshot_state os_shft_state = os_up_unqueued; -oneshot_state os_ctrl_state = os_up_unqueued; -oneshot_state os_alt_state = os_up_unqueued; -oneshot_state os_cmd_state = os_up_unqueued; - - - -bool caps_word_press_user(uint16_t keycode) { - switch (keycode) { - // Keycodes that continue Caps Word, with shift applied. - case KC_A ... KC_Z: - case KC_MINS: - add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key. - return true; - - // Keycodes that continue Caps Word, without shifting. - case KC_1 ... KC_0: - case KC_BSPC: - case KC_DEL: - case KC_UNDS: - return true; - - default: - return false; // Deactivate Caps Word. - } -} - - -layer_state_t layer_state_set_user(layer_state_t state){ - return update_tri_layer_state(state, SYM, NAV, FUN); -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state | default_layer_state)) { - case _QWERTY: - oled_write_ln_P(PSTR("QWERTY"), false); - break; - case SYM: - oled_write_ln_P(PSTR("Sym"), false); - break; - case NAV: - oled_write_ln_P(PSTR("Nav"), false); - break; - case FUN: - oled_write_ln_P(PSTR("Function"), false); - break; - default: - oled_write_ln_P(PSTR("Undefined"), false); - } -} - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t* record) { - if (!process_caps_word(keycode, record)) { return false; } - // Your macros ... - update_oneshot( - &os_shft_state, KC_LSFT, OS_SHFT, - keycode, record - ); - - update_oneshot( - &os_ctrl_state, KC_LCTL, OS_CTRL, - keycode, record - ); - - update_oneshot( - &os_alt_state, KC_LALT, OS_ALT, - keycode, record - ); - - update_oneshot( - &os_cmd_state, KC_LGUI, OS_GUI, - keycode, record - ); - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} - -#endif diff --git a/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk b/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk deleted file mode 100644 index f5998494482a..000000000000 --- a/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -BOOTMAGIC_ENABLE = no -BOOLOADER = atmel-dfu -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -COMMAND_ENABLE = no # Disables the command feature -COMBO_ENABLE = yes -MOUSEKEY_ENABLE = no -CONSOLE_ENABLE = no -AUDIO_ENABLE = no -MIDI_ENABLE = no -BLUETOOTH_ENABLE = no -BACKLIGHT_ENABLE = no -CAPS_WORD_ENABLE = yes -CUSTOM_ONESHOT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemad/config.h b/keyboards/crkbd/keymaps/colemad/config.h deleted file mode 100644 index b52c669ea9ed..000000000000 --- a/keyboards/crkbd/keymaps/colemad/config.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_KEYPRESSES - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - #define RGB_DISABLE_WHEN_USB_SUSPENDED - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - #define RGB_MATRIX_LED_FLUSH_LIMIT 16 - #define RGB_MATRIX_HUE_STEP 8 - #define RGB_MATRIX_SAT_STEP 8 - #define RGB_MATRIX_VAL_STEP 5 - #define RGB_MATRIX_SPD_STEP 10 - - // Effects - #define ENABLE_RGB_MATRIX_BREATHING -#endif - -#ifdef OLED_ENABLE - #define SPLIT_LAYER_STATE_ENABLE - #define SPLIT_LED_STATE_ENABLE - #define SPLIT_MODS_ENABLE - #define SPLIT_OLED_ENABLE - #define OLED_TIMEOUT 60000 - #define OLED_FONT_H "keyboards/crkbd/keymaps/colemad/glcdfont.c" -#endif diff --git a/keyboards/crkbd/keymaps/colemad/glcdfont.c b/keyboards/crkbd/keymaps/colemad/glcdfont.c deleted file mode 100644 index 3bf950e1626a..000000000000 --- a/keyboards/crkbd/keymaps/colemad/glcdfont.c +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, - 0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, - 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0x83, 0x43, - 0x23, 0x13, 0x23, 0x43, 0x83, 0x03, - 0x06, 0xFC, 0x00, 0x00, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0x23, - 0x23, 0x03, 0x23, 0xE3, 0x23, 0x03, - 0xE3, 0xA3, 0x63, 0x03, 0xE3, 0x03, - 0x03, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xC3, 0x23, - 0x23, 0xC3, 0x03, 0x43, 0xA3, 0x23, - 0x43, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0xF8, 0xFC, 0x06, 0x03, 0xE3, 0xA3, - 0xE3, 0x03, 0xE3, 0x03, 0x83, 0xE3, - 0x83, 0x03, 0x06, 0xFC, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, - 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, - 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, - 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, - 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, - 0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, - 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x41, 0x41, 0x4F, - 0x48, 0x48, 0x48, 0x4F, 0x41, 0x41, - 0x20, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x44, - 0x44, 0x40, 0x40, 0x47, 0x40, 0x40, - 0x47, 0x40, 0x47, 0x40, 0x47, 0x44, - 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x43, 0x44, - 0x44, 0x43, 0x40, 0x42, 0x44, 0x45, - 0x42, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x1F, 0x3F, 0x60, 0x40, 0x47, 0x40, - 0x47, 0x40, 0x47, 0x44, 0x40, 0x47, - 0x44, 0x40, 0x20, 0x1F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, - 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, - 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, - 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, - 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, - 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, - 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, - 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, - 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, - 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, - 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, - 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, - 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, - 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, - 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, - 0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, - 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, - 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, - 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/colemad/keycodes.h b/keyboards/crkbd/keymaps/colemad/keycodes.h deleted file mode 100644 index 6497f1662b1c..000000000000 --- a/keyboards/crkbd/keymaps/colemad/keycodes.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include QMK_KEYBOARD_H -#include "layers.h" - -/* Tap-Hold keycodes */ -#define KC_LOWER LT(_LOWER, KC_ENT) /* Tap for Enter, Hold for LOWER layer */ -#define KC_RAISE LT(_RAISE, KC_SPC) /* Tap for Space, Hold for RAISE layer */ - -/* Tap Dance keycodes */ -#if defined(TAP_DANCE_ENABLE) - #include "tap_dances.h" - #define KC_T_SFT T_SFT /* Single tap for Shift, Double tap for CAPS Lock */ -#else - #define KC_T_SFT KC_LSFT -#endif - -/* Macros */ -enum custom_keycodes { - VSCTERM = SAFE_RANGE, - CHNLANG -}; diff --git a/keyboards/crkbd/keymaps/colemad/keymap.c b/keyboards/crkbd/keymaps/colemad/keymap.c deleted file mode 100644 index fb951370f2c3..000000000000 --- a/keyboards/crkbd/keymaps/colemad/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -#include "layers.h" -#include "keycodes.h" -#include "process_records.h" - -#ifdef OLED_ENABLE - #include "oled.h" -#endif - -/* Layer keymaps */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - T_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LALT, KC_LCTL,KC_RAISE, KC_LOWER, T_SFT, KC_LGUI - // `-------------------------' `--------------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_0, KC_1, KC_2, KC_3, KC_MINS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_ESC, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_ASTR, KC_7, KC_8, KC_9, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - // `-------------------------' `--------------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_F11, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - // `-------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, VSCTERM, KC_PSCR, CHNLANG, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX - // `-------------------------' `--------------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/crkbd/keymaps/colemad/layers.h b/keyboards/crkbd/keymaps/colemad/layers.h deleted file mode 100644 index f569ad156ed1..000000000000 --- a/keyboards/crkbd/keymaps/colemad/layers.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -enum custom_layers { - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST, -}; diff --git a/keyboards/crkbd/keymaps/colemad/oled.c b/keyboards/crkbd/keymaps/colemad/oled.c deleted file mode 100644 index 8c5591184e93..000000000000 --- a/keyboards/crkbd/keymaps/colemad/oled.c +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H -#include "layers.h" -#include "oled.h" - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -void render_layer_symbol(void) { - static const char PROGMEM default_layer[] = { - 0x20, 0x94, 0x95, 0x96, 0x20, - 0x20, 0xb4, 0xb5, 0xb6, 0x20, - 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = { - 0x20, 0x97, 0x98, 0x99, 0x20, - 0x20, 0xb7, 0xb8, 0xb9, 0x20, - 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0x20, 0x9a, 0x9b, 0x9c, 0x20, - 0x20, 0xba, 0xbb, 0xbc, 0x20, - 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0x20, 0x9d, 0x9e, 0x9f, 0x20, - 0x20, 0xbd, 0xbe, 0xbf, 0x20, - 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -void render_layer_name(void) { - bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); - bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); - bool adjust = layer_state_is(_ADJUST); - - if(lower){ - oled_write_P(PSTR("LOWER"), false); - } else if(raise){ - oled_write_P(PSTR("RAISE"), false); - } else if(adjust){ - oled_write_P(PSTR(" ADJ "), false); - } else { - oled_write_P(PSTR(" "), false); - } -} - -void render_mod_state(uint8_t modifiers) { - static const char PROGMEM shift_line_1[] = { - 0x85, 0x86, 0x87, 0}; - static const char PROGMEM shift_line_2[] = { - 0xa5, 0xa6, 0xa7, 0}; - - static const char PROGMEM ctrl_line_1[] = { - 0x88, 0x89, 0x8a, 0x8b, 0}; - static const char PROGMEM ctrl_line_2[] = { - 0xa8, 0xa9, 0xaa, 0xab, 0}; - - static const char PROGMEM os_line_1[] = { - 0x8c, 0x8d, 0x8e, 0}; - static const char PROGMEM os_line_2[] = { - 0xac, 0xad, 0xae, 0}; - - static const char PROGMEM alt_line_1[] = { - 0x8f, 0x90, 0x91, 0}; - static const char PROGMEM alt_line_2[] = { - 0xaf, 0xb0, 0xb1, 0}; - - if (modifiers & MOD_MASK_GUI) { - oled_write(" ", false); - oled_write_ln_P(os_line_1, false); - oled_write(" ", false); - oled_write_ln_P(os_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_SHIFT) { - oled_write(" ", false); - oled_write_ln_P(shift_line_1, false); - oled_write(" ", false); - oled_write_ln_P(shift_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_ALT) { - oled_write(" ", false); - oled_write_ln_P(alt_line_1, false); - oled_write(" ", false); - oled_write_ln_P(alt_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } - - if (modifiers & MOD_MASK_CTRL) { - oled_write_ln_P(ctrl_line_1, false); - oled_write_ln_P(ctrl_line_2, false); - } else { - oled_write_ln("", false); - oled_write_ln("", false); - } -} - -void render_status(void){ - render_layer_name(); - - render_layer_symbol(); - - oled_write_P(PSTR("\n\n\n"), false); - - render_mod_state(get_mods()|get_oneshot_mods()); -} - -bool oled_task_user(void) { - render_status(); - return false; -} diff --git a/keyboards/crkbd/keymaps/colemad/oled.h b/keyboards/crkbd/keymaps/colemad/oled.h deleted file mode 100644 index c096466e7135..000000000000 --- a/keyboards/crkbd/keymaps/colemad/oled.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#ifdef OLED_ENABLE - bool process_record_oled(uint16_t keycode, keyrecord_t *record); - oled_rotation_t oled_init_user(oled_rotation_t rotation); - void render_layer_symbol(void); - void render_layer_name(void); - void render_mod_state(uint8_t modifiers); - void render_status(void); - bool oled_task_user(void); -#endif \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemad/process_records.c b/keyboards/crkbd/keymaps/colemad/process_records.c deleted file mode 100644 index 549dec24644a..000000000000 --- a/keyboards/crkbd/keymaps/colemad/process_records.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "layers.h" -#include "keycodes.h" - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - /* Macros */ - switch (keycode) { - case VSCTERM: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("`")); // Ctrl + ` (to toggle vscode terminal) - } - return false; - case CHNLANG: - if (record->event.pressed) { - SEND_STRING(SS_LCTL(SS_LSFT("n"))); // Ctrl + Shift + N (to change keyboard layout) - } - return false; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/colemad/process_records.h b/keyboards/crkbd/keymaps/colemad/process_records.h deleted file mode 100644 index 7cedcfbe6855..000000000000 --- a/keyboards/crkbd/keymaps/colemad/process_records.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/colemad/readme.md b/keyboards/crkbd/keymaps/colemad/readme.md deleted file mode 100644 index 404fa9e79808..000000000000 --- a/keyboards/crkbd/keymaps/colemad/readme.md +++ /dev/null @@ -1,106 +0,0 @@ -# **COLEMAD** - -## Corne Keyboard (CRKBD) **Colemak** layout by [ACortesDev](https://github.com/ACortesDev) - -1. **Fast navigation**. -2. **Fast symbols**. -3. **Fast numbers**. - Using the Telephone/ATM numpad layout. Easier to memorize/visualize as numbers follow *left-to-right, top-to-bottom* order. -4. **Fast capital letters**. - Added a *CAPS Lock* key because... [There is no *CAPS Lock* key in the Colemak Layout](https://colemak.com/FAQ#Where_is_the_Caps_Lock_key.3F). - ---- - -### **Flashing** - -For *Pro Micro* execute: `sudo make crkbd:colemad:avrdude` - -For *Elite-C* execute: `sudo make crkbd:colemad:dfu` - ---- - -### **Layers** - -#### 0. **COLEMAK** - -Notes: - -- Double tap Shift to (de)activate CAPS Lock. -- Hold down the Enter thumb key to switch to the LOWER layer -- Hold down the Space thumb key to switch to the RAISE layer -- Characters **"** **:** **|** **<** **>** **?** as you would expect them using *Shift*. - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | A | R | S | T | D | | H | N | E | I | O | ' | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | Z | X | C | V | B | | K | M | , | . | / | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | Space | | Enter | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 1. **LOWER** - -##### Numpad + Navigation - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | 0 | 1 | 2 | 3 | - | | PgUP | HOME | ↑ | END | ESC | | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | / | 4 | 5 | 6 | + | | PgDN | ← | ↓ | → | DEL | | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | * | 7 | 8 | 9 | = | | | | | | | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | Space | | | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 2. **RAISE** - -##### Symbols + Function Keys - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | Tab | ! | @ | # | $ | % | | ^ | & | * | ( | ) | F11 | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | BackSP | F1 | F2 | F3 | F4 | F5 | | ` | - | = | [ | ] | F12 | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | Shift | F6 | F7 | F8 | F9 | F10 | | ~ | _ | + | { | } | ESC | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | Alt | Ctrl | | | Enter | Shift | GUI | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -#### 3. **ADJUST** - -##### Macros + Settings - -```text - ,-----------------------------------------------------. ,-----------------------------------------------------. - | | | | | | | |RGB_TOG |RGB_MOD |RGB_VAI |RGB_HUI |RGB_SAI |RGB_SPI | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | | |VSCTERM | PSCR |CHNLANG | | | |RGB_RMOD|RGB_VAD |RGB_HUD |RGB_SAD |RGB_SPD | - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - | | | | | | | | | | | | | | - `--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------' - ,--------. ,--------. - ,-----------------| | | |-----------------. - | | | | | | | | - | | | (RAISE)| |(LOWER) | | | - `--------+--------+--------' `--------+--------+--------' -``` - -- Macro **VSCTERM**: Toggles the vscode terminal (Ctrl + `) -- Macro **CHNLANG**: Changes the OS keyboard layout (Ctrl + Shift + N) diff --git a/keyboards/crkbd/keymaps/colemad/rules.mk b/keyboards/crkbd/keymaps/colemad/rules.mk deleted file mode 100644 index 6f9d31a75517..000000000000 --- a/keyboards/crkbd/keymaps/colemad/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ -RGB_MATRIX_ENABLE = yes -RGBLIGHT_ENABLE = no -SPLIT_KEYBOARD = yes -TAP_DANCE_ENABLE = yes -MOUSEKEY_ENABLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - - -# Link Time Optimization (Reduces compiled size) -LTO_ENABLE = yes - -SRC += ./process_records.c - -ifeq ($(TAP_DANCE_ENABLE),yes) - SRC += ./tap_dances.c -endif - -ifeq ($(OLED_ENABLE),yes) - SRC += ./oled.c -endif diff --git a/keyboards/crkbd/keymaps/colemad/tap_dances.c b/keyboards/crkbd/keymaps/colemad/tap_dances.c deleted file mode 100644 index c0d83b94d037..000000000000 --- a/keyboards/crkbd/keymaps/colemad/tap_dances.c +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#include "tap_dances.h" - -tap_dance_action_t tap_dance_actions[] = { - [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS) -}; diff --git a/keyboards/crkbd/keymaps/colemad/tap_dances.h b/keyboards/crkbd/keymaps/colemad/tap_dances.h deleted file mode 100644 index 1d7cf1e7f42d..000000000000 --- a/keyboards/crkbd/keymaps/colemad/tap_dances.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2022 Álvaro CortÃĐs (@ACortesDev) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include QMK_KEYBOARD_H - -enum custom_tapdances{ - TD_LSFT_CAPS = 0, -}; - -#define T_SFT TD(TD_LSFT_CAPS) /* Tap for Shift, double tap for CAPSLOCK */ diff --git a/keyboards/crkbd/keymaps/colemak_luna/rules.mk b/keyboards/crkbd/keymaps/colemak_luna/rules.mk index a26c4eb8a316..9ff3128931ae 100644 --- a/keyboards/crkbd/keymaps/colemak_luna/rules.mk +++ b/keyboards/crkbd/keymaps/colemak_luna/rules.mk @@ -3,6 +3,5 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB underlight. VIA_ENABLE = yes # Enable VIA OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes WPM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/crkdves/config.h b/keyboards/crkbd/keymaps/crkdves/config.h deleted file mode 100644 index 07d930137fb3..000000000000 --- a/keyboards/crkbd/keymaps/crkdves/config.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 -// #define RETRO_TAPPING - -#ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_SLEEP - #define RGBLIGHT_SPLIT - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - - -#ifdef OLED_ENABLE -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/crkdves/glcdfont.c" -# define OLED_TIMEOUT 30000 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* 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. */ -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/crkdves/glcdfont.c b/keyboards/crkbd/keymaps/crkdves/glcdfont.c deleted file mode 100644 index 0086a73fe9e9..000000000000 --- a/keyboards/crkbd/keymaps/crkdves/glcdfont.c +++ /dev/null @@ -1,236 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -/* Copyright 2022 Yeimi Alberth (@yeimialberth) -* This program is free software: you can redistribute it and/or modify it in the hope that it will be useful. -*/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, -0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, -0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, -0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, -0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, -0x22, 0x22, 0x42, 0x82, 0x02, 0x02, -0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, -0x42, 0x22, 0x42, 0x82, 0x02, 0x02, -0x02, 0x82, 0x42, 0x22, 0x12, 0x22, -0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, -0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, -0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, -0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, -0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, -0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, -0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, -0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, -0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, -0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, -0x07, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, -0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, -0x40, 0x40, 0x40, 0x40, 0x41, 0x42, -0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, -0x40, 0x40, 0x40, 0x40, 0x41, 0x40, -0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, -0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, -0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, -0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, -0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, -0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, -0x88, 0x88, 0x55, 0x55, 0x23, 0x23, -0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, -0x23, 0x23, 0x55, 0x55, 0x88, 0x88, -0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, -0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, -0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, -0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, -0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, -0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, -0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, -0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, -0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, -0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, -0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, -0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, -0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, -0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x03, -0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, -0x03, 0x03, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x02, -0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, -0x03, 0x02, 0x01, 0x01, 0x00, 0x00 -}; diff --git a/keyboards/crkbd/keymaps/crkdves/keymap.c b/keyboards/crkbd/keymaps/crkdves/keymap.c deleted file mode 100644 index 333e47e952b6..000000000000 --- a/keyboards/crkbd/keymaps/crkdves/keymap.c +++ /dev/null @@ -1,415 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H -#include "version.h" -#include "keymap_spanish.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 layers { - _DVORAK, - _NAVIGATE, - _SYMBOLS, - _NUMPAD, - _ADJUST -}; - -// Custom keycodes for layer keys -// Dual function escape with left command -#define KC_LGESC LGUI_T(KC_ESC) - -enum custom_keycodes { - DVORAK = SAFE_RANGE, -// LOWER, -// RAISE, -// ADJUST, - RGBRST -// KC_RACL // right alt / colon -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(3,KC_TAB), ./: , ,/; , Ñ, P, Y, F, G, C, H, L , BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_T(KC_ESC), A, O, E, U, I, D, R, T, N, S, Âī , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LSFT_T(<), -, Q, J, K, X, B, M, W, V, Z, RSFT_T('), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, MO(1), KC_SPC, KC_SPC, MO(2), RALT(SUPR) - //`--------------------------' `--------------------------' - - */ - [_DVORAK] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -LT(_NUMPAD,KC_TAB), ES_DOT, ES_COMM, ES_NTIL, ES_P, ES_Y, ES_F, ES_G, ES_C, ES_H, ES_L, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_T(KC_ESC), ES_A, ES_O, ES_E, ES_U, ES_I, ES_D, ES_R, ES_T, ES_N, ES_S, ES_ACUT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -LSFT_T(ES_LABK), ES_MINS, ES_Q, ES_J, ES_K, ES_X, ES_B, ES_M, ES_W, ES_V, ES_Z, RSFT_T(ES_QUOT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, LT(_NAVIGATE,KC_CAPS), KC_SPC, KC_SPC, LT(_SYMBOLS,KC_ENT), RALT_T(KC_DEL) - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, z , v , c , KC_LCTL, , , , ↑ , , , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, x , KC_LSFT, KC_LALT, KC_LGUI, , , ← , ↓ , → , , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_DEL - //`--------------------------' `--------------------------' - - */ - - [_NAVIGATE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, ES_Z, ES_V, ES_C, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, ES_X, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, MO(_ADJUST), KC_DEL - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - , ÂĄ , ! , ( , ) , , , = , * , ` , ^ , KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , < , > , { , } , , " , / , + , @ , # , š , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , Âŋ , ? , [ , ] , , , $ , & , | , % , \ , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, , KC_RALT - //`--------------------------' `--------------------------' - - */ - - [_SYMBOLS] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, ES_IEXL, ES_EXLM, ES_LPRN, ES_RPRN, XXXXXXX, XXXXXXX, ES_EQL, ES_ASTR, ES_GRV, ES_CIRC, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, ES_LABK, ES_RABK, ES_LCBR, ES_RCBR, XXXXXXX, ES_DQUO, ES_SLSH, ES_PLUS, ES_AT, ES_HASH, ES_MORD, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, ES_IQUE, ES_QUES, ES_LBRC, ES_RBRC, XXXXXXX, XXXXXXX, ES_DLR, ES_AMPR, ES_PIPE, ES_PERC, ES_BSLS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(_ADJUST), KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - , , , , , , + , 7 , 8 , 9 , - , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , , , , , , * , 4 , 5 , 6 , / , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , , , , , , . , 1 , 2 , 3 , 0 , , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_RALT - //`--------------------------' `--------------------------' - - */ - - [_NUMPAD] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_MINS, ES_7, ES_8, ES_9, ES_SLSH, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, XXXXXXX, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, ES_PLUS, ES_4, ES_5, ES_6, ES_ASTR, ES_COMM, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_DOT, ES_1, ES_2, ES_3, ES_0, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, RGBRST,RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; - - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -void render_space(void) { - oled_write_P(PSTR(" "), false); -} - -void render_mod_status_gui_alt(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; - - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_1, false); - } else { - oled_write_P(gui_off_1, false); - } - - if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_1, false); - } else { - oled_write_P(alt_off_1, false); - } - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_2, false); - } else { - oled_write_P(gui_off_2, false); - } - - if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_2, false); - } else { - oled_write_P(alt_off_2, false); - } -} - -void render_mod_status_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; - static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; - static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; - static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; - - static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_1, false); - } else { - oled_write_P(ctrl_off_1, false); - } - - if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_1, false); - } else { - oled_write_P(shift_off_1, false); - } - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_2, false); - } else { - oled_write_P(ctrl_off_2, false); - } - - if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_2, false); - } else { - oled_write_P(shift_off_2, false); - } -} - -void render_logo(void) { - static const char PROGMEM corne_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0}; - oled_write_P(corne_logo, false); - oled_write_P(PSTR("corne"), false); -} - -void render_layer_state(void) { - static const char PROGMEM raise_layer[] = { - 0x20, 0x97, 0x98, 0x99, 0x20, - 0x20, 0xb7, 0xb8, 0xb9, 0x20, - 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM navigate_layer[] = { - 0x20, 0x94, 0x95, 0x96, 0x20, - 0x20, 0xb4, 0xb5, 0xb6, 0x20, - 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0x20, 0x9a, 0x9b, 0x9c, 0x20, - 0x20, 0xba, 0xbb, 0xbc, 0x20, - 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM numpad_layer[] = { - 0x20, 0x9b, 0x9c, 0x94, 0x20, - 0x20, 0xbb, 0xbc, 0xb4, 0x20, - 0x20, 0xdb, 0xdc, 0xd4, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0x20, 0x9d, 0x9e, 0x9f, 0x20, - 0x20, 0xbd, 0xbe, 0xbf, 0x20, - 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_NAVIGATE)) { - oled_write_P(navigate_layer, false); - } else if(layer_state_is(_SYMBOLS)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_NUMPAD)) { - oled_write_P(numpad_layer, false); - } else { - oled_write_P(raise_layer, false); - } -} - -bool oled_task_user(void) { - // Renders the current keyboard state (layers and mods) - render_logo(); - render_space(); - render_layer_state(); - render_space(); - render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); - render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); - return false; -} - -#endif -bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// static uint16_t my_colon_timer; - - switch (keycode) { - /* case LOWER: - if (record->event.pressed) { - layer_on(_NAVIGATE); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } else { - layer_off(_NAVIGATE); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_SYMBOLS); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } else { - layer_off(_SYMBOLS); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case KC_RACL: - if (record->event.pressed) { - my_colon_timer = timer_read(); - register_code(KC_RALT); - } else { - unregister_code(KC_RALT); - if (timer_elapsed(my_colon_timer) < TAPPING_TERM) { - SEND_STRING(":"); // Change the character(s) to be sent on tap here - } - } - return false; */ - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - #ifdef RGB_MATRIX_ENABLE - if (record->event.pressed) { - eeconfig_update_rgb_matrix_default(); - rgb_matrix_enable(); - } - #endif - break; - } - return true; -} - -#endif diff --git a/keyboards/crkbd/keymaps/crkdves/rules.mk b/keyboards/crkbd/keymaps/crkdves/rules.mk deleted file mode 100644 index d3a964424fe5..000000000000 --- a/keyboards/crkbd/keymaps/crkdves/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -MOUSEKEY_ENABLE = no -NKRO_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/crkqwes/config.h b/keyboards/crkbd/keymaps/crkqwes/config.h deleted file mode 100644 index 5be6a0449b45..000000000000 --- a/keyboards/crkbd/keymaps/crkqwes/config.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -// #define SSD1306OLED -#undef USE_I2C -#undef SSD1306OLED - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 -// #define RETRO_TAPPING - -#ifdef RGBLIGHT_ENABLE - #undef RGBLED_NUM - #define RGBLED_NUM 27 -#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 - #define RGBLIGHT_SLEEP - #define RGBLIGHT_SPLIT - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - - -#ifdef OLED_ENABLE -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/crkqwes/glcdfont.c" -# define OLED_TIMEOUT 30000 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* 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. */ -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/crkqwes/glcdfont.c b/keyboards/crkbd/keymaps/crkqwes/glcdfont.c deleted file mode 100644 index 0086a73fe9e9..000000000000 --- a/keyboards/crkbd/keymaps/crkqwes/glcdfont.c +++ /dev/null @@ -1,236 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -/* Copyright 2022 Yeimi Alberth (@yeimialberth) -* This program is free software: you can redistribute it and/or modify it in the hope that it will be useful. -*/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, -0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, -0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, -0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, -0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, -0x22, 0x22, 0x42, 0x82, 0x02, 0x02, -0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, -0x42, 0x22, 0x42, 0x82, 0x02, 0x02, -0x02, 0x82, 0x42, 0x22, 0x12, 0x22, -0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, -0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, -0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, -0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, -0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, -0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, -0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, -0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, -0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, -0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, -0x07, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, -0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, -0x40, 0x40, 0x40, 0x40, 0x41, 0x42, -0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, -0x40, 0x40, 0x40, 0x40, 0x41, 0x40, -0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, -0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, -0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, -0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, -0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, -0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, -0x88, 0x88, 0x55, 0x55, 0x23, 0x23, -0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, -0x23, 0x23, 0x55, 0x55, 0x88, 0x88, -0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, -0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, -0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, -0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, -0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, -0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, -0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, -0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, -0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, -0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, -0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, -0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, -0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, -0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x03, -0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, -0x03, 0x03, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x02, -0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, -0x03, 0x02, 0x01, 0x01, 0x00, 0x00 -}; diff --git a/keyboards/crkbd/keymaps/crkqwes/keymap.c b/keyboards/crkbd/keymaps/crkqwes/keymap.c deleted file mode 100644 index 817935d0b31d..000000000000 --- a/keyboards/crkbd/keymaps/crkqwes/keymap.c +++ /dev/null @@ -1,415 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H -#include "version.h" -#include "keymap_spanish.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 layers { - _QWERTY, - _NAVIGATE, - _SYMBOLS, - _NUMPAD, - _ADJUST -}; - -// Custom keycodes for layer keys -// Dual function escape with left command -#define KC_LGESC LGUI_T(KC_ESC) - -enum custom_keycodes { - QWERTY = SAFE_RANGE, -// LOWER, -// RAISE, -// ADJUST, - RGBRST -// KC_RACL // right alt / colon -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(3,KC_TAB), Q, W, E, R, T, Y, U, I, O, P, BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_T(KC_ESC), A, S, D, F, G, H, J, K, L, Ñ, Âī , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LSFT_T(<), Z, X, C, V, B, N, M, ,/; , ./: , -/_ , RSFT_T('), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, MO(1), KC_SPC, KC_SPC, MO(2), RALT(SUPR) - //`--------------------------' `--------------------------' - - */ - [_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -LT(_NUMPAD,KC_TAB), ES_Q, ES_W, ES_E, ES_R, ES_T, ES_Y, ES_U, ES_I, ES_O, ES_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_T(KC_ESC), ES_A, ES_S, ES_D, ES_F, ES_G, ES_H, ES_J, ES_K, ES_L, ES_NTIL, ES_ACUT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -LSFT_T(ES_LABK), ES_Z, ES_X, ES_C, ES_V, ES_B, ES_N, ES_M, ES_COMM, ES_DOT, ES_MINS, RSFT_T(ES_QUOT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, LT(_NAVIGATE,KC_CAPS), KC_SPC, KC_SPC, LT(_SYMBOLS,KC_ENT), RALT_T(KC_DEL) - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, z , v , c , KC_LCTL, , , , ↑ , , , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, x , KC_LSFT, KC_LALT, KC_LGUI, , , ← , ↓ , → , , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_DEL - //`--------------------------' `--------------------------' - - */ - - [_NAVIGATE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, ES_X, ES_V, ES_C, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, ES_Z, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BRMU, KC_BRMD, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, MO(_ADJUST), KC_DEL - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - , ÂĄ , ! , ( , ) , , , = , * , ` , ^ , KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , < , > , { , } , , " , / , + , @ , # , š , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , Âŋ , ? , [ , ] , , , $ , & , | , % , \ , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, , KC_RALT - //`--------------------------' `--------------------------' - - */ - - [_SYMBOLS] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, ES_IEXL, ES_EXLM, ES_LPRN, ES_RPRN, XXXXXXX, XXXXXXX, ES_EQL, ES_ASTR, ES_GRV, ES_CIRC, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, ES_LABK, ES_RABK, ES_LCBR, ES_RCBR, XXXXXXX, ES_DQUO, ES_SLSH, ES_PLUS, ES_AT, ES_HASH, ES_MORD, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, ES_IQUE, ES_QUES, ES_LBRC, ES_RBRC, XXXXXXX, XXXXXXX, ES_DLR, ES_AMPR, ES_PIPE, ES_PERC, ES_BSLS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(_ADJUST), KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - /* - //,-----------------------------------------------------. ,-----------------------------------------------------. - , , , , , , + , 7 , 8 , 9 , - , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , , , , , , * , 4 , 5 , 6 , / , , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , , , , , , . , 1 , 2 , 3 , 0 , , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - WIN/CMD, , KC_SPC, KC_SPC, MO(2), KC_RALT - //`--------------------------' `--------------------------' - - */ - - [_NUMPAD] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_MINS, ES_7, ES_8, ES_9, ES_SLSH, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, XXXXXXX, KC_LSFT, KC_LALT, KC_LGUI, XXXXXXX, ES_PLUS, ES_4, ES_5, ES_6, ES_ASTR, ES_COMM, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_DOT, ES_1, ES_2, ES_3, ES_0, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, RGBRST,RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; - - - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -void render_space(void) { - oled_write_P(PSTR(" "), false); -} - -void render_mod_status_gui_alt(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; - - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_1, false); - } else { - oled_write_P(gui_off_1, false); - } - - if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_1, false); - } else { - oled_write_P(alt_off_1, false); - } - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_2, false); - } else { - oled_write_P(gui_off_2, false); - } - - if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_2, false); - } else { - oled_write_P(alt_off_2, false); - } -} - -void render_mod_status_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; - static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; - static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; - static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; - - static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_1, false); - } else { - oled_write_P(ctrl_off_1, false); - } - - if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_1, false); - } else { - oled_write_P(shift_off_1, false); - } - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_2, false); - } else { - oled_write_P(ctrl_off_2, false); - } - - if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_2, false); - } else { - oled_write_P(shift_off_2, false); - } -} - -void render_logo(void) { - static const char PROGMEM corne_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0}; - oled_write_P(corne_logo, false); - oled_write_P(PSTR("corne"), false); -} - -void render_layer_state(void) { - static const char PROGMEM raise_layer[] = { - 0x20, 0x97, 0x98, 0x99, 0x20, - 0x20, 0xb7, 0xb8, 0xb9, 0x20, - 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM navigate_layer[] = { - 0x20, 0x94, 0x95, 0x96, 0x20, - 0x20, 0xb4, 0xb5, 0xb6, 0x20, - 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0x20, 0x9a, 0x9b, 0x9c, 0x20, - 0x20, 0xba, 0xbb, 0xbc, 0x20, - 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM numpad_layer[] = { - 0x20, 0x9b, 0x9c, 0x94, 0x20, - 0x20, 0xbb, 0xbc, 0xb4, 0x20, - 0x20, 0xdb, 0xdc, 0xd4, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0x20, 0x9d, 0x9e, 0x9f, 0x20, - 0x20, 0xbd, 0xbe, 0xbf, 0x20, - 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_NAVIGATE)) { - oled_write_P(navigate_layer, false); - } else if(layer_state_is(_SYMBOLS)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_NUMPAD)) { - oled_write_P(numpad_layer, false); - } else { - oled_write_P(raise_layer, false); - } -} - -bool oled_task_user(void) { - // Renders the current keyboard state (layers and mods) - render_logo(); - render_space(); - render_layer_state(); - render_space(); - render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); - render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); - return false; -} - -#endif -bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// static uint16_t my_colon_timer; - - switch (keycode) { - /* case LOWER: - if (record->event.pressed) { - layer_on(_NAVIGATE); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } else { - layer_off(_NAVIGATE); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_SYMBOLS); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } else { - layer_off(_SYMBOLS); - update_tri_layer_RGB(_NAVIGATE, _SYMBOLS, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case KC_RACL: - if (record->event.pressed) { - my_colon_timer = timer_read(); - register_code(KC_RALT); - } else { - unregister_code(KC_RALT); - if (timer_elapsed(my_colon_timer) < TAPPING_TERM) { - SEND_STRING(":"); // Change the character(s) to be sent on tap here - } - } - return false; */ - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - #ifdef RGB_MATRIX_ENABLE - if (record->event.pressed) { - eeconfig_update_rgb_matrix_default(); - rgb_matrix_enable(); - } - #endif - break; - } - return true; -} - diff --git a/keyboards/crkbd/keymaps/crkqwes/rules.mk b/keyboards/crkbd/keymaps/crkqwes/rules.mk deleted file mode 100644 index d3a964424fe5..000000000000 --- a/keyboards/crkbd/keymaps/crkqwes/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -MOUSEKEY_ENABLE = no -NKRO_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/curry/config.h b/keyboards/crkbd/keymaps/curry/config.h deleted file mode 100644 index a82b4439cfdc..000000000000 --- a/keyboards/crkbd/keymaps/curry/config.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#define EE_HANDS - -#define OLED_DISABLE_TIMEOUT -#define TAPPING_TERM_PER_KEY - -#if defined(RGB_MATRIX_ENABLE) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // 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 5 -# define RGB_MATRIX_SPD_STEP 10 -#endif - -// comment out unnecessary layouts -#define ENABLE_QWERTY -#define ENABLE_COLEMAK -#define ENABLE_DVORAK -#define ENABLE_WORKMAN diff --git a/keyboards/crkbd/keymaps/curry/keymap.c b/keyboards/crkbd/keymaps/curry/keymap.c deleted file mode 100644 index 5157a223797a..000000000000 --- a/keyboards/crkbd/keymaps/curry/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -#include "curry.h" - -#define LAYOUT_crkbd_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_wrapper( \ - KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ - MT_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ - OS_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, OS_RSFT, \ - QK_LEAD,OS_LALT, SP_LWER, ET_RAIS, KC_BSPC, KC_RGUI \ - ) -#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -#if defined(ENABLE_QWERTY) - [_QWERTY] = LAYOUT_crkbd_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), -#endif - -#if defined(ENABLE_COLEMAK) - [_COLEMAK] = LAYOUT_crkbd_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), -#endif - -#if defined(ENABLE_DVORAK) - [_DVORAK] = LAYOUT_crkbd_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), -#endif - -#if defined(ENABLE_WORKMAN) - [_WORKMAN] = LAYOUT_crkbd_base_wrapper( - _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, - _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, - _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ - ), -#endif - - [_MODS] = LAYOUT_wrapper( - _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, - _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, - KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, KC_RSFT, - _______, _______, _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT_wrapper( - KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F12, - KC_GRV, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_wrapper( - _______, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_wrapper( - KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, - VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR, - MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, - _______, _______, _______, _______, TG_MODS, _______ - ) -}; diff --git a/keyboards/crkbd/keymaps/curry/rules.mk b/keyboards/crkbd/keymaps/curry/rules.mk deleted file mode 100644 index fc0e7e1924aa..000000000000 --- a/keyboards/crkbd/keymaps/curry/rules.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no -CONSOLE_ENABLE = no -COMMAND_ENABLE = no - -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes - -OLED_ENABLE = yes - -BOOTLOADER = atmel-dfu -SPLIT_TRANSPORT = mirror diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h deleted file mode 100644 index 15ed448caee4..000000000000 --- a/keyboards/crkbd/keymaps/davidrambo/config.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define RGBLIGHT_SPLIT - -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_DEFAULT_HUE 231 - #define RGB_MATRIX_KEYPRESSES // reacts to keypresses - #define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50 - // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS - // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) - // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // 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 - -// 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 diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c deleted file mode 100644 index b707192608b8..000000000000 --- a/keyboards/crkbd/keymaps/davidrambo/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2021 David Rambo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - _COLEMAK, - _SYMBOL, - _NAVIGATION, - _FKEYS, -}; - -//keycode shorthands -#define SYM MO(1) -#define NAV LT(2, KC_ESC) -#define FKEY MO(3) - -//aliases for clarity in layering -#define SftEnt SFT_T(KC_ENT) // Shift when held, Enter when tapped -#define BSCTL LCTL_T(KC_BSPC) // Ctrl when held, Backspace when tapped -#define CTAB LCTL(KC_TAB) -#define ATAB LALT(KC_TAB) - -//aliases for Navigation layer -#define CBSPC LCTL(KC_BSPC) // delete whole word -#define C_CL LCTL(KC_LEFT) // move cursor one word back -#define C_CR LCTL(KC_RGHT) // move cursor one word forward - -//internet browser tab shortcuts and window swapping -#define CTLPGDN LCTL(KC_PGDN) -#define CTLPGUP LCTL(KC_PGUP) - -#define G_GRV LGUI(KC_GRV) -#define SftEnt SFT_T(KC_ENT) - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, - SET_RGB, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O , KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, KC_LGUI, BSCTL, KC_SPC, SYM , FKEY - //`--------------------------' `--------------------------' - - ), - - [_SYMBOL] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_LBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_HOME, KC_END, _______, _______, _______, KC_GRV, KC_MINS, KC_PGUP, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, KC_PGDN - //`--------------------------' `--------------------------' - ), - - [_NAVIGATION] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, _______, _______, _______, _______, CTAB , C_CL , KC_UP, C_CR , KC_DEL, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT , KC_DOWN, KC_RGHT, CTLPGDN, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - QK_BOOT, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [_FKEYS] = 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, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_TOG, SET_RGB, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, RGB_MOD, RGB_M_P, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ) -}; - -void keyboard_post_init_user(void) { -// rgb_matrix_sethsv(191, 43, 81); - rgblight_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP); -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - switch (keycode) { - - case SET_RGB: - if (record->event.pressed) { - rgb_matrix_sethsv_noeeprom(18, 86, 95); - } - return false; - break; - - } - return true; -} diff --git a/keyboards/crkbd/keymaps/davidrambo/readme.md b/keyboards/crkbd/keymaps/davidrambo/readme.md deleted file mode 100644 index e8ce162b64ef..000000000000 --- a/keyboards/crkbd/keymaps/davidrambo/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is my Corne keymap, which uses Colemak and shortcuts for Linux and Windows. diff --git a/keyboards/crkbd/keymaps/davidrambo/rules.mk b/keyboards/crkbd/keymaps/davidrambo/rules.mk deleted file mode 100644 index 782b689f4204..000000000000 --- a/keyboards/crkbd/keymaps/davidrambo/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -BOOTLOADER = atmel-dfu diff --git a/keyboards/crkbd/keymaps/devdev/config.h b/keyboards/crkbd/keymaps/devdev/config.h deleted file mode 100644 index 337a86df8e9d..000000000000 --- a/keyboards/crkbd/keymaps/devdev/config.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2021 Dane Evans - - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define CUSTOM_FONT - -#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 - -#define RGBLIGHT_SLEEP -// -#define RGBLIGHT_LAYERS - -#ifdef RGBLIGHT_ENABLE - #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 - - //#define RGBLED_NUM 54 - //#define RGBLED_SPLIT 27 - //#define RGBLED_SPLIT { 27, 27 } // haven't figured out how to use this yet - - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. - -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT - -# 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 -// # 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 diff --git a/keyboards/crkbd/keymaps/devdev/keymap.c b/keyboards/crkbd/keymaps/devdev/keymap.c deleted file mode 100644 index 0327101157f2..000000000000 --- a/keyboards/crkbd/keymaps/devdev/keymap.c +++ /dev/null @@ -1,396 +0,0 @@ -/* Copyright 2020 Dane Evans - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// CRKBD - -#include QMK_KEYBOARD_H - - -char layer_state_str[24]; - - - enum userspace_layers { - _DEFAULTS = 0, - _COLEMAK = 0, - _COLEMAKDH, - _QWERTY, - _NUM, - _SYM, - _COMMAND, - _NUMPAD, - _SWITCH, - _MOVE, - -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - // colemak - [_COLEMAK] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_G, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT - //`--------------------------' `--------------------------' - ), - - // colemak DH - [_COLEMAKDH] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_B, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT - //`--------------------------' `--------------------------' - ), - - // qwerty - [_QWERTY] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, LT(_SWITCH,KC_Y), KC_U, KC_I, KC_O, KC_P, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_NUMPAD,KC_SCLN), KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - - - // numbers - L thumb - [_NUM] = 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_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_COMMAND), KC_TRNS - //`--------------------------' `--------------------------' - ), - - // symbols - R thumb - [_SYM] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, MO(_COMMAND), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - // commands - both thumbs - [_COMMAND] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, DF(1), DF(0), C(G(KC_LEFT)), KC_NO, KC_NO, C(G(KC_RGHT)), KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, DF(2), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - // numpad - [_NUMPAD] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - OSM(MOD_MEH), KC_NO, KC_TRNS, KC_ENT, KC_P0, KC_PDOT - //`--------------------------' `--------------------------' - ), - - // layer switcher - [_SWITCH] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, QK_BOOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_SYSTEM_SLEEP, KC_NO, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - //`--------------------------' `--------------------------' - - ), - - // amovement - [_MOVE] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_ENT, KC_RGHT, KC_NO, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_APP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_DOWN, KC_PGDN, KC_DEL, KC_NO, KC_NO, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO - //`--------------------------' `--------------------------' - ) - -}; - - -// it appears that these are different to the board numbering. -// when you specify n here, it lightss up n+1 on the board diagram - actually may be an entirely different pattern - -// _QWERTY, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_AZURE} -); - -// _COLEMAKDH, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_RED} -); - -// _NUM, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_TEAL} -); -// _SYMBOL, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_BLUE} -); -// _COMMAND, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_PURPLE} -); - - -//_NUMPAD -//havent worked out how to do each side individually either -const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS( -{0, 10, HSV_ORANGE} -); -const rgblight_segment_t PROGMEM layer_numpad_rh_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_ORANGE}, - {10, 5, HSV_BLUE}, - {15, 3, HSV_BLUE}, - {18, 3, HSV_BLUE} -); - -// _MOVE, -// Light on inner column and underglow -const rgblight_segment_t PROGMEM layer_move_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 10, HSV_PINK} -); - -// _SWITCHER // light up top row -const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 6, HSV_GREEN}, - {9, 2, HSV_GREEN}, - {17, 2, HSV_GREEN}, - {23, 2, HSV_GREEN} -); - - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - layer_qwerty_lights, - layer_colemakdh_lights, - layer_num_lights,// overrides layer 1 - layer_symbol_lights, - layer_command_lights, - layer_numpad_lights, - layer_numpad_rh_lights, - layer_move_lights, - layer_switcher_lights // Overrides other layers -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = my_rgb_layers; - rgblight_mode(10);// haven't found a way to set this in a more useful way - -} - - -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY)); - rgblight_set_layer_state(1, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY)); - - rgblight_set_layer_state(2, layer_state_cmp(state, _NUM)); - rgblight_set_layer_state(3, layer_state_cmp(state, _SYM)); - rgblight_set_layer_state(4, layer_state_cmp(state, _COMMAND)); - rgblight_set_layer_state(5, layer_state_cmp(state, _NUMPAD)); - if (!is_keyboard_master()) - rgblight_set_layer_state(6, layer_state_cmp(state, _NUMPAD)); - rgblight_set_layer_state(7, layer_state_cmp(state, _MOVE)); - rgblight_set_layer_state(8, layer_state_cmp(state, _SWITCH)); - return state; -} - -/* -bool led_update_user(led_t led_state) { - rgblight_set_layer_state(0, led_state.caps_lock); - return true; -} -*/ - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - - -const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - - -void oled_render_layer_state(void) { - char string [24]; - switch (get_highest_layer(default_layer_state|layer_state)) - { - case _QWERTY: - oled_write_ln_P(PSTR("Layer: QWERTY"),false); - break; - case _COLEMAK: - oled_write_ln_P(PSTR("Layer: COLEMAK"),false); - break; - case _COLEMAKDH: - oled_write_ln_P(PSTR("Layer: COLEMAKDH"),false); - break; - case _NUM: - oled_write_ln_P(PSTR("Layer: Numbers"),false); - break; - case _SYM: - oled_write_ln_P(PSTR("Layer: Symbols"),false); - break; - case _COMMAND: - oled_write_ln_P(PSTR("Layer: Command"),false); - break; - case _NUMPAD: - oled_write_ln_P(PSTR("Layer: Numpad"),false); - break; - case _MOVE: - oled_write_ln_P(PSTR("Layer: Movement"),false); - break; - case _SWITCH: - oled_write_ln_P(PSTR("Layer: Layer Switch"),false); - break; - default: -#if defined (LAYER_STATE_32BIT) - snprintf(string, sizeof(string), "%ld",layer_state); -#else - snprintf(string, sizeof(string), "%d",layer_state); -#endif - oled_write_P(PSTR("Layer: Undef-"),false); - oled_write_ln(string, false); - } -} - -char keylog_str[24] = {}; -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/devdev/rules.mk b/keyboards/crkbd/keymaps/devdev/rules.mk deleted file mode 100644 index 4aaf22fd0495..000000000000 --- a/keyboards/crkbd/keymaps/devdev/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/dsanchezseco/README.md b/keyboards/crkbd/keymaps/dsanchezseco/README.md deleted file mode 100644 index ce161e3c55df..000000000000 --- a/keyboards/crkbd/keymaps/dsanchezseco/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Dvorak keymap for CRKBD - -To flash the halves use: - -``` -#left side -make crkbd:dsanchezseco:dfu-split-left -#right side, with RGB matrix fix -make crkbd:dsanchezseco:dfu-split-right RGB_MATRIX_SPLIT_RIGHT=yes -``` diff --git a/keyboards/crkbd/keymaps/dsanchezseco/config.h b/keyboards/crkbd/keymaps/dsanchezseco/config.h deleted file mode 100644 index 229e26e0103d..000000000000 --- a/keyboards/crkbd/keymaps/dsanchezseco/config.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -// lower maximum brightness to lower power usage and prevent unresponsiveness -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT - -// 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/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c deleted file mode 100644 index 2047320c4e32..000000000000 --- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c +++ /dev/null @@ -1,107 +0,0 @@ -#include QMK_KEYBOARD_H - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define ESC_CTL LCTL_T(KC_ESC) - -// 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 crkbd_layers { - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DVORAK] = LAYOUT_split_3x6_3( - //,-----------------------------------------------. ,-----------------------------------------------. - KC_TAB, KC_QUOT,KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - ESC_CTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_LSFT,KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,SC_SENT, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE,KC_RALT - //`-----------------------' `----------------------' - ), - - - [_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------. ,-----------------------------------------------. - KC_TILD,KC_EXLM, KC_AT, KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RIGHT,KC_RPRN, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,KC_VOLD,KC_VOLU,KC_MPRV,KC_MPLY,KC_MNXT, _______,KC_LEFT,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______,KC_DOWN, KC_UP, _______, _______,_______,_______,KC_HOME, KC_END,_______, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______, KC_DEL,_______,_______ - //`-----------------------' `----------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------. ,-----------------------------------------------. - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,KC_RIGHT, KC_0, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______,_______,_______,_______, _______,KC_LEFT, KC_EQL,KC_LBRC,KC_RBRC,KC_BSLS, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______,KC_DOWN, KC_UP, _______, _______,_______,_______,KC_PGUP,KC_PGDN,_______, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______, KC_DEL ,_______,_______ - //`-----------------------' `----------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------. ,-----------------------------------------------. - RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_M_T, _______,_______,_______,_______,KC_RIGHT,_______, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - RGB_MOD,RGB_HUD,RGB_SAD,RGB_VAD,_______,_______, _______,KC_LEFT,_______,_______,_______,_______, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,KC_PSCR,_______,KC_DOWN, KC_UP, _______, _______,_______,_______,_______,_______,_______, - //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - _______,_______,_______, KC_DEL ,_______,_______ - //`-----------------------' `----------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_left()) - return OLED_ROTATION_180; // flips the display 180 to see it from my side - return rotation; -} - -const char *read_logo(void); -bool oled_task_user(void){ - switch (get_highest_layer(layer_state)){ - case _DVORAK: - oled_write_ln_P(PSTR("DVRK"), false); - break; - case _LOWER: - oled_write_ln_P(PSTR("LOWER"), false); - break; - case _RAISE: - oled_write_ln_P(PSTR("RAISE"), false); - break; - case _ADJUST: - oled_write_ln_P(PSTR("ADJST"), false); - break; - default: - oled_write_ln_P(PSTR("?????"), false); - } - //now print logo - oled_write(read_logo(), false); - return false; -} -#endif diff --git a/keyboards/crkbd/keymaps/dsanchezseco/logo_reader.c b/keyboards/crkbd/keymaps/dsanchezseco/logo_reader.c deleted file mode 100644 index 039a538cc541..000000000000 --- a/keyboards/crkbd/keymaps/dsanchezseco/logo_reader.c +++ /dev/null @@ -1,9 +0,0 @@ -const char *read_logo(void) { - static char logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - - return logo; -} diff --git a/keyboards/crkbd/keymaps/dsanchezseco/rules.mk b/keyboards/crkbd/keymaps/dsanchezseco/rules.mk deleted file mode 100644 index 161517dd8553..000000000000 --- a/keyboards/crkbd/keymaps/dsanchezseco/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ - -# If you want to change the display of OLED, you need to change here -SRC += ./logo_reader.c - -# enable OLED displays -OLED_ENABLE = no - -# enable media keys -EXTRAKEY_ENABLE = yes - -# enable LEDs -RGB_MATRIX_ENABLE = yes - -# using elite-c controllers -BOOTLOADER = qmk-dfu diff --git a/keyboards/crkbd/keymaps/edvorakjp/config.h b/keyboards/crkbd/keymaps/edvorakjp/config.h deleted file mode 100644 index 94896f689808..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/config.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define SWAP_SCLN - -// #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 - -#ifdef RGBLIGHT_ENABLE -# undef RGBLED_NUM -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLED_NUM 27 -# define RGBLIGHT_LIMIT_VAL 100 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -#endif // RGBLIGHT_ENABLE - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c deleted file mode 100644 index 0cc8a0c4baac..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include QMK_KEYBOARD_H -#ifdef PROTOCOL_LUFA -# include "split_util.h" -#endif - -#include "edvorakjp.h" - -#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [L_EDVORAKJP_BASE] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT - //`--------------------------' `--------------------------' - ), - - [L_EDVORAKJP_LOWER] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [L_EDVORAKJP_RAISE] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ) -}; -// clang-format on - -#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT -layer_state_t layer_state_set_keymap(layer_state_t state) { - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (get_highest_layer(state)) { - case L_EDVORAKJP_LOWER: - rgblight_sethsv_noeeprom(HSV_RED); - break; - case L_EDVORAKJP_RAISE: - rgblight_sethsv_noeeprom(HSV_GREEN); - break; - default: // for any other layers, or the default layer - rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); - rgblight_sethsv(HSV_RED); - break; - } - return state; -} -#endif diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c deleted file mode 100644 index cd75f8e27799..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/oled.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include "oled.h" - -#ifdef OLED_ENABLE -void render_host_led_state(void) { oled_write(read_host_led_state(), false); } - -void render_layer_state(void) { - char layer_name[17]; - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case L_EDVORAKJP_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_EDVORAKJP_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_EDVORAKJP_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - default: - snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); - oled_write_ln(layer_name, false); - } -} - -void render_logo(void) { oled_write(read_logo(), false); } - -void render_mode_icon(bool is_windows) { - static const char logo[][2][3] = { - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - }; - static char mode_icon[10]; - - snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]); - oled_write(mode_icon, false); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - // flips the display 180 degrees if offhand - return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180; -} - -bool oled_task_user(void) { - if (is_keyboard_left()) { - render_mode_icon(!get_enable_kc_lang()); - render_layer_state(); - render_host_led_state(); - } else { - render_logo(); - } - return false; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.h b/keyboards/crkbd/keymaps/edvorakjp/oled.h deleted file mode 100644 index d9939c83a0ca..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/oled.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "edvorakjp.h" - -extern bool japanese_mode; - -// method prototypes defined in crkbd/lib -extern const char *read_host_led_state(void); -extern const char *read_logo(void); -extern const char *read_mode_icon(bool swap); - -void render_host_led_state(void); -void render_layer_state(void); -void render_logo(void); -void render_mode_icon(bool is_windows); -oled_rotation_t oled_init_user(oled_rotation_t rotation); -void oled_task_user(void); diff --git a/keyboards/crkbd/keymaps/edvorakjp/readme.md b/keyboards/crkbd/keymaps/edvorakjp/readme.md deleted file mode 100644 index dd406523d241..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# edvorakjp - -Epaew's Enhanced Dvorak layout for Japanese Programmer -see [here](/users/edvorakjp) for more informations. - -## License - -Copyright 2018 Ryo Maeda epaew.333@gmail.com @epaew - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/keyboards/crkbd/keymaps/edvorakjp/rules.mk b/keyboards/crkbd/keymaps/edvorakjp/rules.mk deleted file mode 100644 index 1291d50e921d..000000000000 --- a/keyboards/crkbd/keymaps/edvorakjp/rules.mk +++ /dev/null @@ -1,29 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -TAP_DANCE_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# If you want to change the display of OLED, you need to change here -SRC += ./lib/host_led_state_reader.c \ - ./lib/logo_reader.c \ - ./lib/mode_icon_reader.c \ - oled.c diff --git a/keyboards/crkbd/keymaps/ericgebhart/config.h b/keyboards/crkbd/keymaps/ericgebhart/config.h deleted file mode 100755 index d1844f68070d..000000000000 --- a/keyboards/crkbd/keymaps/ericgebhart/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// otherwise the other promicro v3 isn't found -#define SPLIT_USB_DETECT diff --git a/keyboards/crkbd/keymaps/ericgebhart/keymap.c b/keyboards/crkbd/keymaps/ericgebhart/keymap.c deleted file mode 100644 index c534fe3c6d34..000000000000 --- a/keyboards/crkbd/keymaps/ericgebhart/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -/* - Copyright 2018-2022 Eric Gebhart - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -// See: users/ericgebhart. diff --git a/keyboards/crkbd/keymaps/gotham/README.md b/keyboards/crkbd/keymaps/gotham/README.md deleted file mode 100644 index 88120ae888af..000000000000 --- a/keyboards/crkbd/keymaps/gotham/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Gotham's custom CRKBD Layout - -My take on the 40% layout with programming in mind. Do read about the layers, it helps with forming a mental model to remember the keymap better than just memorization. - -## Layers -- QWERTY: Base layer. The idea is to reduce thumb movement by placing commonly used keys and layers on resting thumb positions (center thumb keys). You might need to play around with TAPPING_TERM to find your perfect setting. Also, both Lower and Raise buttons appear on both halves for easy access (think of it as: middle thumb key is Lower, outer thumb key is Raise). -- LOWER: Numbers, common symbols and navigation. Easiest layer to reach (middle thumb button on both halves). The nav is shaped as a T instead of an inverted T for a few reasons. First, Left and Right needed to be on the home row (since I use them a lot to navigate through code). But the Up key can't be on the top row because numbers occupy that space. So I moved the Up and Down keys one key down. It takes some getting used to, but I find this a great balance without separating the nav and number rows. The nav cluster also contains Home and End keys below Left and Right, making it a breeze to navigate through code. -- RAISE: All symbols are here, arranged in a way that can be (kind of) deduced more by logic and less by memory. On the left hand, the first 2 cols contain the symbols for shifted numbers 1-6, with ! and @ in the home row instead of the top row. Think of the 3 rows as symbols for 3 and 4, 1 and 2, 5 and 6). The next 2 cols contain common brackets. On the right hand is everything else. Note that -, _ and = are close to the home row because of how common they are in code. Operators (&, | and !) are on the top row for convinience. Just try and remember where +, *, < and > located. Admitedlly, the locations for these symbols could use improvement. -- ADJUST: Contains settings and Function keys. This is placed on the bottom-right corner (triggerred by the pinky), since the thumb keys already have multiple uses. - -## Custom OLED -This keymap includes custom OLED font and code. The font contains some logos and status indidcators for some of the features I use (RGB and Audio). Enable OLED in rukes.mk to check it out. Feel free to reuse the font or parts of it. - -## Flashing -Flash using `make crkbd:gotham:avrdude` for Pro Micro and `make crkbd:gotham:dfu` for Elite-C. diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h deleted file mode 100644 index 753854c01c00..000000000000 --- a/keyboards/crkbd/keymaps/gotham/config.h +++ /dev/null @@ -1,91 +0,0 @@ -#pragma once - -#define EE_HANDS -#define SPLIT_USB_DETECT - -#define PERMISSIVE_HOLD -#define TAPPING_TERM 250 - -#define NO_ACTION_ONESHOT - -#ifdef AUDIO_ENABLE -# define AUDIO_PIN B5 -# define NO_MUSIC_MODE -# define AUDIO_CLICKY -#endif - -#ifdef OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/gotham/glcdfont.c" -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_OLED_ENABLE -# undef OLED_TIMEOUT - // due to timer_read() for render_prompt(), we have own implementation of oled time out -# define OLED_KEY_TIMEOUT 30000 -#endif - -#define RGBLIGHT_SLEEP - -#ifdef RGBLIGHT_ENABLE -# undef RGBLED_NUM -# define RGBLED_NUM 6 -# define RGBLIGHT_LIMIT_VAL 150 -# define RGBLIGHT_HUE_STEP 16 -# define RGBLIGHT_SAT_STEP 32 -# define RGBLIGHT_VAL_STEP 32 - -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_KNIGHT -#endif - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# 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 32 -# define RGB_MATRIX_SAT_STEP 64 -# define RGB_MATRIX_VAL_STEP 64 -# define RGB_MATRIX_SPD_STEP 20 -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - -/* 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. */ -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -// #undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/gotham/glcdfont.c b/keyboards/crkbd/keymaps/gotham/glcdfont.c deleted file mode 100644 index 656b13974a3f..000000000000 --- a/keyboards/crkbd/keymaps/gotham/glcdfont.c +++ /dev/null @@ -1,18 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. -// https://helixfonteditor.netlify.com/ - -#include "progmem.h" - -// Standard ASCII 5x7 font -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C, 0x06, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x1C, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1C, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07, 0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07, 0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, 0x00, 0x14, 0x08, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F, 0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x77, 0x77, 0x77, 0x00, 0x77, 0x77, - 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F, 0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x60, 0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0C, 0x06, 0x07, 0xFC, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C, 0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0xFF, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38, 0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x60, 0x6A, 0x64, 0x6A, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x42, 0x69, 0x65, 0x65, 0x65, 0x69, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x66, 0x66, 0x66, 0x00, 0x00, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x24, 0x24, 0xFC, 0x00, 0x00, 0x00, 0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90, 0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21, 0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91, 0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48, 0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x18, 0x30, 0x21, 0x21, 0x31, 0x18, 0x10, 0x30, 0x20, 0x60, 0x41, 0x60, 0x20, 0x30, 0x18, 0x30, 0x60, 0x40, 0x40, 0x47, 0x4C, 0x48, 0x68, 0x38, 0x1C, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C, - 0x00, 0x00, 0x22, 0x1C, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F, 0x18, 0x10, 0x70, 0x10, 0x10, 0x70, 0x10, 0x13, 0x73, 0x13, 0x10, 0x70, 0x10, 0x10, 0x70, 0x10, 0x18, 0x0F, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x38, 0xFC, 0xED, 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, 0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x09, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x0F, 0x09, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, 0x0F, 0x09, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x02, 0x02, 0x03, 0x02, 0x02, 0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/gotham/keycodes.h b/keyboards/crkbd/keymaps/gotham/keycodes.h deleted file mode 100644 index 9ba44c54a7cb..000000000000 --- a/keyboards/crkbd/keymaps/gotham/keycodes.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -enum layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -enum custom_keycodes { QWERTY = SAFE_RANGE, LOWER, RAISE, ADJUST, RGBRST }; - -#define SFT_EQ MT(MOD_LSFT, KC_EQL) -#define SFT_QT MT(MOD_RSFT, KC_QUOT) - -#define SFT_A MT(MOD_LSFT, KC_A) -#define CTL_Z MT(MOD_LCTL, KC_Z) - -#define SFT_SCLN MT(MOD_RSFT, KC_SCLN) -#define CTL_SLSH MT(MOD_RCTL, KC_SLSH) - -#define LOW_SPC LT(_LOWER, KC_SPC) -#define RAI_EQ LT(_RAISE, KC_EQL) -#define RAI_ENT LT(_RAISE, KC_ENT) -#define LOW_BSP LT(_LOWER, KC_BSPC) -#define LOW_DEL LT(_LOWER, KC_DEL) -#define ADJ_GRV LT(_ADJUST, KC_GRV) -#define KC_ANGL LSFT(KC_COMM) -#define KC_ANGR LSFT(KC_DOT) diff --git a/keyboards/crkbd/keymaps/gotham/keymap.c b/keyboards/crkbd/keymaps/gotham/keymap.c deleted file mode 100644 index 02cc3af68eb7..000000000000 --- a/keyboards/crkbd/keymaps/gotham/keymap.c +++ /dev/null @@ -1,144 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keycodes.h" - -#ifdef OLED_ENABLE -# include "oled.c" -#endif - -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) -# include "rgb.c" -#endif - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - //|-----------------------------------------------------| |-----------------------------------------------------| - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - SFT_EQ, SFT_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_SCLN,SFT_QT, - //---------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, CTL_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_SLSH,ADJ_GRV, - //---------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, LOW_SPC, RAI_EQ, RAI_ENT, LOW_BSP, KC_LGUI - //|--------------------------| |--------------------------| - - - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //|-----------------------------------------------------| |-----------------------------------------------------| - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_ANGL, KC_ANGR, KC_LPRN, KC_RPRN, KC_PGUP, KC_MINS, KC_LEFT, KC_UP, KC_RIGHT,KC_PLUS, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PGDN, KC_UNDS, KC_HOME, KC_DOWN, KC_END, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, LOW_DEL, _______ - //|--------------------------| |--------------------------| - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //|-----------------------------------------------------| |-----------------------------------------------------| - KC_ESC, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, KC_AMPR, KC_PIPE, KC_EXLM, KC_ASTR, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_UNDS, KC_EQL, KC_ANGL, KC_ANGR, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_MINS, KC_PLUS, XXXXXXX, KC_BSLS, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //|--------------------------| |--------------------------| - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //|-----------------------------------------------------| |-----------------------------------------------------| - XXXXXXX, CK_RST, CK_DOWN, CK_UP, CK_TOGG, RGB_TOG, MU_TOGG, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, MU_NEXT, KC_F11, KC_F4, KC_F5, KC_F6, QK_BOOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGBRST, AU_TOGG, KC_F10, KC_F1, KC_F2, KC_F3, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, KC_VOLD, KC_VOLU - //|--------------------------| |--------------------------| - ) -}; -// clang-format off - -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) -layer_state_t layer_state_set_user(layer_state_t state) { - /* For any layer other than default, save current RGB state and switch to layer-based RGB */ - if (layer_state_cmp(state, 0)) { - restore_rgb_config(); - } else { - uint8_t layer = get_highest_layer(state); - if (layer_state_cmp(layer_state, 0)) save_rgb_config(); - rgb_by_layer(layer); - } - return state; -} -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { -#ifdef OLED_ENABLE - if (record->event.pressed) { - oled_timer = timer_read(); - is_key_processed = true; - add_keylog(keycode); - } -#endif - - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - } else { - layer_off(_RAISE); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - case RGB_MOD: - case RGB_TOG: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - case RGB_SPI: - case RGB_SPD: - /* Override layer-based RGB and resume RGB effect to be able to preview changes */ - if (record->event.pressed) { - restore_rgb_config(); - process_rgb(keycode, record); - save_rgb_config(); - } - return false; - case RGBRST: - if (record->event.pressed) { -# ifdef RGBLIGHT_ENABLE - eeconfig_update_rgblight_default(); - rgblight_enable(); -# elif RGB_MATRIX_ENABLE - eeconfig_update_rgb_matrix_default(); - rgb_matrix_enable(); -# endif - save_rgb_config(); - } - return false; -#endif - } - return true; -} diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c deleted file mode 100644 index c285a37c5bad..000000000000 --- a/keyboards/crkbd/keymaps/gotham/oled.c +++ /dev/null @@ -1,260 +0,0 @@ -#pragma once - -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) -# include "rgb.c" -#endif - -#ifdef AUDIO_ENABLE -extern audio_config_t audio_config; -#endif - -// 5x3 Logos - -void render_corne_logo(void) { - static const char PROGMEM font_logo[16] = {0x80, 0x81, 0x82, 0x83, 0x84, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0}; - oled_write_P(font_logo, false); -}; - -void render_qmk_logo(void) { - static const char PROGMEM font_qmk_logo[16] = {0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0}; - oled_write_P(font_qmk_logo, false); -}; - -// 5x2 Keyboard, Controller logos - -void render_keyboard(void) { - static const char PROGMEM font_keyboard[11] = {0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0}; - oled_write_P(font_keyboard, false); -}; - -void render_kb_split(void) { - static const char PROGMEM font_kb_split[11] = {0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0}; - oled_write_P(font_kb_split, false); -}; - -// 5x1 Layer indicator - -void render_layer(void) { - static const char PROGMEM font_layer[4][6] = { - {0x85, 0x86, 0x87, 0x88, 0x89, 0}, - {0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0}, - {0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0}, - {0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0}, - }; - uint8_t layer = 0; - if (layer_state_is(_LOWER)) { - layer = 1; - } else if (layer_state_is(_RAISE)) { - layer = 2; - } else if (layer_state_is(_ADJUST)) { - layer = 3; - } - oled_write_P(font_layer[layer], false); -}; - - // 2x1 Audio, clicky and RGB status indicators - -#ifdef AUDIO_ENABLE -void render_audio_status(void) { - static const char PROGMEM font_audio_off[3] = {0x8f, 0x90, 0}; - static const char PROGMEM font_audio_on[3] = {0x91, 0x92, 0}; - oled_write_P(audio_config.enable ? font_audio_on : font_audio_off, false); -}; - -void render_clicky_status(void) { - static const char PROGMEM font_clicky_off[3] = {0xaf, 0xb0, 0}; - static const char PROGMEM font_clicky_on[3] = {0xb1, 0xb2, 0}; - oled_write_P(audio_config.clicky_enable ? font_clicky_on : font_clicky_off, false); -}; -#endif - -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) -void render_rgb_status(void) { - static const char PROGMEM font_rgb_off[3] = {0xcf, 0xd0, 0}; - static const char PROGMEM font_rgb_on[3] = {0xd1, 0xd2, 0}; -# ifdef RGBLIGHT_ENABLE - bool rgb_enabled = rgblight_config.enable; -# elif RGB_MATRIX_ENABLE - bool rgb_enabled = rgb_matrix_config.enable; -# endif - oled_write_P(rgb_enabled ? font_rgb_on : font_rgb_off, false); -}; -#endif - -// 2x1 Ctrl, Alt, Shift, GUI, Mouse - -void render_mod_ctrl(void) { - static const char PROGMEM font_ctrl[3] = {0x93, 0x94, 0}; - oled_write_P(font_ctrl, false); -}; - -void render_mod_alt(void) { - static const char PROGMEM font_alt[3] = {0xb3, 0xb4, 0}; - oled_write_P(font_alt, false); -}; - -void render_mod_shift(void) { - static const char PROGMEM font_shift[3] = {0xd3, 0xd4, 0}; - oled_write_P(font_shift, false); -}; - -void render_mod_gui(void) { - static const char PROGMEM font_gui[3] = {0x95, 0x96, 0}; - oled_write_P(font_gui, false); -}; - -#ifdef MOUSEKEY_ENABLE -void render_mod_mouse(void) { - static const char PROGMEM font_mouse[3] = {0x97, 0x98, 0}; - oled_write_P(font_mouse, false); -}; -#endif - -// 5x2 Mod and feature indicator clusters - -void render_mod_status(void) { -#ifdef NO_ACTION_ONESHOT - uint8_t modifiers = get_mods(); -#else - uint8_t modifiers = get_mods() | get_oneshot_mods(); -#endif - - (modifiers & MOD_MASK_CTRL) ? render_mod_ctrl() : oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(" "), false); - (modifiers & MOD_MASK_SHIFT) ? render_mod_shift() : oled_write_P(PSTR(" "), false); - - (modifiers & MOD_MASK_ALT) ? render_mod_alt() : oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(" "), false); - (modifiers & MOD_MASK_GUI) ? render_mod_gui() : oled_write_P(PSTR(" "), false); -} - -void render_feature_status(void) { -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - render_rgb_status(); -#endif - -#ifdef AUDIO_ENABLE - oled_write_P(PSTR(" "), false); - render_audio_status(); -#endif -}; - -// Keylogger -#define KEYLOGGER_LENGTH 5 -static uint16_t oled_timer = 0; -static bool is_key_processed = true; -static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; -// clang-format off -static const char PROGMEM code_to_name[0xFF] = { -// 0 1 2 3 4 5 6 7 8 9 A B C D E F - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x - '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x - ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x - ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx - 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx -}; - -void add_keylog(uint16_t keycode) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { - keycode = keycode & 0xFF; - } else if (keycode > 0xFF) { - keycode = 0; - } - - for (uint8_t i = (KEYLOGGER_LENGTH - 1); i > 0; --i) { - keylog_str[i] = keylog_str[i - 1]; - } - - if (keycode < ARRAY_SIZE(code_to_name)) { - keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); - } -} - -void render_keylogger_status(void) { - oled_write(keylog_str, false); -} - -void render_prompt(void) { - bool blink = (timer_read() % 1000) < 500; - - if (layer_state_is(_LOWER)) { - oled_write_ln_P(blink ? PSTR("> lo_") : PSTR("> lo "), false); - } else if (layer_state_is(_RAISE)) { - oled_write_ln_P(blink ? PSTR("> hi_") : PSTR("> hi "), false); - } else if (layer_state_is(_ADJUST)) { - oled_write_ln_P(blink ? PSTR("> aj_") : PSTR("> aj "), false); - } else { - oled_write_ln_P(blink ? PSTR("> _ ") : PSTR("> "), false); - } -}; - -void render_status_secondary(void) { - oled_write_ln("", false); - oled_write_ln("", false); - - render_kb_split(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - - render_layer(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - - #if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) || defined(AUDIO_ENABLE) - layer_state_is(_ADJUST) ? render_feature_status() : render_mod_status(); - #else - render_mod_status(); - #endif -}; - -void render_status_main(void) { - oled_write_ln("", false); - oled_write_ln("", false); - - render_corne_logo(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - - render_qmk_logo(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - - render_prompt(); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - if (is_key_processed && (timer_elapsed(oled_timer) < OLED_KEY_TIMEOUT)) { - render_status_main(); - } else { - is_key_processed = false; - oled_off(); - } - } else { - render_status_secondary(); - } - return false; -} diff --git a/keyboards/crkbd/keymaps/gotham/rgb.c b/keyboards/crkbd/keymaps/gotham/rgb.c deleted file mode 100644 index 9f66428836dc..000000000000 --- a/keyboards/crkbd/keymaps/gotham/rgb.c +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once - -#ifdef RGBLIGHT_ENABLE -extern rgblight_config_t rgblight_config; -rgblight_config_t RGB_current_config; -#endif - -#ifdef RGB_MATRIX_ENABLE -extern rgb_config_t rgb_matrix_config; -rgb_config_t RGB_current_config; -#endif - -void save_rgb_config(void) { -#ifdef RGBLIGHT_ENABLE - RGB_current_config.enable = rgblight_config.enable; - RGB_current_config.mode = rgblight_get_mode(); - RGB_current_config.speed = rgblight_get_speed(); - RGB_current_config.hue = rgblight_get_hue(); - RGB_current_config.sat = rgblight_get_sat(); - RGB_current_config.val = rgblight_get_val(); -#elif RGB_MATRIX_ENABLE - RGB_current_config.enable = rgb_matrix_config.enable; - RGB_current_config.mode = rgb_matrix_get_mode(); - RGB_current_config.speed = rgb_matrix_config.speed; - RGB_current_config.hsv = rgb_matrix_config.hsv; -#endif -} - -void restore_rgb_config(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_set_speed_noeeprom(RGB_current_config.speed); - if (rgblight_config.mode != RGB_current_config.mode) { - rgblight_mode_noeeprom(RGB_current_config.mode); - } - if ((RGB_current_config.hue != rgblight_config.hue) || (RGB_current_config.sat != rgblight_config.sat) || (RGB_current_config.val != rgblight_config.val)) { - rgblight_sethsv_noeeprom(RGB_current_config.hue, RGB_current_config.sat, RGB_current_config.val); - } - if (rgblight_config.enable) { - rgblight_enable_noeeprom(); - } else { - rgblight_disable_noeeprom(); - } -#elif RGB_MATRIX_ENABLE - rgb_matrix_config.speed = RGB_current_config.speed; - if (rgb_matrix_config.mode != RGB_current_config.mode) { - rgb_matrix_mode_noeeprom(RGB_current_config.mode); - } - if ((RGB_current_config.hsv.h != rgb_matrix_config.hsv.h) || (RGB_current_config.hsv.s != rgb_matrix_config.hsv.s) || (RGB_current_config.hsv.v != rgb_matrix_config.hsv.v)) { - rgb_matrix_sethsv_noeeprom(RGB_current_config.hsv.h, RGB_current_config.hsv.s, RGB_current_config.hsv.v); - } - if (rgb_matrix_config.enable) { - rgb_matrix_enable_noeeprom(); - } else { - rgb_matrix_disable_noeeprom(); - } -#endif -} - -void rgb_by_layer(int layer) { -#ifdef RGBLIGHT_ENABLE - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); -#elif RGB_MATRIX_ENABLE - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); -#endif - - switch (layer) { - case _ADJUST: - rgblight_sethsv_noeeprom(9, 255, 255); - break; - case _RAISE: - rgblight_sethsv_noeeprom(HSV_CYAN); - break; - case _LOWER: - rgblight_sethsv_noeeprom(HSV_MAGENTA); - break; - default: - rgblight_sethsv_noeeprom(HSV_RED); - } -} diff --git a/keyboards/crkbd/keymaps/gotham/rules.mk b/keyboards/crkbd/keymaps/gotham/rules.mk deleted file mode 100644 index 48a2c1d72aaa..000000000000 --- a/keyboards/crkbd/keymaps/gotham/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -AUDIO_ENABLE = yes -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h deleted file mode 100644 index 1a9ac694985c..000000000000 --- a/keyboards/crkbd/keymaps/hvp/config.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -//#define QUICK_TAP_TERM 0 -//#define TAPPING_TERM 100 - -#define TAPPING_TERM 150 -#define PERMISSIVE_HOLD - -#ifdef RGBLIGHT_ENABLE -# 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 -# define RGBLED_NUM 27 -# define RGBLIGHT_LIMIT_VAL 120 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -#endif diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c deleted file mode 100644 index 7e1953e34d64..000000000000 --- a/keyboards/crkbd/keymaps/hvp/keymap.c +++ /dev/null @@ -1,164 +0,0 @@ -#include QMK_KEYBOARD_H -#include "hvp.c" -#ifdef SSD1306OLED -# include "ssd1306.h" -# include -#endif - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 3 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - LT(_ADJUST,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LSFT_T(KC_ESC), KC_A, KC_S, KC_D, LT(3,KC_F), KC_G, KC_H, KC_J, KC_K, KC_L,TD(TD1),TD(TD2), - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,TD(TD3),SC_SENT, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC), MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - 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_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - KC_TAB,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_DEL, _______, _______, _______, _______, _______, _______,KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - _______,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_F1,_______,_______,D_NAVI,_______,_______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - QK_BOOT,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______ - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} - -#ifdef OLED_ENABLE - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -bool oled_task_user(void) { - if (is_keyboard_master()) { - // If you want to change the display of OLED, you need to change here - oled_write(read_layer_state(), false); - oled_write(read_keylog(), false); - //oled_write_ln(read_keylogs(), false); - //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); - //oled_write_ln(read_host_led_state()), false; - //oled_write_ln(read_timelog(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef OLED_ENABLE - set_keylog(keycode, record); -#endif - // set_timelog(); - } - - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/hvp/readme.md b/keyboards/crkbd/keymaps/hvp/readme.md deleted file mode 100644 index 3ccdc12193eb..000000000000 --- a/keyboards/crkbd/keymaps/hvp/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -Keyboard: Corne Keyboard (CRKBD) -Keys: A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. -Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout. -Flash instructions: Flash using avrdude, will req the hvp user space to compile. - -> make crkbd:hvp:avrdude - -Links: -Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd -Eurkey layout - https://eurkey.steffen.bruentjen.eu/ diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk deleted file mode 100644 index c7ed029e3d44..000000000000 --- a/keyboards/crkbd/keymaps/hvp/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# 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 \ - -TAP_DANCE_ENABLE = yes -EXTRAKEY_ENABLE = yes # Audio control and System control -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -# LOCAL_GLCDFONT = yes diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h deleted file mode 100644 index c95deb1abb14..000000000000 --- a/keyboards/crkbd/keymaps/jarred/config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_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 -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c deleted file mode 100644 index b0e181b37f2e..000000000000 --- a/keyboards/crkbd/keymaps/jarred/keymap.c +++ /dev/null @@ -1,152 +0,0 @@ -#include QMK_KEYBOARD_H -#include "jarred.h" - -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -#define LAYOUT_crkbd_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ - K31, K32, K33, K34, K35, K36 \ - ) - -#define LAYOUT_crkbd_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) - -#define QWERTY_4_CRKBD KC_LCTL, MO(_LW), KC_SPC, KC_ENT, MO(_LW), KC_RALT - -#define BLANK_4_CRKBD KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT_crkbd_wrapper( - QWERTY_1_12, - QWERTY_2_12, - QWERTY_3_12, - QWERTY_4_DOX - ), - - [_LW] = LAYOUT_crkbd_wrapper( - LOWER_1_12, - LOWER_2_12, - LOWER_3_12, - LOWER_4_DOX - ), - - [_NV] = LAYOUT_crkbd_wrapper( - NAV_1_12, - NAV_2_12, - NAV_3_12, - NAV_4_DOX - ), - - [_NP] = LAYOUT_crkbd_wrapper( - NUMPAD_1_12, - NUMPAD_2_12, - NUMPAD_3_12, - NUMPAD_4_DOX - ), - - [_MS] = LAYOUT_crkbd_wrapper( - MOUSE_1_12, - MOUSE_2_12, - MOUSE_3_12, - MOUSE_4_DOX - ) -}; - -#ifdef OLED_ENABLE - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -char matrix_line_str[24]; - -const char *read_layer_state(void) { - uint8_t layer = get_highest_layer(layer_state); - - strcpy(matrix_line_str, "Layer: "); - - switch (layer) - { - case _QW: - strcat(matrix_line_str, "Default"); - break; - case _LW: - strcat(matrix_line_str, "Lower"); - break; - case _NV: - strcat(matrix_line_str, "Navigation"); - break; - case _NP: - strcat(matrix_line_str, "Adjust"); - break; - case _MS: - strcat(matrix_line_str, "Mouse"); - break; - default: - sprintf(matrix_line_str + strlen(matrix_line_str), "Unknown (%d)", layer); - } - - return matrix_line_str; -} - -const char *read_usb_state(void) { - - strcpy(matrix_line_str, "USB : "); - - switch (USB_DeviceState) { - case DEVICE_STATE_Unattached: - strcat(matrix_line_str, "Unattached"); - break; - case DEVICE_STATE_Suspended: - strcat(matrix_line_str, "Suspended"); - break; - case DEVICE_STATE_Configured: - strcat(matrix_line_str, "Connected"); - break; - case DEVICE_STATE_Powered: - strcat(matrix_line_str, "Powered"); - break; - case DEVICE_STATE_Default: - strcat(matrix_line_str, "Default"); - break; - case DEVICE_STATE_Addressed: - strcat(matrix_line_str, "Addressed"); - break; - default: - strcat(matrix_line_str, "Invalid"); - } - - return matrix_line_str; -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_write_ln(read_layer_state(), false); - oled_write_ln(read_usb_state(), false); - oled_write_ln(read_keylogs(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif - -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - - return true; -} diff --git a/keyboards/crkbd/keymaps/jarred/readme.md b/keyboards/crkbd/keymaps/jarred/readme.md deleted file mode 100644 index 15e355bbca1d..000000000000 --- a/keyboards/crkbd/keymaps/jarred/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Jarred's CRKBD Layout - -Check out [user space readme](../../../../users/jarred/readme.md) for more info - -# Build - -``` -make crkbd:jarred:avrdude -``` diff --git a/keyboards/crkbd/keymaps/jarred/rules.mk b/keyboards/crkbd/keymaps/jarred/rules.mk deleted file mode 100644 index f18100d7ff4e..000000000000 --- a/keyboards/crkbd/keymaps/jarred/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# If you want to change the display of OLED, you need to change here -SRC += ./lib/rgb_state_reader.c \ - ./lib/logo_reader.c \ - ./lib/keylogger.c \ - #./lib/layer_state_reader.c \ - # ./lib/mode_icon_reader.c \ - # ./lib/host_led_state_reader.c \ - # ./lib/timelogger.c \ diff --git a/keyboards/crkbd/keymaps/joe_scotto/config.h b/keyboards/crkbd/keymaps/joe_scotto/config.h deleted file mode 100644 index 113313ceb1f5..000000000000 --- a/keyboards/crkbd/keymaps/joe_scotto/config.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -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 - - -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 8 -#define MATRIX_COLS 6 -#define MATRIX_ROW_PINS \ - { D4, C6, D7, E6 } - -// wiring of each half -#define MATRIX_COL_PINS \ - { F4, F5, F6, F7, B1, B3 } -// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 - -/* - * 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 TAPPING_TERM 50 diff --git a/keyboards/crkbd/keymaps/joe_scotto/keymap.c b/keyboards/crkbd/keymaps/joe_scotto/keymap.c deleted file mode 100644 index 9e49aa6df731..000000000000 --- a/keyboards/crkbd/keymaps/joe_scotto/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -/* -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_split_3x6_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - LSFT_T(KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LALT, KC_LGUI, KC_SPC, MO(1), MO(2), KC_LCTL - ), - [1] = LAYOUT_split_3x6_3( - KC_GRV, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_NO, KC_NO, KC_MRWD, KC_MPLY, KC_MFFD, KC_NO, KC_DEL, - KC_ENT, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_BSLS, KC_NO, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_CAPS, - LSFT_T(KC_ESC), KC_LBRC, KC_QUOT, KC_DQUO, KC_RBRC, KC_NO, KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_RSFT, - KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL - ), - [2] = LAYOUT_split_3x6_3( - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, 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_CAPS, - LSFT_T(KC_ESC), KC_NO, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_RSFT, - KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL - ), - [3] = LAYOUT_split_3x6_3( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LGUI, - LSFT_T(KC_ESC), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, - KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_LCTL - ) -}; - diff --git a/keyboards/crkbd/keymaps/jpe230/config.h b/keyboards/crkbd/keymaps/jpe230/config.h deleted file mode 100644 index 815cb907067b..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/config.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* --------------------------- - * Common Spit Configuration - * --------------------------- - */ -#define SPLIT_OLED_ENABLE - -/* --------------------------- - * Common OLED Configuration - * --------------------------- - */ -#define OLED_TIMEOUT 0 -#define CUSTOM_OLED_TIMEOUT 10000 - -/* --------------------------- - * Common Bootmagic Lite - * --------------------------- - */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - -/* --------------------------- - * Common RGB Configuration - * --------------------------- - */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_DISABLE_TIMEOUT CUSTOM_OLED_TIMEOUT -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 -#define RGB_MATRIX_DEFAULT_HUE 215 -#define RGB_MATRIX_DEFAULT_SAT 255 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS - -/* --------------------------- - * Common other Configuration - * --------------------------- - */ -#define ENABLE_COMPILE_KEYCODE - -#if defined CONVERT_TO_KB2040 || defined CONVERT_TO_PROMICRO_RP2040 -# include "config_rp2040.h" -#else -# include "config_avr.h" -#endif diff --git a/keyboards/crkbd/keymaps/jpe230/config_avr.h b/keyboards/crkbd/keymaps/jpe230/config_avr.h deleted file mode 100644 index 67226d88f79b..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/config_avr.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* --------------------------- - * AVR RGB Configuration - * --------------------------- - */ -#define ENABLE_RGB_MATRIX_ALPHAS_MODS -#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -#define ENABLE_RGB_MATRIX_BAND_VAL -#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS diff --git a/keyboards/crkbd/keymaps/jpe230/config_rp2040.h b/keyboards/crkbd/keymaps/jpe230/config_rp2040.h deleted file mode 100644 index b26c14986ab5..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/config_rp2040.h +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* --------------------------- - * RP2040 OLED Configuration - * --------------------------- - */ -#define I2C1_CLOCK_SPEED 400000 -#define OLED_UPDATE_INTERVAL 1 -#define OLED_I2C_TIMEOUT 1 - -/* --------------------------- - * RP2040 Split Configuration - * --------------------------- - */ -#define SPLIT_WPM_ENABLE - -/* --------------------------- - * RP2040 Debounce - * --------------------------- - */ -#undef DEBOUNCE -#define DEBOUNCE 1 - -/* --------------------------- - * RP2040 RGB Configuration - * --------------------------- - */ -#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 ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#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/crkbd/keymaps/jpe230/jpe230.h b/keyboards/crkbd/keymaps/jpe230/jpe230.h deleted file mode 100644 index f5f098f5c57a..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/jpe230.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include QMK_KEYBOARD_H - -/* --------------------------- - * Custom OLED Fncs Prototypes - * --------------------------- - */ -void render_slave_oled(void); -void render_master_oled(void); -void oled_timer_reset(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/jpe230/keymap.c b/keyboards/crkbd/keymaps/jpe230/keymap.c deleted file mode 100644 index 530c418be59d..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(1), KC_ENT, KC_SPC, MO(2), KC_RALT - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, RGB_MOD, RGB_HUI, RGB_VAI, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, RGB_TOG, RGB_SAI, RGB_SPI, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, _______, _______, MO(3), KC_RALT - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_CAPS, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(3), _______, TG(3), _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, QK_BOOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_VOLU, _______, KC_MNXT, KC_F6, KC_F5, KC_F6, _______, KC_6, KC_5, KC_4, _______, QK_MAKE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_VOLD, KC_MPRV, KC_MNXT, KC_F1, KC_F2, KC_F3, _______, KC_1, KC_2, KC_3, _______, DB_TOGG, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, _______, TG(3), _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; -// clang-format off diff --git a/keyboards/crkbd/keymaps/jpe230/oled/avr/master/oled_master_handler.c b/keyboards/crkbd/keymaps/jpe230/oled/avr/master/oled_master_handler.c deleted file mode 100644 index f0f6f3f62fec..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/avr/master/oled_master_handler.c +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" - -extern uint8_t logged_row; -extern uint8_t logged_col; -extern uint32_t oled_timer; -static char logged_char = ' '; -static uint16_t logged_keycode = 0; - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void handle_oled_keypress(uint16_t keycode, keyrecord_t *record) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - logged_char = code_to_name[keycode]; - } - - logged_keycode = keycode; -} - -void oled_render_keylog(void) { - oled_write(get_u8_str(logged_row, '0'), false); - oled_write_P(PSTR(":"), false); - oled_write(get_u8_str(logged_col, '0'), false); - oled_write_P(PSTR(", "), false); - oled_write(get_u16_str(logged_keycode, ' '), false); - oled_write_P(PSTR(" : "), false); - oled_write((const char *)&logged_char, false); -} - -void render_master_oled(void) { - if (timer_elapsed32(oled_timer) > CUSTOM_OLED_TIMEOUT) { - oled_off(); - return; - } - - oled_on(); - oled_render_layer_state(); - oled_render_keylog(); -} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/avr/slave/oled_slave_handler.c b/keyboards/crkbd/keymaps/jpe230/oled/avr/slave/oled_slave_handler.c deleted file mode 100644 index c47fb2a07b2b..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/avr/slave/oled_slave_handler.c +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" - -void render_slave_oled(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - diff --git a/keyboards/crkbd/keymaps/jpe230/oled/oled_handler.c b/keyboards/crkbd/keymaps/jpe230/oled/oled_handler.c deleted file mode 100644 index 9e130dae3800..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/oled_handler.c +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" - -uint8_t logged_row; -uint8_t logged_col; -uint32_t oled_timer = 0; - -__attribute__ ((weak)) void handle_oled_keypress(uint16_t keycode, keyrecord_t *record) {} - -__attribute__ ((weak)) oled_rotation_t rotate_master(oled_rotation_t rotation) {return rotation;} -__attribute__ ((weak)) oled_rotation_t rotate_slave(oled_rotation_t rotation) {return rotation;} - -void oled_timer_reset(void) { oled_timer = timer_read32(); } - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - - if (!is_keyboard_master()) { - return rotate_slave(rotation); - } - - return rotate_master(rotation); -} - - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - logged_row = record->event.key.row; - logged_col = record->event.key.col; - - handle_oled_keypress(keycode, record); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_master_oled(); - } else { - render_slave_oled(); - } - return false; -} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators.h b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators.h deleted file mode 100644 index 038d9eff2c20..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators.h +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" -#include - -#define ANIM_SIZE 352 // number of bytes in array, max is 1024 (minimize where possible) -#define IDLE_FRAMES 67 //number of total frames - -void change_frame_up(uint8_t frame_number); -void change_frame_down(uint8_t frame_number); -const char first_frame[ANIM_SIZE]; -const uint8_t key_frame[4]; diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_down.c b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_down.c deleted file mode 100644 index c5d70f20636e..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_down.c +++ /dev/null @@ -1,463 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "indicators.h" - -const uint8_t key_frame[4] = {10, 30, 46, 61}; - -static const uint16_t cumsum_inds[IDLE_FRAMES+1] = { - 0, 8, 50, 82, 113, 141, 199, 261, 283, 294, 294, 294, 294, 294, 294, - 294, 330, 332, 377, 478, 588, 741, 844, 970, 1085, 1172, 1219, 1235, 1242, 1242, - 1243, 1243, 1244, 1318, 1368, 1466, 1491, 1627, 1797, 1900, 2019, 2094, 2215, 2311, 2375, - 2404, 2404, 2404, 2404, 2477, 2479, 2515, 2560, 2614, 2728, 2884, 2961, 3072, 3143, 3164, - 3167, 3167, 3167, 3167, 3169, 3171, 3221, 3221, -}; - -static const uint16_t change_inds[3221] = { - 173, 174, 175, 176, 177, 207, 208, 209, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 206, 207, 208, 209, 210, 211, 212, 238, 239, - 240, 241, 242, 243, 244, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 166, 167, 168, 169, 171, 172, 181, 213, 238, - 239, 240, 241, 242, 243, 244, 245, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 166, 167, 168, 171, 172, 181, 213, - 238, 239, 240, 241, 242, 243, 244, 245, 39, 102, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 167, 169, 170, 171, 173, 238, - 239, 240, 241, 242, 243, 244, 0, 2, 3, 4, 5, 7, 8, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 39, 62, 94, 96, 97, 98, 100, 102, 126, 134, 136, - 137, 140, 148, 158, 166, 180, 190, 198, 212, 222, 230, 244, 254, 262, 286, - 294, 318, 326, 350, 0, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 62, 64, 65, 66, 67, 94, 96, 97, 98, 99, 100, 102, 126, - 131, 134, 158, 163, 166, 190, 195, 198, 222, 227, 230, 254, 259, 262, 286, - 291, 294, 318, 323, 326, 350, 32, 33, 64, 65, 66, 67, 97, 99, 129, - 131, 161, 163, 193, 195, 225, 227, 257, 259, 289, 291, 321, 323, 32, 33, - 65, 97, 129, 161, 193, 225, 257, 289, 321, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 206, 207, 208, 209, 210, 211, 238, 239, 240, 241, 242, 243, - 175, 176, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 108, 109, 110, 111, 112, 113, 114, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 196, 197, 198, - 199, 200, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 38, 39, - 40, 42, 43, 44, 45, 46, 47, 48, 50, 51, 54, 55, 56, 65, 66, - 67, 90, 91, 92, 97, 108, 109, 110, 111, 112, 113, 114, 120, 121, 122, - 123, 124, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 164, 165, 168, 169, 171, - 172, 174, 182, 186, 187, 193, 194, 196, 197, 198, 199, 203, 207, 208, 210, - 211, 213, 217, 218, 220, 221, 223, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 261, - 262, 264, 265, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 50, 51, - 54, 55, 56, 65, 66, 67, 89, 90, 91, 92, 93, 94, 95, 97, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 160, 161, 162, 163, 165, 166, 167, 168, 169, - 170, 172, 179, 183, 184, 185, 186, 193, 194, 197, 198, 202, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 220, 221, 223, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 261, 262, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 290, 291, 292, 293, - 294, 295, 296, 297, 320, 321, 62, 63, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 139, 140, 141, 142, 147, 150, 151, 152, 153, 160, 161, 162, 163, 181, - 184, 185, 230, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 320, - 321, 322, 323, 324, 30, 31, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 250, 251, 252, 253, 254, - 255, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 146, 280, 281, 282, 283, 284, 285, 286, 287, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 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, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 146, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 64, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 32, 33, 351, 0, 1, 2, 3, 4, 5, 6, 146, 146, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 178, 179, - 180, 181, 182, 183, 184, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 237, 238, 239, - 240, 241, 242, 108, 109, 110, 111, 112, 113, 114, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 181, 182, 183, 184, 185, 186, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 214, 215, 216, - 217, 218, 219, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 108, 109, 110, 111, - 112, 113, 114, 133, 134, 136, 144, 150, 154, 185, 195, 204, 211, 219, 231, - 234, 235, 243, 244, 247, 250, 34, 35, 36, 37, 38, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 52, 53, 55, 64, 65, 89, 90, 91, 92, 122, - 123, 124, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 161, 164, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 182, 183, 184, - 185, 186, 193, 196, 203, 204, 205, 206, 207, 208, 209, 210, 211, 217, 218, - 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 285, 288, 289, 313, - 314, 315, 316, 317, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 342, 343, 26, 27, 28, 29, 30, 31, 34, 35, - 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 55, - 64, 65, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, - 120, 121, 122, 123, 124, 125, 126, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 161, 165, 171, 172, 177, 183, 184, 185, 193, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 216, 217, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 252, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 313, 314, 315, 316, 317, 323, 324, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 342, 343, 26, 27, 28, - 29, 30, 31, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 244, 245, 246, 247, 248, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 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, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 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, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 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, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 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, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 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, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 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, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 166, 167, 168, 169, 170, 171, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 175, 176, 140, 141, 142, 143, 144, 145, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 166, 167, 168, 169, 170, 173, 174, 175, 176, 182, 183, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 214, 215, - 216, 217, 218, 241, 242, 243, 244, 245, 246, 247, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 165, 166, 167, 168, 174, 175, 178, 179, 180, 181, - 182, 183, 184, 195, 196, 197, 204, 216, 219, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 20, 21, 22, 23, 49, 50, 51, 52, 78, 79, 80, - 107, 108, 109, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 165, 166, - 167, 168, 174, 175, 178, 179, 180, 181, 182, 183, 184, 193, 194, 195, 196, - 197, 204, 216, 219, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 15, 16, - 17, 18, 20, 21, 22, 23, 44, 45, 46, 47, 49, 50, 51, 52, 73, - 74, 75, 76, 78, 79, 80, 102, 103, 104, 107, 108, 109, 131, 132, 133, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 160, 161, 162, 165, 166, - 167, 168, 169, 173, 175, 181, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 216, 217, 218, 224, 225, 242, 243, 244, 245, 246, 247, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 279, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 13, 14, 15, 16, 17, 18, 42, 43, 44, 45, 46, - 47, 70, 71, 72, 73, 74, 75, 76, 99, 100, 101, 102, 103, 104, 128, - 129, 130, 131, 132, 133, 160, 161, 162, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 208, 215, 216, 217, 247, 249, 279, 281, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 8, 9, 10, 11, 13, 14, 15, 16, 37, - 38, 39, 40, 42, 43, 44, 45, 66, 67, 68, 69, 70, 71, 72, 73, - 96, 97, 98, 99, 100, 101, 102, 128, 129, 130, 131, 156, 157, 158, 159, - 160, 185, 186, 187, 188, 189, 190, 191, 208, 216, 217, 220, 249, 252, 281, - 284, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 316, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 3, 4, 5, - 6, 8, 9, 10, 11, 32, 33, 34, 35, 37, 38, 39, 40, 64, 66, - 67, 68, 69, 96, 97, 98, 156, 157, 158, 159, 188, 189, 191, 206, 208, - 220, 223, 252, 255, 284, 287, 316, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 351, 0, 1, 2, 3, 4, 5, 6, - 32, 33, 34, 35, 64, 159, 191, 205, 206, 223, 255, 287, 319, 351, 0, - 1, 2, 205, 207, 207, 216, 138, 139, 140, 141, 142, 143, 144, 145, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 177, 178, 179, 180, 181, 182, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 241, 242, 243, 244, 245, 246, -}; - -static const char change_vals[3221] = { - 0x18, 0x1C, 0xFC, 0xFC, 0xFC, 0x0F, 0x0F, 0x0F, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, - 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x80, 0x80, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, - 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x03, 0x03, 0x03, 0x01, 0x03, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x80, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0xFC, 0x00, 0xFF, 0xFF, 0x08, 0x04, 0x04, 0x02, 0xFE, 0xFF, 0xFF, 0xC0, - 0xC0, 0xE0, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x08, 0x04, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x80, 0x80, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA0, 0x60, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, - 0x80, 0x06, 0x0F, 0x0F, 0x0F, 0x0F, 0x03, 0x81, 0xC1, 0xC1, 0xE1, 0xFB, 0xFF, 0x7F, 0x3F, - 0x1F, 0x06, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xF7, 0xF3, 0xF1, 0xF1, 0xF0, 0xF0, - 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xE0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, - 0xFF, 0xFF, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, - 0xFC, 0xF8, 0xC0, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x80, 0xC0, 0xC0, - 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x03, 0x80, 0xE0, 0xF0, - 0xF8, 0xF8, 0xFC, 0xFE, 0xFF, 0xBF, 0x9F, 0x9F, 0x8F, 0x87, 0x87, 0x83, 0x81, 0x81, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x80, 0x40, - 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0xC0, 0x18, - 0x04, 0x01, 0x04, 0xB0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, - 0x08, 0x03, 0x00, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFE, 0x7E, 0x3E, 0x3F, 0xBF, 0x7F, - 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x43, 0x13, 0x0B, 0x07, - 0x02, 0x80, 0x7F, 0x07, 0x00, 0x02, 0x01, 0x00, 0xC0, 0xE0, 0xF0, 0xFE, 0x8F, 0x87, 0x83, - 0x81, 0x80, 0xC0, 0xA0, 0x10, 0x08, 0x04, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x8F, 0x4F, 0x2F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x40, - 0x60, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0x30, 0x18, 0x0C, 0x02, 0x00, 0x80, - 0x40, 0x40, 0x20, 0x10, 0x08, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, - 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFE, 0xFE, 0x7D, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xF8, - 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x00, 0x04, 0x02, 0x01, 0x01, 0x00, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x01, 0xFF, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xCF, 0xCF, - 0xC7, 0xC3, 0xC3, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x87, 0x87, 0x47, 0x27, 0x20, 0x10, 0x18, 0x08, 0x04, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x08, 0x04, 0x02, 0x02, 0x01, 0xC0, 0x60, 0x30, 0x18, - 0x0C, 0x04, 0x02, 0x01, 0x06, 0x01, 0x80, 0x40, 0x80, 0x80, 0x40, 0x20, 0x30, 0x18, 0x0C, - 0x04, 0x02, 0x01, 0x00, 0x00, 0x80, 0x80, 0x40, 0x60, 0x20, 0x10, 0x08, 0x0C, 0x04, 0x02, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x30, 0x10, 0x08, 0x0C, 0x04, 0xC2, 0xF1, - 0xF1, 0xF8, 0xF8, 0xFC, 0x7C, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, - 0x0F, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x00, 0x80, 0x80, 0x40, 0x60, 0x20, 0x30, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x60, 0x20, 0x10, 0x18, 0x08, 0x04, 0x06, 0x02, 0x01, - 0x01, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x18, 0x0C, 0x04, 0x02, 0x03, 0x01, 0x18, - 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x80, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, - 0x03, 0x01, 0x00, 0x80, 0x80, 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x04, 0x06, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x30, 0x18, 0x0C, - 0x04, 0x06, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x60, - 0x60, 0x30, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, - 0x60, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x06, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x80, - 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x01, 0x80, 0x80, 0xC0, 0x60, 0x70, - 0x30, 0x18, 0x0C, 0x0E, 0x07, 0x03, 0x01, 0x80, 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x18, 0x1C, - 0x0C, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, - 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x60, 0x70, 0x30, 0x18, 0x0C, - 0x0E, 0x06, 0x03, 0x03, 0x01, 0x80, 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, - 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x60, - 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x1C, 0x0C, - 0x0E, 0x07, 0xC0, 0xE0, 0xE0, 0x70, 0x38, 0x3C, 0x1C, 0x0E, 0x0F, 0x07, 0x03, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x3C, 0x1E, 0x0E, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xC0, 0xC0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x07, 0x07, 0x07, - 0x07, 0x07, 0xE1, 0xE1, 0xE1, 0xE1, 0xF1, 0xFF, 0xFF, 0xFF, 0xBF, 0x1F, 0x38, 0x78, 0xFC, - 0xFC, 0xF8, 0xF0, 0xE1, 0xE0, 0xE1, 0xF1, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xF0, 0xFC, 0xFE, 0xFE, 0xFF, - 0xFF, 0xFF, 0x7F, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, - 0xFC, 0xF8, 0xF0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, - 0xF8, 0xF8, 0xFC, 0xFF, 0xFF, 0xBF, 0x9F, 0x1F, 0x07, 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0x80, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x83, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0x30, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, 0x3F, 0xFE, 0xE0, 0x0F, 0x00, 0x81, 0xD7, 0x00, 0x0F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 0x01, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x02, 0x01, 0x01, 0x02, 0x08, 0xE0, 0x40, - 0x20, 0x0F, 0xF8, 0x08, 0x08, 0x08, 0xC8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7E, 0x7E, - 0x7E, 0x3E, 0x7E, 0x7E, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFA, 0xF1, 0x80, 0x00, 0xFF, 0x00, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xBF, 0x9F, 0x1F, - 0x07, 0x00, 0xFF, 0x00, 0xE0, 0xC1, 0x81, 0x81, 0x81, 0x81, 0x81, 0xC3, 0xFF, 0xFE, 0x00, - 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x01, 0x08, 0x10, 0x40, 0xFF, 0x40, 0x80, 0x80, - 0x40, 0x20, 0x18, 0x07, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x04, 0x0C, 0x18, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, - 0x10, 0x08, 0x08, 0x0C, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, - 0xF8, 0xF8, 0xF8, 0xF8, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, - 0xC0, 0x00, 0x00, 0x00, 0x03, 0x00, 0xF0, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x78, 0xF8, 0xF8, - 0xF8, 0xF8, 0xF0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xE3, 0x7E, 0x00, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x41, 0x43, 0x43, 0x43, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, - 0x47, 0x07, 0x87, 0x83, 0x83, 0x81, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, - 0x04, 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, 0x80, 0x80, 0x80, 0x80, 0xC0, 0x40, 0x40, 0x60, 0x20, 0x30, 0x10, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x18, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x30, 0x30, 0x20, 0x20, 0x20, 0x60, 0x40, 0x40, 0xC0, 0x80, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x0C, 0x0C, 0x0C, 0x0C, 0x04, 0x04, 0x06, 0x06, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x04, 0x04, 0x04, 0x0C, 0x0C, 0x0C, 0x08, 0x18, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, - 0xC0, 0xC0, 0x40, 0x60, 0x60, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x10, 0x10, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x60, 0x60, 0x60, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0C, 0x0C, 0x0C, - 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x60, 0x60, - 0x60, 0x60, 0x70, 0x70, 0x70, 0x30, 0x30, 0x30, 0x38, 0x38, 0x18, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x20, 0xE0, 0xF8, 0xFF, 0xFF, 0xFF, - 0x3F, 0x07, 0x01, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x18, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3C, - 0x3C, 0x3C, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0xC0, 0xF0, 0xFC, 0xFE, 0xFC, - 0xFE, 0xFE, 0x7E, 0x0C, 0xC0, 0xF0, 0xFE, 0xFF, 0xFF, 0x3F, 0x0F, 0x01, 0x00, 0xC0, 0xC0, - 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, - 0xF8, 0xF8, 0xF8, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x80, 0xF0, 0xFE, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0xC0, 0xF0, 0xFE, 0xFF, 0x07, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xF8, 0xFE, 0xFF, 0xF8, 0xFF, 0xF8, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, - 0x1F, 0x01, 0x01, 0x01, 0x80, 0x30, 0x0C, 0x01, 0x80, 0x30, 0x04, 0x01, 0xC0, 0x10, 0x06, - 0xC0, 0x18, 0x06, 0x60, 0x98, 0xF3, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x0C, 0x60, 0x88, - 0xF3, 0xFC, 0x0F, 0x01, 0xC0, 0xC0, 0xC0, 0xF0, 0xC0, 0xC0, 0x00, 0x80, 0x20, 0x0C, 0xF1, - 0xFE, 0xF9, 0xF8, 0x00, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 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, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x70, - 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x0E, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, - 0x38, 0x06, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x07, 0x00, 0x00, 0x00, 0xE0, 0x18, 0x07, - 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0x78, 0x18, 0x60, 0x1C, 0x03, 0x00, 0x00, - 0xC0, 0xF8, 0xFE, 0x7F, 0x03, 0xC0, 0xFC, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x78, 0x7E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7D, 0x7C, 0x7C, 0x7C, - 0x7C, 0xFC, 0x78, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x07, 0x01, 0x00, 0x00, 0xE0, 0x38, 0x07, 0x01, 0x00, - 0x00, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0x00, 0x00, 0x80, 0x70, 0x1C, 0x03, 0x00, 0x00, 0x80, - 0x70, 0x0E, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x78, 0x7C, 0x7C, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3F, 0xC0, 0x78, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, - 0x78, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x38, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x7C, 0x78, 0x78, 0xFF, 0x00, 0xFF, 0x00, - 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, 0xFF, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3F, 0xC0, 0xF8, 0x1E, - 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x78, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0x78, 0x78, - 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 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, 0x00, 0xFF, 0x3F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7C, 0x78, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -uint16_t index_start2 = 0; -uint16_t index_end2 = 0; -void change_frame_up(uint8_t frame_number){ -// for n changes this frame, change those bytes by change_inds and change_vals - index_start2 = cumsum_inds[frame_number-1]; - index_end2 = cumsum_inds[frame_number]; - if (index_start2 != index_end2){ // if a change in buffer - for (uint16_t i=index_start2; i < index_end2; i++){ - oled_write_raw_byte(change_vals[i], change_inds[i]); - } - } -} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_up.c b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_up.c deleted file mode 100644 index 291283801243..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/indicators_up.c +++ /dev/null @@ -1,461 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "indicators.h" - -static const uint16_t cumsum_inds[IDLE_FRAMES+1] = { - 0, 50, 52, 54, 54, 54, 54, 57, 78, 149, 260, 337, 493, 607, 661, - 706, 742, 744, 817, 817, 817, 817, 846, 910, 1006, 1127, 1202, 1321, 1424, 1594, - 1730, 1755, 1853, 1903, 1977, 1978, 1978, 1979, 1979, 1986, 2002, 2049, 2136, 2251, 2377, - 2480, 2633, 2743, 2844, 2889, 2891, 2927, 2927, 2927, 2927, 2927, 2927, 2927, 2938, 2960, - 3022, 3080, 3108, 3139, 3171, 3213, 3221, 3221, -}; - -static const uint16_t change_inds[3221] = { - 138, 139, 140, 141, 142, 143, 144, 145, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 177, 178, 179, 180, 181, 182, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 241, - 242, 243, 244, 245, 246, 207, 216, 205, 207, 0, 1, 2, 0, 1, 2, - 3, 4, 5, 6, 32, 33, 34, 35, 64, 159, 191, 205, 206, 223, 255, - 287, 319, 351, 3, 4, 5, 6, 8, 9, 10, 11, 32, 33, 34, 35, - 37, 38, 39, 40, 64, 66, 67, 68, 69, 96, 97, 98, 156, 157, 158, - 159, 188, 189, 191, 206, 208, 220, 223, 252, 255, 284, 287, 316, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 351, 8, - 9, 10, 11, 13, 14, 15, 16, 37, 38, 39, 40, 42, 43, 44, 45, - 66, 67, 68, 69, 70, 71, 72, 73, 96, 97, 98, 99, 100, 101, 102, - 128, 129, 130, 131, 156, 157, 158, 159, 160, 185, 186, 187, 188, 189, 190, - 191, 208, 216, 217, 220, 249, 252, 281, 284, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 316, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 13, 14, 15, 16, 17, 18, 42, 43, 44, 45, - 46, 47, 70, 71, 72, 73, 74, 75, 76, 99, 100, 101, 102, 103, 104, - 128, 129, 130, 131, 132, 133, 160, 161, 162, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 208, 215, 216, 217, 247, 249, 279, 281, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 15, 16, 17, 18, 20, 21, 22, 23, - 44, 45, 46, 47, 49, 50, 51, 52, 73, 74, 75, 76, 78, 79, 80, - 102, 103, 104, 107, 108, 109, 131, 132, 133, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 160, 161, 162, 165, 166, 167, 168, 169, 173, 175, 181, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 216, 217, 218, 224, 225, - 242, 243, 244, 245, 246, 247, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 279, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 20, 21, - 22, 23, 49, 50, 51, 52, 78, 79, 80, 107, 108, 109, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 165, 166, 167, 168, 174, 175, 178, 179, - 180, 181, 182, 183, 184, 193, 194, 195, 196, 197, 204, 216, 219, 224, 225, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 165, 166, 167, 168, 174, 175, 178, 179, 180, 181, 182, 183, 184, - 195, 196, 197, 204, 216, 219, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 137, 138, 139, 140, 141, 142, 143, 144, 145, 166, 167, 168, 169, 170, - 173, 174, 175, 176, 182, 183, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 214, 215, 216, 217, 218, 241, 242, 243, 244, 245, 246, - 247, 140, 141, 142, 143, 144, 145, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 175, 176, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 166, 167, - 168, 169, 170, 171, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 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, 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, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 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, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 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, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 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, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 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, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 26, 27, 28, 29, 30, 31, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, - 124, 125, 126, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 244, 245, 246, 247, 248, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 26, - 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 52, 53, 55, 64, 65, 89, 90, 91, 92, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 161, 165, 171, 172, 177, 183, - 184, 185, 193, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 216, 217, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 252, 281, 282, 283, 284, 285, 286, 287, 288, 289, 313, 314, 315, 316, - 317, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 342, 343, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 52, 53, 55, 64, 65, 89, 90, 91, 92, 122, 123, 124, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 161, 164, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 182, 183, 184, 185, 186, - 193, 196, 203, 204, 205, 206, 207, 208, 209, 210, 211, 217, 218, 225, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 252, 285, 288, 289, 313, 314, 315, - 316, 317, 323, 324, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 342, 343, 108, 109, 110, 111, 112, 113, 114, 133, 134, 136, - 144, 150, 154, 185, 195, 204, 211, 219, 231, 234, 235, 243, 244, 247, 250, - 108, 109, 110, 111, 112, 113, 114, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 181, 182, 183, 184, 185, 186, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 237, 238, 239, 240, 241, 242, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 178, 179, 180, - 181, 182, 183, 184, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 146, 146, 0, - 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 32, 33, 351, 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 64, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, 351, 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, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 146, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 146, 280, 281, - 282, 283, 284, 285, 286, 287, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 30, 31, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 250, 251, 252, 253, 254, 255, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 62, 63, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 139, 140, 141, 142, 147, 150, 151, 152, 153, 160, 161, 162, 163, - 181, 184, 185, 230, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 320, 321, 322, 323, 324, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, - 50, 51, 54, 55, 56, 65, 66, 67, 89, 90, 91, 92, 93, 94, 95, - 97, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 160, 161, 162, 163, 165, 166, 167, - 168, 169, 170, 172, 179, 183, 184, 185, 186, 193, 194, 197, 198, 202, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 220, 221, - 223, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 261, 262, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 290, 291, - 292, 293, 294, 295, 296, 297, 320, 321, 38, 39, 40, 42, 43, 44, 45, - 46, 47, 48, 50, 51, 54, 55, 56, 65, 66, 67, 90, 91, 92, 97, - 108, 109, 110, 111, 112, 113, 114, 120, 121, 122, 123, 124, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 164, 165, 168, 169, 171, 172, 174, 182, 186, 187, - 193, 194, 196, 197, 198, 199, 203, 207, 208, 210, 211, 213, 217, 218, 220, - 221, 223, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 261, 262, 264, 265, 108, 109, - 110, 111, 112, 113, 114, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 196, 197, 198, 199, 200, 201, 202, - 203, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 175, 176, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 206, 207, 208, 209, 210, 211, 238, 239, 240, 241, - 242, 243, 32, 33, 65, 97, 129, 161, 193, 225, 257, 289, 321, 32, 33, - 64, 65, 66, 67, 97, 99, 129, 131, 161, 163, 193, 195, 225, 227, 257, - 259, 289, 291, 321, 323, 0, 2, 3, 4, 5, 7, 8, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 62, 64, 65, 66, 67, 94, 96, 97, 98, 99, 100, 102, - 126, 131, 134, 158, 163, 166, 190, 195, 198, 222, 227, 230, 254, 259, 262, - 286, 291, 294, 318, 323, 326, 350, 0, 2, 3, 4, 5, 7, 8, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 39, 62, 94, 96, 97, 98, 100, 102, 126, 134, - 136, 137, 140, 148, 158, 166, 180, 190, 198, 212, 222, 230, 244, 254, 262, - 286, 294, 318, 326, 350, 39, 102, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 167, 169, 170, 171, 173, 238, 239, 240, 241, - 242, 243, 244, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 166, 167, 168, 171, 172, 181, 213, 238, 239, 240, 241, - 242, 243, 244, 245, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 166, 167, 168, 169, 171, 172, 181, 213, 238, 239, - 240, 241, 242, 243, 244, 245, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 206, 207, 208, 209, 210, 211, 212, 238, 239, 240, 241, - 242, 243, 244, 173, 174, 175, 176, 177, 207, 208, 209, -}; - -static const char change_vals[3221] = { - 0xC0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0x78, 0x18, 0xC0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, - 0x0F, 0x03, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x78, 0x7E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, - 0x7D, 0x7C, 0x7C, 0x7C, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x7C, 0x78, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x78, 0x78, 0x78, 0x7C, 0x3F, 0x07, 0x01, 0x00, 0x00, 0x00, - 0xC0, 0xF8, 0x1E, 0x07, 0xE0, 0x78, 0x1F, 0x03, 0x03, 0xF0, 0xFF, 0x7C, 0x78, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x78, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0x78, 0x0F, 0x03, 0x00, 0xE0, 0x38, 0x0F, 0x01, 0x3C, 0x0F, 0x01, 0x80, 0x80, 0x80, - 0x80, 0xFF, 0x01, 0x00, 0x7C, 0x7C, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xC0, 0x38, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x38, 0x07, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x1C, 0x07, 0x00, 0x00, 0x00, 0x80, 0x70, 0x1C, 0x03, - 0x80, 0x70, 0x0E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x78, 0x7C, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0C, 0x03, 0x00, 0x00, 0xC0, 0x30, - 0x0E, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x06, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x07, - 0x00, 0x00, 0x00, 0xE0, 0x18, 0x07, 0x60, 0x1C, 0x03, 0xFC, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x04, 0x04, 0x04, 0x7C, 0xFF, 0xFC, 0x78, 0xFF, 0x00, 0xFF, 0x00, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x30, 0x0C, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x30, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x10, 0x06, - 0x00, 0x00, 0x00, 0xC0, 0x18, 0x06, 0x00, 0x00, 0x00, 0x60, 0x98, 0xF3, 0xFC, 0xFC, 0xFC, - 0xFC, 0xFC, 0x7C, 0x0C, 0x00, 0x00, 0x00, 0x60, 0x88, 0xF3, 0xFC, 0xFF, 0x3F, 0x01, 0xF0, - 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x0C, 0xF1, 0xFE, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x0C, 0x01, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFE, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0xC0, 0xF0, 0xFE, 0xFF, 0x07, 0x00, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0xF8, 0xFE, 0xFF, 0xF8, 0xFF, 0xF8, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0xFC, 0xFE, 0xFE, - 0x7E, 0x0C, 0x00, 0xC0, 0xF0, 0xFE, 0x0F, 0x01, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, - 0x00, 0xF8, 0xFE, 0xF9, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x20, 0x00, 0x00, 0x00, 0xE0, 0xF8, - 0xFF, 0x3F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, - 0xF8, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xFF, 0xFF, 0xFF, 0xBF, 0x1F, - 0x0F, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xE3, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x70, - 0x70, 0x30, 0x30, 0x30, 0x38, 0x38, 0x18, 0x18, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 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, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, - 0x0C, 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, 0x80, 0xC0, 0xC0, 0xC0, - 0x40, 0x60, 0x60, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x10, 0x10, 0x10, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x60, 0x60, 0x60, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x0C, 0x0C, 0x0C, 0x0C, 0x04, 0x04, 0x06, 0x06, 0x02, 0x03, 0x03, 0x01, 0x01, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x0C, 0x0C, 0x0C, - 0x08, 0x18, 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, 0xC0, 0x40, - 0x40, 0x60, 0x20, 0x30, 0x10, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x18, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x30, 0x30, 0x20, 0x20, 0x20, 0x60, 0x40, 0x40, 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, 0x01, 0x01, 0x02, 0x04, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x0C, - 0x04, 0x02, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x43, 0x43, 0x43, 0x47, - 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x87, 0x83, 0x83, 0x81, 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, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x02, 0x01, 0x01, 0x02, 0x08, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x0F, 0x00, 0x00, 0xF8, - 0x08, 0x08, 0x08, 0xC8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7E, 0x7E, 0x7E, 0x3E, 0x7E, - 0x7E, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFA, 0xF1, 0x80, 0xFF, 0x01, 0x01, 0x60, 0xF8, 0x9F, - 0x1F, 0x07, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xC1, 0x81, 0x81, 0x81, 0x81, - 0x81, 0xC3, 0xFF, 0xFE, 0x00, 0x01, 0x00, 0x02, 0x02, 0x02, 0x03, 0x03, 0x07, 0x07, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x01, 0x08, - 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x20, 0x18, - 0x07, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 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, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0x7F, 0x3F, 0x3F, 0x1F, 0x1F, - 0x3F, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFC, 0xF8, 0xE0, 0x00, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFF, 0xBF, 0x9F, 0x0F, 0x07, - 0x00, 0xF0, 0x80, 0x81, 0x01, 0x01, 0x01, 0x01, 0x03, 0x83, 0xD7, 0xFF, 0xFE, 0x00, 0x00, - 0x03, 0x07, 0x0F, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 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, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFC, 0xFE, 0xFF, - 0x1F, 0xFF, 0xF0, 0x1F, 0x60, 0x01, 0xC7, 0x30, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE1, 0xE1, 0xE1, 0xE1, 0xF1, 0xFF, - 0xBF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x78, 0xFC, 0xFC, - 0xF8, 0xF0, 0xE1, 0xE0, 0xE1, 0xF1, 0xFF, 0xFF, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, - 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, - 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, - 0xC0, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x01, 0x80, 0x80, 0xC0, 0xF0, 0xF8, 0xFF, 0xFF, - 0x7F, 0x7F, 0x3F, 0x0F, 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xCF, 0xCF, 0xC7, - 0xC3, 0xC3, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xF8, 0xFC, 0x3C, - 0x1E, 0x0E, 0x07, 0x07, 0x03, 0x01, 0xC0, 0xE0, 0xE0, 0x70, 0x38, 0x3C, 0x1C, 0x0E, 0x0F, - 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x01, 0x01, - 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x03, 0x01, 0x01, 0x80, 0xC0, - 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x60, 0x70, 0x30, 0x18, 0x0C, 0x0E, 0x07, 0x03, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0x60, - 0x30, 0x18, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x01, 0xC0, 0x60, 0x70, 0x30, 0x18, 0x1C, 0x0C, - 0x06, 0x07, 0x03, 0x01, 0xF8, 0x80, 0x80, 0xC0, 0xE0, 0x60, 0x30, 0x38, 0x18, 0x0C, 0x0C, - 0x80, 0xC0, 0xC0, 0x60, 0x70, 0x30, 0x18, 0x0C, 0x0E, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x80, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x04, 0x06, 0x03, - 0x01, 0xC0, 0x60, 0x30, 0x30, 0x18, 0x0C, 0x04, 0x06, 0x03, 0x01, 0x01, 0xFC, 0x80, 0x80, - 0xC0, 0x60, 0x60, 0x30, 0x10, 0x18, 0x80, 0xC0, 0x60, 0x60, 0x30, 0x18, 0x18, 0x0C, 0x06, - 0x06, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, - 0x18, 0x0C, 0x06, 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, 0x80, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20, - 0x30, 0x18, 0x0C, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x40, 0x60, 0x20, 0x10, 0x08, 0x0C, 0x04, 0x02, 0x01, 0x01, 0x40, 0x20, 0x30, - 0x10, 0x08, 0x0C, 0x04, 0xC2, 0xF1, 0xF1, 0x80, 0x80, 0x40, 0x60, 0x20, 0x30, 0x80, 0x80, - 0x40, 0x60, 0x20, 0x10, 0x18, 0x08, 0x04, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x18, 0x0C, 0x04, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x40, 0x60, 0x30, 0x18, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, - 0x20, 0x10, 0x08, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xC0, 0xE0, - 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0x7D, 0xFC, 0xF8, 0xF0, 0xE0, 0x80, 0x04, 0x02, 0x01, 0x01, - 0xFF, 0x1F, 0x07, 0x07, 0x87, 0x87, 0x47, 0x27, 0x20, 0x10, 0x18, 0x08, 0x04, 0x06, 0x02, - 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x08, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x01, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x40, 0x40, 0x80, 0xC0, 0x18, 0x04, 0x00, 0x01, 0x04, 0xB0, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x08, 0x03, - 0x00, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFE, 0x7E, 0x3E, 0x3F, 0xBF, 0x7F, 0x3F, 0x7E, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x43, 0x03, 0x03, - 0x13, 0x0B, 0x03, 0x02, 0xFC, 0x7F, 0x3F, 0x1F, 0x07, 0x02, 0x01, 0xC0, 0xE0, 0xFE, 0xBF, - 0x9F, 0x8F, 0x87, 0x87, 0x83, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xA0, 0x10, 0x08, - 0x04, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x8F, 0x4F, 0x2F, 0x1F, 0x1F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, - 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, - 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, - 0xFE, 0xFE, 0xFC, 0xF8, 0xC0, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0xC0, 0xFF, 0x0F, 0x03, - 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF8, 0xFF, 0x9F, 0x8F, 0x87, 0x83, 0x81, 0x80, 0x80, 0x00, - 0x00, 0x00, 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, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x0F, 0x0F, 0x0F, 0x0F, 0x03, 0x81, 0xC1, 0xC1, 0xE1, 0xFB, 0xFF, - 0x7F, 0x3F, 0x1F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xFC, - 0xFE, 0xFF, 0xFF, 0xF7, 0xF3, 0xF1, 0xF1, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xE0, 0xE0, - 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x07, 0x07, 0x07, - 0x07, 0x07, 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, - 0x08, 0x08, 0x04, 0xFC, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, - 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x08, 0x04, 0x04, 0x00, 0x02, 0xFE, - 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, - 0xFF, 0x00, 0xFF, 0xFF, 0x00, 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, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, - 0xE0, 0xE0, 0xF0, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x03, 0x01, 0x01, 0x01, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, 0x1F, - 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, - 0xFE, 0xFE, 0xFC, 0xFC, 0x00, 0x00, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1C, 0xFC, 0xFC, - 0xFC, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -uint16_t index_start = 0; -uint16_t index_end = 0; -void change_frame_down(uint8_t frame_number){ -// for n changes this frame, change those bytes by change_inds and change_vals - index_start = cumsum_inds[frame_number-1]; - index_end = cumsum_inds[frame_number]; - if (index_start != index_end){ // if a change in buffer - for (uint16_t i=index_start; i < index_end; i++){ - oled_write_raw_byte(change_vals[i], change_inds[i]); - } - } -} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/oled_master_handler.c b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/oled_master_handler.c deleted file mode 100644 index ffd3edb792de..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/master/oled_master_handler.c +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" -#include "indicators.h" - -extern uint8_t logged_row, logged_col; -extern uint32_t oled_timer; -extern const uint8_t key_frame[4]; - -static uint32_t frame_limiter; - -void oled_render_layer_state(void) { - int current_layer_idx = get_highest_layer(layer_state | default_layer_state); - static int current_frame = 0; - static bool first_run = 1; - - if(first_run){ - first_run = 0; - char clear[ANIM_SIZE] = {0}; - memset(clear, 0, ANIM_SIZE); - oled_write_raw_P(clear, ANIM_SIZE); - frame_limiter = timer_read(); - return; - } - - if (timer_elapsed(frame_limiter) < 12) { - return; - } - - frame_limiter = timer_read(); - - if(current_frame < key_frame[current_layer_idx]){ - current_frame = (current_frame + 1) % IDLE_FRAMES; - change_frame_up(current_frame); - }else if(current_frame > key_frame[current_layer_idx]) { - current_frame = (current_frame - 1) % IDLE_FRAMES; - change_frame_down(IDLE_FRAMES - current_frame - 1); - } - -} - -void render_master_oled(void) { - if (timer_elapsed32(oled_timer) > CUSTOM_OLED_TIMEOUT) { - oled_off(); - return; - } - - oled_on(); - - /* Render the layar state */ - oled_render_layer_state(); - - /* Move cursor bellow the graphic */ - oled_set_cursor(0, 12); - - /* Print logged col and row - * Format: 00x00 - */ - char logged_matrix[9] = {0}; - sprintf(logged_matrix, "%02dx%02d", logged_col, logged_row); - - /* Write a separator char: ◆, - * make sure to add a NULL terminator otherwise strlen could fail - */ - static const char PROGMEM separator[] = {4, 4, 4, 4, 4, 0}; - oled_write(separator, false); - - /* Write logged matrix position */ - oled_write(logged_matrix, false); - - /* Write another separator */ - oled_write(separator, false); - - /* Write scanrate */ - oled_write(get_u16_str(get_matrix_scan_rate(), ' '), false); -} - -oled_rotation_t rotate_master(oled_rotation_t rotation) {return OLED_ROTATION_270;} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.c b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.c deleted file mode 100644 index d2d452d03d03..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.c +++ /dev/null @@ -1,533 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "ocean_dream.h" -#include "quantum.h" -#include "print.h" - -// Calculated Parameters -#define TWINKLE_PROBABILITY_MODULATOR 100 / TWINKLE_PROBABILITY // CALCULATED: Don't Touch -#define TOTAL_STARS STARS_PER_LINE *NUMBER_OF_STAR_LINES // CALCULATED: Don't Touch -#define OCEAN_ANIMATION_MODULATOR NUMBER_OF_FRAMES / OCEAN_ANIMATION_SPEED // CALCULATED: Don't Touch -#define SHOOTING_STAR_ANIMATION_MODULATOR NUMBER_OF_FRAMES / SHOOTING_STAR_ANIMATION_SPEED // CALCULATED: Don't Touch -#define STAR_ANIMATION_MODULATOR NUMBER_OF_FRAMES / STAR_ANIMATION_SPEED // CALCULATED: Don't Touch - -uint8_t animation_counter = 0; // global animation counter. -bool is_calm = false; -uint32_t starry_night_anim_timer = 0; -uint32_t starry_night_anim_sleep = 0; -static int current_wpm = 0; - -static uint8_t increment_counter(uint8_t counter, uint8_t max) { - counter++; - if (counter >= max) { - return 0; - } else { - return counter; - } -} - -#ifdef ENABLE_WAVE -static uint8_t decrement_counter(uint8_t counter, uint8_t max) { - counter--; - if (counter < 0 || counter > max) { - return max; - } else { - return counter; - } -} -#endif - -#ifdef ENABLE_MOON // region -# ifndef STATIC_MOON -uint8_t moon_animation_frame = 0; // keeps track of current moon frame -uint16_t moon_animation_counter = 0; // counts how many frames to wait before animating moon to next frame -# endif - -# ifdef STATIC_MOON -static const char PROGMEM moon[6] = { - 0x18, 0x7E, 0xFF, 0xC3, 0x81, 0x81, -}; -# endif - -# ifndef STATIC_MOON -static const char PROGMEM moon_animation[14][8] = { - // clang-format off - { 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, }, - { 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x42, 0x00, }, - { 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xC3, 0x00, 0x00, }, - { 0x3C, 0x7E, 0xFF, 0xFF, 0xC3, 0x81, 0x00, 0x00, }, - { 0x3C, 0x7E, 0xFF, 0xC3, 0x81, 0x00, 0x00, 0x00, }, - { 0x3C, 0x7E, 0xC3, 0x81, 0x81, 0x00, 0x00, 0x00, }, - { 0x3C, 0x42, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, }, - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, - { 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x42, 0x3C, }, - { 0x00, 0x00, 0x00, 0x81, 0x81, 0xC3, 0x7E, 0x3C, }, - { 0x00, 0x00, 0x00, 0x81, 0xC3, 0xFF, 0x7E, 0x3C, }, - { 0x00, 0x00, 0x81, 0xC3, 0xFF, 0xFF, 0x7E, 0x3C, }, - { 0x00, 0x00, 0xC3, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, }, - { 0x00, 0x42, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, }, - // clang-format on -}; -# endif - -static void draw_moon(void) { -# ifdef STATIC_MOON - oled_set_cursor(MOON_COLUMN, MOON_LINE); - oled_write_raw_P(moon, 6); -# endif -# ifndef STATIC_MOON - moon_animation_counter = increment_counter(moon_animation_counter, ANIMATE_MOON_EVERY_N_FRAMES); - if (moon_animation_counter == 0) { - moon_animation_frame = increment_counter(moon_animation_frame, 14); - oled_set_cursor(MOON_COLUMN, MOON_LINE); - oled_write_raw_P(moon_animation[moon_animation_frame], 8); - } -# endif -} -#endif // endregion - -#ifdef ENABLE_WAVE // region -uint8_t starry_night_wave_frame_width_counter = 31; -uint8_t rough_waves_frame_counter = 0; - -// clang-format off -static const char PROGMEM ocean_top[8][32] = { - // still ocean - { - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - }, - // small ripples - { - 0x20, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - }, - // level 2 ripples - { - 0x20, 0x60, 0x40, 0x40, 0x20, 0x60, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x20, 0x60, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x20, 0x60, 0x40, 0x40, - 0x20, 0x60, 0x40, 0x40, 0x20, 0x60, 0x40, 0x40, - }, - // level 3 waves - { - 0x40, 0x20, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x20, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x20, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x20, 0x10, 0x20, 0x40, 0x40, 0x40, 0x40, - }, - { - 0x40, 0x40, 0x20, 0x10, 0x28, 0x50, 0x40, 0x40, - 0x40, 0x40, 0x20, 0x10, 0x28, 0x50, 0x40, 0x40, - 0x40, 0x40, 0x20, 0x10, 0x28, 0x50, 0x40, 0x40, - 0x40, 0x40, 0x20, 0x10, 0x28, 0x50, 0x40, 0x40, - }, - { - 0x40, 0x40, 0x40, 0x20, 0x10, 0x30, 0x70, 0x60, - 0x40, 0x40, 0x40, 0x20, 0x10, 0x30, 0x70, 0x60, - 0x40, 0x40, 0x40, 0x20, 0x10, 0x30, 0x70, 0x60, - 0x40, 0x40, 0x40, 0x20, 0x10, 0x30, 0x70, 0x60, - }, -}; -static const char PROGMEM ocean_bottom[8][32] = { - // still ocean - { - 0x00, 0x40, 0x40, 0x41, 0x01, 0x01, 0x01, 0x21, - 0x20, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x44, - 0x44, 0x40, 0x40, 0x00, 0x00, 0x08, 0x08, 0x00, - 0x01, 0x01, 0x01, 0x00, 0x40, 0x40, 0x00, 0x00, - }, - // small ripples - { - 0x00, 0x00, 0x40, 0x40, 0x01, 0x01, 0x01, 0x20, - 0x20, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, - 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, - 0x00, 0x01, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, - }, - // level 2 ripples - { - 0x00, 0x00, 0x40, 0x40, 0x01, 0x01, 0x01, 0x20, - 0x20, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, - 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, - 0x00, 0x01, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, - }, - // level 3 waves - { - 0x00, 0x40, 0x40, 0x42, 0x42, 0x03, 0x11, 0x11, - 0x20, 0x20, 0x00, 0x00, 0x08, 0x0C, 0x0C, 0x04, - 0x05, 0x41, 0x41, 0x21, 0x20, 0x00, 0x00, 0x08, - 0x0A, 0x0A, 0x0B, 0x41, 0x41, 0x41, 0x41, 0x00, - }, - { - 0x10, 0x10, 0x00, 0x80, 0x84, 0xC4, 0x02, 0x06, - 0x84, 0x44, 0xC0, 0x80, 0x80, 0x20, 0x20, 0x10, - 0x08, 0x12, 0x91, 0x81, 0x42, 0x40, 0x00, 0x00, - 0x10, 0x12, 0x22, 0x22, 0x24, 0x04, 0x84, 0x80, - }, - { - 0x08, 0x80, 0x80, 0x82, 0x82, 0x03, 0x21, 0x21, - 0x10, 0x10, 0x00, 0x00, 0x04, 0x04, 0x0C, 0x08, - 0x09, 0x41, 0x42, 0x22, 0x20, 0x00, 0x00, 0x08, - 0x0A, 0x0A, 0x0B, 0x41, 0x43, 0x42, 0x42, 0x00, - }, -}; -// clang-format on - -static void animate_waves(void) { - starry_night_wave_frame_width_counter = decrement_counter(starry_night_wave_frame_width_counter, WIDTH - 1); // only 3 frames for last wave type - rough_waves_frame_counter = increment_counter(rough_waves_frame_counter, 3); // only 3 frames for last wave type - - void draw_ocean(uint8_t frame, uint16_t offset, uint8_t byte_index) { - oled_write_raw_byte(pgm_read_byte(ocean_top[frame] + byte_index), offset); - oled_write_raw_byte(pgm_read_byte(ocean_bottom[frame] + byte_index), offset + WIDTH); - } - - for (int i = 0; i < WIDTH; ++i) { - uint16_t offset = OCEAN_LINE * WIDTH + i; - uint8_t byte_index = starry_night_wave_frame_width_counter + i; - if (byte_index >= WIDTH) { - byte_index = byte_index - WIDTH; - } - if (is_calm || current_wpm <= WAVE_CALM) { - draw_ocean(0, offset, byte_index); - } else if (current_wpm <= WAVE_HEAVY_STORM) { - draw_ocean(1, offset, byte_index); - } else if (current_wpm <= WAVE_HURRICANE) { - draw_ocean(2, offset, byte_index); - } else { - draw_ocean(3 + rough_waves_frame_counter, offset, byte_index); - } - } -} -#endif // endregion - -#ifdef ENABLE_ISLAND // region -uint8_t island_frame_1 = 0; - -// clang-format off -// only use 46 bytes (first 18 are blank, so we don't write them, makes it smaller and we can see the shooting stars properly!) - -// To save space and allow the shooting stars to be seen, only draw the tree on every frame. -// Tree is only 14bytes wide so we save 108 bytes on just the first row. Second row, the -// first 18 bytes is always the same piece of land, so only store that once, which saves 90 bytes -static const char PROGMEM islandRightTop[6][14] = { - {0x84, 0xEC, 0x6C, 0x3C, 0xF8, 0xFE, 0x3F, 0x6B, 0xDB, 0xB9, 0x30, 0x40, 0x00, 0x00,}, - {0x80, 0xC3, 0xEE, 0x7C, 0xB8, 0xFC, 0xFE, 0x6F, 0xDB, 0x9B, 0xB2, 0x30, 0x00, 0x00,}, - {0x00, 0xC0, 0xEE, 0x7F, 0x3D, 0xF8, 0xFC, 0x7E, 0x57, 0xDB, 0xDB, 0x8A, 0x00, 0x00,}, - {0x00, 0xC0, 0xE6, 0x7F, 0x3B, 0xF9, 0xFC, 0xFC, 0xB6, 0xB3, 0x33, 0x61, 0x00, 0x00,}, - {0x00, 0x00, 0x00, 0x00, 0x80, 0xEE, 0xFF, 0xFB, 0xF9, 0xFC, 0xDE, 0xB6, 0xB6, 0x24,}, - {0x00, 0x00, 0x00, 0x00, 0xC0, 0xEE, 0xFE, 0xFF, 0xFB, 0xFD, 0xEE, 0xB6, 0xB6, 0x92,}, -}; -static const char PROGMEM islandRightBottom[6][14] = { - {0x41, 0x40, 0x60, 0x3E, 0x3F, 0x23, 0x20, 0x60, 0x41, 0x43, 0x40, 0x40, 0x40, 0x80,}, - {0x40, 0x41, 0x60, 0x3E, 0x3F, 0x23, 0x20, 0x60, 0x40, 0x40, 0x41, 0x41, 0x40, 0x80,}, - {0x40, 0x40, 0x61, 0x3D, 0x3F, 0x27, 0x21, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80,}, - {0x40, 0x43, 0x61, 0x3C, 0x3F, 0x27, 0x21, 0x60, 0x41, 0x43, 0x43, 0x42, 0x40, 0x80,}, - {0x40, 0x40, 0x60, 0x3C, 0x3F, 0x27, 0x23, 0x63, 0x44, 0x40, 0x41, 0x41, 0x41, 0x81,}, - {0x40, 0x40, 0x60, 0x3C, 0x3F, 0x27, 0x23, 0x63, 0x42, 0x42, 0x41, 0x41, 0x41, 0x80,}, -}; -static const char PROGMEM islandLeft[18] = { - 0x80, 0x40, 0x40, 0x40, 0x40, 0x60, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x60, 0x40, 0x40, -}; -// clang-format on - -static void animate_island(void) { - if (animation_counter == 0) { - island_frame_1 = increment_counter(island_frame_1, 2); - } - - void draw_island_parts(uint8_t frame) { - oled_set_cursor(ISLAND_COLUMN + 3, ISLAND_LINE); - oled_write_raw_P(islandRightTop[frame], 14); - oled_set_cursor(ISLAND_COLUMN + 0, ISLAND_LINE + 1); - oled_write_raw_P(islandLeft, 18); - oled_set_cursor(ISLAND_COLUMN + 3, ISLAND_LINE + 1); - oled_write_raw_P(islandRightBottom[frame], 14); - } - - if (is_calm || current_wpm < ISLAND_CALM) { - draw_island_parts(0); - } else if (current_wpm >= ISLAND_CALM && current_wpm < ISLAND_HEAVY_STORM) { - draw_island_parts(island_frame_1 + 1); - } else if (current_wpm >= ISLAND_HEAVY_STORM && current_wpm < ISLAND_HURRICANE) { - draw_island_parts(island_frame_1 + 2); - } else { - draw_island_parts(island_frame_1 + 4); - } -} -#endif // endregion - -#ifdef ENABLE_STARS // region -bool stars_setup = false; // only setup stars once, then we just twinkle them -struct Coordinate { - int x; - int y; - bool exists; -}; - -struct Coordinate stars[TOTAL_STARS]; // tracks all stars/coordinates - -/** - * Setup all the initial stars on the screen - * This function divides the screen into regions based on STARS_PER_LINE and NUMBER_OF_STAR_LINES - * where each line is made up of 8x8 pixel groups, that are populated by a single star. - * - * Not sure how this function will work with larger or smaller screens. - * It should be fine, as long as the screen width is a multiple of 8 - */ -static void setup_stars(void) { - // For every line, split the line into STARS_PER_LINE, find a random point in that region, and turn the pixel on - // 36% probability it will not be added - // (said another way, 80% chance it will start out lit in the x direction, then 80% chance it will start out lit in the y direction = 64% probability it will start out lit at all) - for (int line = 0; line < NUMBER_OF_STAR_LINES; ++line) { - for (int column_group = 0; column_group < STARS_PER_LINE; ++column_group) { - uint8_t rand_column = rand() % 10; - uint8_t rand_row = rand() % 10; - if (rand_column < 8 && rand_row < 8) { - int column_adder = column_group * 8; - int line_adder = line * 8; - int x = rand_column + column_adder; - int y = rand_row + line_adder; - oled_write_pixel(x, y, true); - stars[column_group + (line * STARS_PER_LINE)].x = x; - stars[column_group + (line * STARS_PER_LINE)].y = y; - stars[column_group + (line * STARS_PER_LINE)].exists = true; - } else { - stars[column_group + (line * STARS_PER_LINE)].exists = false; - } - } - } - stars_setup = true; -} - -/** - * Twinkle the stars (move them one pixel in any direction) with a probability of 50% to twinkle any given star - */ -static void twinkle_stars(void) { - for (int line = 0; line < NUMBER_OF_STAR_LINES; ++line) { - for (int column_group = 0; column_group < STARS_PER_LINE; ++column_group) { - struct Coordinate star = stars[column_group + (line * STARS_PER_LINE)]; - - // skip stars that were never added - if (!star.exists) { - continue; - } - if (rand() % TWINKLE_PROBABILITY_MODULATOR == 0) { - oled_write_pixel(star.x, star.y, false); // black out pixel - - // don't allow stars to leave their own region - if (star.x == (column_group * 8)) { // star is the farthest left it can go in its region - star.x++; // move it right immediately - } else if (star.x == (((column_group + 1) * 8) - 1)) { // star is farthest right it can go in its region - star.x--; // move it left immediately - } - if (star.y == (line * 8)) { // star is the farthest up it can go in its region - star.y++; // move it down immediately - } else if (star.y == (((line + 1) * 8) - 1)) { // star is farthest down it can go in its region - star.y--; // move it up immediately - } - - // now decide direction - int new_x; - int x_choice = rand() % 3; - if (x_choice == 0) { - new_x = star.x - 1; - } else if (x_choice == 1) { - new_x = star.x + 1; - } else { - new_x = star.x; - } - - int new_y; - int y_choice = rand() % 3; - if (y_choice == 0) { - new_y = star.y - 1; - } else if (y_choice == 1) { - new_y = star.y + 1; - } else { - new_y = star.y; - } - - star.x = new_x; - star.y = new_y; - oled_write_pixel(new_x, new_y, true); - } - - stars[column_group + (line * STARS_PER_LINE)] = star; - } - } -} - -/** - * Setup the stars and then animate them on subsequent frames - */ -static void animate_stars(void) { - if (!stars_setup) { - setup_stars(); - } else { - twinkle_stars(); - } -} -#endif // endregion - -#ifdef ENABLE_SHOOTING_STARS // region -bool shooting_stars_setup = false; // only setup shooting stars array once with defaults - -struct ShootingStar { - int x_1; - int y_1; - int x_2; - int y_2; - bool running; - int frame; - int delay; -}; - -struct ShootingStar shooting_stars[MAX_NUMBER_OF_SHOOTING_STARS]; // tracks all the shooting stars - -static void setup_shooting_star(struct ShootingStar *shooting_star) { - int column_to_start = rand() % (WIDTH / 2); - int row_to_start = rand() % (HEIGHT - 48); // shooting_stars travel diagonally 1 down, 1 across. So the lowest a shooting_star can start and not 'hit' the ocean is 32 above the ocean. - - shooting_star->x_1 = column_to_start; - shooting_star->y_1 = row_to_start; - shooting_star->x_2 = column_to_start + 1; - shooting_star->y_2 = row_to_start + 1; - shooting_star->running = true; - shooting_star->frame++; - shooting_star->delay = rand() % SHOOTING_STAR_DELAY; -} - -static void move_shooting_star(struct ShootingStar *shooting_star) { - oled_write_pixel(shooting_star->x_1, shooting_star->y_1, false); - oled_write_pixel(shooting_star->x_2, shooting_star->y_2, false); - - shooting_star->x_1++; - shooting_star->y_1++; - shooting_star->x_2++; - shooting_star->y_2++; - shooting_star->frame++; - - oled_write_pixel(shooting_star->x_1, shooting_star->y_1, true); - oled_write_pixel(shooting_star->x_2, shooting_star->y_2, true); -} - -static void finish_shooting_star(struct ShootingStar *shooting_star) { - oled_write_pixel(shooting_star->x_1, shooting_star->y_1, false); - oled_write_pixel(shooting_star->x_2, shooting_star->y_2, false); - shooting_star->running = false; - shooting_star->frame = 0; -} - -static void animate_shooting_star(struct ShootingStar *shooting_star) { - if (shooting_star->frame > SHOOTING_STAR_FRAMES) { - finish_shooting_star(shooting_star); - return; - } else if (!shooting_star->running) { - setup_shooting_star(shooting_star); - } else { - if (shooting_star->delay == 0) { - move_shooting_star(shooting_star); - } else { - shooting_star->delay--; - } - } -} - -static void animate_shooting_stars(void) { - if (is_calm) { - return; - } - if (!shooting_stars_setup) { - for (int i = 0; i < MAX_NUMBER_OF_SHOOTING_STARS; ++i) { - shooting_stars[i].running = false; - } - shooting_stars_setup = true; - } - /** - * Fixes issue with stars that were falling _while_ the - * wpm dropped below the condition for them to keep falling - */ - void end_extra_stars(uint8_t starting_index) { - for (int shooting_star_index = starting_index; shooting_star_index < MAX_NUMBER_OF_SHOOTING_STARS; ++shooting_star_index) { - struct ShootingStar shooting_star = shooting_stars[shooting_star_index]; - if (shooting_star.running) { - finish_shooting_star(&shooting_star); - shooting_stars[shooting_star_index] = shooting_star; - } - } - } - - int number_of_shooting_stars = current_wpm / SHOOTING_STAR_WPM_INCREMENT; - number_of_shooting_stars = (number_of_shooting_stars > MAX_NUMBER_OF_SHOOTING_STARS) ? MAX_NUMBER_OF_SHOOTING_STARS : number_of_shooting_stars; - - if (number_of_shooting_stars == 0) { - // make sure all shooting_stars are ended - end_extra_stars(0); - } else { - for (int shooting_star_index = 0; shooting_star_index < number_of_shooting_stars; ++shooting_star_index) { - struct ShootingStar shooting_star = shooting_stars[shooting_star_index]; - animate_shooting_star(&shooting_star); - shooting_stars[shooting_star_index] = shooting_star; - } - end_extra_stars(number_of_shooting_stars); - } -} -#endif // endregion - -/** - * Main rendering function - * - * Calls all different animations at different rates - */ -void render_stars(void) { - // // animation timer - if (timer_elapsed32(starry_night_anim_timer) > STARRY_NIGHT_ANIM_FRAME_DURATION) { - starry_night_anim_timer = timer_read32(); - current_wpm = get_current_wpm(); - -#ifdef ENABLE_ISLAND - animate_island(); -#endif - -#ifdef ENABLE_SHOOTING_STARS - if (animation_counter % SHOOTING_STAR_ANIMATION_MODULATOR == 0) { - animate_shooting_stars(); - } -#endif - -#ifdef ENABLE_STARS - // TODO offsetting the star animation from the wave animation would look better, - // but if I do that, then the stars appear in the water because - // the ocean animation has to wait a bunch of frames to overwrite it. - // Possible solutions: - // 1. Only draw stars to the top of the island/ocean. - // 2. Draw ocean every frame, only move ocean on frames matching modulus - // Problems: - // 1. What if someone wants to move the island up a bit, or they want to have the stars reflect in the water? - // 2. More cpu intensive. And I'm already running out of cpu as it is... - if (animation_counter % STAR_ANIMATION_MODULATOR == 0) { - animate_stars(); - } -#endif - -#ifdef ENABLE_WAVE - if (animation_counter % OCEAN_ANIMATION_MODULATOR == 0) { - animate_waves(); - } -#endif - -#ifdef ENABLE_MOON - draw_moon(); -#endif - - animation_counter = increment_counter(animation_counter, NUMBER_OF_FRAMES); - } -} diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.h b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.h deleted file mode 100644 index 8d3c505c33ba..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/ocean_dream.h +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#include "quantum.h" - -/** - * Features: - * You can turn on and off features in this section - */ -#define ENABLE_MOON // Uses 182 bytes -#define ENABLE_WAVE // Uses 844 bytes -#define ENABLE_SHOOTING_STARS // Uses 872 bytes -#define ENABLE_ISLAND -#define ENABLE_STARS // Uses 606 bytes - -/** - * Global Settings - */ -#define STARRY_NIGHT_ANIM_FRAME_DURATION 30 // how long each frame lasts in ms -#define NUMBER_OF_FRAMES 20 // Self explanatory. Probably shouldn't touch this, not sure how stuff will work if it's changed. If changed should be multiple of 1, 2, 3, 4, and 5 -#define WIDTH OLED_DISPLAY_HEIGHT // for vertical displays -#define HEIGHT OLED_DISPLAY_WIDTH // for vertical displays - -/** - * Moon Parameters - */ -#define MOON_LINE 4 // the line you want the moon to appear at -#define MOON_COLUMN 4 // the column you want the moon to appear at -//#define STATIC_MOON // uncomment this to make the moon a static image, no animation -#ifndef STATIC_MOON -# define ANIMATE_MOON_EVERY_N_FRAMES 100 // animate the moon every n frames -#endif - -/** - * Wave Parameters - */ -#define OCEAN_LINE 14 // Line you want to render the ocean starting at (best at oled_max_lines() - 2) -#define WAVE_CALM 20 // render calm ocean under this WPM and ripple ocean at this WPM -#define WAVE_HEAVY_STORM 40 // render medium ocean at this WPM -#define WAVE_HURRICANE 60 // render heavy waves above this WPM -// What number of frames you want to animate the ocean at. -// Should be equal to or smaller than NUMBER_OF_FRAMES, e.g. 30, would animate on every other frame, 20, every third frame, etc -// Don't set equal to 0. -#define OCEAN_ANIMATION_SPEED 1 - -/** - * Shooting Star Parameters - */ -#define SHOOTING_STAR_DELAY 12 // delay modulus for time between shooting stars. Decides number of frames to delay, e.g. 12 means 0-11 frames of delay between each shooting star -#define SHOOTING_STAR_FRAMES 16 // how many 2 pixel frames per shooting star. Increment this for longer shooting stars -#define MAX_NUMBER_OF_SHOOTING_STARS 12 // maximum number of shooting stars that can be on screen at the same time -#define SHOOTING_STAR_WPM_INCREMENT 10 // every n WPM increase, add an extra star, up to MAX_NUMBER_OF_SHOOTING_STARS, e.g. an increment of 5 would result in 1 shooting star at 5-9wpm, 2 at 10-14, etc. -// What number of frames you want to animate the shooting stars at. -// Should be equal to or smaller than NUMBER_OF_FRAMES, e.g. 30, would animate on every other frame, 20, every third frame, etc -// Don't set equal to 0. -#define SHOOTING_STAR_ANIMATION_SPEED 30 - -/** - * Star Parameters - */ -#define STARS_PER_LINE 4 // number of stars per line (for a display that is 128x32, this would be 4 stars spread out evenly over the 32byte width, one every 8 bytes) -#define NUMBER_OF_STAR_LINES 16 // number of lines to fill up with stars (for a display that is 128x32, 16 bytes are filled with the ocean animation, so that leaves 112 pixels left over. The number of lines depends on your OLED_FONT_HEIGHT) -#define TWINKLE_PROBABILITY 25 // probability that any star twinkles on a given frame -// What number of frames you want to animate the stars at. -// Should be equal to or smaller than NUMBER_OF_FRAMES, e.g. 20, would animate on every frame, 10, every other frame, etc -// Don't set equal to 0. -#define STAR_ANIMATION_SPEED 1 - -/** - * Island Parameters - */ -#define ISLAND_LINE 12 // line that the island starts at. Island is 2 lines tall -#define ISLAND_COLUMN 0 // column that the island starts at -#define ISLAND_CALM 20 // WPM at which the palm tree calmly moves -#define ISLAND_HEAVY_STORM 40 // WPM at which the heavy storm occurs -#define ISLAND_HURRICANE 60 // WPM at which THE HURRICANE STARTS - -/* - * DON'T TOUCH - */ - -extern bool is_calm; - -// timers -extern uint32_t starry_night_anim_timer; -extern uint32_t starry_night_anim_sleep; - -void render_stars(void); diff --git a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/oled_slave_handler.c b/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/oled_slave_handler.c deleted file mode 100644 index 31166b3b4326..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/oled/rp2040/slave/oled_slave_handler.c +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" -#include "ocean_dream.h" - -void render_slave_oled(void) { - render_stars(); -} - -oled_rotation_t rotate_slave(oled_rotation_t rotation) {return OLED_ROTATION_270;} diff --git a/keyboards/crkbd/keymaps/jpe230/process_record.c b/keyboards/crkbd/keymaps/jpe230/process_record.c deleted file mode 100644 index db10438d8fba..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/process_record.c +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2022 Jose Pablo Ramirez (@jpe230) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "jpe230.h" - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - oled_timer_reset(); - set_keylog(keycode, record); - - switch (keycode) { - case QK_BOOT: - rgb_matrix_set_color_all(30, 0, 0); - rgb_matrix_driver.flush(); - oled_off(); - return true; - } - } - return true; -} diff --git a/keyboards/crkbd/keymaps/jpe230/readme.md b/keyboards/crkbd/keymaps/jpe230/readme.md deleted file mode 100644 index de5696116f21..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Jpe230's CRKBD Layout - -## Layers -The four layers: -- BASE Layer: QWERTY -- LOWER Layer: Numbers + Arrows -- RAISE Layer: Symbols -- ADJUST Layer: Numpad + Media Keys + Fn keys -## OLED -The graphics for the OLED varies depending on the target platform: - -| Half | RP2040 | Pro Micro | -|--------|--------------------------------------|--------------------------------------| -| Master | ![](https://i.imgur.com/FF0EuWoh.png) | ![](https://i.imgur.com/stxRevvh.png) | -| Slave | ![](https://i.imgur.com/hyjdDITh.png) | ![](https://i.imgur.com/UrTCd2sh.png) | - - -## Flashing -For Arduino Pro Micro: -- `qmk compile -kb crkbd -km jpe230` - -For Pro Micro Compatible board (See [Converters](https://docs.qmk.fm/#/feature_converters?id=converters)): -- `qmk compile -kb crkbd -km jpe230 -e CONVERT_TO` diff --git a/keyboards/crkbd/keymaps/jpe230/rules.mk b/keyboards/crkbd/keymaps/jpe230/rules.mk deleted file mode 100644 index b78c1d45f3ce..000000000000 --- a/keyboards/crkbd/keymaps/jpe230/rules.mk +++ /dev/null @@ -1,25 +0,0 @@ -# Shared rules for both of my Corne -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -VIA_ENABLE = yes -RGB_MATRIX_ENABLE = yes - -SRC += oled/oled_handler.c process_record.c - -ifneq ($(CONVERT_TO),) - # Asume ARM - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - WPM_ENABLE = yes - CONSOLE_ENABLE = yes - SRC += oled/rp2040/master/oled_master_handler.c \ - oled/rp2040/master/indicators_down.c \ - oled/rp2040/master/indicators_up.c \ - oled/rp2040/slave/oled_slave_handler.c \ - oled/rp2040/slave/ocean_dream.c -else - # Asume AVR - LTO_ENABLE = yes - SRC += oled/avr/master/oled_master_handler.c \ - oled/avr/slave/oled_slave_handler.c -endif - diff --git a/keyboards/crkbd/keymaps/julian_turner/config.h b/keyboards/crkbd/keymaps/julian_turner/config.h deleted file mode 100644 index 2d200d7d55bf..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#undef MANUFACTURER -#define MANUFACTURER "Trner" - -/* Select hand configuration */ -#define MASTER_LEFT - -// Configure the global tapping term (default: 200ms) -#define TAPPING_TERM 500 - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -#define QUICK_TAP_TERM 0 - -//#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/julian_turner/keymap.c b/keyboards/crkbd/keymaps/julian_turner/keymap.c deleted file mode 100644 index 56f6998c50c0..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/keymap.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_german.h" -#include "layers.h" -#include "keytabs.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTZ] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, HOME_A, HOME_S, HOME_D, HOME_F, DE_G, DE_H, HOME_J, HOME_K, HOME_L, HOME_OE, DE_ADIA, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LEFT_CTRL, DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, KC_COMM, DE_DOT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPC, KC_ENTER, XXXXXXX - //`--------------------------' `--------------------------' - - ), - [_SYMBOL] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR, DE_SS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_AT, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LEFT_CTRL, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_GRV, DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPC, KC_ENTER, XXXXXXX - //`--------------------------' `--------------------------' - - ), - [_NUMBER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, KC_PAGE_UP, KC_UP, KC_PAGE_DOWN, XXXXXXX, XXXXXXX, DE_7, DE_8, DE_9, DE_ASTR, DE_SLSH, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, DE_4, DE_5, DE_6, DE_PLUS, DE_MINS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LEFT_CTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_1, DE_2, DE_3, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(_NUMBER), MO(_SYMBOL), KC_SPC, KC_BSPC, KC_ENTER, DE_0 - //`--------------------------' `--------------------------' - - ), -}; -// clang-format off diff --git a/keyboards/crkbd/keymaps/julian_turner/keytabs.h b/keyboards/crkbd/keymaps/julian_turner/keytabs.h deleted file mode 100644 index fd81049d8306..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/keytabs.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// Left-hand home row mods -#define HOME_A LGUI_T(DE_A) -#define HOME_S LALT_T(DE_S) -#define HOME_D LSFT_T(DE_D) -#define HOME_F LCTL_T(DE_F) - -// Right-hand home row mods -#define HOME_J RCTL_T(DE_J) -#define HOME_K RSFT_T(DE_K) -#define HOME_L LALT_T(DE_L) -#define HOME_OE RGUI_T(DE_ODIA) diff --git a/keyboards/crkbd/keymaps/julian_turner/layers.h b/keyboards/crkbd/keymaps/julian_turner/layers.h deleted file mode 100644 index ff27c187635d..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/layers.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -enum layers { _QWERTZ, _SYMBOL, _NUMBER }; \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/julian_turner/oled.c b/keyboards/crkbd/keymaps/julian_turner/oled.c deleted file mode 100644 index f6b022d5ec99..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/oled.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "layers.h" - - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -void oled_render_layer_state(void) { - oled_write_P(PSTR("layer: "), false); - switch (get_highest_layer(layer_state | default_layer_state)) { - case _QWERTZ: - oled_write_ln_P(PSTR("QWERTZ"), false); - break; - case _SYMBOL: - oled_write_ln_P(PSTR("SYMBOL"), false); - break; - case _NUMBER: - oled_write_ln_P(PSTR("NUMBER"), false); - break; - default: - oled_write_ln_P(PSTR("unknown"), false); - break; - } -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_write_P(PSTR("WPM: "), false); - oled_write(get_u8_str(get_current_wpm(), ' '), false); - } else { - oled_render_logo(); - } - return false; -} \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/julian_turner/oled.h b/keyboards/crkbd/keymaps/julian_turner/oled.h deleted file mode 100644 index 5fcf62d0aacd..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/oled.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2022 Julian Turner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#ifdef OLED_ENABLE -bool process_record_oled(uint16_t keycode, keyrecord_t *record); -oled_rotation_t oled_init_user(oled_rotation_t rotation); -void render_layer_symbol(void); -void render_layer_name(void); -void render_mod_state(uint8_t modifiers); -void render_status(void); -bool oled_task_user(void); -#endif \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/julian_turner/readme.md b/keyboards/crkbd/keymaps/julian_turner/readme.md deleted file mode 100644 index ab1be5822586..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# JulianTurnerÂīs CRKBD Layout - -## Compile - -Compile using `qmk compile -kb crkbd -km julian_turner` for Pro Micro diff --git a/keyboards/crkbd/keymaps/julian_turner/rules.mk b/keyboards/crkbd/keymaps/julian_turner/rules.mk deleted file mode 100644 index e6ddd80076dc..000000000000 --- a/keyboards/crkbd/keymaps/julian_turner/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -RGBLIGHT_ENABLE = yes - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -WPM_ENABLE = yes - - -# Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). -LTO_ENABLE = yes - - - -ifeq ($(OLED_ENABLE),yes) - SRC += ./oled.c -endif diff --git a/keyboards/crkbd/keymaps/kidbrazil/README.md b/keyboards/crkbd/keymaps/kidbrazil/README.md deleted file mode 100644 index a7995a4f6571..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# KidBrazil's custom CRKBD Layout - -![Loose Transistor Crkbd](https://user-images.githubusercontent.com/4823043/71268460-0862c000-231b-11ea-8f32-2fe8da4d348a.jpg) - -This is a simple layout that I use for both programming and gaming. It is very -closely based on the original CRKBD layout with some modifications to the -position of CTRL and SHIFT. - -## Layers -This keymap includes a total of 4 Layers: -- QWERTY -- NUMBERS -- SYMBOLS -- GAMING -- WEAPONS - -The first three layers are pretty self explanatory and follow closely the -default keymap for this keyboard. The magic really starts to happen with the -gaming layer. - -### Gaming Layer -The gaming layer can be toggled on/off from the SYMBOLS layer. Once on the -gaming layer it will stay there until you toggle it off again. The gaming layer -includes normal WASD and most of the keys FPS games use on the left hand. On the -right hand we have F1-F12 and a few other special keys for games that require -it. - -### Weapon -The weapon layer is a momentary layer that can only be reached from the gaming -layer. This layer preserves the left hand almost unchanged, except for when the -layer is activated the top row becomes NUM 1 - 6 for wepon selection. The right -hand is KC_TRNS the whole way so basically it is still the gaming layer. - -## Custom Font -This keymap includes a custom font for my LooseTransistor logo. It is fine if -you want to use it I certainly don't mind but if you want your own, just replace -the glcdfont file here and you should be fine. - -Alternatively you could remove the font config line from the config.h file so it -will use the default QMK one. - -## OLED -This Keymap is setup to use the newer OLED API. Some work has been done to -customize this with showing layer and USB information. I also tried my best to -get a dormant / sleep state going but it is hit or miss and often only works on -the master hand. - -## OLED & RGB Matrix timeout -This keymap will set a automated timeout system for the OLED screen and the RGB -matrix. After 3 minutes or so the LED screen will display the logo on both -halves and 5 minutes after that both the LED and the Matrix will be switched -off. - -Once a user hits the keys again, the LED matrix will turn back on unless the -user has disabled it via RGB_TOG. - -## Flashing -To flash this on your CRKBD simply use the `make crkbd:kidbrazil:flash` -command. - -### TODO -- Wait for Spit_common to be implemented in CRKBD and revisit the special color - layers and animations diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h deleted file mode 100644 index 33655b4c9dba..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/config.h +++ /dev/null @@ -1,109 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2019 Lucas Moreira - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 150 -#undef PRODUCT -#define PRODUCT "CRKBD Loose Transistor Ed." - -#ifdef RGBLIGHT_ENABLE - //#undef RGBLED_NUM - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE - //# 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_FRAMEBUFFER_EFFECTS - // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) - // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. - #define RGB_MATRIX_HUE_STEP 4 - #define RGB_MATRIX_SAT_STEP 4 - #define RGB_MATRIX_VAL_STEP 4 - #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. */ -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -#endif -// Custom Font path -#define OLED_FONT_H "keyboards/crkbd/keymaps/kidbrazil/glcdfont.c" -#define OLED_DISABLE_TIMEOUT diff --git a/keyboards/crkbd/keymaps/kidbrazil/enums.h b/keyboards/crkbd/keymaps/kidbrazil/enums.h deleted file mode 100644 index ec1a67925f42..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/enums.h +++ /dev/null @@ -1,10 +0,0 @@ -// [CRKBD layers Init] -------------------------------------------------------// -typedef enum { - _QWERTY, - _NUM, - _SYM, - _GAME, - _WEAPON -}CRKBD_LAYERS; - -extern enum CRKBD_LAYERS crkbd_layers; diff --git a/keyboards/crkbd/keymaps/kidbrazil/glcdfont.c b/keyboards/crkbd/keymaps/kidbrazil/glcdfont.c deleted file mode 100644 index ea1f3bd76b0d..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/glcdfont.c +++ /dev/null @@ -1,232 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. - -#include "progmem.h" - -// Standard ASCII 5x7 font -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, - 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0x02, 0xF9, 0x01, 0x01, 0x05, 0x09, - 0x11, 0x22, 0x06, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0x46, 0x46, - 0x44, 0x44, 0x45, 0x44, 0x29, 0x28, - 0x2A, 0x28, 0x11, 0x13, 0x05, 0x07, - 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, - 0xE5, 0xE7, 0xE5, 0x07, 0x05, 0x07, - 0x05, 0x07, 0x05, 0x07, 0x05, 0x07, - 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, - 0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07, - 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, - 0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07, - 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7, - 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x07, - 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0xE7, - 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, - 0xDE, 0xD7, 0xDC, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xE3, 0xC1, 0xC1, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0xFF, 0x00, 0x00, 0x80, 0x00, - 0x1C, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, - 0x22, 0x22, 0x22, 0x14, 0x14, 0x14, - 0x14, 0x14, 0x08, 0x08, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xBE, - 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xBD, - 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0x8F, 0x9F, 0x9C, 0x9C, 0x9C, 0x9C, - 0x9C, 0x9C, 0x9C, 0xFC, 0xF8, 0x00, - 0xFF, 0xFF, 0xFF, 0x9C, 0x9C, 0x9C, - 0x9C, 0x9C, 0x9C, 0x80, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, - 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x20, 0x47, 0x48, 0x50, 0x40, 0x41, - 0x42, 0x24, 0x30, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x31, 0x31, - 0x11, 0x51, 0x11, 0x11, 0x4A, 0x0A, - 0x2A, 0x0A, 0x44, 0x64, 0x50, 0x70, - 0x50, 0x70, 0x50, 0x70, 0x50, 0x70, - 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, - 0x53, 0x73, 0x53, 0x73, 0x53, 0x70, - 0x50, 0x71, 0x53, 0x73, 0x53, 0x73, - 0x53, 0x73, 0x53, 0x71, 0x50, 0x70, - 0x50, 0x71, 0x53, 0x73, 0x53, 0x73, - 0x53, 0x73, 0x53, 0x71, 0x50, 0x70, - 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, - 0x53, 0x73, 0x53, 0x73, 0x51, 0x70, - 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, - 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/kidbrazil/keymap.c b/keyboards/crkbd/keymaps/kidbrazil/keymap.c deleted file mode 100644 index d5966033f19a..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/keymap.c +++ /dev/null @@ -1,214 +0,0 @@ -#include QMK_KEYBOARD_H -#include "enums.h" -#include "layer.h" -#include "lufa.h" - -// [Init Variables] ----------------------------------------------------------// -// Oled timer similar to Drashna's -static uint32_t oled_timer = 0; -// Boolean to store LED state -bool user_led_enabled = true; -// Boolean to store the master LED clear so it only runs once. -bool master_oled_cleared = false; - -// [Keymaps] -----------------------------------------------------------------// -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LSFT_T(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_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - LGUI_T(KC_PGUP), MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), LALT_T(KC_PGDN) - ), - - [_NUM] = LAYOUT_split_3x6_3( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - LSFT_T(KC_TAB), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F12, KC_NO, - KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_F11, KC_NO, - LGUI_T(KC_PGUP), KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, LALT_T(KC_PGDN) - ), - - [_SYM] = LAYOUT_split_3x6_3( - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - LSFT_T(KC_TAB), RGB_TOG, KC_MPLY, KC_MUTE, KC_VOLU, KC_VOLD, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - KC_LCTL, KC_CALC, KC_MYCM, KC_MPRV, KC_MNXT, TG(_GAME), KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - LGUI_T(KC_PGUP), KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, LALT_T(KC_PGDN) - ), - - [_GAME] = LAYOUT_split_3x6_3( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_NO, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, KC_PGUP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TAB, MO(_WEAPON), KC_SPC, KC_ENT, KC_TRNS, KC_NO - ), - - [_WEAPON] = LAYOUT_split_3x6_3( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_7, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, - KC_TRNS, KC_TAB, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -// [Post Init] --------------------------------------------------------------// -void keyboard_post_init_user(void) { - // Set RGB to known state - rgb_matrix_enable_noeeprom(); - rgb_matrix_set_color_all(RGB_GREEN); - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - user_led_enabled = true; -} -// [Process User Input] ------------------------------------------------------// -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // Handle RGB Changes sans eeprom - necessary due to the layer dependent RGB color - // changes in marrix_scan_user - case RGB_TOG: - if (record->event.pressed) { - // Toggle matrix on key press - user_led_enabled ? rgb_matrix_disable_noeeprom() : rgb_matrix_enable_noeeprom(); - // Toggle boolean flag - user_led_enabled = !user_led_enabled; - } - return false; - default: - // Use process_record_keymap to reset timer on all other keypresses to awaken from idle. - if (record->event.pressed) { - #ifdef OLED_ENABLE - oled_timer = timer_read32(); - #endif - // Restore LEDs if they are enabled by user - if (user_led_enabled) { - rgb_matrix_enable_noeeprom(); - } - } - return true; - } -} - -// [Matrix Scan] ------------------------------------------------------------// -void matrix_scan_user(void) { - // Iddle timer to return to default layer if left on game layer - if (timer_elapsed32(oled_timer) > 380000 && timer_elapsed32(oled_timer) < 479999) { - // Reset layer in case it got left on _GAME - // This prevents the issue where the master side sometimes wont switch off as expected - // in the next step. - if (get_highest_layer(layer_state) == _GAME) { - layer_off(_GAME); - layer_on(_QWERTY); - } - return; - } - // Timeout to turn off LEDs - else if (timer_elapsed32(oled_timer) > 480000) { - rgb_matrix_disable_noeeprom(); - return; - } - // Set RGB Matrix color based on layers - if (user_led_enabled) { - switch (get_highest_layer(layer_state)){ - case _GAME: - rgb_matrix_set_color_all(RGB_PURPLE); - break; - case _NUM: - case _SYM: - case _QWERTY: - rgb_matrix_set_color_all(RGB_GREEN); - break; - default: - rgb_matrix_set_color_all(RGB_GREEN); - break; - - } - } else { - rgb_matrix_disable_noeeprom(); - return; - } -} -// [OLED Configuration] ------------------------------------------------------// -#ifdef OLED_ENABLE -// Init Oled and Rotate.... -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) - return OLED_ROTATION_180; // flips the display 180 to see it from my side - return rotation; -} - -// Read logo from font file -const char *read_logo(void); - -// {OLED helpers} -----------------------------------------------// -// Render Logo -void render_logo(void) { - oled_write(read_logo(), false); -} - -// Master OLED Screen (Left Hand ) -void render_master_oled(void) { - // Switch display based on Layer - switch (get_highest_layer(layer_state)){ - case _GAME: - render_separator(); - render_layer_state(); - render_separator(); - render_separator(); - break; - case _WEAPON: - render_separator(); - render_separator(); - render_layer_state(); - render_separator(); - break; - default: - render_separator(); - render_layer_state(); - render_separator(); - render_usb_state(); - } -} - -// Slave OLED scren (Right Hand) -void render_slave_oled(void) { - render_logo(); -} - -// {OLED Task} -----------------------------------------------// -bool oled_task_user(void) { - // First time out switches to logo as first indication of iddle. - if (timer_elapsed32(oled_timer) > 100000 && timer_elapsed32(oled_timer) < 479999) { - // Render logo on both halves before full timeout - if (is_keyboard_master() && !master_oled_cleared) { - // Clear master OLED once so the logo renders properly - oled_clear(); - master_oled_cleared = true; - } - render_logo(); - return false; - } - // Drashna style timeout for LED and OLED Roughly 8mins - else if (timer_elapsed32(oled_timer) > 480000) { - oled_off(); - rgb_matrix_disable_noeeprom(); - return false; - } - else { - oled_on(); - // Reset OLED Clear flag - master_oled_cleared = false; - // Show logo when USB dormant - switch (USB_DeviceState) { - case DEVICE_STATE_Unattached: - case DEVICE_STATE_Powered: - case DEVICE_STATE_Suspended: - render_logo(); - break; - default: - if (is_keyboard_master()) { - render_master_oled(); - } else { - render_slave_oled(); - } - } - } - return false; -} -#endif diff --git a/keyboards/crkbd/keymaps/kidbrazil/kidbrazil.json b/keyboards/crkbd/keymaps/kidbrazil/kidbrazil.json deleted file mode 100644 index dd9895cce97c..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/kidbrazil.json +++ /dev/null @@ -1 +0,0 @@ -{"keyboard":"crkbd/rev1","keymap":"kidbrazil","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_BSPC","LCTL_T(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","LGUI_T(KC_PGUP)","MO(1)","KC_SPC","KC_ENT","MO(2)","LALT_T(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_DEL","LCTL_T(KC_TAB)","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_LEFT","KC_UP","KC_DOWN","KC_RGHT","KC_F12","KC_NO","KC_LSFT","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_PGUP","KC_PGDN","KC_HOME","KC_END","KC_F11","KC_NO","LGUI_T(KC_PGUP)","KC_TRNS","KC_SPC","KC_ENT","KC_TRNS","LALT_T(KC_PGDN)"],["KC_ESC","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_BSPC","LCTL_T(KC_TAB)","RGB_TOG","RGB_MOD","RGB_HUI","RGB_SAI","RGB_VAI","KC_MINS","KC_EQL","KC_LCBR","KC_RCBR","KC_PIPE","KC_GRV","KC_LSFT","RGB_VAD","RGB_RMOD","RGB_HUD","RGB_SAD","TG(3)","KC_UNDS","KC_PLUS","KC_LBRC","KC_RBRC","KC_BSLS","KC_TILD","LGUI_T(KC_PGUP)","KC_TRNS","KC_SPC","KC_ENT","KC_TRNS","LALT_T(KC_PGDN)"],["KC_ESC","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_LSFT","KC_A","KC_S","KC_D","KC_F","KC_G","KC_F7","KC_F8","KC_F9","KC_F10","KC_NO","KC_NO","KC_LCTL","KC_Z","KC_X","KC_C","KC_V","KC_TRNS","KC_PGUP","KC_PGDN","KC_NO","KC_NO","KC_NO","KC_NO","KC_TAB","MO(4)","KC_SPC","KC_ENT","KC_TRNS","KC_NO"],["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LSFT","KC_A","KC_S","KC_D","KC_F","KC_6","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCTL","KC_Z","KC_X","KC_C","KC_V","KC_7","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TAB","KC_TRNS","KC_SPC","KC_TRNS","KC_TRNS","KC_TRNS"]],"author":"","notes":""} \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/kidbrazil/layer.c b/keyboards/crkbd/keymaps/kidbrazil/layer.c deleted file mode 100644 index fbcebd66ffb1..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/layer.c +++ /dev/null @@ -1,70 +0,0 @@ -#include QMK_KEYBOARD_H -#include "enums.h" -#include "lufa.h" - -// Render Blank Space -void render_space(void) { - oled_write_ln_P(PSTR(" "), false); -} - -// Render separator lines for oled display -void render_separator(void) { - switch (get_highest_layer(layer_state)){ - case _GAME: - case _WEAPON: - oled_write_ln_P(PSTR("===================="), false); - break; - default: - oled_write_ln_P(PSTR("++++++++++++++++++++"), false); - } -} - -// Render current layer state -void render_layer_state(void){ - // If you want to change the display of OLED, you need to change here - switch (get_highest_layer(layer_state)){ - case _QWERTY: - oled_write_ln_P(PSTR("| MODE | QWRTY ]"), false); - break; - case _NUM: - oled_write_ln_P(PSTR("| MODE | NUMBERS ]"), false); - break; - case _SYM: - oled_write_ln_P(PSTR("| MODE | SYMBOLS ]"), false); - break; - case _GAME: - oled_write_ln_P(PSTR("| G A M E ]"), false); - break; - case _WEAPON: - oled_write_ln_P(PSTR("| W E A P O N ]"), false); - break; - default: - oled_write_ln_P(PSTR("| MODE | UNDEF ]"), false); - } -} - -// Render USB State -void render_usb_state(void) { - switch (USB_DeviceState) { - case DEVICE_STATE_Unattached: - oled_write_ln_P(PSTR("| USB | FREE ]"), false); - break; - case DEVICE_STATE_Suspended: - oled_write_ln_P(PSTR("| USB | SLEEP ]"), false); - break; - case DEVICE_STATE_Configured: - oled_write_ln_P(PSTR("| USB | READY ]"), false); - break; - case DEVICE_STATE_Powered: - oled_write_ln_P(PSTR("| USB | PWRD ]"), false); - break; - case DEVICE_STATE_Default: - oled_write_ln_P(PSTR("| USB | DFLT ]"), false); - break; - case DEVICE_STATE_Addressed: - oled_write_ln_P(PSTR("| USB | ADDRS ]"), false); - break; - default: - oled_write_ln_P(PSTR("| USB | INVALID ]"), false); - } -} diff --git a/keyboards/crkbd/keymaps/kidbrazil/layer.h b/keyboards/crkbd/keymaps/kidbrazil/layer.h deleted file mode 100644 index 2134e6ddab0d..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/layer.h +++ /dev/null @@ -1,9 +0,0 @@ -// [OLED Helpers] ----------------------------------------------------// -// Render empty space on OLED -void render_space(void); -// Render separator characters for rows -void render_separator(void); -// Render layer state -void render_layer_state(void); -// Render USB State -void render_usb_state(void); diff --git a/keyboards/crkbd/keymaps/kidbrazil/logo_reader.c b/keyboards/crkbd/keymaps/kidbrazil/logo_reader.c deleted file mode 100644 index 1bc1503a6042..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/logo_reader.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crkbd.h" - -const char *read_logo(void) { - static char logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - - return logo; -} diff --git a/keyboards/crkbd/keymaps/kidbrazil/rules.mk b/keyboards/crkbd/keymaps/kidbrazil/rules.mk deleted file mode 100644 index d2c2f649e0ee..000000000000 --- a/keyboards/crkbd/keymaps/kidbrazil/rules.mk +++ /dev/null @@ -1,13 +0,0 @@ -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -MOUSEKEY_ENABLE = no -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# If you want to change the display of OLED, you need to change here -SRC += logo_reader.c \ - layer.c diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h deleted file mode 100644 index afdaf1c1fd0b..000000000000 --- a/keyboards/crkbd/keymaps/madhatter/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c deleted file mode 100644 index eb29bfe33ebb..000000000000 --- a/keyboards/crkbd/keymaps/madhatter/keymap.c +++ /dev/null @@ -1,200 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 - -enum corny_layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum corny_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - BACKLIT, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LCTL, LOWER, KC_BSPC, KC_SPC, RAISE, KC_RCMD - //`--------------------------' `--------------------------' - - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, LOWER, KC_BSPC, KC_TRNS, RAISE, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS - //`--------------------------' `--------------------------' - ) -}; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} - -#ifdef OLED_ENABLE - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -bool oled_task_user(void) { - if (is_keyboard_master()) { - // If you want to change the display of OLED, you need to change here - oled_write(read_layer_state(), false); - oled_write(read_keylog(), false); - //oled_write_ln(read_keylogs(), false); - //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); - //oled_write_ln(read_host_led_state(), false); - //oled_write_ln(read_timelog(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef OLED_ENABLE - set_keylog(keycode, record); -#endif - // set_timelog(); - } - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - return false; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk deleted file mode 100644 index 89a2791bcd60..000000000000 --- a/keyboards/crkbd/keymaps/madhatter/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# 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 \ diff --git a/keyboards/crkbd/keymaps/markstos/config.h b/keyboards/crkbd/keymaps/markstos/config.h deleted file mode 100644 index 24101724de0e..000000000000 --- a/keyboards/crkbd/keymaps/markstos/config.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -This is the C configuration file for the keymap - - Copyright 2022 Mark Stosberg (@markstos) - SPDX-License-Identifier: GPL-2.0-or-later - -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -// #define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS - -//#define SSD1306OLED - - -// By default, when holding a dual-function key shortly after tapping it, the -// tapped key will begin repeating. This is handy for fast typists when typing -// words with double letters, such as "happy". If you turn this setting ON, it -// will be counted as a held modifier instead. -//#define TAPPING_FORCE_HOLD - -// Customized by markstos -#define TAPPING_TERM 200 -#define TAPPING_TERM_PER_KEY -// used for Tapping Term on thumb keys -#define TAPPING_TERM_THUMB 125 - -// If you press a dual-role key, press another key, and then release the -// dual-role key, all within the tapping term, by default the dual-role key -// will perform its tap action. If the HOLD_ON_OTHER_KEY_PRESS option is -// enabled, the dual-role key will perform its hold action instead. -#define HOLD_ON_OTHER_KEY_PRESS - -// markstos: not sure if these are correct -// They are intended to beep and flash during flashing -#define QMK_LED D5 -#define QMK_SPEAKER C6 - -// When enabled, typing a mod-tap plus second within term will register as the mod-combo -// Ref: https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold -#define PERMISSIVE_HOLD - -// Set the COMBO_TERM so low that I won't type the keys one after each other during normal typing. -// They would have be held together intentionally to trigger this. -#define COMBO_TERM 40 - -// These mostly affect my one-shot Shift key, providing a CapsLock alternative. -// I want a relatively low timeout, so if I accidentally type "Shift", I can pause just briefly and move on. -#define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */ -#define ONESHOT_TIMEOUT 2000 /* Time (in ms) before the one shot key is released */ diff --git a/keyboards/crkbd/keymaps/markstos/keymap.c b/keyboards/crkbd/keymaps/markstos/keymap.c deleted file mode 100644 index 1f95ee52b282..000000000000 --- a/keyboards/crkbd/keymaps/markstos/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2022 Mark Stosberg (@markstos) -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - FUNC, - BACKLIT -}; - -enum combos { - DF_DASH, - JK_ESC -}; - -const uint16_t PROGMEM df_combo[] = {KC_D, KC_F, COMBO_END}; -const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; - -combo_t key_combos[] = { - // Add commonly used dash to home row - [DF_DASH] = COMBO(df_combo, KC_MINS), - // For Vim, put Escape on the home row - [JK_ESC] = COMBO(jk_combo, KC_ESC), -}; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum custom_layers { - _QWERTY, - _LOWER, - _RAISE, - _FUNC, -}; - -// For _QWERTY layer -#define OSM_LCTL OSM(MOD_LCTL) -#define OSM_AGR OSM(MOD_RALT) -#define OSL_FUN OSL(_FUNC) -#define GUI_ENT GUI_T(KC_ENT) -#define LOW_TAB LT(_LOWER, KC_TAB) -#define RSE_BSP LT(_RAISE, KC_BSPC) -#define OSM_SFT OSM(MOD_LSFT) - - -// For _RAISE layer -#define CTL_ESC LCTL_T(KC_ESC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_DEL , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - OSM(MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H ,KC_J ,KC_K ,KC_L ,KC_QUOT ,OSM_AGR , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,OSL_FUN , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - OSM_LCTL, GUI_ENT, LOW_TAB, RSE_BSP ,KC_SPC ,OSM_SFT - //`--------------------------' `--------------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX , KC_TILD,KC_GRV, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_COMM,KC_DOT, KC_SLSH, _______ , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_COLON - //`--------------------------' `--------------------------' - ), - - - [_RAISE] = LAYOUT( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_DEL , XXXXXXX, KC_UNDS, KC_PLUS, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PIPE,_______ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_HOME, KC_END , KC_MINS, KC_EQL , KC_PGDN, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_APP ,_______ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_LT , KC_GT , KC_COPY, KC_PSTE, KC_SCLN, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,_______ , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - CTL_ESC, KC_TRNS, XXXXXXX, RAISE , KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [_FUNC] = 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 , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,_______ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,XXXXXXX , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, FUNC , XXXXXXX - //`--------------------------' `--------------------------' - ) -}; - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LT(_RAISE, KC_BSPC): - return TAPPING_TERM_THUMB; - case LT(_LOWER, KC_TAB): - return TAPPING_TERM_THUMB; - default: - return TAPPING_TERM; - } -} diff --git a/keyboards/crkbd/keymaps/markstos/readme.md b/keyboards/crkbd/keymaps/markstos/readme.md deleted file mode 100644 index 6789c9da30e1..000000000000 --- a/keyboards/crkbd/keymaps/markstos/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Markstos Corne keyboard layout - -![markstos 3x5+1 Corne layout](https://mark.stosberg.com/content/images/2022/11/markstos-3x5-plus-1-layout-v2.2.png) - -A primarily 3x5 layout for split ergonomic keywords with an extra column on each hand for rare and optional keys. - -For a detailed description see [markstos Corne layout](https://mark.stosberg.com/markstos-corne-3x5-1-keyboard-layout). - -# Disclaimer - -This is my personal layout and is subject to evolve further with my tastes. Fork your own copy if you need stability. Suggestions welcome. - -# Author - -* [Mark Stosberg](mailto:mark@stosberg.com) diff --git a/keyboards/crkbd/keymaps/markstos/rules.mk b/keyboards/crkbd/keymaps/markstos/rules.mk deleted file mode 100644 index 9bca23db9517..000000000000 --- a/keyboards/crkbd/keymaps/markstos/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -# markstos: enable media keys -EXTRAKEY_ENABLE = yes - -# markstos: smaller file size, little down-side -LTO_ENABLE = yes - -COMBO_ENABLE = yes - -# This is for RGB *underglow* -# https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgblight.md -RGBLIGHT_ENABLE = no diff --git a/keyboards/crkbd/keymaps/mb_via/readme.md b/keyboards/crkbd/keymaps/mb_via/readme.md deleted file mode 100644 index 048927073ba8..000000000000 --- a/keyboards/crkbd/keymaps/mb_via/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Default Via keyboard for the Corne R2G by Mechboards UK - -![r2g](https://cdn.shopify.com/s/files/1/0582/0242/3501/products/HelidoxCorneR2GPCB_1800x1800.png) - -Corne R2G is an eddition of the classic CRKBD by footsan remade to feature a full smd assembly - -In this fold can be found the default via enabled keymap that can be in conjunction - -Flash example for this Keymap: -```sh -qmk flash -kb crkbd/r2g -km mb_via -``` diff --git a/keyboards/crkbd/keymaps/mcrown/config.h b/keyboards/crkbd/keymaps/mcrown/config.h deleted file mode 100644 index 15a1f20954da..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/config.h +++ /dev/null @@ -1,86 +0,0 @@ -/** @file config.h - * @brief config header that includes function prototypes and external variables. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ - -#pragma once - -/* Select hand configuration */ -#define MASTER_LEFT - -/* Comment this definition out if you want the main display to be output in horizontal mode */ -#define OLED_VERTICAL - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 - #define RGB_MATRIX_HUE_STEP 10 - #define RGB_MATRIX_SAT_STEP 10 - #define RGB_MATRIX_VAL_STEP 10 - #define RGB_MATRIX_SPD_STEP 10 -// #define RGB_MATRIX_KEYPRESSES - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - - /* BEGIN: Disable RGB Effects */ -// #undef ENABLE_RGB_MATRIX_SOLID_COLOR -// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS -// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #undef ENABLE_RGB_MATRIX_BREATHING -// #undef ENABLE_RGB_MATRIX_BAND_SAT -// #undef ENABLE_RGB_MATRIX_BAND_VAL -// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -// #undef ENABLE_RGB_MATRIX_CYCLE_ALL -// #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -// #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -// #undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - -/* BEGIN: RGB_MATRIX_FRAMEBUFFER_EFFECTS */ -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -/* END: RGB_MATRIX_FRAMEBUFFER_EFFECTS */ - -/* BEGIN: RGB_MATRIX_KEYPRESSES */ -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #undef ENABLE_RGB_MATRIX_SPLASH -// #undef ENABLE_RGB_MATRIX_MULTISPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* END: RGB_MATRIX_KEYPRESSES */ -/* END: Disable RGB Effects */ -#endif - -/* To tell the compiler to use custom font */ -#define OLED_FONT_H "keyboards/crkbd/keymaps/mcrown/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/mcrown/glcdfont.c b/keyboards/crkbd/keymaps/mcrown/glcdfont.c deleted file mode 100644 index 17aa1dde39a0..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/glcdfont.c +++ /dev/null @@ -1,35 +0,0 @@ -/** @file glcfont.c - * @brief mcrown glcfont module. This module includes the font for mcrown keymap. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ - -#include "progmem.h" - -/* Standard ASCII 5x7 font */ -static const unsigned char font[] PROGMEM = -{ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0x3E, - 0x1E, 0x06, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 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, 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00, 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x60, 0x60, 0xE0, 0xBF, 0x1F, 0x00, 0x7F, 0x7F, 0x07, 0x1E, 0x38, 0x1E, 0x07, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x0C, 0x0C, 0x0C, 0x00, 0x7E, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E, 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F, - 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70, 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69, 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3C, 0x78, 0x70, 0x60, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 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, 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/mcrown/keymap.c b/keyboards/crkbd/keymaps/mcrown/keymap.c deleted file mode 100644 index 907e1347bb8f..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/keymap.c +++ /dev/null @@ -1,141 +0,0 @@ -/** @file keymap.c - * @brief keymao.c that includes key layout and keylogs functions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ - -#include "mcrown.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( - /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ - _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ - /*|-----------------------------------| |----------------------------------|*/ - ), - - [_LOWER] = LAYOUT_wrapper( - /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ - _____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________LOWER_L3_______________________, _____________________LOWER_R3_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ - /*|-----------------------------------| |----------------------------------|*/ - ), - - [_RAISE] = LAYOUT_wrapper( - /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ - _____________________RAISE_L1_______________________, _____________________RAISE_R1_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________RAISE_L2_______________________, _____________________RAISE_R2_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________RAISE_L3_______________________, _____________________RAISE_R3_______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ - /*|-----------------------------------| |----------------------------------|*/ - ), - - [_ADJUST] = LAYOUT_wrapper( - /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ - _____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________________ADJUST_L3______________________, _____________________ADJUST_R3______________________, - /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ - _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ - /*|-----------------------------------| |----------------------------------|*/ - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record){ - bool user_records_press=true; - - if (record->event.pressed){ - add_keylog(keycode); - } - - switch (keycode){ - case QWERTY: - if (record->event.pressed){ - set_single_persistent_default_layer(_QWERTY); - } - break; - - case LOWER: - if(record->event.pressed){ - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - }else{ - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - - case RAISE: - if (record->event.pressed){ - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - }else{ - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - - case ADJUST: - if (record->event.pressed){ - layer_on(_ADJUST); - }else{ - layer_off(_ADJUST); - } - break; - - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if(record->event.pressed){ - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if(record->event.pressed){ - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - - default: - user_records_press=false; - break; - } - - return false==user_records_press; -} diff --git a/keyboards/crkbd/keymaps/mcrown/mcrown.h b/keyboards/crkbd/keymaps/mcrown/mcrown.h deleted file mode 100644 index b60f759469a3..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/mcrown.h +++ /dev/null @@ -1,109 +0,0 @@ -/** @file mcrown.h - * @brief mcrown header thant incluedes key layout and some definintions. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ - -#pragma once - -#include QMK_KEYBOARD_H -#include "oled.h" - -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_CTLTB CTL_T(KC_TAB) -#define KC_GUIEI GUI_T(KC_LNG2) -#define KC_ALTKN ALT_T(KC_LNG1) - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -/* For values greater than 0x200, substract that value and add 0x20 so the characters can be mapped */ -#define RM_LSFT(kc) ((uint8_t)(0x20)+(kc-0x200)) - -/* ######################################################################### LAYOUT BLOCKS ##################################################### */ -/* -----------------------------------------BUTTON1---BUTTON2- BUTTON3------- */ -#define _____________MOD_LEFT_____________ KC_GUIEI, KC_LOWER, KC_SPC -#define _____________MOD_RIGHT____________ KC_ENT, KC_RAISE, KC_ALTKN - - -/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ -#define _____________________RAISE_L1_______________________ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC -#define _____________________RAISE_L2_______________________ KC_LSFT, KC_MPLY, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX -#define _____________________RAISE_L3_______________________ KC_CTLTB, KC_CALC, KC_VOLD, KC_MPRV, KC_BRIU, KC_BRID - -#define _____________________RAISE_R1_______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL -#define _____________________RAISE_R2_______________________ KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV -#define _____________________RAISE_R3_______________________ KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD - -/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ -#define _____________________QWERTY_L1______________________ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T -#define _____________________QWERTY_L2______________________ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G -#define _____________________QWERTY_L3______________________ KC_CTLTB, KC_Z, KC_X, KC_C, KC_V, KC_B - -#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC -#define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT -#define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT - -/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ -#define _____________________LOWER_L1_______________________ KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5 -#define _____________________LOWER_L2_______________________ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN -#define _____________________LOWER_L3_______________________ KC_CTLTB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 - -#define _____________________LOWER_R1_______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC -#define _____________________LOWER_R2_______________________ KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_HOME, KC_END -#define _____________________LOWER_R3_______________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 - -/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ -#define _____________________ADJUST_L1______________________ XXXXXXX, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - #define _____________________ADJUST_L2______________________ XXXXXXX, XXXXXXX, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI - #define _____________________ADJUST_L3______________________ XXXXXXX, XXXXXXX, RGB_SPD, RGB_SAD, RGB_HUD, RGB_VAD -#else/* ---------------------------------------------------------------|---------|--------|--------|--------|------------- */ - #define _____________________ADJUST_L2______________________ M_VRSN, M_MALL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - #define _____________________ADJUST_L3______________________ M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -#endif/* --------------------------------------------------------------|---------|--------|--------|--------|------------- */ -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - #define _____________________ADJUST_R1______________________ RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - #define _____________________ADJUST_R3______________________ RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -#else/* ---------------------------------------------------------------|---------|--------|--------|--------|------------- */ - #define _____________________ADJUST_R1______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - #define _____________________ADJUST_R3______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -#endif/* --------------------------------------------------------------|---------|--------|--------|--------|------------- */ -#define _____________________ADJUST_R2______________________ RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - -/* Each layer gets a name for readability */ -typedef enum custom_layers { - _QWERTY, - _DVORAK, - _COLEMAK, - _LOWER, - _RAISE, - _ADJUST, - _NUMPAD, - _MAX_LAYERS -}CUSTOM_LAYERS_T; - -/* To be used to identify the current working layer */ -typedef enum custom_keycodes{ - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - BACKLIT, - RGBRST -}CUSTOM_KEYCODES_T; diff --git a/keyboards/crkbd/keymaps/mcrown/oled.c b/keyboards/crkbd/keymaps/mcrown/oled.c deleted file mode 100644 index f88fc0c8d88b..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/oled.c +++ /dev/null @@ -1,355 +0,0 @@ -/** @file oled.h - * @brief mcrown oled service implementation. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ - -#include QMK_KEYBOARD_H -#include -#include -#include "mcrown.h" -#include "oled.h" - -#define ASCII_TABLE_LENGTH (0x80) -#define KEYLOG_STRING_STARTUP (KEYLOG_EOL_LEN+1) -#define ALT_CODE (0x7E) -#define SPECIAL_KEYS_SHIFT(kc) (0x18+(kc)) - -static void render_keylogger_status(void); - -static char keylog_str[KEYLOG_EOL_LEN] = {' '}; -static uint16_t log_timer = 0; -static uint8_t current_cursor_pos=0; -static uint32_t cursor_oled_timer = 0; -static uint32_t standby_oled_timer = 0; -static char last_c=' '; - -/* Provides the ASCII value or the address of the character selected of the OLED font specified in glcfont.c */ -static const char ascii_t[ASCII_TABLE_LENGTH] = { - /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ - /* | | | | | | | | | | | | | | | | */ - 0x0F, 0x1A, 0x1B, 0x19, 0x18, 0x0E, ' ', ' ', 0x11, 0x1C, 0x97, ' ', ' ', ' ', ' ', ' ', /* 0 */ - /* | | | | | | | | | | | | | | | | */ - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 0x1D, ' ', ' ', ' ', ' ', /* 1 */ - /* | | | | | | | | | | | | | | | | */ - 0x16, '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', /* 2 */ - /* | | | | | | | | | | | | | | | | */ - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', /* 3 */ - /* | | | | | | | | | | | | | | | | */ - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', /* 4 */ - /* | | | | | | | | | | | | | | | | */ - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', /* 5 */ - /* | | | | | | | | | | | | | | | | */ - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', /* 6 */ - /* | | | | | | | | | | | | | | | | */ - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 0x7F, /* 7 */ -}; - -/* This table is to remap and get the corresponding ASCII value based on the KEYCODE (taken as the index of the array) of quatum_keycodes.h module */ -static const unsigned char code_to_ascii[ASCII_TABLE_LENGTH] = { - /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ - /* | | | | | | | | | | | | | | | | */ - 0x00, 0x00, 0x00, 0x00, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', /* 0 */ - /* | | | | | | | | | | | | | | | | */ - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', /* 1 */ - /* | | | | | | | | | | | | | | | | */ - '3', '4', '5', '6', '7', '8', '9', '0', 0x0A, 0x1B, 0x08, 0x09, ' ', '-', '=', '[', /* 2 */ - /* | | | | | | | | | | | | | | | | */ - ']', '\\', 0x00, ';', '\'', '`', ',', '.', '/', 0x00, 0x00, 0x00, 0x00, 0x00, '!', '@', /* 3 */ - /* | | | | | | | | | | | | | | | | */ - '#', '$', '%', '^', '&', '*', '(', ')', 0x00, 0x00, 0x00, 0x00, 0x00, '_', '+', '{', /* 4 */ - /* | | | | | | | | | | | | | | | | */ - '}', '|', 0x00, 0x00, 0x00, '~', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 5 */ - /* | | | | | | | | | | | | | | | | */ - 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, /* 6 */ - /* | | | | | | | | | | | | | | | | */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, /* 7 */ -}; - -/** @brief maps the keycode to get the ascii value. - * - * If any argument is invalid, the function has no effect. - * - * @param keycode value of the pressed key. - * @return ascii value of the pressed key or a special value for non-ascii keys. - */ -inline static char get_ascii(int16_t keycode){ - uint8_t ascii_idx=0x00; - - if(keycode 300){ - cursor_oled_timer = timer_read32(); - cursor_f=!cursor_f; - } - oled_write_P(PSTR("\n>:"), false); - if(current_cursor_pos>(KEYLOG_LEN-1)){ - current_cursor_pos=0; - memset(keylog_str, ' ', sizeof(char)*KEYLOG_EOL_LEN); - /* Here the EOL is to clear with white spaces all the keylog area */ - keylog_str[KEYLOG_EOL_LEN-1] = '\0'; - oled_write(keylog_str, false); - /* Reset EOL to the begining of the keylog string */ - keylog_str[0] = '\0'; - } - oled_write(keylog_str, false); - oled_write_char(last_c, cursor_f); - -} - -/** @brief displays the current active layout. - * - * If any argument is invalid, the function has no effect. - * - * @param void. - * @return void. - */ -void render_layout_state(void){ - CUSTOM_LAYERS_T current_layer; - current_layer=(CUSTOM_LAYERS_T)get_highest_layer(layer_state); - -#ifdef OLED_VERTICAL - oled_write_P(PSTR("Lyt:\n"), false); -#else - oled_write_P(PSTR("Layout: "), false); -#endif - - switch (current_layer){ -#ifdef OLED_VERTICAL - case _COLEMAK: - oled_write_P(PSTR("Clmak\n"), false); - break; - - case _DVORAK: - oled_write_P(PSTR("Dvak\n"), false); - break; - - case _QWERTY: - oled_write_P(PSTR("Qwty\n"), false); - break; - - default: - oled_write_P(PSTR("Undf\n"), false); - break; - -#else - case _COLEMAK: - oled_write_P(PSTR("Colemak\n"), false); - break; - - case _DVORAK: - oled_write_P(PSTR("Dvorak\n"), false); - break; - - case _QWERTY: - oled_write_P(PSTR("Qwerty\n"), false); - break; - - default: - oled_write_P(PSTR("Undefined\n"), false); - break; -#endif - } -} - -/** @brief displays the current active layer. - * - * If any argument is invalid, the function has no effect. - * - * @param void. - * @return void. - */ -void render_layer_state(void){ - CUSTOM_LAYERS_T current_layer; - current_layer=(CUSTOM_LAYERS_T)get_highest_layer(layer_state); - -#ifdef OLED_VERTICAL - oled_write_P(PSTR("Lyr:\n"), false); -#else - oled_write_P(PSTR("Layer:"), false); -#endif - - switch(current_layer){ -#ifdef OLED_VERTICAL - case _LOWER: - oled_write_P(PSTR("Lwr\n"), true); - break; - - case _RAISE: - oled_write_P(PSTR("Ris\n"), true); - break; - - case _ADJUST: - oled_write_P(PSTR("Adj\n"), true); - break; - - case _NUMPAD: - oled_write_P(PSTR("Num\n"), true); - break; - - default: - oled_write_P(PSTR("Def\n"), false); - break; - -#else - case _LOWER: - oled_write_P(PSTR(" Lower "), true); - break; - - case _RAISE: - oled_write_P(PSTR(" Raise "), true); - break; - - case _ADJUST: - oled_write_P(PSTR(" Adjust "), true); - break; - - case _NUMPAD: - oled_write_P(PSTR(" Numpad "), true); - break; - - default: - oled_write_P(PSTR(" Default "), false); - break; -#endif - } -} - -/** @brief displays the current status of the main display/ - * - * If any argument is invalid, the function has no effect. - * - * @param void. - * @return void. - */ -void render_status(void){ - render_layout_state(); - oled_write_P(PSTR("\n"), false); - render_layer_state(); - render_keylogger_status(); -} - -/** @brief renders the logo to be displayed. - * - * If any argument is invalid, the function has no effect. - * - * @param void. - * @return void. - */ -static void render_logo(void){ - static const char PROGMEM qmk_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, - 0x00}; - - oled_write_P(qmk_logo, false); -} - -/** @brief executes the actions for both displays. - * - * If any argument is invalid, the function has no effect. - * - * @param void. - * @return void. - */ -bool oled_task_user(void){ - if (timer_elapsed32(standby_oled_timer) > 15000){ - oled_off(); - }else{ - oled_on(); - if(true==is_keyboard_master()){ - render_status(); - }else{ - render_logo(); - oled_write_P(PSTR("\n"), false); - oled_scroll_left(); - } - } - return false; -} - -/** @brief process the current key and add it to the keylog string. - * - * If any argument is invalid, the function has no effect. - * - * @param keycode pressed key. - * @return void. - */ -extern void add_keylog(uint16_t keycode){ - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)){ - keycode&=0x00FF; - } - - if(current_cursor_pos>(KEYLOG_LEN-1)||(current_cursor_pos>KEYLOG_STRING_STARTUP)){ - current_cursor_pos=0; - last_c=get_ascii(keycode); - current_cursor_pos++; - }else{ - if(keycode <= KC_TILD){ - keylog_str[current_cursor_pos]=last_c; - last_c=get_ascii(keycode); - current_cursor_pos++; - } - keylog_str[current_cursor_pos] = '\0'; - } - - log_timer = timer_read(); - - standby_oled_timer = timer_read32(); -} diff --git a/keyboards/crkbd/keymaps/mcrown/oled.h b/keyboards/crkbd/keymaps/mcrown/oled.h deleted file mode 100644 index 7e7c746b9932..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/oled.h +++ /dev/null @@ -1,34 +0,0 @@ -/** @file oled.h - * @brief oled header that includes function prototypes and external variables. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 - * - */ -#pragma once - -#include -#include "mcrown.h" - -#ifdef OLED_VERTICAL -#define KEYLOG_LEN (48) -#else -#define KEYLOG_LEN (19) -#endif - -#define KEYLOG_EOL_LEN (KEYLOG_LEN+1) - -extern void add_keylog(uint16_t keycode); -extern void update_log(void); diff --git a/keyboards/crkbd/keymaps/mcrown/readme.md b/keyboards/crkbd/keymaps/mcrown/readme.md deleted file mode 100644 index e6034b123442..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -![the-frey-layout](https://raw.githubusercontent.com/MarioCorona/mcrown_pics/main/mcrown_layout.png) - -# Keyboard layout by MCrown - -This is all four layers: - -- The top indicates the RAISE layer -- The middle indicates the DEFAULT layer -- The bottom indicates the LOWER layer -- Green indicated ADJUST layer - -All the keys respond as you'd expect to the 'shift' key - i.e. on a UK/GB keyboard, `/` becomes `?` and so on. - diff --git a/keyboards/crkbd/keymaps/mcrown/rules.mk b/keyboards/crkbd/keymaps/mcrown/rules.mk deleted file mode 100644 index 922e246ba9ad..000000000000 --- a/keyboards/crkbd/keymaps/mcrown/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -RGB_MATRIX_ENABLE = yes # Enable RGB Matrix. -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend - -# 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 \ - ./oled.c\ diff --git a/keyboards/crkbd/keymaps/md40/config.h b/keyboards/crkbd/keymaps/md40/config.h deleted file mode 100644 index c1ef28df50ec..000000000000 --- a/keyboards/crkbd/keymaps/md40/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 300 - -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/md40/keymap.c b/keyboards/crkbd/keymaps/md40/keymap.c deleted file mode 100644 index 39ae0bb4e0ba..000000000000 --- a/keyboards/crkbd/keymaps/md40/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2021 Shane Dowling (@shano) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#define KC_ESCC MT(MOD_LCTL, KC_ESC) -#define KC_ENTS MT(MOD_LSFT, KC_ENT) -#define KC_FN MO(_FN) - -enum layers { - _QWERTY, - _FN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = 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_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - //|----+----+----+----+----+----+ |----+----+----+----+----+----| - KC_ESCC, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_ESC , - //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - KC_LALT,KC_LGUI,KC_SPC , KC_ENTS,KC_FN,KC_FN - // `----+----+----' `+---+----+----'c - ), - [_FN] = LAYOUT( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - _______,KC_1, KC_2 ,KC_3, KC_4,KC_5, KC_6,KC_7,KC_8,KC_9,KC_0,KC_BSPC, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - _______,KC_EXCLAIM,KC_AT,KC_HASH,KC_DOLLAR,KC_PERCENT, KC_LEFT,KC_DOWN, KC_UP ,KC_RIGHT,KC_LBRC,KC_RBRC, - //|----+----+----+----+----+----+ |----+----+----+----+----+----| - _______, KC_CIRCUMFLEX , KC_AMPR , KC_ASTERISK , KC_LEFT_PAREN , KC_RIGHT_PAREN , KC_MINUS,KC_PLUS,KC_EQL,KC_PIPE,KC_GRAVE,KC_BACKSLASH, - //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - _______,_______,_______ , _______,_______,_______ - // `----+----+----' `----+----+----' - ) -}; - diff --git a/keyboards/crkbd/keymaps/md40/readme.md b/keyboards/crkbd/keymaps/md40/readme.md deleted file mode 100644 index ee1e14a0165a..000000000000 --- a/keyboards/crkbd/keymaps/md40/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# MD40: Minimally Disruptive 40% Keymap - -This keymap is an attempt to go from a standard keyboard layout to a 40% keyboard with minimal disruption. - -Some aims: -- Two layers only -- Existing keyboard positions where possible -- Exceptions where it's not possible -- Exceptions where it makes sense - -Supports crkbd only. - -## Base Layer - -![Base Layer](https://i.imgur.com/hXLP6ush.png) - -## Fn Layer - -![Base Layer](https://i.imgur.com/Sozd1p8h.png) diff --git a/keyboards/crkbd/keymaps/md40/rules.mk b/keyboards/crkbd/keymaps/md40/rules.mk deleted file mode 100644 index 86f4f1e11c01..000000000000 --- a/keyboards/crkbd/keymaps/md40/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -NKRO_ENABLE = no # Enable N-Key Rollover diff --git a/keyboards/crkbd/keymaps/nimishgautam/config.h b/keyboards/crkbd/keymaps/nimishgautam/config.h deleted file mode 100644 index b4c5bc9e0a57..000000000000 --- a/keyboards/crkbd/keymaps/nimishgautam/config.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2022 Nimish GÃĨtam (@nimishgautam) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// OS-specific stuff -//#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS - -/* Select hand configuration */ -//#define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_MODS_ENABLE - - -// combo -#define EXTRA_SHORT_COMBOS - -//Tapping values -//#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD_PER_KEY - - -// Try to save some memory -#define NO_ACTION_ONESHOT -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE -#define LAYER_STATE_8BIT //8 layers max - - -// which lighting effects to include (less saves memory) -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - -#endif - -// rgb matrix, cooler effects than lighting above -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_KEYPRESSES - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - #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 10 - #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 ENABLE_RGB_MATRIX_SOLID_SPLASH - - // NOTE: the below effects are super cool but they go absolutely nuts if you manually set hsv colors (eg with layers) - - //#define ENABLE_RGB_MATRIX_TYPING_HEATMAP - //#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - //#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#endif - -//autoshift -/* -#define NO_AUTO_SHIFT_NUMERIC -#define NO_AUTO_SHIFT_SPECIAL -#define RETRO_SHIFT 400 -#define AUTO_SHIFT_TIMEOUT 175 -#define AUTO_SHIFT_ENABLED -#define AUTO_SHIFT_TIMEOUT_PER_KEY -*/ - - -// oled font (for logo etc) -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" - -// mouse keys go at a constant speed instead of accelerating -#define MK_3_SPEED -#define MK_MOMENTARY_ACCEL diff --git a/keyboards/crkbd/keymaps/nimishgautam/keymap.c b/keyboards/crkbd/keymaps/nimishgautam/keymap.c deleted file mode 100644 index 389a5bfdb167..000000000000 --- a/keyboards/crkbd/keymaps/nimishgautam/keymap.c +++ /dev/null @@ -1,585 +0,0 @@ -// Copyright 2022 Nimish GÃĨtam (@nimishgautam) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum custom_key_codes { - SHOW_WIN_LEFT = SAFE_RANGE, // show windows on tap, move active window left on hold - NUMERIC_WIN_RIGHT, // lock to numeric layer on press, move active window right on hold - DEL_WORD, //delete a word - SELECT_LEFT_WD, // select word left of cursor - SELECT_RIGHT_WD, // select word right of cursor - SELECT_LEFT_LINE, // select all from left of cursor to beginning of line - SELECT_RIGHT_LINE, // select all from right of cursor to end of line - MOVE_LEFT_WD, // move one word to the left - MOVE_RIGHT_WD, // move one word to the right - MOVE_LEFT_LINE, // move to beginning of line - MOVE_RIGHT_LINE, // move to end of line - PASTE_NOSTYLE, // paste without formatting - MOVE_BEGIN_LINE_TERMINAL, // move to the beginning of the line in the terminal - MOVE_END_LINE_TERMINAL, // move to the end of the line in the terminal - /* macros */ - PASTE_VIM, // paste in vim from system register - ACIRCLE, // ÃĨ - ADOT, // ÃĪ - ODOT, // Ãķ - COMPOSE_MACRO, // compose key for mac or linux - SCREENSHOT, // This is theoretically reprogrammable on Linux, but Gui(Shift(4)) or Gui(4) is reserved for '4th item on favorite menu' and doesn't remap so well -}; - -//Tap Dance Declarations -enum { - TD_MOVE_BEGIN_LINE = 0, // tap-dance, on single press move to beginning of the line, on double, output ^(vim character for beginning of line nonwhitespace char) - TD_MOVE_END_LINE, // tap-dance, on single press move to end of the line, on double, output $ (vim character for last nonblank char on a line) - TD_PERIOD_COMMA, // period on single press, comma on second press -}; - -// Mac-specific definitions of these functions -// I've changed Linux to accept these defaults - -#define FINDER LGUI(LALT(KC_SPACE)) //open the search bar for finding apps, docs in-computer, etc -#define COMPOSE_KEY KC_SCRL //manually set on linux, to create chars via .Xcompose () -#define COMPOSE_MAC KC_F13 //manually set on mac using some tricks -#define X_COMPOSE_KEY X_SCROLL_LOCK //for use with macros -#define SHOW_WINDOWS LCTL(KC_UP) //'Expose' on Mac, overview on linux. Just all the windows -#define WINDOW_LEFT LCTL(LGUI(LSFT(KC_LEFT))) //custom shortcut for this feature -- make window take up 50% left screen (using gui and ctl to make it os agnostic) -#define WINDOW_RIGHT LCTL(LGUI(LSFT(KC_RIGHT))) //custom shortcut for this feature -- make window take up 50% right screen (using gui and ctl to make it os agnostic)/fully custom shortcut, using ctl and gui keys so will need them both irrespective of os -#define SHOW_APP_WINDOWS LCTL(KC_DOWN) -#define LOCK_SCREEN LCTL(LGUI(KC_Q)) //manually set this on linux to match osx default -#define EURO LALT(LSFT(KC_2)) -#define EMOJI_KBD LCTL(LGUI(KC_SPACE)) //manually set this on linux to match osx default, with 'emote' on linux and a custom shortcut (probably better to use compose feature) -#define APP_LEFT LGUI(KC_TAB) -#define APP_RIGHT RSFT(LGUI(KC_TAB)) -#define CALCULATOR RSFT(LGUI(LCTL(KC_SLASH))) // arbitrary shortcut - -#define MOVE_LEFT_TERMINAL LALT(KC_LEFT) //move cursor one word left on the terminal... does not work if .inputrc is set to use vim bindings! -#define MOVE_RIGHT_TERMINAL LALT(KC_RIGHT) //move cursor one word left on the terminal... does not work if .inputrc is set to use vim bindings! -#define DEL_WORD_TERMINAL LALT(KC_BSPC) // delete one word back on terminal ... does not work if .inputrc is set to use vim bindings! - -enum custom_layers { - _BASE, - _NUMS, - _NUM_MASK, - _TEXT_NAV, - _ADJUST, - _FN_KEYS, -}; - -// combo - press space and backspace together to get 'scroll lock', used as the compose key on my custom linux -const uint16_t PROGMEM compose_combo[] = {KC_BSPC, KC_SPACE, COMBO_END}; - -// combo - press the 2 larger keys on the inner part of the corne to get the search window ('finder' as I'm calling it) -const uint16_t PROGMEM search_combo[] = {LT(_FN_KEYS, KC_ENTER),LT(_TEXT_NAV, KC_PAST), COMBO_END}; - -// combo - press ,. to paste in vim -const uint16_t PROGMEM vim_paste_combo[] = {KC_COMM, KC_DOT, COMBO_END}; - -// combo - press () to launch calculator -const uint16_t PROGMEM calculator_combo[] = {LT(_NUMS,KC_LPRN), LT(_NUMS,KC_RPRN), COMBO_END}; - -// combo - press combo+ a to get ÃĨ -const uint16_t PROGMEM acircle_combo[] = { KC_BSPC, KC_SPACE, MT(MOD_LCTL, KC_A),COMBO_END}; - -// combo - press combo+ l to get ÃĪ -const uint16_t PROGMEM adot_combo[] = {KC_BSPC, KC_SPACE, MT(MOD_RALT,KC_L), COMBO_END}; - -// combo - press combo+ ; to get Ãķ -const uint16_t PROGMEM odot_combo[] = {KC_BSPC, KC_SPACE, MT(MOD_LCTL,KC_SCLN),COMBO_END}; - -combo_t key_combos[] = { - COMBO(compose_combo, COMPOSE_MACRO), - COMBO(search_combo, FINDER), - COMBO(calculator_combo, CALCULATOR), - /* macros */ - COMBO(vim_paste_combo, PASTE_VIM), - COMBO(acircle_combo, ACIRCLE), - COMBO(adot_combo, ADOT), - COMBO(odot_combo, ODOT) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_split_3x6_3( //basic - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINUS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESCAPE, MT(MOD_LCTL, KC_A), MT(MOD_LALT,KC_S), MT(MOD_RSFT,KC_D), MT(MOD_LGUI, KC_F), KC_G, KC_H, MT(MOD_RGUI,KC_J), MT(MOD_RSFT,KC_K), MT(MOD_RALT,KC_L), MT(MOD_LCTL,KC_SCLN), KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LT(0, SHOW_WIN_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH, LT(0, NUMERIC_WIN_RIGHT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LT(_NUMS,KC_LPRN), KC_BSPC, LT(_FN_KEYS, KC_ENTER), LT(_TEXT_NAV, KC_PAST), KC_SPACE, LT(_NUMS,KC_RPRN) - //`--------------------------' `--------------------------' - - ), - - [_NUMS] = LAYOUT_split_3x6_3( //numbers - //,-----------------------------------------------------. ,-----------------------------------------------------. - SCREENSHOT, KC_EXCLAIM,KC_AT, KC_HASH, KC_DOLLAR,KC_PERCENT, KC_CIRCUMFLEX, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_PIPE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TO(_BASE), KC_LCTL, KC_LALT, KC_RSFT, KC_LGUI,KC_PLUS, KC_EQL, KC_4, KC_5, KC_6, KC_BSLS, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCBR, KC_LBRC, KC_GRAVE, KC_TILD, PASTE_NOSTYLE, KC_AMPERSAND, TD(TD_PERIOD_COMMA), KC_1, KC_2, KC_3, KC_RBRC, KC_RCBR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+-C```-------+--------+--------| - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT , KC_TRANSPARENT , KC_UNDS, KC_0 - //`--------------------------' `--------------------------' - ), - - [_NUM_MASK] = LAYOUT_split_3x6_3( //NUM MASK, so I can still have backspace/enter/tab etc but with the nums, arrows and formatters too - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRANSPARENT, KC_TRANSPARENT,KC_TRANSPARENT, KC_UP, KC_TRANSPARENT,KC_TRANSPARENT, KC_TRANSPARENT, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TO(_BASE), KC_TRANSPARENT, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRANSPARENT, KC_TRANSPARENT, KC_4, KC_5, KC_6, KC_TRANSPARENT, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRANSPARENT, KC_TRANSPARENT,KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TD(TD_PERIOD_COMMA), KC_1, KC_2, KC_3,KC_TRANSPARENT, KC_NUM, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT , KC_TRANSPARENT , KC_TRANSPARENT, KC_0 - //`--------------------------' `--------------------------' - ), - - [_TEXT_NAV] = LAYOUT_split_3x6_3( //text nav and special navigation (lock screen, adjust layer, etc) - //,-----------------------------------------------------. ,-----------------------------------------------------. - LOCK_SCREEN, KC_PSCR, SELECT_LEFT_LINE, KC_UP, SELECT_RIGHT_LINE, TD(TD_MOVE_BEGIN_LINE), TD(TD_MOVE_END_LINE), KC_MS_WH_UP, EMOJI_KBD, KC_TRANSPARENT, KC_TRANSPARENT, QK_BOOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TO(_BASE), SELECT_LEFT_WD, KC_LEFT, KC_DOWN, KC_RIGHT,SELECT_RIGHT_WD, KC_MS_WH_LEFT, KC_RGUI, KC_RSFT, KC_RALT,KC_RCTL, KC_CAPS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_INSERT, KC_TRANSPARENT, MOVE_LEFT_WD,KC_PAGE_DOWN,MOVE_RIGHT_WD, KC_PAGE_UP, KC_MS_WH_RIGHT, KC_MS_WH_DOWN, KC_HOME, KC_END,KC_TRANSPARENT, TO(_ADJUST), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_DELETE, DEL_WORD, KC_TRANSPARENT , KC_TRANSPARENT , KC_TRANSPARENT, KC_TRANSPARENT - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( // adjust things - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TO(_BASE), RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - CG_TOGG, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX - //`--------------------------' `--------------------------' - ), // CG_TOGG toggles gui and Ctrl (switching from mac to windows/linux) - // the RGB buttons go backwards if shift is held when they're pressed, so shift is included - // RGB MOD changes the mode, it's the most important one - // right side mostly no-op so I can play with the visualization - - [_FN_KEYS] = LAYOUT_split_3x6_3( //fn keys, terminal text navigation keys - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRANSPARENT, KC_LCBR,KC_LBRC, KC_RBRC, KC_RCBR, MOVE_BEGIN_LINE_TERMINAL, MOVE_END_LINE_TERMINAL, KC_F7, KC_F8, KC_F9, KC_F11, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TO(_BASE), KC_LCTL, KC_LALT, KC_RSFT, KC_LGUI, KC_TRANSPARENT, KC_TRANSPARENT, KC_F4, KC_F5, KC_F6, KC_F12, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRANSPARENT, KC_TRANSPARENT, MOVE_LEFT_TERMINAL, DEL_WORD_TERMINAL, MOVE_RIGHT_TERMINAL, KC_TRANSPARENT, KC_TRANSPARENT, KC_F1, KC_F2, KC_F3, KC_TRANSPARENT, KC_TRANSPARENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT , KC_HASH , KC_TRANSPARENT, KC_F10 - //`--------------------------' `--------------------------' - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - - switch (keycode) { - - // as of this writing, you can't do a layer tap (LT) - // and also send a shifted code, like left parens - // If you call such a function, it'll do the layer shift but - // it'll ignore the key code on tap... this is the workaround - - case LT(_NUMS,KC_LPRN): // Shift to _NUMS layer on hold, but send left paren on press - if (record->tap.count && record->event.pressed) { - tap_code16(KC_LPRN); - return false; - } - break; - case LT(_NUMS,KC_RPRN): // Shift to _NUMS on hold, send right parens on press - if (record->tap.count && record->event.pressed) { - tap_code16(KC_RPRN); - return false; - } - break; - - case LT(0,SHOW_WIN_LEFT): - if (record->tap.count && record->event.pressed) { - tap_code16(SHOW_WINDOWS); // Intercept tap function - } else if (record->event.pressed) { - tap_code16(WINDOW_LEFT); // Intercept hold function - } - return false; - break; - - case LT(0, NUMERIC_WIN_RIGHT): - if (record->tap.count && record->event.pressed) { - layer_on(_NUM_MASK);// Intercept tap function - } else if (record->event.pressed) { - tap_code16(WINDOW_RIGHT); // Intercept hold function - } - return false; - break; - - case PASTE_VIM: - if (record->event.pressed){ - SEND_STRING(SS_TAP(X_ESCAPE)"\"+pi"); - } - return false; - break; - - //only read the keymap config if it's one of the below cases (instead of every time) - case DEL_WORD: - case SELECT_LEFT_WD: - case SELECT_RIGHT_WD: - case SELECT_LEFT_LINE: - case SELECT_RIGHT_LINE: - case MOVE_LEFT_WD: - case MOVE_RIGHT_WD: - case MOVE_LEFT_LINE: - case MOVE_RIGHT_LINE: - case PASTE_NOSTYLE: - case MOVE_BEGIN_LINE_TERMINAL: - case MOVE_END_LINE_TERMINAL: - case ACIRCLE: - case ADOT: - case ODOT: - case COMPOSE_MACRO: - case SCREENSHOT: - - if(record->event.pressed) { - keymap_config.raw = eeconfig_read_keymap(); - switch (keycode){ - case DEL_WORD: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(LCTL(KC_BSPC)); - } else { //osx - tap_code16(LALT(KC_BSPC)); - } - break; - case SELECT_LEFT_WD: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(RSFT(LCTL(KC_LEFT))); - } else { //osx - tap_code16(RSFT(LALT(KC_LEFT))); - } - break; - case SELECT_RIGHT_WD: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(RSFT(LCTL(KC_RIGHT))); - } else { //osx - tap_code16(RSFT(LALT(KC_RIGHT))); - } - break; - case SELECT_LEFT_LINE: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(RSFT(KC_HOME)); - } else { //osx - tap_code16(RSFT(LCTL(KC_LEFT))); - } - break; - case SELECT_RIGHT_LINE: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(RSFT(KC_END)); - } else { //osx - tap_code16(RSFT(LCTL(KC_RIGHT))); - } - break; - case MOVE_LEFT_WD: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(LCTL(KC_LEFT)); - } else { //osx - tap_code16(LALT(KC_LEFT)); - } - break; - case MOVE_RIGHT_WD: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(LCTL(KC_RIGHT)); - } else { //osx - tap_code16(LALT(KC_RIGHT)); - } - break; - case MOVE_LEFT_LINE: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_HOME); - } else { //osx - tap_code16(LGUI(KC_LEFT)); //GUI for move, shift-ctl for highlight... thanks mac! - } - break; - case MOVE_RIGHT_LINE: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_END); - } else { //osx - tap_code16(LGUI(KC_RIGHT)); //GUI for move, shift-ctl for highlight... thanks mac! - } - break; - case PASTE_NOSTYLE: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(LCTL(RSFT(KC_V))); - } else { //osx - tap_code16(LGUI(LALT(LSFT(KC_V)))); - } - break; - case MOVE_BEGIN_LINE_TERMINAL: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_HOME); - } else { //osx - tap_code16(LSFT(KC_HOME)); - } - break; - case MOVE_END_LINE_TERMINAL: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_END); - } else { //osx - tap_code16(LSFT(KC_END)); - } - break; - case ACIRCLE: // ÃĨ - if(keymap_config.swap_lctl_lgui){ //Linux - SEND_STRING(SS_TAP(X_COMPOSE_KEY)"aa"); - } else { //osx - tap_code16(LALT(KC_A)); - } - break; - case ADOT: // ÃĪ - if(keymap_config.swap_lctl_lgui){ //Linux - SEND_STRING(SS_TAP(X_COMPOSE_KEY)"a\""); - } else { //osx - SEND_STRING(SS_LALT("u")"a"); - } - break; - case ODOT: // Ãķ - if(keymap_config.swap_lctl_lgui){ //Linux - SEND_STRING(SS_TAP(X_COMPOSE_KEY)"o\""); - } else { //osx - SEND_STRING(SS_LALT("u")"o"); - } - break; - case COMPOSE_MACRO: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(COMPOSE_KEY); - } else { //osx - tap_code16(COMPOSE_MAC); - } - break; - case SCREENSHOT: - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_PSCR); - } else { //osx - tap_code16(LGUI(LSFT(KC_4))); - } - break; - } - } - - return false; - break; - - } - return true; -} - -void dance_left_finished (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { //1 tap, move to line left - keymap_config.raw = eeconfig_read_keymap(); - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_HOME); - } else { //osx - tap_code16(LGUI(KC_LEFT)); - } - } else { //2 taps, make a circumflex - tap_code16(KC_CIRC); - } -} - -void dance_right_finished (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { // 1 tap, move line right - keymap_config.raw = eeconfig_read_keymap(); - if(keymap_config.swap_lctl_lgui){ //Linux - tap_code16(KC_END); - } else { //osx - tap_code16(LGUI(KC_RIGHT)); - } - } else { //2 taps, dollar - tap_code16(KC_DOLLAR); - } -} - -//Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - [TD_MOVE_BEGIN_LINE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_left_finished, NULL), - [TD_MOVE_END_LINE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_right_finished, NULL), - [TD_PERIOD_COMMA] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA), -}; - -bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MT(MOD_RSFT,KC_D): // for modtap shift, otherwise lots of mis-firings - case MT(MOD_RSFT,KC_K): - // Immediately select the hold action when another key is tapped. - return true; - default: - // Do not select the hold action when another key is tapped. - return false; - } -} - -// yeah, should be layer_state_set_user but that one doesn't update the mods -void set_lighting_user(void) { - uint8_t layer = get_highest_layer(layer_state); - switch(layer){ - case _BASE: - rgblight_sethsv_noeeprom(HSV_WHITE); - led_t led_state = host_keyboard_led_state(); - if(led_state.caps_lock){ - rgblight_sethsv_noeeprom(HSV_RED); - } - //rgblight_sethsv(HSV_OFF); - break; - case _NUMS: - rgblight_sethsv_noeeprom(HSV_GREEN); - break; - case _NUM_MASK: - rgblight_sethsv_noeeprom(HSV_PINK); - break; - case _TEXT_NAV: - rgblight_sethsv_noeeprom(HSV_BLUE); - break; - case _ADJUST: - rgblight_sethsv_noeeprom(HSV_ORANGE); - break; - case _FN_KEYS: - rgblight_sethsv_noeeprom(HSV_PURPLE); - break; - default: - break; - } - // override color with mods - - if(get_mods() & MOD_MASK_SHIFT){ - rgblight_sethsv_noeeprom(HSV_RED); - } - if(get_mods() & MOD_MASK_CTRL){ - rgblight_sethsv_noeeprom(HSV_MAGENTA); - } - if(get_mods() & MOD_MASK_ALT){ - rgblight_sethsv_noeeprom(HSV_YELLOW); - } - if(get_mods() & MOD_MASK_GUI){ - rgblight_sethsv_noeeprom(HSV_TEAL); - } - // return state; -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -void oled_render_general_state(void){ - set_lighting_user(); - - keymap_config.raw = eeconfig_read_keymap(); - if(keymap_config.swap_lctl_lgui){ - oled_write_ln_P(PSTR("Linux"), false); - } - else { - oled_write_ln_P(PSTR("OSX"), false); - } - - //oled_write_ln(get_u8_str(get_current_wpm(), '0'), false); - /* - led_t led_state = host_keyboard_led_state(); - if(led_state.caps_lock){ - rgblight_sethsv(HSV_RED); - }*/ - //Layer color has to be handled by master - - - // led state doesn't have to be handled by master, but - // the keyboard will freeze if you type too fast - // and have this handled on the slave side - - led_t led_state = host_keyboard_led_state(); - if(led_state.caps_lock){ - oled_write_ln_P(PSTR("CAPS"), false); - } else { - oled_write_ln_P(PSTR(" "), false); - } - if(led_state.num_lock){ - oled_write_ln_P(PSTR("NumLk"), false); - } else { - oled_write_ln_P(PSTR(" "), false); - } - if(led_state.scroll_lock){ - oled_write_ln_P(PSTR("Scrol"), false); - } else { - oled_write_ln_P(PSTR(" "), false); - } - if(led_state.compose){ - oled_write_ln_P(PSTR("comp"), false); - } else { - oled_write_ln_P(PSTR(" "), false); - } -} - -void oled_render_layer_mod_state(void) { - //Layer - uint8_t layer = get_highest_layer(layer_state); - switch (layer) { - case _BASE: - oled_write_ln_P(PSTR("Base"), false); - //rgblight_sethsv(HSV_OFF); - break; - case _NUMS: - oled_write_ln_P(PSTR("Symb"), false); - break; - case _NUM_MASK: - oled_write_ln_P(PSTR("NumX"), false); - break; - case _TEXT_NAV: - oled_write_ln_P(PSTR("Text"), false); - break; - case _ADJUST: - oled_write_ln_P(PSTR("Adj"), false); - break; - case _FN_KEYS: - oled_write_ln_P(PSTR("Fn"), false); - break; - default: - break; - } - oled_write_ln_P(PSTR(" "), false); - // mods - if(get_mods() & MOD_MASK_SHIFT){ - oled_write_ln_P(PSTR("SHIFT"), false); - } - if(get_mods() & MOD_MASK_CTRL){ - oled_write_ln_P(PSTR("ctrl"), false); - } - if(get_mods() & MOD_MASK_ALT){ - oled_write_ln_P(PSTR("alt"), false); - } - if(get_mods() & MOD_MASK_GUI){ - oled_write_ln_P(PSTR("GUI"), false); - } - if(!get_mods()){ - oled_write_ln_P(PSTR(" "), false); - oled_write_ln_P(PSTR(" "), false); - oled_write_ln_P(PSTR(" "), false); - oled_write_ln_P(PSTR(" "), false); - } -} - - -/* https://joric.github.io/qle/ - font */ - - -// render general state on master, a little bit of info on slave side -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_general_state(); - } - else { - oled_render_layer_mod_state(); - } - return false; -} - -#endif diff --git a/keyboards/crkbd/keymaps/nimishgautam/readme.md b/keyboards/crkbd/keymaps/nimishgautam/readme.md deleted file mode 100644 index 98906afa1001..000000000000 --- a/keyboards/crkbd/keymaps/nimishgautam/readme.md +++ /dev/null @@ -1,47 +0,0 @@ -# Full-featured Corne layout for Linux and MacOS - -This is a generic layout for Corne, especially for someone who: - -* has to type in English -* occasionally has to type in Swedish -* Switches regularly between Linux and MacOS -* Prioritizes text navigation - * This includes selecting whole lines and deleting words -* uses VIM or VIM bindings for text navigation -* uses the 'compose' feature in Linux and uses the 'mac user dictionary' trick for getting compose features -* Home row modifiers for optimal ergo (hopefully optimal) - -This also features: -* OLED displays: - * indicating OS and LED status (scroll lock, numlock, caps, compose) on the master side - * layer and modifiers on the slave side -* LED lights: - * color changes to indicate layer and modifier status - * LED matrix effects around keypresses - -## Major notes - -### OS 'detection' -* I assume MacOS as the default. Using the ctrl/gui swap magic keycode switches everything to Linux - * Most of the Linux codes should work in Windows - * Yes, there are lots of if-statements around which key code to send here... this isn't the most sustainable way to do it, but is the most memory-efficient way I could come up with - -### RGB matrix effects -* Not all RGB matrix effects are compatible with changing the color on layer/mod change. Some of them get caught in a loop and freeze half of the keyboard, so beware of which ones you activate -* Some RGB settings are stored in eeprom (despite me using the `noeeprom()` version of functions) If something is weird, try clearing eeprom -* The color-changing function probably _should_ be in the `layer_state_set_user` function, except that function doesn't give the state of the modifiers. So instead I have it done in a call that updates the OLEDs - -### LED state explicitly not shared -* For some reason, sharing the LED state (as a split keyboard function) will cause the slave side of the keyboard to freeze up if you type too fast. Don't do it! - -### Windowing shortcuts -* Again, MacOS is assumed to be the default so I changed as many Linux shortcuts as I could to make them compatible with MacOS. Some of them don't have default shortcuts defined (such as 'move window left' or 'launch calculator') so I just made those as needed - -### Right-shift preferred -* At the time of this writing, left-shift wasn't always being registered as a modifier key when checking modmasks, so I stuck with everything using right-shift as it had the expected effects - -### Compose key -* I used [macos compose](https://github.com/Granitosaurus/macos-compose) - - - diff --git a/keyboards/crkbd/keymaps/nimishgautam/rules.mk b/keyboards/crkbd/keymaps/nimishgautam/rules.mk deleted file mode 100644 index 84ae6248cbdd..000000000000 --- a/keyboards/crkbd/keymaps/nimishgautam/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -RGB_MATRIX_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -COMBO_ENABLE = yes -TAP_DANCE_ENABLE = yes # enable tap dance features -EXTRAKEY_ENABLE = no -GRAVE_ESC_ENABLE = no -SPACE_CADET_ENABLE = no -#WPM_ENABLE = yes -#CAPS_WORD_ENABLE = yes # if you hold down both shifts, you get lshift enabled for 1 word, but only works with KC shift, not MOD shift :( -#AUTO_SHIFT_ENABLE = yes -#UNICODE_ENABLE = yes # enable unicode diff --git a/keyboards/crkbd/keymaps/ninjonas/README.md b/keyboards/crkbd/keymaps/ninjonas/README.md deleted file mode 100644 index 84b55906f859..000000000000 --- a/keyboards/crkbd/keymaps/ninjonas/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# ninjonas Keymap for [Corne Keyboard (crkbd)](https://github.com/foostan/crkbd) - -## Keymap -This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas). - -More information about the crkbd keyboard can be found [here](https://thomasbaart.nl/2018/11/26/corne-keyboard-helidox-build-log/) - -### QWERTY -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // Tab, Q, W, E, R, T, Y, U, I, O, P, \ - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // ESC, A, S, D, F, G, H, J, K, L, ;, ' - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // LShift, Z, X, C, V, B, N, M, ,, ., /, = - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // Cmd, Ctrl, Space, Enter, BackSP, Del - //`---------------------' `---------------------' -``` - -### DVORAK -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // Tab, ', ,, ., P, Y, F, G, C, R, L, \ - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // ESC, A, O, E, U, I, D, H, T, N, S, / - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // LShift, ;, Q, J, K, X, B, M, W, V, Z, = - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // Cmd, Ctrl, Space, Enter, BackSP, Del - //`---------------------' `---------------------' -``` - -### COLEMAK -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // Tab, Q, W, F, P, G, J, L, U, Y, ;, \ - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // ESC, A, R, S, T, D, H, N, E, I, O, ' - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // LShift, Z, X, C, V, B, K, M, ,, ., /, = - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // Cmd, Ctrl, Space, Enter, BackSP, Del - //`---------------------' `---------------------' -``` - -### LOWER -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // , , KC_BRIU, Play, Mute, K_CSCN, PgUp, Home, Up, End, , K_MDSH - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , KC_BRID, Next, VolUp, , PgDn, Left, Down, Right, K_LOCK, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , , Prev, VolDn, [, ], , , M_CODE, M_XXX1, M_PYNV, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , , , , - //`---------------------' `---------------------' -``` - -### RAISE -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // `, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, - - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // ~, !, @, #, $, %, ^, &, *, (, ), _ - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // F11, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F12 - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , , , , - //`---------------------' `---------------------' -``` - -### ADJUST -```c - //,----------------------------------------------------. ,----------------------------------------------------. - // M_MAKE, EE_CLR , , , , , RGB_TOG, , , COLEMAK, DVORAK, QWERTY, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // M_VRSN, M_MALL, , RGB_SAI, RGB_HUI, RGB_VAI, , , , , , , - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // M_FLSH, , , RGB_SAD, RGB_HUD, RGB_VAD, RGB_M_P, RGB_M_B,RGB_M_SW, , , , - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - // , , , , , - //`---------------------' `---------------------' -``` - - \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h deleted file mode 100644 index fa3711ce8f7a..000000000000 --- a/keyboards/crkbd/keymaps/ninjonas/config.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define TAPPING_TERM 200 - -#define MASTER_LEFT - -#define QUICK_TAP_TERM 0 - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 - #define RGB_MATRIX_HUE_STEP 10 - #define RGB_MATRIX_SAT_STEP 10 - #define RGB_MATRIX_VAL_STEP 10 - #define RGB_MATRIX_SPD_STEP 10 - // #define RGB_MATRIX_KEYPRESSES - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - -// BEGIN: Disable RGB Effects -//#undef ENABLE_RGB_MATRIX_SOLID_COLOR -//#undef ENABLE_RGB_MATRIX_ALPHAS_MODS -//#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - -// BEGIN: RGB_MATRIX_FRAMEBUFFER_EFFECTS -# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -// END: RGB_MATRIX_FRAMEBUFFER_EFFECTS - -// BEGIN: RGB_MATRIX_KEYPRESSES -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -// END: RGB_MATRIX_KEYPRESSES -// END: Disable RGB Effects -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" -#define OLED_DISABLE_TIMEOUT - -#define LAYOUT LAYOUT_split_3x6_3 diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c deleted file mode 100644 index 66b89f3a9847..000000000000 --- a/keyboards/crkbd/keymaps/ninjonas/keymap.c +++ /dev/null @@ -1,101 +0,0 @@ -#include QMK_KEYBOARD_H -#include "ninjonas.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - ________MOD_LEFT_________, ________MOD_RIGHT________ - //`---------------------' `---------------------' - ), - - [_DVORAK] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________DVORAK_L3______________________, _____________________DVORAK_R3______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - ________MOD_LEFT_________, ________MOD_RIGHT________ - //`---------------------' `---------------------' - ), - - [_COLEMAK] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________COLEMAK_L3_____________________, _____________________COLEMAK_R3_____________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - ________MOD_LEFT_________, ________MOD_RIGHT________ - //`---------------------' `---------------------' - ), - - [_LOWER] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________LOWER_L3_______________________, _____________________LOWER_R3_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______,_______,_______, _______,_______,_______ - //`---------------------' `---------------------' - ), - - [_RAISE] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________SYM_LEFT_______________________, _____________________SYM_RIGHT______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______,_______,_______, _______,_______,_______ - //`---------------------' `---------------------' - ), - - [_ADJUST] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _____________________ADJUST_L3______________________, _____________________ADJUST_R3______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______,_______,_______, _______,_______,_______ - //`---------------------' `---------------------' - ), - - [_NUMPAD] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - _______, _______, _______, _______, _______, _______, _____________________NUMPAD_1_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______, _______, _______, _______, _______, _______, _____________________NUMPAD_2_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______, _______, _______, _______, _______, _______, _____________________NUMPAD_3_______________________, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______,_______,_______, _______,_______,_______ - //`---------------------' `---------------------' - ), -/* - [_TEMPLATE] = LAYOUT_wrapper( - //,----------------------------------------------------. ,----------------------------------------------------. - 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, - //|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------| - _______,_______,_______, _______,_______,_______ - //`---------------------' `---------------------' - ), -*/ -}; diff --git a/keyboards/crkbd/keymaps/ninjonas/rules.mk b/keyboards/crkbd/keymaps/ninjonas/rules.mk deleted file mode 100644 index c40a827798ac..000000000000 --- a/keyboards/crkbd/keymaps/ninjonas/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -RGB_MATRIX_ENABLE = yes -MOUSEKEY_ENABLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/oled_sample/config.h b/keyboards/crkbd/keymaps/oled_sample/config.h deleted file mode 100644 index 14718b26d164..000000000000 --- a/keyboards/crkbd/keymaps/oled_sample/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 USE_MATRIX_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 -#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 -#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 OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/oled_sample/keymap.c b/keyboards/crkbd/keymaps/oled_sample/keymap.c deleted file mode 100644 index 1a48165e3fa6..000000000000 --- a/keyboards/crkbd/keymaps/oled_sample/keymap.c +++ /dev/null @@ -1,209 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 crkbd_layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) -#define CTLTB CTL_T(KC_TAB) -#define GUIEI GUI_T(KC_LNG2) -#define ALTKN ALT_T(KC_LNG1) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - CTLTB, 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, - GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN - ), - - [_LOWER] = LAYOUT_split_3x6_3( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - CTLTB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, - KC_LSFT, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, - GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN - ), - - [_RAISE] = LAYOUT_split_3x6_3( - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - CTLTB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN - - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - return state; -} - - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return rotation; - } -} - -void render_crkbd_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -# define KEYLOG_LEN 5 -char keylog_str[KEYLOG_LEN] = {}; -uint8_t keylogs_str_idx = 0; -uint16_t log_timer = 0; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void add_keylog(uint16_t keycode) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { - keycode = keycode & 0xFF; - } - - for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) { - keylog_str[i] = keylog_str[i - 1]; - } - if (keycode < 60) { - keylog_str[0] = code_to_name[keycode]; - } - keylog_str[KEYLOG_LEN - 1] = 0; - - log_timer = timer_read(); -} - -void update_log(void) { - if (timer_elapsed(log_timer) > 750) { - add_keylog(0); - } -} - -void render_keylogger_status(void) { - oled_write_P(PSTR("KLogr"), false); - oled_write(keylog_str, false); -} - -void render_default_layer_state(void) { - oled_write_P(PSTR("Lyout"), false); - switch (get_highest_layer(default_layer_state)) { - case _QWERTY: - oled_write_P(PSTR(" QRTY"), false); - break; - } -} - -void render_layer_state(void) { - oled_write_P(PSTR("LAYER"), false); - oled_write_P(PSTR("Lower"), layer_state_is(_LOWER)); - oled_write_P(PSTR("Raise"), layer_state_is(_RAISE)); -} - -void render_keylock_status(uint8_t led_usb_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)); -} - -void render_mod_status(uint8_t modifiers) { - oled_write_P(PSTR("Mods:"), false); - oled_write_P(PSTR(" "), false); - oled_write_P(PSTR("S"), (modifiers & MOD_MASK_SHIFT)); - oled_write_P(PSTR("C"), (modifiers & MOD_MASK_CTRL)); - oled_write_P(PSTR("A"), (modifiers & MOD_MASK_ALT)); - oled_write_P(PSTR("G"), (modifiers & MOD_MASK_GUI)); -} - -void render_bootmagic_status(void) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - oled_write_P(PSTR("BTMGK"), false); - oled_write_P(PSTR(" "), false); - oled_write_P(logo[0][0], !keymap_config.swap_lctl_lgui); - oled_write_P(logo[1][0], keymap_config.swap_lctl_lgui); - oled_write_P(PSTR(" "), false); - oled_write_P(logo[0][1], !keymap_config.swap_lctl_lgui); - oled_write_P(logo[1][1], keymap_config.swap_lctl_lgui); - oled_write_P(PSTR(" NKRO"), keymap_config.nkro); -} - -void render_status_main(void) { - /* Show Keyboard Layout */ - render_default_layer_state(); - render_keylock_status(host_keyboard_leds()); - render_mod_status(get_mods()); - render_bootmagic_status(); - - render_keylogger_status(); -} - -bool oled_task_user(void) { - update_log(); - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_crkbd_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - add_keylog(keycode); - } - return true; -} -#endif diff --git a/keyboards/crkbd/keymaps/oled_sample/rules.mk b/keyboards/crkbd/keymaps/oled_sample/rules.mk deleted file mode 100644 index d9db223cfa5e..000000000000 --- a/keyboards/crkbd/keymaps/oled_sample/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h deleted file mode 100644 index 9ad1ce2c58e0..000000000000 --- a/keyboards/crkbd/keymaps/ollyhayes/config.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 2022 Olly Hayes (@ollyhayes) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 - -#define NO_ACTION_ONESHOT - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" - -#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - - -// 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_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_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 RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 200 -// # 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 diff --git a/keyboards/crkbd/keymaps/ollyhayes/keymap.c b/keyboards/crkbd/keymaps/ollyhayes/keymap.c deleted file mode 100644 index 5b9bc6cd4e90..000000000000 --- a/keyboards/crkbd/keymaps/ollyhayes/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2022 Olly Hayes (@ollyhayes) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "ollyhayes.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_split_3x6_3( -// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+ - NUM_SWITCH , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC , - KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ENT , - KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT , - KC_LCTL , MO(PUNC) , MO(ARR) , KC_SPC , MO(PUNC) , KC_RCTL -// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+ - ), - - [QWERTY] = LAYOUT_split_3x6_3( -// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+ - KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_TRNS , - KC_TRNS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS , - KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS -// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+ - ), - - [GAMES] = LAYOUT_split_3x6_3( -// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+ - KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_TRNS , - KC_TRNS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS , - KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS , - KC_TRNS , KC_LALT , KC_SPACE , MO(ARR) , KC_TRNS , KC_TRNS -// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+ - ), - - [NUM] = LAYOUT_split_3x6_3( -// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+ - KC_TRNS , MO(FUNCTIONS) , KC_1 , KC_2 , KC_3 , DF(BASE) , C(KC_GRV) , KC_7 , KC_8 , KC_9 , KC_TRNS , KC_TRNS , - KC_TRNS , MO(MEDIA) , KC_4 , KC_5 , KC_6 , DF(GAMES) , KC_NO , KC_4 , KC_5 , KC_6 , KC_TRNS , KC_TRNS , - KC_TRNS , KC_0 , KC_7 , KC_8 , KC_9 , DF(QWERTY), KC_NO , KC_1 , KC_2 , KC_3 , KC_TRNS , KC_TRNS , - KC_DOT , KC_TRNS , KC_TAB , KC_TRNS , KC_0 , KC_DOT -// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+ - ), - - [FUNCTIONS] = LAYOUT_split_3x6_3( -// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+ - KC_TRNS , KC_TRNS , KC_TRNS , KC_F8 , KC_F9 , KC_F12 , KC_F12 , KC_F7 , KC_F8 , KC_F9 , KC_TRNS , KC_TRNS , - TG(FUNCTIONS) , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_F11 , KC_F11 , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_F10 , KC_F10 , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS -// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+ - ), - - [ARR] = LAYOUT_split_3x6_3( -// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+ - KC_TRNS , KC_TRNS , KC_HOME , KC_PGUP , KC_PGDN , KC_END , KC_HOME , KC_PGDN , KC_PGUP , KC_END , KC_TRNS , KC_TRNS , - KC_ENT , KC_DEL , KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_DEL , KC_TRNS , - KC_TRNS , KC_INS , C(KC_LEFT), KC_LGUI , KC_LALT , C(KC_RGHT) , C(KC_LEFT), DOWN4 , UP4 , C(KC_RGHT), KC_INS , KC_TRNS , - KC_TRNS , KC_F12 , KC_TRNS , KC_TRNS , KC_F12 , KC_TRNS -// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+ - ), - - [PUNC] = LAYOUT_split_3x6_3( -// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+ - ALTTAB , S(KC_1) , S(KC_2) , UC(0x20ac), S(KC_4) , S(KC_5) , S(KC_6) , S(KC_7) , S(KC_8) , S(KC_9) , S(KC_0) , KC_TRNS , - KC_TRNS , S(KC_NUBS) , S(KC_GRV) , KC_LBRC , KC_RBRC , S(KC_NUHS) , KC_QUOT , S(KC_LBRC) , S(KC_RBRC) , KC_MINS , S(KC_EQL) , KC_TRNS , - KC_TRNS , KC_NUBS , KC_GRV , KC_LGUI , KC_LALT , KC_NUHS , S(KC_QUOT) , KC_LALT , KC_LGUI , S(KC_MINS) , KC_EQL , KC_TRNS , - KC_TRNS , MO(DUBPUNC) , KC_MPLY , KC_TRNS , MO(DUBPUNC) , KC_TRNS -// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+ - ), - - [MEDIA] = LAYOUT_split_3x6_3( -// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+ - QK_BOOT , RGB_RMOD , RGB_MOD , RGB_TOG , RGB_HUD , RGB_HUI , RGB_HUD , RGB_HUI , RGB_TOG , RGB_RMOD, RGB_MOD , KC_SLEP , - KC_TRNS , KC_TRNS , KC_TRNS , KC_VOLD , KC_VOLU , RGB_MODE_PLAIN , RGB_MODE_PLAIN , KC_VOLD , KC_VOLU , KC_TRNS , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , RGB_VAD , RGB_VAI , RGB_SAD , RGB_SAI , RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS -// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+ - ), - - [DUBPUNC] = LAYOUT_split_3x6_3( -// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+ - KC_TRNS , KC_TRNS , KC_TRNS , UC(0x00a3), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , U_UMLAUT , KC_TRNS , KC_TRNS , KC_TRNS , - KC_TRNS , A_UMLAUT , KC_TRNS , UC(0x00df), UC(0x2713) , KC_TRNS , UC(0x00b0), KC_TRNS , KC_TRNS , KC_TRNS , O_UMLAUT , KC_TRNS , - KC_TRNS , KC_TRNS , UC(0x2717), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS -// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+ - ) -}; - -/* -[TEMPLATE] = LAYOUT_split_3x6_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 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS -// +--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -), -*/ diff --git a/keyboards/crkbd/keymaps/ollyhayes/oled.c b/keyboards/crkbd/keymaps/ollyhayes/oled.c deleted file mode 100644 index 33db85fbb799..000000000000 --- a/keyboards/crkbd/keymaps/ollyhayes/oled.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2022 Olly Hayes (@ollyhayes) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "ollyhayes.h" - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_NUM 8 -#define L_FUNCTIONS 16 -#define L_ARR 32 -#define L_PUNC 64 -#define L_DUBPUNC 128 -#define L_MEDIA 256 - -#define DL_COLEMAK 1 -#define DL_QWERTY 2 -#define DL_GAMES 4 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - switch (default_layer_state) { - case DL_QWERTY: - oled_write_ln_P(PSTR("Qwerty"), false); - break; - case DL_GAMES: - oled_write_ln_P(PSTR("Games"), false); - break; - case DL_COLEMAK: - default: - oled_write_ln_P(PSTR("Colemak"), false); - break; - } - break; - case L_NUM: - oled_write_ln_P(PSTR("Numbers"), false); - break; - case L_FUNCTIONS: - case L_FUNCTIONS|L_NUM: - oled_write_ln_P(PSTR("Functions"), false); - break; - case L_ARR: - oled_write_ln_P(PSTR("Navigation"), false); - break; - case L_PUNC: - oled_write_ln_P(PSTR("Punctuation"), false); - break; - case L_MEDIA: - case L_MEDIA|L_NUM: - oled_write_ln_P(PSTR("Media"), false); - break; - case L_DUBPUNC: - case L_DUBPUNC|L_PUNC: - oled_write_ln_P(PSTR("Specials"), false); - break; - } -} - -void oled_render_timer(void) { - static uint16_t microticks = 0; - static uint16_t ticks = 0; - - if (microticks++ % 1000 == 0) { - ticks++; - } - - oled_write_P(PSTR("Ticks: "), false); - oled_write_ln(get_u16_str(ticks, ' '), false); -} - -void oled_render_presses(void) { - oled_write_P(PSTR("Presses: "), false); - oled_write_ln(get_u16_str(key_presses, ' '), false); -} - -void oled_render_rgb_mode(void) { - oled_write_P(PSTR("Animation: "), false); - oled_write_ln(get_u8_str(rgb_matrix_get_mode(), ' '), false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - } - oled_render_timer(); - if (is_keyboard_master()) { - oled_render_presses(); - } - oled_render_rgb_mode(); - return false; -} diff --git a/keyboards/crkbd/keymaps/ollyhayes/readme.md b/keyboards/crkbd/keymaps/ollyhayes/readme.md deleted file mode 100644 index 9e63f780ff46..000000000000 --- a/keyboards/crkbd/keymaps/ollyhayes/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -# ollyhayes's keymap for [Corne Keyboard (crkbd)](https://github.com/foostan/crkbd) - -## Keymap - -After many years of changing my keymap often and reperatedly, I finally came to a stable version. I've been using this for a while now with only small tweaks every so often. - -All layers are activated only whilst the layer key is held, except the default layers. - -Lots of keys are repeated on both sides. I find this really useful for two reasons: - -* I like to have the option to use the opposite hand to hold modifiers shift/ctrl etc as the hand pressing the key, I find this really comfortable. -* When using the mouse, I like to be able to do common things with just my left hand. - -### Colemak - -The base layer: - -![colemak](https://i.imgur.com/uxLJzul.png) - -### Navigation - -All things for moving the cursor around, inspired by vim. - -* `c←` is ctrl+left -* `↓↓↓↓` is ↓ pressed four times - -![navigation](https://i.imgur.com/xfkA0ze.png) - -### Symbols - -The shifted number row and all brackets and other symbols. - -* `a/t` is alt-tab for window switching in windows/linux. Using some special code to release alt when the punc key is released, this works quite nicely. - -![symbols](https://i.imgur.com/t9Jygs1.png) - -### Specials - -Some extra symbols (linux only for now) that work by sending UTF sequences. Layer activated by holding both punctuation layer keys. - -![specials](https://i.imgur.com/AtPWKrA.png) - -### Numbers - -Numbpads (left version is reversed so 1, 2, 3 are easy to reach with one hand (like on a regular keyboard). - -Also the keys to switch the default layer are here. - -![numbers](https://i.imgur.com/9XXcAXK.png) - -### Functions - -Function keys, nothing too interesting. - -![functions](https://i.imgur.com/ttrw3FJ.png) - -### Games (default layer) - -Used for some games, qwerty with space bar and alt for the left hand. - -![games](https://i.imgur.com/zVvHWKd.png) - -### Qwerty (default layer) - -Mostly for guests. - -![qwerty](https://i.imgur.com/Bqs1bjV.png) diff --git a/keyboards/crkbd/keymaps/ollyhayes/rules.mk b/keyboards/crkbd/keymaps/ollyhayes/rules.mk deleted file mode 100644 index 2dcd9007e573..000000000000 --- a/keyboards/crkbd/keymaps/ollyhayes/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -SRC += oled.c - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -EXTRAKEY_ENABLE = yes -UNICODE_ENABLE = yes - -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -# RGB_MATRIX_CUSTOM_USER = yes - -VIRTSER_ENABLE = yes - -LTO_ENABLE = yes - -MOUSEKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/oo/config.h b/keyboards/crkbd/keymaps/oo/config.h deleted file mode 100644 index 814d227d7d05..000000000000 --- a/keyboards/crkbd/keymaps/oo/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define SPLIT_USB_DETECT - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/oo/keymap.c b/keyboards/crkbd/keymaps/oo/keymap.c deleted file mode 100644 index bcc296c8b603..000000000000 --- a/keyboards/crkbd/keymaps/oo/keymap.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - Copyright 2019 @foostan - Copyright 2020 Drashna Jaelre <@drashna> - Copyright 2021 Oliver Ocean <@oliverocean> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_3x6_3( - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RALT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, MO(1), KC_ENT, MO(2), KC_SPC, KC_RGUI - // |--------+--------+--------| |--------+--------+--------| - ), - - [1] = LAYOUT_split_3x6_3( - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_BSLS, KC_UNDS, KC_TAB, KC_PEQL, KC_TILD, KC_GRV, KC_PEQL, KC_TAB, KC_UNDS, KC_BSLS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - 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_TRNS, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS - // |--------+--------+--------| |--------+--------+--------| - ), - - [2] = LAYOUT_split_3x6_3( - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_PIPE, KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_GT, KC_PIPE, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PMNS, KC_PPLS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_CAPS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_CAPS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS - // |--------+--------+--------| |--------+--------+--------| - ) - -}; - - -#ifdef OLED_ENABLE -#include -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/oo/readme.md b/keyboards/crkbd/keymaps/oo/readme.md deleted file mode 100644 index e7ef68659959..000000000000 --- a/keyboards/crkbd/keymaps/oo/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Build instructions - -```zsh -# if this is a fresh install of QMK, don't forget to run setup -# or you might be missing necessary tools and libraries! -# https://docs.qmk.fm/#/newbs_getting_started -$ qmk setup - -# using json via the configurator can be easier than starting from scratch -# but you will need to go back and make the formatting readable for future edits -$ qmk json2c -o keymap.c keymap.json - -# compile; use appropriate tool for your microcontroller -$ qmk compile -kb crkbd/rev1/common -km oo - -# flash; each side has to be done separately -$ qmk flash -kb crkbd/rev1/common -km oo - -``` diff --git a/keyboards/crkbd/keymaps/oo/rules.mk b/keyboards/crkbd/keymaps/oo/rules.mk deleted file mode 100644 index d34d066ded93..000000000000 --- a/keyboards/crkbd/keymaps/oo/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/pdl/config.h b/keyboards/crkbd/keymaps/pdl/config.h deleted file mode 100644 index f2a5a522eac3..000000000000 --- a/keyboards/crkbd/keymaps/pdl/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2021 Daniel Perrett - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -#define TAPPING_TOGGLE 2 -#define TAPPING_TERM 200 - -#define COMBO_PDL -#define COMBO_TERM 100 diff --git a/keyboards/crkbd/keymaps/pdl/keymap.c b/keyboards/crkbd/keymaps/pdl/keymap.c deleted file mode 100644 index 1060a92650d4..000000000000 --- a/keyboards/crkbd/keymaps/pdl/keymap.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2022 Daniel Perrett - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "pdl.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( - MY_FESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, - KC_TAB, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, - MY_SBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_CENT, - KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN - ), - [_PROXIM] = LAYOUT_wrapper( - MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, - KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, - MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_CENT, - KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN - ), - [_NAVIGN] = LAYOUT_wrapper( - _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - [_PUNCTN] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______ - ), - [_NUMBRS] = LAYOUT_wrapper( - _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - [_CODING] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, - _______, _______, _______, _______, _______, _______ - ), - [_FUNCTN] = LAYOUT_wrapper( - _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, - _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, - _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/crkbd/keymaps/rarick/config.h b/keyboards/crkbd/keymaps/rarick/config.h deleted file mode 100644 index 4a033596a896..000000000000 --- a/keyboards/crkbd/keymaps/rarick/config.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -// Sets path to OLED font -#define OLED_FONT_H "keyboards/crkbd/keymaps/rarick/glcdfont.c" - -// Limits maximum brightness of LEDs to 150 out of 255 -// Higher may cause the controller to crash. -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 diff --git a/keyboards/crkbd/keymaps/rarick/glcdfont.c b/keyboards/crkbd/keymaps/rarick/glcdfont.c deleted file mode 100644 index ae81ba573765..000000000000 --- a/keyboards/crkbd/keymaps/rarick/glcdfont.c +++ /dev/null @@ -1,233 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. - -#include "progmem.h" - -// Standard ASCII 5x7 font -// Cowboy Bebop -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, - 0x06, 0x06, 0x06, 0x7F, 0xFF, 0xFF, - 0xFF, 0x07, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, - 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0xFF, 0xFF, - 0xFF, 0x36, 0x3E, 0x7F, 0x3E, 0x1C, - 0x1C, 0x1C, 0x1C, 0x7F, 0xFF, 0x1C, - 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, - 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, - 0x30, 0x30, 0x30, 0x7F, 0x7F, 0x7F, - 0x7F, 0x70, 0x40, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x48, - 0x54, 0x24, 0x00, 0x78, 0x54, 0x54, - 0x04, 0x78, 0x54, 0x54, 0x04, 0x00, - 0x00, 0x0C, 0x70, 0x08, 0x04, 0x78, - 0x44, 0x44, 0x3C, 0x00, 0x78, 0x40, - 0x40, 0x3C, 0x00, 0x00, 0x40, 0x48, - 0x54, 0x24, 0x00, 0x78, 0x14, 0x14, - 0x48, 0x30, 0x28, 0x7C, 0x00, 0x78, - 0x44, 0x44, 0x04, 0x78, 0x54, 0x54, - 0x04, 0x00, 0x00, 0x78, 0x44, 0x44, - 0x04, 0x78, 0x44, 0x44, 0x3C, 0x00, - 0x7C, 0x20, 0x18, 0x78, 0x30, 0x0C, - 0x78, 0x54, 0x54, 0x28, 0x78, 0x44, - 0x44, 0x3C, 0x00, 0x0C, 0x70, 0x08, - 0x44, 0x00, 0x40, 0x00, 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, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rarick/keymap.c b/keyboards/crkbd/keymaps/rarick/keymap.c deleted file mode 100644 index 00bf3d900e54..000000000000 --- a/keyboards/crkbd/keymaps/rarick/keymap.c +++ /dev/null @@ -1,178 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 - -#define KC_SFTTB LSFT_T(KC_TAB) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_SFTTB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, MO(1), KC_SPC, KC_ENT, MO(2), KC_RGUI - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_PGUP, KC_UP, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_0, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_HOME, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_1, KC_2, KC_3, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, MO(3), _______ - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, MO(3), _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ) -}; - -#ifdef OLED_DRIVER_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Spike"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Jet"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Faye"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Ed"), false); - break; - } -} - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} - -#endif // OLED_DRIVER_ENABLE diff --git a/keyboards/crkbd/keymaps/rarick/rules.mk b/keyboards/crkbd/keymaps/rarick/rules.mk deleted file mode 100644 index 775268a1d472..000000000000 --- a/keyboards/crkbd/keymaps/rarick/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Bootloader for the elite-c -BOOTLOADER = atmel-dfu - -# Enable RGB matric -RGB_MATRIX_ENABLE = yes - -# Enable OLED driver -OLED_DRIVER_ENABLE = yes - -# Enable media keys -EXTRAKEY_ENABLE = yes - -# Disabled to save space -MOUSEKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/rjhilgefort/config.h b/keyboards/crkbd/keymaps/rjhilgefort/config.h deleted file mode 100644 index a7eb8b2a4fbe..000000000000 --- a/keyboards/crkbd/keymaps/rjhilgefort/config.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 // 200 is default - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/rjhilgefort/keymap.c b/keyboards/crkbd/keymaps/rjhilgefort/keymap.c deleted file mode 100644 index a753b2b87220..000000000000 --- a/keyboards/crkbd/keymaps/rjhilgefort/keymap.c +++ /dev/null @@ -1,223 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 ALT_ESC ALT_T(KC_ESC) -#define CTL_ESC CTL_T(KC_ESC) -#define GUI_ESC GUI_T(KC_ESC) -#define HYPER LGUI(LSFT(KC_LALT)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // 0 - Base Mac - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(3), ALT_ESC, KC_LGUI, KC_SPC, MO(2), HYPER - //`--------------------------' `--------------------------' - ), - - // 1 - Base Linux - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - ALT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(4), GUI_ESC, KC_LCTL, KC_SPC, MO(2), HYPER - //`--------------------------' `--------------------------' - ), - - // 2 - Symbols - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD, KC_PIPE, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_GRV, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(5), _______, _______, _______, KC_TRNS, _______ - //`--------------------------' `--------------------------' - ), - - // 3 - MAN Mac - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, KC_BRMD, KC_VOLU, KC_BRMU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_MUTE, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, KC_0, MO(5), _______ - //`--------------------------' `--------------------------' - ), - - // 4 - MAN Linux - [4] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, KC_0, MO(5), _______ - //`--------------------------' `--------------------------' - ), - - // 5 - Extra - [5] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, _______, KC_TRNS, _______ - //`--------------------------' `--------------------------' - ) -}; - -#ifdef OLED_ENABLE -# include - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE_MAC 0 -#define L_BASE_LINUX 2 -#define L_SYMBOLS 4 -#define L_MAN_MAC 8 -#define L_MAN_LINUX 16 -#define L_EXTRA 32 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("L: "), false); - - switch (layer_state) { - case L_BASE_MAC: - case L_BASE_LINUX: - oled_write_ln_P(PSTR("Base"), false); - break; - case L_SYMBOLS: - oled_write_ln_P(PSTR("Symbols"), false); - break; - case L_MAN_MAC: - oled_write_ln_P(PSTR("Media/Num (Mac)"), false); - break; - case L_MAN_LINUX: - oled_write_ln_P(PSTR("Media/Num (Linux)"), false); - break; - case L_EXTRA: - case L_EXTRA|L_SYMBOLS: - case L_EXTRA|L_MAN_MAC: - case L_EXTRA|L_MAN_LINUX: - case L_EXTRA|L_SYMBOLS|L_MAN_MAC: - case L_EXTRA|L_SYMBOLS|L_MAN_LINUX: - oled_write_ln_P(PSTR("Extra"), false); - break; - default: - oled_write_ln_P(PSTR("Unhandled!"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/rjhilgefort/readme.md b/keyboards/crkbd/keymaps/rjhilgefort/readme.md deleted file mode 100644 index 6c8fd9c2248a..000000000000 --- a/keyboards/crkbd/keymaps/rjhilgefort/readme.md +++ /dev/null @@ -1,117 +0,0 @@ -# [ðŸĶ @rjhilgefort](https://twitter.com/rjhilgefort)'s Corne KBD (CRKBD) Layout - -My Corne KBD layout is inspired by [my Planck Layout](../../../planck/keymaps/rjhilgefort/readme.md), but with some additional features. Namely, this layout has Linux support. - -![](https://imgur.com/wp9ksTIh.jpg) -![](https://imgur.com/fnyiCnEh.jpg) - -## Features - -Here's some highlights/features of the layout. - -- Ergonomic symbols layer. -- Media and Numpad layer. -- Planck-like extra tri-layer when holding the other two layers. -- Supports Mac and Linux as 1st class citizens giving each a dedicated base layer and a media layer for each that matches media keys for each OS. The Linux default layer focuses on `Ctrl` instead of `Super` and vice versa for Mac. (When you set Linux as your base layer, the Linux media layer is what you shift into. Same for the Mac layer when that's the base) - -## Layers - -#### Keymap 0: Base (Mac) - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(3), ALT_ESC, KC_LGUI, KC_SPC, MO(2), HYPER - //`--------------------------' `--------------------------' -``` - -#### Keymap 1: Base (Linux) - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - ALT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(4), GUI_ESC, KC_LCTL, KC_SPC, MO(2), HYPER - //`--------------------------' `--------------------------' -``` - -#### Keymap 2: Symbol Layer - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD, KC_PIPE, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_GRV, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(5), _______, _______, _______, KC_TRNS, _______ - //`--------------------------' `--------------------------' -``` - -#### Keymap 3: Media & Numbers (MAC) - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, KC_BRMD, KC_VOLU, KC_BRMU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_MUTE, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, KC_0, MO(5), _______ - //`--------------------------' `--------------------------' -``` - -#### Keymap 4: Media & Numbers (Linux) - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, KC_0, MO(5), _______ - //`--------------------------' `--------------------------' -``` - -#### Keymap 5: Extra - -``` - ,-----------------------------------------------------. ,-----------------------------------------------------. - _______, DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, _______, _______, _______, KC_TRNS, _______ - //`--------------------------' `--------------------------' -``` - -## Building And Flashing - -Note, you'll see that most `crkbd`'s recommend a target of `avrdude` because most kits come with a Pro Micro. I put a Elite-C on mine and thus the target is `dfu`. You can see this in the [rules.mk](./rules.mk) as the `BOOTLOADER` configuration. - -#### CLI - -``` -make crkbd:rjhilgefort:flash -``` - -#### Docker - -``` -util/docker_build.sh crkbd:rjhilgefort:flash -``` diff --git a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk deleted file mode 100644 index c6c258e255e1..000000000000 --- a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# For Elite-C -BOOTLOADER = atmel-dfu - -# https://www.reddit.com/r/olkb/comments/9pyc0u/qmk_media_keys_are_not_working/ -EXTRAKEY_ENABLE = yes - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/rmeli/config.h b/keyboards/crkbd/keymaps/rmeli/config.h deleted file mode 100644 index 86104fbacbdd..000000000000 --- a/keyboards/crkbd/keymaps/rmeli/config.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2021 Rocco Meli <@RMeli> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define MASTER_LEFT // Left side is the master -#define SPLIT_LED_STATE_ENABLE - -#ifdef RGB_MATRIX_ENABLE -// RGB matrix options -# define RGB_MATRIX_KEYPRESSES // enable keypress effects -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED -// Disable unwanted R2G effects (from r2g/config.h) -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_HUE_BREATHING -# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// Enable effects -# define ENABLE_RGB_MATRIX_SOLID_COLOR -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// Default effect -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR -# define RGB_MATRIX_DEFAULT_HUE 10 -# define RGB_MATRIX_DEFAULT_SAT 255 -# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#endif - -// https://github.com/qmk/qmk_firmware/blob/develop/docs/squeezing_avr.md -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE -#define NO_MUSIC_MODE -#define LAYER_STATE_8BIT // Limit to 8 layers diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c deleted file mode 100644 index 5a04e8150fbb..000000000000 --- a/keyboards/crkbd/keymaps/rmeli/keymap.c +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) -Copyright 2021 Rocco Meli <@RMeli> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "rmeli.h" - -// + -------------------- + -// + RGB MATRIX CALLBACKS | -// + -------------------- + - -// LED numbers: -// https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md - -// Change LED color to red when CAPS LOCK is active -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(26, 255, 0, 0); - // Only works with SPLIT_LED_STATE_ENABLE - rgb_matrix_set_color(53, 255, 0, 0); - } - return false; -} - -// + ---- + -// + OLED | -// + ---- + - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_rocco(); - } else { - oled_render_meli(); - } - return false; -} - -// + ------- + -// + KEY MAP | -// + ------- + - -// Layer names -enum layer_names { - _QWERTY, - _COLEMAK_DH, - _DWN, - _UP, - _CONFIG, -}; - -// Layer names shortcuts -#define _QWY 0 -#define _CMK 1 -#define _CFG 4 - -#define ______THUMB_LEFT_x3______ KC_LGUI, MO(_DWN), KC_SPC -#define ______THUMB_RIGHT_x3_____ KC_ENT, MO(_UP), KC_RCTL - -// LAYOUT -// -// |-----------------------------| |-----------------------------| -// | | | | | | | | | | | | | | -// |----+----+----+----+----+----| |----+----+----+----+----+----| -// | | | | | | | | | | | | | | -// |----+----+----+----+----+----| |----+----+----+----+----+----| -// | | | | | | | | | | | | | | -// |----+----+----+----+----+----+----| |----+----+----+----+----+----+----| -// | | | | | | | | -// |--------------| |--------------| - -// Define wrapper for standard CRKB layout -#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_wrapper( - // clang-format off - ___________________QWERTY_L1_x6_____________________, ___________________QWERTY_R1_x6_____________________, - ___________________QWERTY_L2_x6_____________________, ___________________QWERTY_R2_x6_____________________, - ___________________QWERTY_L3_x6_____________________, ___________________QWERTY_R3_x6_____________________, - ______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____ - ), - - [_COLEMAK_DH] = LAYOUT_wrapper( - ________________COLEMAK_MOD_DH_L1_x6________________, ________________COLEMAK_MOD_DH_R1_x6________________, - ________________COLEMAK_MOD_DH_L2_x6________________, ________________COLEMAK_MOD_DH_R2_x6________________, - ________________COLEMAK_MOD_DH_L3_x6________________, ________________COLEMAK_MOD_DH_R3_x6________________, - ______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____ - ), - - [_DWN] = LAYOUT_wrapper( - _______, ______________NUMBER_LEFT_x5_______________, ______________NUMBER_RIGHT_x5______________, _______, - _______, ______________UNICODE_L2_x5________________, ________________NAV_R2_x5__________________, XXXXXXX, - _______, ______________UNICODE_L3_x5________________, ________________NAV_R3_x5__________________, _______, - KC_LGUI, _______, _______, _______,MO(_CFG), _______ - ), - - [_UP] = LAYOUT_wrapper( - ___________________SYMBOL_LEFT_x6___________________, ___________________SYMBOL_RIGHT_x6__________________, - _______, ____________NAV_VIM_x4____________, XXXXXXX, ____________________SYMBOL_R2_x6____________________, - _______, _________________NONE_5x___________________, ____________________SYMBOL_R3_x6____________________, - _______,MO(_CFG), _______, _______, _______, _______ - ), - - [_CONFIG] = LAYOUT_wrapper( - QK_BOOT, _________________NONE_5x___________________, _______________CONFIG_R1_x5________________,DF(_QWY), - RGB_TOG, ________________RGB_L2_x5__________________, _______________CONFIG_R2_x5________________, XXXXXXX, - XXXXXXX, ________________RGB_L3_x5__________________, _______________CONFIG_R3_x5________________,DF(_CMK), - _______, _______, _______, _______, _______, _______ - ) -}; -// clang-format on diff --git a/keyboards/crkbd/keymaps/rmeli/rules.mk b/keyboards/crkbd/keymaps/rmeli/rules.mk deleted file mode 100644 index 58a00ed6ba32..000000000000 --- a/keyboards/crkbd/keymaps/rmeli/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -TAP_DANCE_ENABLE = yes -AUTO_SHIFT_ENABLE = no // disable auto-shift with home row mods - -UNICODEMAP_ENABLE = yes -NKRO_ENABLE = yes -MAGIC_ENABLE = yes - -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h deleted file mode 100644 index d0cda9579460..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/config.h +++ /dev/null @@ -1,134 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ -#define EE_HANDS - -#ifdef OLED_ENABLE -# define OLED_TIMEOUT 600000 -#endif - -// #define FORCE_NKRO - -#define QMK_ESC_OUTPUT F4 // usually COL -#define QMK_ESC_INPUT D4 // usually ROW -#define QMK_LED B0 - -#define NO_ACTION_ONESHOT - -#ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 12 -# define RGB_MATRIX_VAL_STEP 10 -# define RGB_MATRIX_SPD_STEP 10 - -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - -// #undef ENABLE_RGB_MATRIX_CYCLE_ALL -// # undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -// #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN - -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses - -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -# define RGB_MATRIX_ANIMATION_SPEED_DEFAULT UINT8_MAX / 2 -# define RGB_MATRIX_ANIMATION_SPEED_SLOW RGB_MATRIX_ANIMATION_SPEED_DEFAULT / 4 -# define RGB_MATRIX_ANIMATION_SPEED_SLOWER RGB_MATRIX_ANIMATION_SPEED_SLOW / 3 -#endif - -#define TAPPING_TERM 140 -#define PERMISSIVE_HOLD - -#define TAPPING_TOGGLE 2 - -#ifdef MOUSEKEY_ENABLE -# define MOUSEKEY_DELAY 0 -# define MOUSEKEY_INTERVAL 16 -# define MOUSEKEY_MAX_SPEED 6 -# define MOUSEKEY_TIME_TO_MAX 36 -# define MOUSEKEY_WHEEL_MAX_SPEED 4 -# define MOUSEKEY_WHEEL_TIME_TO_MAX 100 -#endif - -#ifdef THEME_GODSPEED -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c" -# define THEME_HSV 132, 255, 125 -#endif - -#ifdef THEME_PULSE -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c" -# define THEME_HSV 123, 255, 125 -#endif - -#ifdef THEME_LASER -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c" -# define THEME_HSV HSV_MAGENTA -#endif - -#define NO_ACTION_ONESHOT - -#undef PRODUCT -#define PRODUCT "Corne Keyboard" - -#define LCPC_KEYS KC_LCTL, KC_LSFT, KC_9 -#define RCPC_KEYS KC_RCTL, KC_RSFT, KC_0 diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c deleted file mode 100644 index ac1f11dbbe2b..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, -0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, -0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, -0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, -0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, -0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, -0x80, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, -0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, -0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, -0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, -0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 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, 0x80, 0xC0, 0x40, 0x7F, 0xF3, -0x60, 0x20, 0x30, 0x30, 0x38, 0x18, -0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, -0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, -0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, -0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, -0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, -0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, -0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, -0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, -0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, -0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, -0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 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, -0x01, 0x01, 0x00, 0x40, 0x60, 0x31, -0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, -0x61, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, -0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x07, -0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, -0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, -0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, -0x60, 0x60, 0x60, 0x60, 0x61, 0x63, -0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, -0x07, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c deleted file mode 100644 index ac1f11dbbe2b..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, -0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, -0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, -0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, -0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, -0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, -0x80, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, -0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, -0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, -0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, -0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 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, 0x80, 0xC0, 0x40, 0x7F, 0xF3, -0x60, 0x20, 0x30, 0x30, 0x38, 0x18, -0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, -0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, -0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, -0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, -0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, -0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, -0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, -0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, -0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, -0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, -0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 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, -0x01, 0x01, 0x00, 0x40, 0x60, 0x31, -0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, -0x61, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, -0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x07, -0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, -0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, -0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, -0x60, 0x60, 0x60, 0x60, 0x61, 0x63, -0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, -0x07, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c deleted file mode 100644 index 612b7123b093..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 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, -0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, -0xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C, -0x3F, 0x0F, 0x03, 0x03, 0x03, 0x03, -0x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07, -0x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F, -0x03, 0x03, 0x03, 0x03, 0x03, 0x03, -0x03, 0x03, 0x03, 0x03, 0x03, 0x03, -0xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03, -0x03, 0x03, 0x83, 0x83, 0xE3, 0xE7, -0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 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, -0x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x80, -0x80, 0x90, 0x98, 0x9C, 0x8C, 0x80, -0x80, 0x80, 0x9C, 0x9C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x10, -0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, -0x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C, -0x0C, 0x0C, 0x80, 0x90, 0x90, 0x10, -0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, -0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C, -0x00, 0x00, 0x90, 0x90, 0x9C, 0x9C, -0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, -0x9C, 0x0C, 0x0C, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x70, 0x7C, 0x7E, -0x6F, 0x63, 0x60, 0x60, 0x60, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F, -0x07, 0x03, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x7F, 0x7F, 0x00, 0x00, -0x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x78, -0x3E, 0x0F, 0x03, 0x01, 0x00, 0x60, -0x78, 0x7E, 0x67, 0x61, 0x60, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x60, -0x70, 0x00, 0x00, 0x00, 0x00, 0x60, -0x78, 0x7E, 0x0F, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, -0x7F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c deleted file mode 100644 index 3699f4500b76..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 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, 0xF0, 0xF8, 0xF8, 0xF0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, - 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F, - 0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF, - 0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F, - 0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c deleted file mode 100644 index aeeae2cbd82f..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c +++ /dev/null @@ -1,574 +0,0 @@ -#include QMK_KEYBOARD_H - -static uint32_t oled_timer = 0; - -#ifdef RGB_MATRIX_ENABLE - static uint32_t hypno_timer; -#endif - -enum layer_names { - _COLEMAKDHM, - _GAMING, - _GAMING_EXT, - _NUMPAD, - _SYM, - _NAV, - _UTIL -}; - -enum custom_keycodes { - BSP_DEL = SAFE_RANGE, - RGB_RST, // Reset RGB - RGB_UND, // Toggle RGB underglow as layer indicator - RGB_IDL, // RGB Idling animations - RGB_MAP, // RGB_MATRIX_TYPING_HEATMAP - RGB_NXS, // RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - RGB_SOL, // RGB_MATRIX_SOLID_COLOR - RGB_CYC, // RGB_MATRIX_CYCLE_ALL - RGB_DUO, // RGB_MATRIX_RAINBOW_PINWHEELS - RGB_SCR // RGB_MATRIX_CYCLE_LEFT_RIGHT -}; - -typedef union { - uint32_t raw; - struct { - bool rgb_layer_change : 1; - bool rgb_matrix_idle_anim : 1; - uint8_t rgb_matrix_active_mode : 4; - uint8_t rgb_matrix_idle_mode : 4; - uint8_t rgb_matrix_active_speed : 8; - uint8_t rgb_matrix_idle_speed : 8; - uint16_t rgb_matrix_idle_timeout : 16; - }; -} user_config_t; - -user_config_t user_config; - -// Base layers -#define COLEMAK DF(_COLEMAKDHM) -#define GAMING DF(_GAMING) - -// Layer toggle and switch -#define T_NAV TT(_NAV) -#define S_NAV MO(_NAV) - -#define T_SYM TT(_SYM) -#define S_SYM MO(_SYM) - -// Layer keys with functionality on tap -#define NAV_0 LT(_NAV, KC_0) -#define TAB_NUM LT(_NUMPAD, KC_TAB) - -#define EXT_SF LT(_GAMING_EXT, KC_LSFT) - -// Tap/mod keys -#define RCTL_BR RCTL_T(KC_RBRC) -#define LCTL_BR LCTL_T(KC_LBRC) - -#define SFT_SPC LSFT_T(KC_SPACE) -#define SFT_ENT RSFT_T(KC_ENTER) - -// Global tab forward and backward -#define TAB_FWD LCTL(KC_TAB) -#define TAB_BCK LCTL(LSFT(KC_TAB)) -#define TAB_CLS LCTL(KC_W) - -#define WIN_CLS LALT(KC_F4) - -// CTRL become parens keys on NAV and NUM layers -#define LCT_PRN SC_LCPO -#define RCT_PRN SC_RCPC - -// ₮ -#define KC_EUR ALGR(KC_5) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAKDHM] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, BSP_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TAB_NUM, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_BR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTL_BR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, T_SYM, SFT_SPC, SFT_ENT, T_NAV, KC_RGUI - //`--------------------------' `--------------------------' - ), - - [_GAMING] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, EXT_SF, KC_SPC, _______, _______, _______ - //`--------------------------' `--------------------------' - ), - - [_GAMING_EXT] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, _______, _______, _______, _______, _______, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LBRC, KC_RBRC, _______, _______, _______, KC_BSLS, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_ENT, _______, _______ - //`--------------------------' `--------------------------' - ), - - [_NUMPAD] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, KC_P7, KC_P8, KC_P9, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PPLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, KC_EQL, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PAST, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, KC_P0, KC_DOT - //`--------------------------' `--------------------------' - ), - - [_SYM] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_MINS, KC_PLUS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCT_PRN, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, XXXXXXX, KC_EQL, KC_PIPE, KC_LT, KC_GT, KC_BSLS, RCT_PRN, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, S_SYM, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ), - - [_NAV] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCT_PRN, KC_F11, KC_F12, KC_INS, KC_PSCR, KC_CAPS, WIN_CLS, TAB_BCK, TAB_CLS, TAB_FWD, XXXXXXX, RCT_PRN, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+---------| - _______, _______, _______, _______, S_NAV, _______ - //`--------------------------' `--------------------------' - ), - - [_UTIL] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_RST, XXXXXXX, KC_MSTP, KC_VOLD, KC_MPLY, GAMING, RGB_UND, RGB_DUO, RGB_SCR, RGB_SPI, RGB_SAD, RGB_SAI, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - EE_CLR, KC_SLEP, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_SOL, RGB_CYC, RGB_SPD, RGB_VAD, RGB_VAI, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: - state = update_tri_layer_state(state, _SYM, _NAV, _UTIL); - break; - case _GAMING: - state = update_tri_layer_state(state, _GAMING_EXT, _NAV, _UTIL); - break; - } - return state; -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return OLED_ROTATION_180; - } -} - -void render_crkbd_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -# ifdef RGB_MATRIX_ENABLE -const char *rgb_matrix_anim_oled_text(uint8_t mode) { - switch (mode) { - case RGB_MATRIX_TYPING_HEATMAP: - return PSTR("Heat "); - case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: - return PSTR("Nexus"); - case RGB_MATRIX_SOLID_COLOR: - return PSTR("Solid"); - case RGB_MATRIX_CYCLE_ALL: - return PSTR("Cycle"); - case RGB_MATRIX_RAINBOW_PINWHEELS: - return PSTR("Wheel"); - case RGB_MATRIX_CYCLE_LEFT_RIGHT: - return PSTR("Wave "); - default: - return PSTR(""); - } -} -# endif - -void render_status(void) { - // oled_write_P(PSTR("Layout: "), false); - switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: - oled_write_P(PSTR("TYPE "), false); - break; - case _GAMING: - oled_write_P(PSTR("GAME "), false); - break; - } - - oled_write_P(PSTR("\n"), false); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR(" "), false); - break; - case _SYM: - oled_write_P(PSTR("Sym "), false); - break; - case _NAV: - oled_write_P(PSTR("Nav "), false); - break; - case _GAMING_EXT: - oled_write_P(PSTR("Ext "), false); - break; - case _NUMPAD: - oled_write_P(PSTR("Num "), false); - break; - case _UTIL: - oled_write_P(PSTR("Util "), false); - break; - default: - oled_write_P(PSTR("Unkn "), false); - break; - } - oled_write_P(PSTR("\n"), false); - - uint8_t modifiers = get_mods(); - - oled_write_P((modifiers & MOD_MASK_SHIFT) ? PSTR("SHIFT") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_CTRL) ? PSTR("CTRL ") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_GUI) ? PSTR("SUPER") : PSTR("\n"), false); - - oled_write_P(PSTR("\n"), false); - - uint8_t led_usb_state = host_keyboard_leds(); - 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); - -# ifdef RGB_MATRIX_ENABLE - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - - if (rgb_matrix_config.enable) { - if (user_config.rgb_matrix_idle_anim) { - oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_active_mode), false); - oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_idle_mode), false); - } else { - oled_write_P(PSTR("\n"), false); - oled_write_P(rgb_matrix_anim_oled_text(rgb_matrix_get_mode()), false); - } - } else { - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - } -# endif -} - -bool oled_task_user(void) { - if (timer_elapsed32(oled_timer) > OLED_TIMEOUT) { - oled_off(); - return; - } else { - oled_on(); - } - - if (is_keyboard_master()) { - render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_crkbd_logo(); - #ifdef RGB_MATRIX_ENABLE - if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { - oled_scroll_left(); // Turns on scrolling - } else { - oled_scroll_off(); - } - #endif - } - return false; -} -#endif - -#ifdef RGB_MATRIX_ENABLE - -extern led_config_t g_led_config; -void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_type) { - HSV hsv = {hue, sat, val}; - if (hsv.v > rgb_matrix_config.hsv.v) { - hsv.v = rgb_matrix_config.hsv.v; - } - - RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (HAS_FLAGS(g_led_config.flags[i], led_type)) { - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } - } -} - -void check_default_layer(uint8_t type) { - switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: - rgb_matrix_layer_helper(THEME_HSV, type); - break; - case _GAMING: - rgb_matrix_layer_helper(HSV_RED, type); - break; - } -} - -bool rgb_matrix_indicators_user(void) { - if ( - user_config.rgb_layer_change && rgb_matrix_config.enable && - (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode) - ) - { - switch (get_highest_layer(layer_state)) { - case _GAMING_EXT: - rgb_matrix_layer_helper(HSV_PURPLE, LED_FLAG_UNDERGLOW); - break; - case _SYM: - rgb_matrix_layer_helper(HSV_GOLDENROD, LED_FLAG_UNDERGLOW); - break; - case _NAV: - rgb_matrix_layer_helper(HSV_SPRINGGREEN, LED_FLAG_UNDERGLOW); - break; - case _UTIL: - rgb_matrix_layer_helper(HSV_PINK, LED_FLAG_UNDERGLOW); - break; - case _NUMPAD: - rgb_matrix_layer_helper(HSV_CORAL, LED_FLAG_UNDERGLOW); - break; - default: { - check_default_layer(LED_FLAG_UNDERGLOW); - break; - } - } - } - return false; -} - -void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) { - rgb_matrix_config.speed = speed; - rgb_matrix_mode_noeeprom(mode); - eeconfig_update_user(user_config.raw); -} - -void rgb_matrix_update_dynamic_mode(uint8_t mode, uint8_t speed, bool active) { - if (active) { - user_config.rgb_matrix_active_speed = speed; - user_config.rgb_matrix_active_mode = mode; - } else { - user_config.rgb_matrix_idle_speed = speed; - user_config.rgb_matrix_idle_mode = mode; - } -} - -void rgb_matrix_update_mode(uint8_t mode, uint8_t speed, bool active) { - if (user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_dynamic_mode(mode, speed, active); - } - if (active || !user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_current_mode(mode, speed); - } -} - -void rgb_matrix_set_defaults(void) { - rgb_matrix_config.enable = 1; - rgb_matrix_sethsv_noeeprom(THEME_HSV); - - user_config.rgb_layer_change = false; - user_config.rgb_matrix_idle_anim = true; - user_config.rgb_matrix_idle_timeout = 60000; - - rgb_matrix_update_dynamic_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); - rgb_matrix_update_dynamic_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true); - - eeprom_update_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config)); -} - -void matrix_scan_rgb(void) { - if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_active_mode && timer_elapsed32(hypno_timer) > user_config.rgb_matrix_idle_timeout) { - if (user_config.rgb_layer_change) { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed); - } -} - -void matrix_scan_user(void) { - static bool has_ran_yet; - if (!has_ran_yet) { - has_ran_yet = true; - startup_user(); - } - matrix_scan_rgb(); -} - -void eeconfig_init_user(void) { - user_config.raw = 0; - rgb_matrix_mode_noeeprom(user_config.rgb_matrix_active_mode); - keyboard_init(); -} - -void keyboard_post_init_user(void) { - user_config.raw = eeconfig_read_user(); - rgb_matrix_set_defaults(); - rgb_matrix_enable_noeeprom(); -} -#endif - -void suspend_power_down_keymap(void) { - oled_off(); - rgb_matrix_set_suspend_state(true); -} - -void suspend_wakeup_init_keymap(void) { - oled_on(); - rgb_matrix_set_suspend_state(false); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint8_t saved_mods = 0; - uint16_t temp_keycode = keycode; - - oled_timer = timer_read32(); - -#ifdef RGB_MATRIX_ENABLE - if (user_config.rgb_matrix_idle_anim) { - hypno_timer = timer_read32(); - if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { - rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed); - if (!user_config.rgb_layer_change) { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - } - } -#endif - - // Filter out the actual keycode from MT and LT keys. - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { - temp_keycode &= 0xFF; - } - - switch (temp_keycode) { - case BSP_DEL: - if (record->event.pressed) { - saved_mods = get_mods() & MOD_MASK_SHIFT; - - if (saved_mods == MOD_MASK_SHIFT) { // Both shifts pressed - register_code(KC_DEL); - } else if (saved_mods) { // One shift pressed - del_mods(saved_mods); // Remove any Shifts present - register_code(KC_DEL); - add_mods(saved_mods); // Add shifts again - } else { - register_code(KC_BSPC); - } - } else { - unregister_code(KC_DEL); - unregister_code(KC_BSPC); - } - return false; -#ifdef RGB_MATRIX_ENABLE - case COLEMAK: - if (record->event.pressed) { - user_config.rgb_matrix_idle_timeout = 60000; - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); - } - return true; - case GAMING: - if (record->event.pressed) { - if (!user_config.rgb_layer_change) { - user_config.rgb_layer_change = true; - } - user_config.rgb_matrix_idle_timeout = 10000; - rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); - } - return true; - case RGB_RST: - if (record->event.pressed) { - rgb_matrix_set_defaults(); - rgb_matrix_enable(); - } - break; - case RGB_UND: // Toggle separate underglow status - if (record->event.pressed) { - user_config.rgb_layer_change ^= 1; - eeconfig_update_user(user_config.raw); - if (user_config.rgb_layer_change) { - layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) - } else { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - } - break; - case RGB_IDL: // Toggle idle/heatmap animation - if (record->event.pressed) { - user_config.rgb_matrix_idle_anim ^= 1; - if (user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed, true); - } else { - rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed); - } - } - break; - case RGB_MAP: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_TYPING_HEATMAP, rgb_matrix_config.speed, true); - } - break; - case RGB_NXS: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true); - } - break; - case RGB_SOL: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_SOLID_COLOR, rgb_matrix_config.speed, false); - } - break; - case RGB_CYC: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); - } - break; - case RGB_DUO: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); - } - break; - case RGB_SCR: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); - } - break; -#endif - } - return true; -} diff --git a/keyboards/crkbd/keymaps/rpbaptist/readme.md b/keyboards/crkbd/keymaps/rpbaptist/readme.md deleted file mode 100644 index 9525cf7cfe3b..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# Corne keyboard layout - -This is my highly personalized CRKBD layout. I use Colemak DHm as main typing layer. I use this keyboard and layout in my daily programming job and for everything at home, including gaming. - -This keymap is the result of an evolution from Ultimate Hacking Keyboard to Iris, to Corne. It took many iterations and changes and only now I feel this is ready to be merged into the main QMK repository, because I think further changes will be minor. This is my 1.0 release so to speak. - -Many thanks to foostan for the keyboard, all QMK contributors and drashna specifically for his work on this keyboard. - -## Layers - -### COLEMAKDHM - -Main typing layer. I really love having SHIFT available on thumbs. I am a left thumb space bar person, so I put SPACE there and ENTER on right. I use CTRL key combos lot in my text editor and desktop environment. That's why I have two of them. I also found them to be a great position for the square brackets. (`[` and `]`). These become parenthesis (`(` and `)`) on either of the layers. - -Holding SHIFT while tapping BACKSPACE will output DEL. Holding both SHIFT keys will output SHIFT+DEL. - -I don't know about you but "lower" and "raise" don't mean that much to me. I named my layers `SYM`, short for symbols and `NAV`, short for navigation. Holding the key will activate the layer for as long as it is held, double tapping it will switch to it. Single tapping it once will switch to main layer again. - -Holding TAB will access `NUM` layer which features a numpad. - -### SYM - -Includes a number row, the symbols normally on SHIFT and numbers, as well as a numpad under right side homing keys. - -### NAV - -This is where I access arrow keys, page up, down, home, end and F keys. I also added general tab forward and backward keys. Tab close and window close. I primarily use these in my browser, terminal and text editor. - -### UTIL - -Short for utility. This is accessed by pressing both `SYM` and `NAV` at the same time. It has a software `RESET` key, media keys, RGB control and switches main layer between Colemak and a gaming layer. - -### NUMPAD - -This gives access to a numpad on the right half with some additional symbols I find useful when using the numpad. - -### GAMING - -Sometimes I switch to type in Discord, Steam, or in game chat, so I think it's more important to keep typing functional than put WASD on where I want movement to be. This means I rebind my keys in all games. It's worth it to me. - -I put movement on FRST (would be ESDF on QWERTY), because it lines up more comfortably with the columnar staggered layout of the Corne. It also gives more easy access to all keys on left half. - -Most notable here is that there are no tap and hold differences anymore on left hand side besides the new layer key. This is a different layer than `SYM`. - -### GAMING_EXT - -This is the gaming extended layer where movement keys remain the same. This means I can keep moving while accessing second layer keys. All other keys are keys on which I can easily rebind something. Besides that it gives me an ENTER key which does not switch. This is good when a game requires you to hold ENTER. - -## RGB - -I took a big inspiration from Drashna's RGB configuration and tweaked it. - -- `RGB_UND`: Toggles underglow indicators on and off. Each layer has its own color. -- `RGB_IDL`: This will enable/disable idle mode. By default, when typing, the `ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` will be used. When the idle timeout has exceeded the secondary animation will be activated, which is `RGB_MATRIX_CYCLE_ALL` by default. When switching to `GAMING` layer the timeout will be reduced and the idle animation changed to `RGB_MATRIX_RAINBOW_PINWHEELS`. - When idle mode is enabled, `RGB_MATRIX_TYPING_HEATMAP` and `RGB_MATRIX_MULTISPLASH` will be used for active animation. All others for idle animation. When disabling idle mode, the current idle animation will be activated. Additionally, on idling, the underglow layer indication will be deactivated. -- There are no RGB mode cycle keys, but instead several keys to use a specific RGB directly. Each has their own default speed, although this can be changed. - -## Building - -`make crkbd/rev1:rpbaptist:dfu` - -## Notes - -I use several OLED slave side images, depending on the keycaps I am using. These also determine the default LED color and underglow. - -`make crkbd/rev1:rpbaptist:dfu THEME=pulse` - -Current supported themes are: - -- godspeed -- laser -- pulse diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk deleted file mode 100644 index 2366f669a0d2..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk +++ /dev/null @@ -1,44 +0,0 @@ -#This enables Link Time Optimization.This can save a good chunk of space(several KB for me), but the macro and function... functions cause it to error out. -LTO_ENABLE = yes - -#Build Options -#change to "no" to disable the options, or define them in the Makefile in -#the appropriate keymap folder that will get included automatically -# -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -# DYNAMIC_MACRO_ENABLE = yes - -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -SWAP_HANDS_ENABLE = no # Enable one-hand typing - -RGB_MATRIX_ENABLE = yes - -#Do not enable SLEEP_LED_ENABLE.it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -BOOTLOADER = qmk-dfu - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -ifeq ($(strip $(THEME)), godspeed) - OPT_DEFS += -DTHEME_GODSPEED -endif - -ifeq ($(strip $(THEME)), pulse) - OPT_DEFS += -DTHEME_PULSE -endif - -ifeq ($(strip $(THEME)), laser) - OPT_DEFS += -DTHEME_LASER -endif diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h deleted file mode 100644 index bbdb0d8106b3..000000000000 --- a/keyboards/crkbd/keymaps/rs/config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 - -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/rs/keymap.c b/keyboards/crkbd/keymaps/rs/keymap.c deleted file mode 100644 index 7e2a2e066eaa..000000000000 --- a/keyboards/crkbd/keymaps/rs/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -#include QMK_KEYBOARD_H -#include "rs.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL , - //|----+----+----+----+----+----| |----+----+----+----+----+----| - KC_ESCC, 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_ENTS, - //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - KC_LALT,KC_LGUI,KC_SPC , KC_BSPC,KC_CODE,KC_FN - // `----+----+----' `+---+----+----'c - ), - [_CODE] = LAYOUT( - //,----+----+----+----+----+----. ,----+----+----+----+----+----. - KC_GRV ,KC_EXLM, KC_AT ,KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_LPLT,KC_ASTR,KC_RPGT,KC_NEQL,_______, - //|----+----+----+----+----+----| |----+----+----+----+----+----| - _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MINS,KC_LBRC, KC_UP ,KC_RBRC,_______,KC_BSLS, - //|----+----+----+----+----+----+ |----+----+----+----+----+----| - _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_AMPR,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_PIPE, - //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - _______,_______,KC_DOT , _______,_______,_______ - // `----+----+----' `----+----+----' - ), - [_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_LTOG,KC_LHUI,KC_LSAI,KC_LVAI,KC_LRST,KC_BRMU, KC_VOLU,_______,KC_PGUP,_______,_______,_______, - //|----+----+----+----+----+----+ |----+----+----+----+----+----| - KC_LMOD,KC_LHUD,KC_LSAD,KC_LVAD,KC_RST ,KC_BRMD, KC_VOLD,KC_CTRA,KC_PGDN,KC_CTRE,_______,_______, - //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - _______,_______,_______, KC_MUTE,_______,_______ - // `----+----+----' `----+----+----' - ), -}; - diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c deleted file mode 100644 index a4c71daac2ca..000000000000 --- a/keyboards/crkbd/keymaps/rs/oled.c +++ /dev/null @@ -1,87 +0,0 @@ -#ifdef OLED_ENABLE -#include QMK_KEYBOARD_H -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_logo(void); -const char *read_keylog(void); -const char *read_keylogs(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); - -void matrix_scan_user(void) { iota_gfx_task(); } - -typedef struct { - uint8_t state; - char name[8]; -} LAYER_DISPLAY_NAME; - -#define LAYER_DISPLAY_MAX 5 -const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = { - {0, "Base"}, - {2, "Code"}, - {4, "Fn"}, - {6, "Fn+Code"}, - {__UINT8_MAX__, "?"}, -}; -static uint8_t layer_name_idx; -static char layer_status_buf[24] = "Layer: Base\n"; - -#ifdef RGBLIGHT_ENABLE -// Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -void update_keymap_status(void) { - snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s RGB: %d\n", - layer_display_name[layer_name_idx].name, rgblight_config.mode); -} -#else -void update_keymap_status(void) { - snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s\n", - layer_display_name[layer_name_idx].name); -} -#endif - -void matrix_init_user(void) { - update_keymap_status(); -} - -// declared in users/rs/rs.c -void rgb_mod_changed_keymap(void) { - update_keymap_status(); -} - -// declared in users/rs/rs.c -void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) { - set_keylog(keycode, record); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - for (layer_name_idx = 0; layer_name_idx < LAYER_DISPLAY_MAX; ++layer_name_idx) { - if (state == 0 && layer_display_name[layer_name_idx].state == default_layer_state) { - break; - } else if (state != 0 && layer_display_name[layer_name_idx].state == state) { - break; - } - } - update_keymap_status(); - return state; -} - -static inline void render_keymap_status(struct CharacterMatrix *matrix) { - oled_write(layer_status_buf); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_keymap_status(matrix); - oled_write_ln(read_keylog(), false); - oled_write_ln(read_keylogs(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif diff --git a/keyboards/crkbd/keymaps/rs/readme.md b/keyboards/crkbd/keymaps/rs/readme.md deleted file mode 100644 index d7f7bb6459ec..000000000000 --- a/keyboards/crkbd/keymaps/rs/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# RS40: Code Friendly 40% Keymap - -This keymap is an evolution of my previous keymap optimized for coding with a 60% keyboards like the Iris. I tried to keep the simplicity of my previous keymap with all the keys necessary for coding on a single layer in addition to the base one. - -Because I sometime have to use my internal keyboard I my macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the code layer / backspace on right command key etc. - -See [rs readme](../../../../users/rs/readme.md) for a list of other keyboards supported by this keymap. - -## Base Layer - -[![](http://poitr.us/moooMf+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=E&_x:8%3B&=I%3B&@_y:-0.87&x:2%3B&=W&_x:1%3B&=R&_x:6%3B&=U&_x:1%3B&=O%3B&@_y:-0.8799999999999999&x:5%3B&=T&_x:4%3B&=Y%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=Q&_x:12%3B&=P&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=D&_x:8%3B&=K%3B&@_y:-0.8700000000000001&x:2%3B&=S&_x:1%3B&=F&_x:6%3B&=J&_x:1%3B&=L%3B&@_y:-0.8799999999999999&x:5%3B&=G&_x:4%3B&=H%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465&a:5%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=A&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%22%0A'%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=C&_x:8&a:5%3B&=%3C%0A,%3B&@_y:-0.8700000000000001&x:2&a:7%3B&=X&_x:1%3B&=V&_x:6%3B&=M&_x:1&a:5%3B&=%3E%0A.%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=B&_x:4%3B&=N%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=Z&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=Space%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code) - -## Code Layer - -[![](http://poitr.us/GvljvC+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=%23&_x:8%3B&=*%3B&@_y:-0.87&x:2%3B&=%2F@&_x:1%3B&=$&_x:6&a:5%3B&=%3C%0A(&_x:1%3B&=%3E%0A)%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=%25&_x:4%3B&=%5E%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=!&_x:12%3B&=!%2F=&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=3&_x:8%3B&=↑%3B&@_y:-0.8700000000000001&x:2%3B&=2&_x:1%3B&=4&_x:6&a:5%3B&=%7B%0A%5B&_x:1%3B&=%7D%0A%5D%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=5&_x:4&a:5%3B&=%2F_%0A-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=1&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%7C%0A%5C%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=8&_x:8%3B&=↓%3B&@_y:-0.8700000000000001&x:2%3B&=7&_x:1%3B&=9&_x:6%3B&=←&_x:1%3B&=→%3B&@_y:-0.8799999999999999&x:5%3B&=0&_x:4%3B&=%2F&%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=6&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=.%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code) - -## Fn Layer - -[![](http://poitr.us/OXwmBK+)](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=F3&_x:8%3B&=F8%3B&@_y:-0.87&x:2%3B&=F2&_x:1%3B&=F4&_x:6%3B&=F7&_x:1%3B&=F9%3B&@_y:-0.8799999999999999&x:5%3B&=F5&_x:4%3B&=F6%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=&_c=%236750f2&t=%2344b8b8%3B&=F1&_x:12%3B&=F10&_c=%233a1ee6&t=%23b84465%3B&=F11%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value+&_x:8%3B&=Page%20Up%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat+&_x:1%3B&=RGB%20Reset&_x:6%3B&=&_x:1%3B&=%3B&@_y:-0.8799999999999999&x:5%3B&=Bright+&_x:4%3B&=Vol+%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Toggle&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue+&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value-&_x:8%3B&=Page%20Down%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat-&_x:1%3B&=Reset&_x:6%3B&=Ctrl+A&_x:1%3B&=Ctrl+E%3B&@_y:-0.8799999999999999&x:5%3B&=Bright-&_x:4%3B&=Vol-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Mode&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue-&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Mute%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code) \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/rs/rules.mk b/keyboards/crkbd/keymaps/rs/rules.mk deleted file mode 100644 index 5a76c38f3836..000000000000 --- a/keyboards/crkbd/keymaps/rs/rules.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -TAP_DANCE_ENABLE = no - -BOOTLOADER = atmel-dfu - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# If you want to change the display of OLED, you need to change here -SRC += oled.c \ - ./lib/rgb_state_reader.c \ - ./lib/layer_state_reader.c \ - ./lib/logo_reader.c \ - ./lib/keylogger.c \ diff --git a/keyboards/crkbd/keymaps/sharkby7e/config.h b/keyboards/crkbd/keymaps/sharkby7e/config.h deleted file mode 100644 index 50a424776502..000000000000 --- a/keyboards/crkbd/keymaps/sharkby7e/config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -//#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/sharkby7e/keymap.c b/keyboards/crkbd/keymaps/sharkby7e/keymap.c deleted file mode 100644 index a3d88e2c0185..000000000000 --- a/keyboards/crkbd/keymaps/sharkby7e/keymap.c +++ /dev/null @@ -1,177 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_3x5_3( - // \-----------------------------------------------------------------| |--------------------------------------------------------------/ - KC_Q, KC_W, LCTL_T(KC_F), KC_P, KC_B, KC_J, KC_L, RCTL_T(KC_U), KC_Y, KC_BSPC, - // \--------------+-------+----------------+--------------+----------| | ---------+---------------+---------------+--------+----------/ - LALT_T(KC_A), KC_R, KC_S, LGUI_T(KC_T), KC_G, KC_M, RGUI_T(KC_N), KC_E, KC_I, KC_O, - // \--------------+-------+----------------+--------------+----------| | ---------+---------------+---------------+--------+----------/ - KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, - // \--------------+-------+----------------+--------------+----------| | ---------+---------------+---------------+--------+----------/ - RCTL_T(KC_ESC), MO(1), SC_LSPO, KC_SPC, MO(2), MEH_T(KC_TAB) -// \---------------+--------------+----------| |----------+---------------+--------------/ - - ), - - [1] = LAYOUT_split_3x5_3( - // \--------------------------------------------------| |----------------------------------------------------------/ - KC_GRV, KC_TILD, KC_PEQL, KC_UNDS, KC_PIPE, KC_PPLS, KC_7, KC_8, KC_9, KC_BSPC, - // \---------+---------+---------+---------+----------| |---------+--------------+--------------+--------+---------/ - KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_RPRN, KC_PMNS, RGUI_T(KC_4), RCTL_T(KC_5), KC_6, KC_QUOT, - // \---------+---------+---------+---------+----------| |---------+--------------+--------------+--------+---------/ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_SCLN, KC_1, KC_2, KC_3, KC_0, - // \---------+---------+---------+---------+----------| |---------+--------------+--------------+--------+---------/ - RCTL_T(KC_ESC), _______, KC_TRNS, KC_RSFT, MO(3), KC_NO - // \----------------+---------+-----------| |---------+--------------+-------------/ - ), - - [2] = LAYOUT_split_3x5_3( - // \----------------------------------------------| |-----------------------------------------------/ - KC_ESC, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_NO, KC_NO, KC_ENT, KC_NO, KC_DEL, - // \--------+--------+---------+--------+---------| |---------+---------+--------+---------+--------/ - KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, - // \--------+--------+---------+--------+---------| |---------+---------+--------+---------+--------/ - XXXXXXX, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - // \--------+--------+---------+--------+---------| |---------+---------+--------+---------+--------/ - KC_LGUI, MO(3), KC_LSFT, KC_TRNS, KC_TRNS, KC_RALT - // \--------+--------+---------| |---------+---------+-------/ - ), - - [3] = LAYOUT_split_3x5_3( - // \--------------------------------------------. ,---------------------------------------------| - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // \--------+--------+--------+--------+--------| |--------+--------+--------+--------+---------| - RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // \--------+--------+--------+--------+--------| |--------+--------+--------+--------+---------| - RGB_HUD, RGB_SAD, RGB_VAD, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // \--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+---------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - // \---------------' `--------------------------' - ), -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/sharkby7e/rules.mk b/keyboards/crkbd/keymaps/sharkby7e/rules.mk deleted file mode 100644 index 38a8cf1bdb5a..000000000000 --- a/keyboards/crkbd/keymaps/sharkby7e/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -MOUSEKEY_ENABLE = yes -RGBLIGHT_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes -BOOTLOADER = caterina diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h deleted file mode 100644 index 82097c503a9c..000000000000 --- a/keyboards/crkbd/keymaps/snowe/config.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 200 - -#undef PERMISSIVE_HOLD - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" - -#define LAYER_STATE_8BIT -#define SPLIT_WPM_ENABLE diff --git a/keyboards/crkbd/keymaps/snowe/keycode_aliases.h b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h deleted file mode 100644 index c19fb11d4bd7..000000000000 --- a/keyboards/crkbd/keymaps/snowe/keycode_aliases.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2020 Drashna Jaelre <@drashna> - * Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 GUI_ESC GUI_T(KC_ESC) -#define CTL_ESC CTL_T(KC_ESC) -#define SH_BKSP SFT_T(KC_BSPC) -#define SP_RAIS LT(_UPPER, KC_SPC) - -#define LOWER MO(_LOWER) -#define RAISE MO(_UPPER) -#define ADJUST MO(_ADJUST) -#define TG_MODS TG(_MODS) -//#define TG_GAME TG(_GAMEPAD) -//#define OS_LWR OSL(_LOWER) -//#define OS_RSE OSL(_UPPER) - -//#define KC_SEC1 KC_SECRET_1 -//#define KC_SEC2 KC_SECRET_2 -//#define KC_SEC3 KC_SECRET_3 -//#define KC_SEC4 KC_SECRET_4 -//#define KC_SEC5 KC_SECRET_5 - -#define QWERTY KC_QWERTY -#define DVORAK KC_DVORAK -#define COLEMAK KC_COLEMAK -#define WORKMAN KC_WORKMAN - -#define KC_RESET QK_BOOT -#define KC_RST KC_RESET - -#ifdef SWAP_HANDS_ENABLE -# define KC_C1R3 SH_TT -#else // SWAP_HANDS_ENABLE -# define KC_C1R3 KC_BSPC -#endif // SWAP_HANDS_ENABLE - -#define BK_LWER LT(_LOWER, KC_BSPC) -#define SP_LWER LT(_LOWER, KC_SPC) -#define DL_RAIS LT(_UPPER, KC_DEL) -#define ET_RAIS LT(_UPPER, KC_ENTER) -#define SFT_ENT SFT_T(KC_ENTER) -#define SP_RAIS LT(_UPPER, KC_SPC) - -/* OSM keycodes, to keep things clean and easy to change */ -#define KC_MLSF OSM(MOD_LSFT) -#define KC_MRSF OSM(MOD_RSFT) - -#define OS_LGUI OSM(MOD_LGUI) -#define OS_RGUI OSM(MOD_RGUI) -#define OS_LSFT OSM(MOD_LSFT) -#define OS_RSFT OSM(MOD_RSFT) -#define OS_LCTL OSM(MOD_LCTL) -#define OS_RCTL OSM(MOD_RCTL) -#define OS_LALT OSM(MOD_LALT) -#define OS_RALT OSM(MOD_RALT) -#define OS_MEH OSM(MOD_MEH) -#define OS_HYPR OSM(MOD_HYPR) - -#define ALT_APP ALT_T(KC_APP) - -#define MG_NKRO MAGIC_TOGGLE_NKRO - -#define UC_IRNY UC(0x2E2E) -#define UC_CLUE UC(0x203D) diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c deleted file mode 100644 index c605089bfb5e..000000000000 --- a/keyboards/crkbd/keymaps/snowe/keymap.c +++ /dev/null @@ -1,211 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "snowe.h" - -// Symbols chart -// â†Ŋ hyper key (ctrl, alt, shift, super) -// ⌘ command -// âŒĨ option -// ⌃ control -// ⇧ shift -// âŒŦ backspace -// âŒĶ delete -// ⎋ escape -// â†Đ enter - -/* Wrapper - * ,-----------------------------------------------. .-----------------------------------------------. - * | Tab | K01 | K02 | K03 | K04 | K05 | | K06 | K07 | K08 | K09 | K0A | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | ⌘/⎋ | ⌃/K11 | K12 | K13 | K14 | K15 | | K16 | K17 | K18 | K19 | âŒĨ/K1A | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | â†Ŋ/âŒĶ | âŒĨ/K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | ⌃/K2A | | - * `-----------------------. | | .-----------------------' - * |-------+-------+-------| |-------+-------+-------| - * | ⌃ | ⇧/â†Đ | âŒŦ/LWR | | âĢ/RAY | âĢ | R âŒĨ | - * `-----------------------' '-----------------------' - */ -// clang-format off -#define LAYOUT_crkbd_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_wrapper( \ - KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ - GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \ - HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \ - KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \ - ) -// clang-format on -#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) -// clang-format off -#define LAYOUT_crkbd_no_hold_shortcuts( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_wrapper( \ - KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ - GUI_ESC, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ - KC_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_BSLS, \ - KC_LCTL, LOWER, KC_BSPC, KC_ENTER, SP_RAIS, KC_LALT \ - ) -// clang-format on -#define LAYOUT_crkbd_no_hold_shortcuts_wrapper(...) LAYOUT_crkbd_no_hold_shortcuts(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - /* 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 | , | . | / | | - * `-----------------------. | | .-----------------------' - * |-------+-------+-------| |-------+-------+-------| - * | | | | | | | | - * `-----------------------' '-----------------------' - */ - [_MAIN] = LAYOUT_crkbd_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - [_GAMING] = LAYOUT_crkbd_no_hold_shortcuts_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - /* Lower - * ,-----------------------------------------------. .-----------------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | _ | + | [ | ] | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | ← | ↑ | ↓ | → | | - * `-----------------------. | | .-----------------------' - * |-------+-------+-------| |-------+-------+-------| - * | | | | | | | | - * `-----------------------' '-----------------------' - */ - [_LOWER] = LAYOUT_wrapper( - KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, - KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, _______, _______ - ), - - - /* - * ,-----------------------------------------------. .-----------------------------------------------. - * | | | | | | | | | | | | | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | | | | | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | | | | | | - * `-----------------------. | | .-----------------------' - * |-------+-------+-------| |-------+-------+-------| - * | | | | | | | | - * `-----------------------' '-----------------------' - */ - /* Raise - * ,-----------------------------------------------. .-----------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | ← | ↑ | ↓ | → | | - * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| - * | | | | | | | | | home |pg down| pg up | end | | - * `-----------------------. | | .-----------------------' - * |-------+-------+-------| |-------+-------+-------| - * | | | | | | | | - * `-----------------------' '-----------------------' - */ - [_UPPER] = LAYOUT_wrapper( - KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_wrapper( - _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, - _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR, - _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, - _______, _______, _______, _______, _______, _______ - ) - // clang-format on -}; - -layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); } - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_LCTL: - case KC_RCTL: -#ifdef OCEAN_DREAM_ENABLE - is_calm = (record->event.pressed) ? true : false; -#endif -#ifdef LUNA_ENABLE - if (record->event.pressed) { - isSneaking = true; - } else { - isSneaking = false; - } -#endif - break; - case KC_SPC: -#ifdef LUNA_ENABLE - if (record->event.pressed) { - isJumping = true; - showedJump = false; - } else { - isJumping = false; - } -#endif - break; - } - return true; -} - -// uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { -// switch (keycode) { -// case ALT_T(KC_A): -// case SH_BKSP: -// return TAPPING_TERM + 500; -// default: -// return TAPPING_TERM; -// } -//} -// -// bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { -// if (keycode == ALT_T(KC_A) || keycode == SH_BKSP) { -// return false; -// } -// switch (keycode) { -// case QK_MOD_TAP ... QK_MOD_TAP_MAX: -// return true; -// default: -// return false; -// } -//} diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk deleted file mode 100644 index 96ae4bbf95f8..000000000000 --- a/keyboards/crkbd/keymaps/snowe/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -AUDIO_ENABLE = no # Audio output on port C6 -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -LEADER_ENABLE = no -MIDI_ENABLE = no # MIDI controls -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -SWAP_HANDS_ENABLE = no # Enable one-hand typing -RGBLIGHT_TWINKLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -RGB_MATRIX_ENABLE = yes - -OCEAN_DREAM_ENABLE = yes -LUNA_ENABLE = no # disabled so travis build succeeds - -# if firmware size over limit, try this option -LTO_ENABLE = yes - -WPM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/soundmonster/README.md b/keyboards/crkbd/keymaps/soundmonster/README.md deleted file mode 100644 index 8b271cbbbadc..000000000000 --- a/keyboards/crkbd/keymaps/soundmonster/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Soundmonster's layout for Corne - -Features: - -* Modern OLED support (many thanks to @drashna): - * Proper orientation - * Graphic layer indicator ↑ ↓ - * Graphic modifier indicator ⌘ ⇧ âŒĨ ⌃ -* Similar enough to the default keymap so you can easily port your custom keymap to it -* Mac-friendly (Command and Option on the thumbs) -* Vim-friendly (Esc, `:` and Ctrl on the thumbs) -* Full per-key RGB Matrix support out of the box (you still have to go through the nightmare of soldering yourself though 😉) - diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h deleted file mode 100644 index 97614f3b7037..000000000000 --- a/keyboards/crkbd/keymaps/soundmonster/config.h +++ /dev/null @@ -1,117 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -// #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 150 -#define RETRO_TAPPING - -#ifdef RGBLIGHT_ENABLE - #undef RGBLED_NUM - #define RGBLED_NUM 27 -#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 - #define RGBLIGHT_SLEEP - #define RGBLIGHT_SPLIT - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - - -#ifdef OLED_ENABLE -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/soundmonster/glcdfont.c" -# define OLED_TIMEOUT 30000 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* 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. */ -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/soundmonster/glcdfont.c b/keyboards/crkbd/keymaps/soundmonster/glcdfont.c deleted file mode 100644 index 588ecfd8c886..000000000000 --- a/keyboards/crkbd/keymaps/soundmonster/glcdfont.c +++ /dev/null @@ -1,232 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font with QMK Firmware Logo -// Online editor: https://helixfonteditor.netlify.com/ -// See also: https://github.com/soundmonster/glcdfont_converter - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, -0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, -0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, -0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, -0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, -0x22, 0x22, 0x42, 0x82, 0x02, 0x02, -0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, -0x42, 0x22, 0x42, 0x82, 0x02, 0x02, -0x02, 0x82, 0x42, 0x22, 0x12, 0x22, -0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, -0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, -0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, -0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, -0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, -0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, -0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, -0x80, 0x80, 0x40, 0x40, 0x20, 0x20, -0x10, 0x10, 0x08, 0x08, 0x10, 0x10, -0x20, 0x20, 0x40, 0x40, 0x80, 0x80, -0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, -0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, -0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, -0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, -0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, -0x07, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, -0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, -0x40, 0x40, 0x40, 0x40, 0x41, 0x42, -0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, -0x40, 0x40, 0x40, 0x40, 0x41, 0x40, -0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, -0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, -0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, -0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, -0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, -0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, -0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, -0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, -0x88, 0x88, 0x55, 0x55, 0x23, 0x23, -0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, -0x23, 0x23, 0x55, 0x55, 0x88, 0x88, -0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, -0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, -0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, -0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, -0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, -0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, -0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, -0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, -0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, -0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, -0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, -0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, -0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, -0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, -0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, -0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, -0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x02, 0x02, -0x04, 0x04, 0x08, 0x08, 0x04, 0x04, -0x02, 0x02, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x03, -0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, -0x03, 0x03, 0x01, 0x01, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x03, 0x02, -0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, -0x03, 0x02, 0x01, 0x01, 0x00, 0x00 -}; diff --git a/keyboards/crkbd/keymaps/soundmonster/keymap.c b/keyboards/crkbd/keymaps/soundmonster/keymap.c deleted file mode 100644 index 054ac771910c..000000000000 --- a/keyboards/crkbd/keymaps/soundmonster/keymap.c +++ /dev/null @@ -1,361 +0,0 @@ -// Copyright 2022 Soundmonster (@soundmonster) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -// 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 layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -// Custom keycodes for layer keys -// Dual function escape with left command -#define KC_LGESC LGUI_T(KC_ESC) - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - RGBRST, - KC_RACL // right alt / colon -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,---------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|------+------+------+------+------+------| |------+------+-------+------+-------+--------| - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, - //|------+------+------+------+------+------| |------+------+-------+------+-------+--------| - 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_LGESC,LOWER, KC_SPC, RCTL_T(KC_ENT), RAISE, KC_RACL - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //,---------------------------------------------. ,-----------------------------------------. - 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_LCTL, KC_NO,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R, KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,KC_NO,KC_NO, - //|------+------+-------+-------+-------+-------| |------+------+------+------+------+------| - KC_LSFT, KC_NO,KC_BTN2,KC_WH_D,KC_WH_U,KC_BTN1, KC_HOME,KC_PGDN,KC_PGUP,KC_END,KC_NO,KC_NO, - //|------+------+-------+-------+-------+-------+------| |------+------+------+------+------+------+------| - KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS,KC_EQL,KC_LCBR,KC_RCBR,KC_PIPE,KC_GRV, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9,KC_F10, KC_UNDS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,KC_TILD, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------. ,-----------------------------------------. - QK_BOOT,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,RGB_SPI,KC_NO, KC_PAUSE,KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - RGB_MOD,RGB_HUD,RGB_SAD,RGB_VAD,RGB_SPD,KC_NO, KC_SCRL,KC_VOLD, KC_NO, KC_NO, KC_NO, RGB_RMOD, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LGUI, LOWER,KC_SPC, KC_ENT, RAISE,KC_RALT - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -void render_space(void) { - oled_write_P(PSTR(" "), false); -} - -void render_mod_status_gui_alt(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; - - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_1, false); - } else { - oled_write_P(gui_off_1, false); - } - - if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_1, false); - } else { - oled_write_P(alt_off_1, false); - } - - if(modifiers & MOD_MASK_GUI) { - oled_write_P(gui_on_2, false); - } else { - oled_write_P(gui_off_2, false); - } - - if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_GUI) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_ALT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_ALT) { - oled_write_P(alt_on_2, false); - } else { - oled_write_P(alt_off_2, false); - } -} - -void render_mod_status_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; - static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; - static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; - static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; - - static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; - - // fillers between the modifier icons bleed into the icon frames - static const char PROGMEM off_off_1[] = {0xc5, 0}; - static const char PROGMEM off_off_2[] = {0xc6, 0}; - static const char PROGMEM on_off_1[] = {0xc7, 0}; - static const char PROGMEM on_off_2[] = {0xc8, 0}; - static const char PROGMEM off_on_1[] = {0xc9, 0}; - static const char PROGMEM off_on_2[] = {0xca, 0}; - static const char PROGMEM on_on_1[] = {0xcb, 0}; - static const char PROGMEM on_on_2[] = {0xcc, 0}; - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_1, false); - } else { - oled_write_P(ctrl_off_1, false); - } - - if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { - oled_write_P(on_on_1, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_1, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_1, false); - } else { - oled_write_P(off_off_1, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_1, false); - } else { - oled_write_P(shift_off_1, false); - } - - if(modifiers & MOD_MASK_CTRL) { - oled_write_P(ctrl_on_2, false); - } else { - oled_write_P(ctrl_off_2, false); - } - - if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { - oled_write_P(on_on_2, false); - } else if(modifiers & MOD_MASK_CTRL) { - oled_write_P(on_off_2, false); - } else if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(off_on_2, false); - } else { - oled_write_P(off_off_2, false); - } - - if(modifiers & MOD_MASK_SHIFT) { - oled_write_P(shift_on_2, false); - } else { - oled_write_P(shift_off_2, false); - } -} - -void render_logo(void) { - static const char PROGMEM corne_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0}; - oled_write_P(corne_logo, false); - oled_write_P(PSTR("corne"), false); -} - -void render_layer_state(void) { - static const char PROGMEM default_layer[] = { - 0x20, 0x94, 0x95, 0x96, 0x20, - 0x20, 0xb4, 0xb5, 0xb6, 0x20, - 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = { - 0x20, 0x97, 0x98, 0x99, 0x20, - 0x20, 0xb7, 0xb8, 0xb9, 0x20, - 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0x20, 0x9a, 0x9b, 0x9c, 0x20, - 0x20, 0xba, 0xbb, 0xbc, 0x20, - 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0x20, 0x9d, 0x9e, 0x9f, 0x20, - 0x20, 0xbd, 0xbe, 0xbf, 0x20, - 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -bool oled_task_user(void) { - // Renders the current keyboard state (layers and mods) - render_logo(); - render_space(); - render_layer_state(); - render_space(); - render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); - render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); - return false; -} - -#endif -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint16_t my_colon_timer; - - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case KC_RACL: - if (record->event.pressed) { - my_colon_timer = timer_read(); - register_code(KC_RALT); - } else { - unregister_code(KC_RALT); - if (timer_elapsed(my_colon_timer) < TAPPING_TERM) { - SEND_STRING(":"); // Change the character(s) to be sent on tap here - } - } - return false; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - #ifdef RGB_MATRIX_ENABLE - if (record->event.pressed) { - eeconfig_update_rgb_matrix_default(); - rgb_matrix_enable(); - } - #endif - break; - } - return true; -} - -#ifdef RGB_MATRIX_ENABLE - -void suspend_power_down_keymap(void) { - rgb_matrix_set_suspend_state(true); -} - -void suspend_wakeup_init_keymap(void) { - rgb_matrix_set_suspend_state(false); -} - -#endif diff --git a/keyboards/crkbd/keymaps/soundmonster/rules.mk b/keyboards/crkbd/keymaps/soundmonster/rules.mk deleted file mode 100644 index d3a964424fe5..000000000000 --- a/keyboards/crkbd/keymaps/soundmonster/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -MOUSEKEY_ENABLE = no -NKRO_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/sulrich/README.md b/keyboards/crkbd/keymaps/sulrich/README.md deleted file mode 100644 index 0bb585aa2eac..000000000000 --- a/keyboards/crkbd/keymaps/sulrich/README.md +++ /dev/null @@ -1,72 +0,0 @@ -# sulrich crkbd layout - -this is the personal keyboard layout of [@sulrich](https://github.com/sulrich), -and is heavily oriented towards operation in the Mac OS environment. - -there are no LED rules in this keymap and the OLED display uses the default -corne images - -## layout notes - -this layout uses a standard QWERTY layout on the default layer followed by a -separate layer for symbols and numbers (and F-keys) - -### thumb cluster: left - -this contains the Mac OS modifier keys as well as the enter key. these are -transparently mapped through the remaining layers with the exception of the -enter key which is toggled to backspace on the symbols layer. - -### thumb cluster: right - -the largest right thumb button provides the space and the layer toggles. - -### default layer -```text - //,-----------------------------------------------------. ,-----------------------------------------------------. - TAB, Q, W, E, R, T, Y, U, I, O, P, \, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL, A, S, D, F, G, H, J, K, L, ;, ', - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LSFT, Z, X, C, V, B, N, M, ,, ., /, RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - OPT, CMD, ENTER, SPC, MO(1), MO(2) - //`--------------------------' `--------------------------' -``` - -### symbols layer [1] - -this layer contains all of the standard symbols. the arrow keys are mapped to -the default vi bindings for single character motion (h, j, k, l). - -```text - //,-----------------------------------------------------. ,-----------------------------------------------------. - ESC, !, @, {, }, |, ^, +, =, -, *, , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , #, $, (, ), `, LEFT, DOWN, UP, RIGHT, , ENTER, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , %, ^, [, ], ~, _, &, <, >, \, , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - OPT, CMD, BSPACE, SPC, MO(1), MO(2) - //`--------------------------' `--------------------------' -``` - -### number/media layer [2] - -this layer has all of the numbers and the F-keys mapped to reasonably intuitive -locations. additionally, media controls allow for quick access to volume and -track changes. - -```text - //,-----------------------------------------------------. ,-----------------------------------------------------. - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - , PREV, PLAY, NEXT, VOL_DN, VOL_UP, , MUTE, , , , , - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - OPT, CMD, ENTER, SPC, MO(1), MO(2) - //`--------------------------' `--------------------------' - -``` - diff --git a/keyboards/crkbd/keymaps/sulrich/config.h b/keyboards/crkbd/keymaps/sulrich/config.h deleted file mode 100644 index 616b2afd98ac..000000000000 --- a/keyboards/crkbd/keymaps/sulrich/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* select hand configuration */ -#define MASTER_LEFT - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/sulrich/keymap.c b/keyboards/crkbd/keymaps/sulrich/keymap.c deleted file mode 100644 index adab2b68aec1..000000000000 --- a/keyboards/crkbd/keymaps/sulrich/keymap.c +++ /dev/null @@ -1,156 +0,0 @@ -/* -Copyright 2021 @sulrich - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_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_LOPT, KC_LGUI, KC_ENT, KC_SPC, MO(1), MO(2) - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_CIRC, KC_PLUS,KC_EQUAL,KC_MINUS, KC_ASTR, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN,KC_GRAVE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_TRNS,KC_ENTER, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_UNDS, KC_AMPR, KC_LABK, KC_RABK,KC_BSLS,KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS,KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_SYMBOLS 2 -#define L_NUMBERS 4 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("default"), false); - break; - case L_SYMBOLS: - oled_write_ln_P(PSTR("symbols"), false); - break; - case L_NUMBERS: - oled_write_ln_P(PSTR("numbers/media"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/sulrich/rules.mk b/keyboards/crkbd/keymaps/sulrich/rules.mk deleted file mode 100644 index 24d83947a9ef..000000000000 --- a/keyboards/crkbd/keymaps/sulrich/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -EXTRAKEY_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h deleted file mode 100755 index 4191a14524bf..000000000000 --- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 150 - -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c deleted file mode 100755 index e2557b53fb38..000000000000 --- a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c +++ /dev/null @@ -1,226 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -// 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 { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - BACKLIT, - RGBRST -}; - -#define KC_ KC_TRNS -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_RST QK_BOOT -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD -#define KC_CTLTB CTL_T(KC_TAB) -#define KC_GUIEI GUI_T(KC_LNG2) -#define KC_ALTKN ALT_T(KC_LNG1) -#define KC_CTLEN CTL_T(KC_LNG2) // for Linux and Windows -#define KC_GUIEN GUI_T(KC_LNG2) // for Mac -#define KC_SFTJP SFT_T(KC_LNG1) -#define KC_ALTSP ALT_T(KC_SPACE) -#define KC_ALTDL ALT_T(KC_DEL) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_CTLTB, 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_ALTSP, KC_LOWER, KC_GUIEN, KC_SFTJP, KC_RAISE, KC_ALTDL - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _______, KC_HOME, KC_END, KC_PGDN, KC_PGUP, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F12, KC_PIPE, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _______, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_PSCR, KC_GRV, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _______, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_TILD, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, _______, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_RST, KC_LRST, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_GUIEI, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_ALTKN - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} - -#ifdef OLED_ENABLE - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -bool oled_task_user(void) { - if (is_keyboard_master()) { - // If you want to change the display of OLED, you need to change here - oled_write_ln(read_layer_state(), false); - oled_write_ln(read_keylog(), false); - oled_write_ln(read_keylogs(), false); - //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); - //oled_write_ln(read_host_led_state(), false); - //oled_write_ln(read_timelog(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef OLED_ENABLE - set_keylog(keycode, record); -#endif - // set_timelog(); - } - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - #endif - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk deleted file mode 100755 index 193aa14dac70..000000000000 --- a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# 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 \ diff --git a/keyboards/crkbd/keymaps/thunderbird2086/config.h b/keyboards/crkbd/keymaps/thunderbird2086/config.h deleted file mode 100644 index 8251bc9b8fc2..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/config.h +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define EE_HANDS -#define SPLIT_USB_DETECT - -// #define RGB_LAYER_ENABLE - -#define PERMISSIVE_HOLD - -#if defined(TAPPING_TERM) -# undef TAPPING_TERM -#endif -#define TAPPING_TERM 200 -#define VER_NEWLINE_WAIT 200 // in milliseconds - -#define NO_ACTION_ONESHOT - -#if defined(OLED_ENABLE) -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_LED_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_OLED_ENABLE -# define OLED_FONT_H "keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c" -# undef OLED_TIMEOUT - // due to timer_read() for render_prompt(), we have own implementation of oled time out -# define OLED_KEY_TIMEOUT 30000 -# define KEY_LOG_ENABLE -#endif - -#define RGBLIGHT_SLEEP - -#if defined(RGBLIGHT_ENABLE) -# define RGBLIGHT_LAYERS -# define RGBLIGHT_LIMIT_VAL 150 -# define RGBLIGHT_HUE_STEP 16 -# define RGBLIGHT_SAT_STEP 32 -# define RGBLIGHT_VAL_STEP 32 - -# define RGBLIGHT_EFFECT_ALTERING -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_TWINKLE -#endif - -#if defined(RGB_MATRIX_ENABLE) -# define SPLIT_LAYER_STATE_ENABLE -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# 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 32 -# define RGB_MATRIX_SAT_STEP 64 -# define RGB_MATRIX_VAL_STEP 64 -# define RGB_MATRIX_SPD_STEP 20 -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - -/* 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. */ -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# undef ENABLE_RGB_MATRIX_HUE_BREATHING -# undef ENABLE_RGB_MATRIX_HUE_PENDULUM -# undef ENABLE_RGB_MATRIX_HUE_WAVE -# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# undef ENABLE_RGB_MATRIX_PIXEL_RAIN -# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN - -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif diff --git a/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c b/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c deleted file mode 100644 index 97dc8fdaa3c3..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/glcdfont.c +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. -// https://helixfonteditor.netlify.com/ - -#include "progmem.h" - -// clang-format off -// Standard ASCII 5x7 font -static const unsigned char PROGMEM font[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, - 0x0C, 0x04, 0xE7, 0xE4, 0xE4, 0x07, - 0x04, 0xE4, 0xE7, 0xE4, 0x04, 0x07, - 0xE4, 0xE4, 0xE7, 0x04, 0x0C, 0xF8, - 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, - 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, - 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, - 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, - 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, - 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, - 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, - 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, - 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, - 0x00, 0x77, 0x55, 0x7F, 0x14, 0x7F, - 0x55, 0x77, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x60, - 0x70, 0x3E, 0x1F, 0x19, 0x18, 0x0C, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x08, 0x08, 0x08, 0x00, 0x1C, - 0x22, 0x41, 0x41, 0x41, 0x22, 0x1C, - 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, - 0x08, 0x0C, 0x5E, 0x5F, 0x5E, 0x0C, - 0x00, 0x00, 0x00, 0x49, 0x49, 0xFF, - 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x38, - 0x30, 0xFF, 0xFF, 0xFF, 0x30, 0x38, - 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0xFF, - 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, - 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, - 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, - 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, - 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, - 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, - 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, - 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, - 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, - 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, - 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, - 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, - 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, - 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, - 0x0C, 0x18, 0x30, 0x66, 0x66, 0x66, - 0x08, 0x0C, 0x7E, 0x7F, 0x7E, 0x0C, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xF0, 0x90, 0x90, 0xF0, 0x90, 0x90, - 0xF0, 0x98, 0x9C, 0xF2, 0x22, 0x21, - 0xE1, 0x01, 0x01, 0x01, 0xF1, 0x91, - 0x91, 0xFA, 0x4C, 0x4C, 0xF8, 0x48, - 0x48, 0xF8, 0x48, 0x48, 0xF8, 0x00, - 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, - 0x00, 0x1C, 0x22, 0x00, 0x00, 0x1C, - 0x3E, 0x7F, 0x63, 0x41, 0x22, 0x1C, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x02, 0x0F, - 0x18, 0x10, 0x70, 0x10, 0x10, 0x70, - 0x10, 0x13, 0x73, 0x13, 0x10, 0x70, - 0x10, 0x10, 0x70, 0x10, 0x18, 0x0F, - 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, - 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, - 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, - 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, - 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1, - 0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00, - 0x00, 0x10, 0x02, 0x39, 0xFC, 0xED, - 0xFC, 0x38, 0x02, 0x10, 0x00, 0x00, - 0x07, 0x04, 0x04, 0x07, 0x04, 0x04, - 0x07, 0x04, 0x04, 0x0F, 0x09, 0x09, - 0x0F, 0x00, 0x00, 0x00, 0x07, 0x04, - 0x04, 0x07, 0x02, 0x02, 0x03, 0x02, - 0x02, 0x03, 0x02, 0x02, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, - 0x22, 0x41, 0x63, 0x7F, 0x3E, 0x1C, - 0x00, 0x00, 0x22, 0x1C, 0x00, 0x00, - 0x41, 0x22, 0x1C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -// clang-format on diff --git a/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h b/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h deleted file mode 100644 index 90b26b88a4e0..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/keycodes.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -enum custom_keycodes { - // Layer Macros - COLEMAK = QK_USER, - QWERTY, - FUNCTION, - CODE, - ADJUST, -# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - RGBRST, -# endif - VRSN, - // Secret Macros - M_XXX1, - M_XXX2, - M_XXX3, - M_XXX4, - M_XXX5, -}; - - -enum layers { - _COLEMAK, - _QWERTY, - _FUNCTION, - _CODE, - _ADJUST, - _SECRET, -}; - -// Shortcut Keys -#define K_BACK LGUI(KC_LBRC) // browser back -#define K_FWRD LGUI(KC_RBRC) // browser forward -#define K_LOCK LGUI(LCTL(KC_Q)) // Lock screen -#define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard -#define K_MDSH LSFT(LALT(KC_MINS)) - -// Layer Keys -#define FCT_BSP LT(_FUNCTION, KC_BSPC) -#define FCT_DEL LT(_FUNCTION, KC_DEL) - -#define FCT_ENT LT(_FUNCTION, KC_ENT) -#define RAI_ENT LT(_CODE , KC_ENT) - -#define FCT_EQL LT(_FUNCTION, KC_EQL) -#define RAI_EQL LT(_CODE , KC_EQL) - -#define FCT_SPC LT(_FUNCTION, KC_SPC) -#define RAI_SPC LT(_CODE , KC_SPC) - -#define FCT_TAB LT(_FUNCTION, KC_TAB) - -#define ADJ_EQL LT(_ADJUST, KC_EQL) -#define ADJ_GRV LT(_ADJUST, KC_GRV) - -// Mod-Tap Keys -#define SFT_SLSH MT(MOD_RSFT, KC_SLSH) -#define SFT_Z MT(MOD_LSFT, KC_Z) - -#define CTL_QUOT MT(MOD_RCTL, KC_QUOT) -#define CTL_SCLN MT(MOD_RCTL, KC_SCLN) -#define CTL_A MT(MOD_LCTL, KC_A) -#define CTL_O MT(MOD_LCTL, KC_O) - -#define M_LOPT_F MT(MOD_LALT, KC_F) -#define M_LOPT_T MT(MOD_LALT, KC_T) -#define RCMD_J MT(MOD_LGUI, KC_J) -#define RCMD_N MT(MOD_RGUI, KC_N) diff --git a/keyboards/crkbd/keymaps/thunderbird2086/keymap.c b/keyboards/crkbd/keymaps/thunderbird2086/keymap.c deleted file mode 100644 index 69c5d25fd445..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "layers_block.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - T_TAB , ___________________COLEMAK_DH_L1_______________ , ___________________COLEMAK_DH_R1_______________ , KC_MINS , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - KC_LCTL , ___________________COLEMAK_DH_L2_______________ , ___________________COLEMAK_DH_R2_______________ , CTL_QUOT, - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - KC_LSFT , ___________________COLEMAK_DH_L3_______________ , ___________________COLEMAK_DH_R3_______________ , ADJ_EQL , - // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+ - _________MOD_LEFT__________ , _________MOD_RIGHT_________ - // \----------------------------/ \-----------------------------/ - ), - - [_QWERTY] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - T_TAB , ___________________QWERTY_L1___________________ , ___________________QWERTY_R1___________________ , KC_MINS , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - KC_LCTL , ___________________QWERTY_L2___________________ , ___________________QWERTY_R2___________________ , CTL_QUOT, - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - KC_LSFT , ___________________QWERTY_L3___________________ , ___________________QWERTY_R3___________________ , ADJ_EQL , - // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+ - _________MOD_LEFT__________ , _________MOD_RIGHT_________ - // \----------------------------/ \-----------------------------/ - ), - - [_FUNCTION] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - KC_ESC , ___________________FUNC_LEFT___________________ , ___________________FUNC_RIGHT__________________ , KC_F11 , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - K_CSCN , ____________________MEDIA_1____________________ , KC_DEL , _______________NAV_1_________________ , KC_F12 , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - _______ , ____________________MEDIA_2____________________ , KC_INS , _______________NAV_2_________________ , K_LOCK , - // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+ - _______MOD_TRNS_LEFT_______ , _______MOD_TRNS_RIGHT______ - // \----------------------------/ \-----------------------------/ - ), - - [_CODE] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - T_GRV , ___________________NUM_LEFT____________________ , ___________________NUM_RIGHT___________________ , KC_BSLS , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________SYMBOL_L1________________________ , ________________________SYMBOL_R1________________________ , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________SYMBOL_L2________________________ , ________________________SYMBOL_R2________________________ , - // +---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+ - _______MOD_TRNS_LEFT_______ , _______MOD_TRNS_RIGHT______ - // \----------------------------/ \-----------------------------/ - ), - - [_ADJUST] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - ________________________ADJUST_L1________________________ , ________________________ADJUST_R1________________________ , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________ADJUST_L2________________________ , ________________________ADJUST_R2________________________ , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________ADJUST_L3________________________ , ________________________ADJUST_R3________________________ , - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - _______ , _______ , _______ , _______ , _______ , _______ - // \----------------------------/ \-----------------------------/ - ), - - [_SECRET] = LAYOUT_wrapper( - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - ________________________SECRET_L1________________________ , ________________________SECRET_R1________________________ , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________SECRET_L2________________________ , ________________________SECRET_R2________________________ , - // |---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------| - ________________________SECRET_L3________________________ , ________________________SECRET_R3________________________ , - // +---------+---------+---------+---------+---------+---------+ +---------+---------+---------+---------+---------+---------+ - XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - // \----------------------------/ \-----------------------------/ - ) -}; -// clang-format off - -#if defined(RGBLIGHT_ENABLE) -__attribute__((weak)) -void set_rgb_by_layer(layer_state_t state) { - return; -} -#endif - -layer_state_t layer_state_set_user(layer_state_t state) { -# if defined(RGBLIGHT_ENABLE) - set_rgb_by_layer(state); -# endif - return update_tri_layer_state(state, _FUNCTION, _ADJUST, _SECRET); -} diff --git a/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h b/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h deleted file mode 100644 index db47ea65ed6d..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/layers_block.h +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include "keycodes.h" -#include "tap_dances.h" - -// Layout blocks -#define ___________________COLEMAK_DH_L1_______________ KC_Q , KC_W , KC_F , KC_P , KC_B -#define ___________________COLEMAK_DH_L2_______________ CTL_A , KC_R , KC_S , M_LOPT_T, KC_G -#define ___________________COLEMAK_DH_L3_______________ SFT_Z , KC_X , KC_C , KC_D , KC_V - -#define ___________________COLEMAK_DH_R1_______________ KC_J , KC_L , KC_U , KC_Y , KC_SCLN -#define ___________________COLEMAK_DH_R2_______________ KC_M , RCMD_N , KC_E , KC_I , CTL_O -#define ___________________COLEMAK_DH_R3_______________ KC_K , KC_H , KC_COMM , KC_DOT , SFT_SLSH - -#define ___________________QWERTY_L1___________________ KC_Q , KC_W , KC_E , KC_R , KC_T -#define ___________________QWERTY_L2___________________ CTL_A , KC_S , KC_D , M_LOPT_F, KC_G -#define ___________________QWERTY_L3___________________ SFT_Z , KC_X , KC_C , KC_V , KC_B - -#define ___________________QWERTY_R1___________________ KC_Y , KC_U , KC_I , KC_O , KC_P -#define ___________________QWERTY_R2___________________ KC_H , RCMD_J , KC_K , KC_L , CTL_SCLN -#define ___________________QWERTY_R3___________________ KC_N , KC_M , KC_COMM , KC_DOT , SFT_SLSH - -#define ___________________COLEMAK_L1__________________ KC_Q , KC_W , KC_F , KC_P , KC_G -#define ___________________COLEMAK_L2__________________ CTL_A , KC_R , KC_S , M_LOPT_T, KC_D -#define ___________________COLEMAK_L3__________________ SFT_Z , KC_X , KC_C , KC_V , KC_B - -#define ___________________COLEMAK_R1__________________ KC_J , KC_L , KC_U , KC_Y , KC_SCLN -#define ___________________COLEMAK_R2__________________ KC_H , RCMD_N , KC_E , KC_I , CTL_O -#define ___________________COLEMAK_R3__________________ KC_K , KC_M , KC_COMM , KC_DOT , SFT_SLSH - -#define ___________________NUM_LEFT____________________ KC_1 , KC_2 , KC_3 , KC_4 , KC_5 -#define ___________________NUM_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 ________________________SYMBOL_L1________________________ KC_TILD , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC -#define ________________________SYMBOL_L2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - -#define ________________________SYMBOL_R1________________________ KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_PIPE -#define ________________________SYMBOL_R2________________________ XXXXXXX , KC_LCBR , KC_RCBR , KC_LBRC , KC_RBRC , KC_PLUS - - -#define ________________________ADJUST_L1________________________ QK_BOOT , XXXXXXX , KC_PWR , KC_WAKE , KC_SLEP , XXXXXXX - -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) -# define ________________________ADJUST_L2________________________ RGBRST , XXXXXXX , RGB_SPI , RGB_SAI , RGB_HUI , RGB_VAI -# define ________________________ADJUST_L3________________________ EE_CLR , VRSN , RGB_SPD , RGB_SAD , RGB_HUD , RGB_VAD -#else -# define ________________________ADJUST_L2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -# define ________________________ADJUST_L3________________________ EE_CLR , VRSN , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -#endif - -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) -# define ________________________ADJUST_R1________________________ RGB_TOG , XXXXXXX , XXXXXXX , XXXXXXX , COLEMAK , QWERTY -# define ________________________ADJUST_R3________________________ RGB_MOD , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -#else -# define ________________________ADJUST_R1________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , COLEMAK , QWERTY -# define ________________________ADJUST_R3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -#endif -#define ________________________ADJUST_R2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - -#define ________________________SECRET_L1________________________ M_XXX1 , XXXXXXX , M_XXX3 , XXXXXXX , M_XXX5 , XXXXXXX -#define ________________________SECRET_L2________________________ XXXXXXX , M_XXX2 , XXXXXXX , M_XXX4 , XXXXXXX , XXXXXXX -#define ________________________SECRET_L3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - -#define ________________________SECRET_R1________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -#define ________________________SECRET_R2________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX -#define ________________________SECRET_R3________________________ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX - -#define _______________NAV_1_________________ KC_LEFT , KC_UP , KC_RGHT , KC_PGUP -#define _______________NAV_2_________________ KC_HOME , KC_DOWN , KC_END , KC_PGDN - -#define _______________MOUSE_1_______________ KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_D -#define _______________MOUSE_2_______________ KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_U - -#define ____________________MEDIA_1____________________ KC_BRMU , KC_MFFD , KC_MPLY , KC_VOLU , K_BACK -#define ____________________MEDIA_2____________________ KC_BRMD , KC_MRWD , KC_MUTE , KC_VOLD , K_FWRD - -#define _________MOD_LEFT__________ T_GUI , FCT_DEL , RAI_SPC -#define _________MOD_RIGHT_________ RAI_ENT , FCT_BSP , KC_ROPT -#define _______MOD_TRNS_LEFT_______ KC_TRNS , T_ESC , XXXXXXX -#define _______MOD_TRNS_RIGHT______ XXXXXXX , T_ESC , KC_TRNS - -// Layout wrappers -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) diff --git a/keyboards/crkbd/keymaps/thunderbird2086/oled.c b/keyboards/crkbd/keymaps/thunderbird2086/oled.c deleted file mode 100644 index 108f3e0cdde6..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/oled.c +++ /dev/null @@ -1,298 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "keycodes.h" - - -// 5x3 Logos -void render_qmk_logo(void) { - static const char PROGMEM font_qmk_logo[16] = { - 0x80, 0x81, 0x82, 0x83, 0x84, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, - 0 - }; - oled_write_P(font_qmk_logo, false); -}; - -// 5x2 Keyboard, Controller logos -void render_kb_split(void) { - static const char PROGMEM font_kb_split[11] = { - 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, - 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, - 0 - }; - oled_write_P(font_kb_split, false); -}; - -// 5x1 Layer indicator - -void render_layer(void) { - static const char PROGMEM font_layer[4][6] = { - {0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0}, - {0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0}, - {0xda, 0xdb, 0xdc, 0xdd, 0xde, 0}, - {0x95, 0x96, 0x97, 0x98, 0x99, 0}, - }; - - uint8_t layer = 0; - if (layer_state_is(_FUNCTION)) { - layer = 1; - } else if (layer_state_is(_CODE)) { - layer = 2; - } else if (layer_state_is(_ADJUST)) { - layer = 3; - } - oled_write_P(font_layer[layer], false); -}; - - -void render_layers(void) { - static const char PROGMEM font_layers[4][16] = { - {0x20, 0x85, 0x86, 0x87, 0x20, - 0x20, 0xa5, 0xa6, 0xa7, 0x20, - 0x20, 0xc5, 0xc6, 0xc7, 0x20, - 0}, - {0x20, 0x88, 0x89, 0x8a, 0x20, - 0x20, 0xa8, 0xa9, 0xaa, 0x20, - 0x20, 0xc8, 0xc9, 0xca, 0x20, - 0}, - {0x20, 0x8b, 0x8c, 0x8d, 0x20, - 0x20, 0xab, 0xac, 0xad, 0x20, - 0x20, 0xcb, 0xcc, 0xcd, 0x20, - 0}, - {0x20, 0x8e, 0x8f, 0x90, 0x20, - 0x20, 0xae, 0xaf, 0xb0, 0x20, - 0x20, 0xce, 0xcf, 0xd0, 0x20, - 0}, - }; - - uint8_t layer = 0; - if (layer_state_is(_FUNCTION)) { - layer = 1; - } else if (layer_state_is(_CODE)) { - layer = 2; - } else if (layer_state_is(_ADJUST)) { - layer = 3; - } - oled_write_P(font_layers[layer], false); -}; - -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - -void render_rgb_status(void) { - static const char PROGMEM font_rgb_off[3] = {0xd1, 0xd2, 0}; - static const char PROGMEM font_rgb_on[3] = {0xd3, 0xd4, 0}; - bool rgb_enabled = -# if defined(RGBLIGHT_ENABLE) - rgblight_is_enabled(); -# elif defined(RGB_MATRIX_ENABLE) - rgb_matrix_is_enabled(); -# endif - - oled_write_P(rgb_enabled ? font_rgb_on : font_rgb_off, false); -}; -#endif - -// 2x1 Ctrl, Alt, Shift, GUI, Caps - -void render_mod_ctrl(void) { - static const char PROGMEM font_ctrl[3] = {0x91, 0x92, 0}; - oled_write_P(font_ctrl, false); -}; - -void render_mod_alt(void) { - static const char PROGMEM font_alt[3] = {0xb1, 0xb2, 0}; - oled_write_P(font_alt, false); -}; - -void render_mod_shift(void) { - static const char PROGMEM font_shift[3] = {0xb3, 0xb4, 0}; - oled_write_P(font_shift, false); -}; - -void render_mod_gui(void) { - static const char PROGMEM font_gui[3] = {0x93, 0x94, 0}; - oled_write_P(font_gui, false); -}; - -void render_caps_lock(void) { - static const char PROGMEM font_caps[3] = {0x9f, 0xbf, 0}; - oled_write_P(font_caps, false); -}; - - -// 5x2 Mod and feature indicator clusters - -void render_mod_status(void) { -#if defined(NO_ACTION_ONESHOT) - uint8_t modifiers = get_mods(); -#else - uint8_t modifiers = get_mods() | get_oneshot_mods(); -#endif - - (modifiers & MOD_MASK_CTRL) ? render_mod_ctrl() : oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(" "), false); - (modifiers & MOD_MASK_SHIFT) ? render_mod_shift() : oled_write_P(PSTR(" "), false); - - (modifiers & MOD_MASK_ALT) ? render_mod_alt() : oled_write_P(PSTR(" "), false); - oled_write_P(PSTR(" "), false); - (modifiers & MOD_MASK_GUI) ? render_mod_gui() : oled_write_P(PSTR(" "), false); - - led_t led_state = host_keyboard_led_state(); - (led_state.caps_lock) ? render_caps_lock() : oled_write_P(PSTR(" "), false); -} - -void render_feature_status(void) { -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - render_rgb_status(); -#endif -}; - -// Keylogger -#define KEYLOGGER_LENGTH 5 -static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; -// clang-format off -static const char PROGMEM code_to_name[0xFF] = { -// 0 1 2 3 4 5 6 7 8 9 A B C D E F - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x - '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x - ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x - ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx - 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex - ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx -}; - - -#if defined(KEY_LOG_ENABLE) -void add_keylog(uint16_t keycode) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) - || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) - || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { - keycode = keycode & 0xFF; - } else if (keycode > 0xFF) { - keycode = 0; - } - - for (uint8_t i = (KEYLOGGER_LENGTH - 1); i > 0; --i) { - keylog_str[i] = keylog_str[i - 1]; - } - - if (keycode < ARRAY_SIZE(code_to_name)) { - keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); - } -} -#endif - -static uint16_t key_timer = 0; -static bool is_key_processed = true; -bool process_record_oled(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - key_timer = timer_read(); - is_key_processed = true; - -# if defined(KEY_LOG_ENABLE) - add_keylog(keycode); -#endif - } - - return true; -} - - -void render_keylogger_status(void) { - oled_write(keylog_str, false); -} - - -void render_prompt(void) { - bool blink = (timer_read() % 1000) < 500; - - if (layer_state_is(_FUNCTION)) { - oled_write_ln_P(blink ? PSTR("> ft_") : PSTR("> ft "), false); - } else if (layer_state_is(_CODE)) { - oled_write_ln_P(blink ? PSTR("> sy_") : PSTR("> sy "), false); - } else if (layer_state_is(_ADJUST)) { - oled_write_ln_P(blink ? PSTR("> aj_") : PSTR("> aj "), false); - } else { - oled_write_ln_P(blink ? PSTR("> _ ") : PSTR("> "), false); - } -}; - - -void render_status_secondary(void) { - oled_write_ln("", false); - oled_write_ln("", false); - - render_kb_split(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - - render_layer(); - - oled_write_ln("", false); - oled_write_ln("", false); - oled_write_ln("", false); - -#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) - layer_state_is(_ADJUST) ? render_feature_status() : render_mod_status(); -#else - render_mod_status(); -#endif -}; - - -void render_status_main(void) { - oled_write_ln("", false); - oled_write_ln("", false); - - render_qmk_logo(); - - oled_write_ln("", false); - oled_write_ln("", false); - - render_layers(); - - oled_write_ln("", false); - oled_write_ln("", false); - - render_prompt(); - - oled_write_ln("", false); - - render_keylogger_status(); -} - - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - - -bool oled_task_user(void) { - if (is_keyboard_master()) { - if (is_key_processed && (timer_elapsed(key_timer) < OLED_KEY_TIMEOUT)) { - render_status_main(); - } else if (is_key_processed) { - is_key_processed = false; - oled_off(); - } - } else { - render_status_secondary(); - } - - return false; -} diff --git a/keyboards/crkbd/keymaps/thunderbird2086/process_records.c b/keyboards/crkbd/keymaps/thunderbird2086/process_records.c deleted file mode 100644 index 46b9126677f3..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/process_records.c +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#include "keycodes.h" -#include "version.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; -} - -#if defined(OLED_ENABLE) -__attribute__((weak)) -bool process_record_oled(uint16_t keycode, keyrecord_t *record) { - return true; -} -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case COLEMAK: - set_single_persistent_default_layer(_COLEMAK); - break; - case QWERTY: - set_single_persistent_default_layer(_QWERTY); - break; -# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - case RGBRST: -# if defined(RGBLIGHT_ENABLE) - eeconfig_update_rgblight_default(); - rgblight_enable(); -# else - eeconfig_update_rgb_matrix_default(); -# endif - break; -# endif - case VRSN: - send_string( - "# qmk " QMK_VERSION "\n" SS_DELAY(VER_NEWLINE_WAIT) - "# " QMK_KEYBOARD "/" QMK_KEYMAP "\n" SS_DELAY(VER_NEWLINE_WAIT) - "# built on: " QMK_BUILDDATE "\n"); - break; - } - } - - return process_record_keymap(keycode, record) && process_record_secrets(keycode, record) -# if defined(OLED_ENABLE) - && process_record_oled(keycode, record) -# endif - ; -} diff --git a/keyboards/crkbd/keymaps/thunderbird2086/readme.md b/keyboards/crkbd/keymaps/thunderbird2086/readme.md deleted file mode 100644 index cb57f20aecbd..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/readme.md +++ /dev/null @@ -1,65 +0,0 @@ -# Thunderbird2086's custom CRKBD Layout - -The concept is Mac and **baby finger** friendly keymap. - -## Layers -- Colemak-DH: base layer. The option(âŒĨ) and command(⌘) keys are assigned to thumb blocks as well as home position keys on each side. Also, far end two columns are assigned to shift(⇧) and control(⌃) keys. - ![colemak-dh](https://i.imgur.com/R7EzTTt.png) - - Thumb keys - | Tap | Double tap | Long tap | - | --- | --- | --- | - | Command(⌘) | Command(⌘) + Space(âĢ) | | - | Delete(âŒĶ) | | Function layer | - | Backspace(âŒŦ)| | Function layer | - | Space(âĢ) | | Code layer | - | Enter(⏎) | | Code layer | - - Staggered keys - | Tap | Double tap | Long tap | - | --- | --- | --- | - | TAB | Control(⌃) + TAB | | - | a | | Control(⌃) | - | z | | Shift(⇧) | - | t | | Option(âŒĨ) | - | n | | Command(⌘) | - | o | | Control(⌃) | - | ' | | Control(⌃) | - | / | | Shift(⇧) | - | = | | Adjust layer | - -- QWERTY: same as Colemak-DH layer - ![qwery](https://i.imgur.com/v9JBwQu.png) - - Thumb keys : same as Colemak-DH - - Staggered keys : almost same as Colemak-DH except - | Tap | Double tap | Long tap | - | --- | --- | --- | - | f | | Option(âŒĨ) | - | j | | Command(⌘) | - | ; | | Control(⌃) | - -- CODE: numbers and symbols. - ![symbol](https://i.imgur.com/BPgPlYX.png) - - Thumb keys - | Tap | Double tap | Long tap | - | --- | --- | --- | - | ESC | Caps lock | | - - Staggered keys - | Tap | Double tap | Long tap | - | --- | --- | --- | - | ` | Command(⌘) + ` | | - -- FUNCTION: function, meadia and navigation keys - ![function](https://i.imgur.com/cs5haUP.png) - - Thumb keys - | Tap | Double tap | Long tap | - | --- | --- | --- | - | ESC | Caps lock | | - -- ADJUST: RGB control, Power control, default layer setting, QMK version and reset - ![adjust](https://i.imgur.com/uDIhigd.png) -- SECRET: hold `ADJUST` and `FUNCTION` to activate - -## Custom OLED -This keymap includes custom OLED font and code. The font contains some logos and status indidcators from [gotham](../gotham) and [soundmonster](../soundmonster) including my own CAPS LOCK icon. Enable OLED in rukes.mk to check it out. Feel free to reuse the font or parts of it. - -## Flashing -Flash using `make crkbd:thunderbird2086:avrdude` for Pro Micro and `make crkbd:thunderbird2086:dfu` for Elite-C. diff --git a/keyboards/crkbd/keymaps/thunderbird2086/rgb.c b/keyboards/crkbd/keymaps/thunderbird2086/rgb.c deleted file mode 100644 index d9b0003c8817..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/rgb.c +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2023 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) -# include QMK_KEYBOARD_H - -# include "keycodes.h" - -# ifdef RGBLIGHT_ENABLE - -const rgblight_segment_t PROGMEM _rgb_layer_0[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 56, HSV_BLUE} -); -const rgblight_segment_t PROGMEM _rgb_layer_1[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 56, HSV_GREEN} -); -const rgblight_segment_t PROGMEM _rgb_layer_2[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 56, HSV_YELLOW} -); - -const rgblight_segment_t* const PROGMEM _rgb_layers[] = RGBLIGHT_LAYERS_LIST( - _rgb_layer_0, - _rgb_layer_1, - _rgb_layer_2 -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = _rgb_layers; -} - -void set_rgb_by_layer(layer_state_t state) { - rgblight_set_layer_state(0, layer_state_cmp(state, _CODE)); - rgblight_set_layer_state(1, layer_state_cmp(state, _FUNCTION)); - rgblight_set_layer_state(2, layer_state_cmp(state, _ADJUST)); -} - -# else - -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - for (uint8_t i = led_min; i < led_max; i++) { - switch(get_highest_layer(layer_state|default_layer_state)) { - case _CODE: - rgb_matrix_set_color(i, RGB_BLUE); - break; - case _FUNCTION: - rgb_matrix_set_color(i, RGB_GREEN); - break; - case _ADJUST: - rgb_matrix_set_color(i, RGB_YELLOW); - // RGB_WHITE caused crash - break; - default: - break; - } - } - return false; -} - -# endif -#endif diff --git a/keyboards/crkbd/keymaps/thunderbird2086/rules.mk b/keyboards/crkbd/keymaps/thunderbird2086/rules.mk deleted file mode 100644 index adc61ea60d3d..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes - -TAP_DANCE_ENABLE = yes - -SRC += oled.c -SRC += process_records.c -SRC += rgb.c -SRC += tap_dances.c - -ifneq ("$(wildcard keyboards/crkbd/keymaps/thunderbird2086/secrets.c)","") - SRC += secrets.c -endif diff --git a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c deleted file mode 100644 index dbfe3c5b3d6f..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.c +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "tap_dances.h" - -tap_dance_action_t tap_dance_actions[] = { - [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), - [TD_TAB_CTRLTAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LCTL(KC_TAB)), - [TD_GRV_CTRLGRV] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, LGUI(KC_GRV)), - [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), -}; diff --git a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h b/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h deleted file mode 100644 index 34d3c4e32c2b..000000000000 --- a/keyboards/crkbd/keymaps/thunderbird2086/tap_dances.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 Allen Choi (@thunderbird2086) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -enum custom_tapdances { - TD_ESC_CAPS = 0, - TD_TAB_CTRLTAB, - TD_GRV_CTRLGRV, - TD_GUI_GUISPC, -}; - -#define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK -#define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB -#define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for Cmd + GRV -#define T_GUI TD(TD_GUI_GUISPC) // Tap for Cmd, double tap for Cmd + Space diff --git a/keyboards/crkbd/keymaps/toinux/config.h b/keyboards/crkbd/keymaps/toinux/config.h deleted file mode 100644 index 83fe82aa8d73..000000000000 --- a/keyboards/crkbd/keymaps/toinux/config.h +++ /dev/null @@ -1,123 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -//#define QUICK_TAP_TERM 0 -//#define TAPPING_TERM 100 - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE -# 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_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* 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. */ -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# undef ENABLE_RGB_MATRIX_HUE_BREATHING -# undef ENABLE_RGB_MATRIX_HUE_PENDULUM -# undef ENABLE_RGB_MATRIX_HUE_WAVE -# undef ENABLE_RGB_MATRIX_PIXEL_RAIN -# undef ENABLE_RGB_MATRIX_PIXEL_FLOW -# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif - -#define OLED_FONT_H "keyboards/crkbd/keymaps/toinux/glcdfont.c" - -#define SPLIT_LAYER_STATE_ENABLE -// #define SPLIT_LED_STATE_ENABLE - -#define LAYER_STATE_16BIT - -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY diff --git a/keyboards/crkbd/keymaps/toinux/glcdfont.c b/keyboards/crkbd/keymaps/toinux/glcdfont.c deleted file mode 100644 index 74cce5a95274..000000000000 --- a/keyboards/crkbd/keymaps/toinux/glcdfont.c +++ /dev/null @@ -1,232 +0,0 @@ -// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. -// See gfxfont.h for newer custom bitmap font info. - -#include "progmem.h" - -// Standard ASCII 5x7 font -const unsigned char font[] PROGMEM = { - 0x24, 0x7E, 0x24, 0x24, 0x7E, 0x24, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0xD4, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x28, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x50, 0x50, 0x50, 0x3C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x83, 0xC3, 0xC3, 0xC3, 0x9B, 0x03, - 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x32, 0x32, 0x32, 0x32, 0x32, - 0x32, 0xE6, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFE, - 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, - 0x80, 0x80, 0x80, 0x80, 0x9E, 0x81, - 0x80, 0x9E, 0x80, 0x80, 0x80, 0x80, - 0xFF, 0xEF, 0xD7, 0x0F, 0xDF, 0xDF, - 0xDF, 0xDF, 0x0F, 0xD7, 0xEF, 0xFF, - 0x01, 0x11, 0x29, 0xF1, 0x21, 0x21, - 0x21, 0x21, 0xF1, 0x29, 0x11, 0x01, - 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, - 0xDF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFE, 0xFC, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFC, 0x02, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x09, 0x11, - 0x21, 0x41, 0x81, 0x01, 0x01, 0x01, - 0x01, 0x02, 0xFC, 0x00, 0x00, 0x00, - 0x3E, 0xFF, 0xF8, 0xF8, 0xFF, 0x3E, - 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, - 0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63, - 0x07, 0x7F, 0x7F, 0x07, 0x7F, 0x7F, - 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, - 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, - 0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E, - 0x1F, 0x3F, 0x63, 0x63, 0x3F, 0x1F, - 0x73, 0x3B, 0x1F, 0x1F, 0x3B, 0x73, - 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x8F, 0x8C, 0x0C, 0x0C, 0x0F, 0x0C, - 0x8C, 0xAC, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 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, 0x83, 0x82, 0x82, 0x9E, 0x88, - 0x84, 0x82, 0x81, 0x80, 0x80, 0x80, - 0xFF, 0xEF, 0xD7, 0xE0, 0xF7, 0xF7, - 0xF7, 0xF7, 0xE0, 0xD7, 0xEF, 0xFF, - 0x00, 0x10, 0x28, 0x1F, 0x08, 0x08, - 0x08, 0x08, 0x1F, 0x28, 0x10, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xEF, - 0xF7, 0xFB, 0xFD, 0xFE, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, - 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xBD, 0x81, 0x81, 0x00, - 0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E, - 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x77, - 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, - 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, - 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, - 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, - 0x03, 0x7F, 0x7F, 0x63, 0x7F, 0x1F, - 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD9, 0x99, 0x9B, 0x9E, 0x9E, 0x9B, - 0x99, 0xD9, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 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, 0xFC, 0xFD, 0xFD, 0xE1, 0xF7, - 0xFB, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x7F, 0xBF, 0xDF, 0xE1, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x40, 0x3C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x3F, 0x7F, 0xFF, - 0xFF, 0x1F, 0xDF, 0xDF, 0xC3, 0xF7, - 0xEF, 0xDF, 0xBF, 0x7F, 0xFF, 0xFF, - 0xFF, 0x7F, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x3F, 0x40, 0x80, - 0x00, 0xE0, 0x20, 0x20, 0x3C, 0x08, - 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, - 0x80, 0x40, 0x3F, 0x00, 0x00, 0x00, - 0x00, 0x7F, 0xE3, 0xE3, 0x7F, 0x00, - 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x07, - 0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63, - 0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63, - 0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08, - 0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08, - 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, - 0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F, - 0x3E, 0x7F, 0x63, 0x63, 0x63, 0x63, - 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/toinux/keycodes.h b/keyboards/crkbd/keymaps/toinux/keycodes.h deleted file mode 100644 index 0d7c1e326024..000000000000 --- a/keyboards/crkbd/keymaps/toinux/keycodes.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2022 @toinux - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -enum crkbd_layers { - _BASE, - _GAMING, - _GAMING2, - _ACCENTS, - _LOWER, - _RAISE, - _FUN, - _NAV, - _MOUSE, - _ADJUST -}; - -#define CTRLSC LCTL_T(KC_ESC) -#define QUORCTL RCTL_T(KC_QUOT) -#define MOSCLN LT(_MOUSE,KC_SCLN) -#define ACCENTS LT(_ACCENTS,KC_RALT) -#define FUN LT(_FUN,KC_SPC) -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define SPCNAV LT(_NAV,KC_SPC) -#define SFTENT MT(MOD_RSFT,KC_ENT) -#define TABLGUI LGUI_T(KC_TAB) -#define BASE DF(_BASE) -#define GAMING DF(_GAMING) -#define GAMING2 MO(_GAMING2) - -#define SC_F1 LSFT(LCTL(KC_F1)) -#define SC_F2 LSFT(LCTL(KC_F2)) -#define SC_F3 LSFT(LCTL(KC_F3)) -#define SC_F4 LSFT(LCTL(KC_F4)) diff --git a/keyboards/crkbd/keymaps/toinux/keymap.c b/keyboards/crkbd/keymaps/toinux/keymap.c deleted file mode 100644 index 3742ed9b82d0..000000000000 --- a/keyboards/crkbd/keymaps/toinux/keymap.c +++ /dev/null @@ -1,259 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2022 @toinux - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "users/toinux/keymap_qwerty_fr.h" -#include "keycodes.h" - -#ifdef OLED_ENABLE -#include "oled.h" -#endif - -// TEMPLATE -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | | | | | | | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | | | | | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | | | | | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// Base -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// |Tab/LGui| Q | W | E | R | T | | Y | U | I | O | P | Bksp | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | CtrlSc | A | S | D | F | G | | H | J | K | L | ;/Mous | '/Rctl | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | LALT | LOWER |Spc/FUN | | Spc/NAV| RAISE |ACCENTS | -// `--------------------------' `--------------------------' - [_BASE] = LAYOUT_split_3x6_3( - TABLGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - CTRLSC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, QUORCTL, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT, - KC_LALT, LOWER, FUN, SPCNAV, RAISE, ACCENTS - - ), - -// Gaming -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | Ctrl | A | S | D | F | G | | H | J | K | L | ;/Mous | ' | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | LALT |GAMING2 | Space | | Spc/NAV| RAISE |ACCENTS | -// `--------------------------' `--------------------------' - [_GAMING] = LAYOUT_split_3x6_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT, - KC_LALT, GAMING2, KC_SPC, SPCNAV, RAISE, ACCENTS - - ), - -// Gaming 2 -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | Tab | 1 | 2 | 3 | 4 | 5 | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | Esc | 6 | 7 | 8 | 9 | 0 | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | LGui | Base | | Vol- | Vol+ | Mute | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_GAMING2] = LAYOUT_split_3x6_3( - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LGUI, BASE, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______ - - ), - -// Accents, see http://marin.jb.free.fr/qwerty-fr/ -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | | ÃĒ | ÃĐ | ÃĻ | Ê | ₮ | | Ãŧ | Ãđ | ÃŪ | Ãī | œ | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | à | ÃĶ | ÃŦ | | ÂŦ | | Âŧ | Þ | ÃŊ | Ãķ | ° | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | à | | ç | | | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_ACCENTS] = LAYOUT_split_3x6_3( - _______, QF_ACIR, QF_EACU, QF_EGRV, QF_ECIR, QF_EURO, QF_UCIR, QF_UGRV, QF_ICIR, QF_OCIR, QF_OE, _______, - _______, QF_AGRV, QF_AE, QF_EDIA, _______, QF_LDAQ, QF_RDAQ, QF_UDIA, QF_IDIA, QF_ODIA, QF_DEG, _______, - _______, QF_AGRV, _______, QF_CCED, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - - ), - -// Lower -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | SC_F1 | SC_F2 | SC_F3 | SC_F4 | | | | _ | + | { | } | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | Gaming | | Vol- | Vol+ | Mute | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_LOWER] = LAYOUT_split_3x6_3( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - _______, SC_F1, SC_F2, SC_F3, SC_F4, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, GAMING, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______ - - ), - -// Raise -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | | | | | | | - | = | [ | ] | \ | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | | | | | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_RAISE] = LAYOUT_split_3x6_3( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______ - - ), - -// Functions and keypad -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | | F1 | F2 | F2 | F4 | | | | 7 | 8 | 9 | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | F5 | F6 | F7 | F8 | | | | 4 | 5 | 6 | - | / | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | F9 | F10 | F11 | F12 | | | | 1 | 2 | 3 | + | * | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | = | 0 | . | -// `--------------------------' `--------------------------' - [_FUN] = LAYOUT_split_3x6_3( - _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, XXXXXXX, _______, - _______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS, - _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, - _______, _______, _______, KC_PENT, KC_P0, KC_PDOT - - ), - -// Navigation and function keys -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | | F1 | F2 | F2 | F4 | | | | Pg Up | Up | Pg Dn | Ins | Del | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | F5 | F6 | F7 | F8 | | | Home | Left | Down | Right | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | F9 | F10 | F11 | F12 | | | Space | End | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_NAV] = LAYOUT_split_3x6_3( - _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_DEL, - _______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SPC, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______ - - ), - -// Mouse -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | | | Wh up | Ms up | Wh dn | | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | Ms lft | Ms dn | Ms rgt | | | | btn1 | btn3 | btn2 | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | | | Wh lft | | Wh rgt | | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_MOUSE] = LAYOUT_split_3x6_3( - _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, - _______, _______, KC_WH_L, _______, KC_WH_R, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - - ), - -// Adjust -// ,-----------------------------------------------------. ,-----------------------------------------------------. -// | Reset | | | | | Print | | Num | Caps | Scroll | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | On/Off | Hue ↑ | Sat ↑ | Brght ↑| | | | | | | | | | -// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -// | Cycle | Hue ↓ | Sat ↓ | Brght ↓| | | | | | | | | | -// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------' -// | | | | | | | | -// `--------------------------' `--------------------------' - [_ADJUST] = LAYOUT_split_3x6_3( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NUM, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case CTRLSC: - return true; - default: - return false; - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - -#ifdef OLED_ENABLE - if (record->event.pressed) { - set_keylog(keycode, record); - } -#endif // OLED_ENABLE - - switch (keycode) { - case FUN: - if (!host_keyboard_led_state().num_lock) { - tap_code(KC_NUM_LOCK); - } - return true; - break; - } - return true; -} - -void keyboard_post_init_user(void) { -#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_OFF); -#endif -} diff --git a/keyboards/crkbd/keymaps/toinux/oled.c b/keyboards/crkbd/keymaps/toinux/oled.c deleted file mode 100644 index df2a693d8d80..000000000000 --- a/keyboards/crkbd/keymaps/toinux/oled.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2022 @toinux - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "keycodes.h" -#include "oled.h" - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - - -void oled_render_mod_status(void) { - - const uint8_t modifiers = get_mods() | get_oneshot_mods(); - - for (uint8_t i = 0; i < 2; i++) { - oled_set_cursor(9,i); - oled_write_P(gui_icon[(modifiers & MOD_MASK_GUI) ? 1 : 0][i], false); - oled_write_P(ctrl_icon[(modifiers & MOD_MASK_CTRL) ? 1 : 0][i], false); - oled_set_cursor(9,i+2); - oled_write_P(alt_icon[(modifiers & MOD_MASK_ALT) ? 1 : 0][i], false); - oled_write_P(shift_icon[(modifiers & MOD_MASK_SHIFT) ? 1 : 0][i], false); - } - -} - -void oled_render_layer_state(void) { - - char c = 0x9F - get_highest_layer(layer_state|default_layer_state); - - oled_set_cursor(20,0); - oled_write_char(0X00, false); - - oled_set_cursor(20,1); - oled_write_char(c, false); - c += 32; - oled_set_cursor(20,2); - oled_write_char(c, false); - c += 32; - oled_set_cursor(20,3); - oled_write_char(c, false); - -} - -void oled_render_led_state(void) { - // oled_advance_page(false) instead of oled_write_ln_P to not break OLED_TIMEOUT - oled_write_P(PSTR("NUM"), host_keyboard_led_state().num_lock); - oled_advance_page(false); - oled_write_P(PSTR("CAP"), host_keyboard_led_state().caps_lock); - oled_advance_page(false); - oled_write_P(PSTR("SCL"), host_keyboard_led_state().scroll_lock); - oled_advance_page(false); -} - -uint8_t last_row = 0; -uint8_t last_col = 0; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - last_row = record->event.key.row; - last_col = record->event.key.col; -} - -void oled_render_keylog(void) { - oled_write_char(last_row + '0', false); - oled_write_char('x', false); - oled_write_char(last_col + '0', false); -} - -void oled_render_logo(void) { - static const char PROGMEM kpu_logo[][3] = { - {0x82, 0x83, 0}, - {0x80, 0x81, 0}, - {0xa0, 0xa1, 0}, - {0xc0, 0xc1, 0} - }; - for (uint8_t i = 0; i < 4; i++) { - oled_write_ln_P(kpu_logo[i], false); - } - -} - -bool oled_task_user(void) { - if (is_keyboard_master ()) { - oled_render_led_state(); - oled_render_keylog(); - oled_render_mod_status(); - oled_render_layer_state(); - } else { - oled_render_logo(); - oled_scroll_right(); - oled_scroll_set_speed(4); - } - return false; -} diff --git a/keyboards/crkbd/keymaps/toinux/oled.h b/keyboards/crkbd/keymaps/toinux/oled.h deleted file mode 100644 index 30be16e602fb..000000000000 --- a/keyboards/crkbd/keymaps/toinux/oled.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright 2022 @toinux - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -static const char PROGMEM ctrl_icon[2][2][4] = { - { - // off - {0x93, 0x94, 0x95, 0}, - {0xB3, 0xB4, 0xB5, 0}, - }, - { - // on - {0x8F ,0x90, 0x91, 0}, - {0xAF ,0xB0, 0xB1, 0}, - } -}; - -static const char PROGMEM shift_icon[2][2][4] = { - { - // off - {0xD3, 0xD4, 0xB5, 0}, - {0xA8, 0xA9, 0xD5, 0}, - }, - { - // on - {0xCF ,0xD0, 0xB1, 0}, - {0xC8 ,0xC9, 0xD1, 0}, - } -}; - -static const char PROGMEM gui_icon[2][2][4] = { - { - // off - {0x92, 0x8C, 0x8D, 0}, - {0xB2, 0xAC, 0xAD, 0}, - }, - { - // on - {0x8E ,0x8A, 0x8B, 0}, - {0xAE ,0xAA, 0xAB, 0}, - } -}; - -static const char PROGMEM alt_icon[2][2][4] = { - { - // off - {0xB2, 0xCC, 0xCD, 0}, - {0xD2, 0x88, 0x89, 0}, - }, - { - // on - {0xAE ,0xCA, 0xCB, 0}, - {0xCE ,0x86, 0x87, 0}, - } -}; - -void set_keylog(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/toinux/rgb.c b/keyboards/crkbd/keymaps/toinux/rgb.c deleted file mode 100644 index 2b1a2266025a..000000000000 --- a/keyboards/crkbd/keymaps/toinux/rgb.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2022 @toinux - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "keycodes.h" - -static const char gaming_leds[] = {18, 22, 19, 16}; -static const char gaming2_leds[] = {23, 18, 17, 10, 9, 22, 19, 16, 11, 8}; -static const char nav_leds[] = {38, 43, 44, 46}; -static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40}; -static const char mouse_leds[] = {11, 16, 17, 19}; -static const char adjust_leds[] = {6, 33}; - -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(26, RGB_RED); - } - switch(get_highest_layer(layer_state|default_layer_state)) { - case _GAMING: - if (is_keyboard_master()) { - for (uint8_t i = 0; i < 4; i++) { - rgb_matrix_set_color(gaming_leds[i], 0x88, 0x00, 0x00); - } - } - break; - case _GAMING2: - if (is_keyboard_master()) { - for (uint8_t i = 0; i < 10; i++) { - rgb_matrix_set_color(gaming2_leds[i], RGB_GREEN); - } - } - break; - case _NAV: - for (uint8_t i = 0; i < 4; i++) { - rgb_matrix_set_color(nav_leds[i], RGB_BLUE); - } - break; - case _FUN: - for (uint8_t i = 0; i < 10; i++) { - rgb_matrix_set_color(fun_leds[i], RGB_GREEN); - } - break; - case _ADJUST: - for (uint8_t i = 0; i < 2; i++) { - rgb_matrix_set_color(adjust_leds[i], RGB_RED); - } - break; - case _MOUSE: - if (is_keyboard_master()) { - for (uint8_t i = 0; i < 4; i++) { - rgb_matrix_set_color(mouse_leds[i], RGB_PURPLE); - } - } - break; - - } - return false; -} diff --git a/keyboards/crkbd/keymaps/toinux/rules.mk b/keyboards/crkbd/keymaps/toinux/rules.mk deleted file mode 100644 index 07c98a08f803..000000000000 --- a/keyboards/crkbd/keymaps/toinux/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -MOUSEKEY_ENABLE = yes # Mouse keys -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes -BOOTLOADER = atmel-dfu - -SRC += ./oled.c ./rgb.c diff --git a/keyboards/crkbd/keymaps/tominabox1/keymap.c b/keyboards/crkbd/keymaps/tominabox1/keymap.c deleted file mode 100755 index d58911194eea..000000000000 --- a/keyboards/crkbd/keymaps/tominabox1/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -#include QMK_KEYBOARD_H -#include "tominabox1.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_wrapper( - ___________________CRKBD1__________________, - ___________________CRKBD2__________________, - ___________________CRKBD3__________________, - ___________________CRKBD4__________________ - ), - - [_RAISE] = LAYOUT_wrapper( - ___________________RAISE1__________________, - ___________________RAISE2__________________, - ___________________CRKBD_RAISE3____________, - ___________________CRKBD_RAISE4____________ - ), - - [_LOWER] = LAYOUT_wrapper( - _________________LOWER_1___________________, - _________________LOWER_2___________________, - ___________________CRKBD_LOW3______________, - ___________________CRKBD_LOW4______________ - ), - - [_ADJUST] = LAYOUT_wrapper( - ___________________ADJST1__________________, - ___________________CRKBD_ADJST2____________, - ___________________CRKBD_ADJST3____________, - ___________________CRKBD_ADJST4____________ - ), - - [_ARROW] = LAYOUT_wrapper( - ___________________ARROW1__________________, - ___________________ARROW2__________________, - ___________________ARROW3__________________, - ___________________ARROW4__________________ - ), - [_FKEY] = LAYOUT_wrapper( - ___________________FKEY1___________________, - ___________________FKEY2___________________, - ___________________CRKBD_FKEY3_____________, - ___________________CRKBD_FKEY4_____________ - ) - -}; diff --git a/keyboards/crkbd/keymaps/vayashiko/config.h b/keyboards/crkbd/keymaps/vayashiko/config.h deleted file mode 100644 index 01a1210c81d9..000000000000 --- a/keyboards/crkbd/keymaps/vayashiko/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_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 -#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 -#define RGBLED_NUM 42 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/vayashiko/keymap.c b/keyboards/crkbd/keymaps/vayashiko/keymap.c deleted file mode 100644 index 41160cb6d2cd..000000000000 --- a/keyboards/crkbd/keymaps/vayashiko/keymap.c +++ /dev/null @@ -1,183 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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" - -enum custom_layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LALT, 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, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT - //`--------------------------' `--------------------------' - - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_7, KC_8, KC_9, JP_MINS,KC_DELETE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LALT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, KC_4, KC_5, KC_6, JP_PLUS,LSFT(KC_CAPS), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LCTL, _______, KC_SPC, KC_ENT, MO(3), KC_RALT - //`--------------------------' `--------------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, JP_EXLM, JP_DQT, JP_HASH, KC_DLR, JP_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_MINS, JP_CIRC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_GRV, XXXXXXX, XXXXXXX, JP_MHEN, KC_G, XXXXXXX, JP_HENK, JP_LBRC, JP_RBRC, XXXXXXX, JP_YEN, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_EQL,JP_AT,LSFT(JP_LBRC),LSFT(JP_RBRC),XXXXXXX,JP_UNDS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_HOME, KC_S, XXXXXXX, KC_END, KC_G, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, XXXXXXX, XXXXXXX, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/vayashiko/rules.mk b/keyboards/crkbd/keymaps/vayashiko/rules.mk deleted file mode 100644 index c29927421d1e..000000000000 --- a/keyboards/crkbd/keymaps/vayashiko/rules.mk +++ /dev/null @@ -1,30 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# 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 \ diff --git a/keyboards/crkbd/keymaps/mb_via/config.h b/keyboards/crkbd/keymaps/via_mechboards/config.h similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/config.h rename to keyboards/crkbd/keymaps/via_mechboards/config.h diff --git a/keyboards/crkbd/keymaps/mb_via/keymap.c b/keyboards/crkbd/keymaps/via_mechboards/keymap.c similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/keymap.c rename to keyboards/crkbd/keymaps/via_mechboards/keymap.c diff --git a/keyboards/crkbd/keymaps/via_mechboards/readme.md b/keyboards/crkbd/keymaps/via_mechboards/readme.md new file mode 100644 index 000000000000..a173bc43ecb3 --- /dev/null +++ b/keyboards/crkbd/keymaps/via_mechboards/readme.md @@ -0,0 +1,10 @@ +# Default Via keymap for the Corne R2G by Mechboards UK + +Corne R2G is an edition of the classic CRKBD by foostan remade to feature full smd assembly + +In this folder can be found the default via enabled keymap that can be in conjunction with the mechboards R2G PCB. + +Flash example for this Keymap: +```sh +qmk flash -kb crkbd/r2g -km via_mechboards +``` diff --git a/keyboards/crkbd/keymaps/mb_via/rules.mk b/keyboards/crkbd/keymaps/via_mechboards/rules.mk similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/rules.mk rename to keyboards/crkbd/keymaps/via_mechboards/rules.mk diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h deleted file mode 100644 index 8ff7589a9d04..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -/* Select hand configuration */ - -#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 -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c deleted file mode 100644 index 8ee3841efcfb..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c +++ /dev/null @@ -1,198 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -enum layer_names { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - RGBRST, - MBTN1, - SCRL -}; - -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_RST QK_BOOT -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD - -#define KC_CTLA CTL_T(KC_A) -#define KC_CTLSC CTL_T(KC_SCLN) -#define KC_SFTZ SFT_T(KC_Z) -#define KC_SFTSL SFT_T(KC_SLSH) -#define KC_WINX LWIN_T(KC_X) -#define KC_WINDO RWIN_T(KC_DOT) - -#define KC_MBTN1 MBTN1 -#define KC_SCRL SCRL - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_TAB, KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTLSC, KC_QUOT, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_GRAVE, KC_SFTZ, KC_WINX, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_WINDO, KC_SFTSL,KC_BSLS, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, XXXXXXX, KC_PGDN, KC_PSCR, KC_PGUP, KC_LBRC, KC_RBRC, KC_7, KC_8, KC_9, XXXXXXX, XXXXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXXXX, KC_LCTL, KC_PLUS, KC_MINS, KC_EQL, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_RCTL, XXXXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXXXX, KC_LSFT, KC_HOME, XXXXXXX, KC_END, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_RSFT, XXXXXXX, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_0 - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_BTN2, KC_BTN2, KC_MNXT, KC_MPRV, KC_MPLY, KC_MSTP, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXXXX, KC_LCTL, KC_F4, KC_F5, KC_F6, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RCTL, XXXXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXXXX, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX, XXXXXXX, KC_VOLU, KC_VOLD, KC_MUTE, KC_RSFT, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_RST, KC_LRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RST, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} - -#ifdef OLED_ENABLE - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -bool oled_task_user(void) { - if (is_keyboard_master()) { - // If you want to change the display of OLED, you need to change here - oled_write_ln(read_layer_state(), false); - oled_write_ln(read_keylog(), false); - oled_write_ln(read_keylogs(), false); - } else { - oled_write(read_logo(), false); - } - return false; -} - -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef OLED_ENABLE - set_keylog(keycode, record); -#endif - } - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - #endif - return false; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/readme.md b/keyboards/crkbd/keymaps/vlukash_trackpad_left/readme.md deleted file mode 100644 index 91b884749fa2..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# CrKbd with the Trackpad support - -CrKbd version that supports BlackBerry 8520 trackpad via additional PCB. -See this repository for more details: - - https://github.com/vlukash/corne-trackpad - - https://vlukash.com/2019/01/15/trackpad-in-keycap-corne-crkbd-keyboard - -This firmware is for the Left keyboard. - -# Build - -``` -make crkbd:vlukash_trackpad_left:dfu -``` diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk deleted file mode 100644 index ed4d34a70b87..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Build Options -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -BOOTLOADER = atmel-dfu - -# 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 \ diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h deleted file mode 100644 index 89b58e4648f5..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#define NO_DEBUG_LEDS - -// Connector PCB version -// 1 - PCB that supports flex caple and the trackpad sensor is mounted on an 'H' keycap -// - https://github.com/vlukash/corne-trackpad/tree/master/connector -// 2 - PCB woth no flex option, track sensor mounted directly on the PCB -// - https://github.com/vlukash/corne-trackpad/tree/master/connector-no-flex -#define TRACKPAD_CONNECTOR_VER 1 - -/* Select hand configuration */ -#define MASTER_RIGHT - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 - -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -/* key matrix size */ -// Rows are doubled-up -#undef MATRIX_COL_PINS -#define MATRIX_COL_PINS { F4, F5, F6, F7, B7, D5 } - -/* ws2812 RGB LED */ -#undef WS2812_DI_PIN -#define WS2812_DI_PIN B5 diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c deleted file mode 100644 index 2d2535cda91a..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c +++ /dev/null @@ -1,198 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#include "mousekey.h" -#include "pointing_device.h" -#include "report.h" - -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif - -extern bool isScrollMode; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - - -enum layer_names { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - RGBRST, - MBTN1, - SCRL -}; - -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_RST QK_BOOT -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD - -#define KC_CTLA CTL_T(KC_A) -#define KC_CTLSC CTL_T(KC_SCLN) -#define KC_SFTZ SFT_T(KC_Z) -#define KC_SFTSL SFT_T(KC_SLSH) -#define KC_WINX LWIN_T(KC_X) -#define KC_WINDO RWIN_T(KC_DOT) - -#define KC_MBTN1 MBTN1 -#define KC_SCRL SCRL - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_TAB, KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTLSC, KC_QUOT, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_GRAVE, KC_SFTZ, KC_WINX, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_WINDO, KC_SFTSL,KC_BSLS, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, KC_XXXXX, KC_PGDN, KC_PSCR, KC_PGUP, KC_LBRC, KC_RBRC, KC_7, KC_8, KC_9, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_XXXXX, KC_LCTL, KC_PLUS, KC_MINS, KC_EQL, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_RCTL, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_XXXXX, KC_LSFT, KC_HOME, KC_XXXXX, KC_END, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_RSFT, KC_XXXXX, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_0 - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_ESC, KC_XXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_BTN2, KC_BTN2, KC_MNXT, KC_MPRV, KC_MPLY, KC_MSTP, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_XXXXX, KC_LCTL, KC_F4, KC_F5, KC_F6, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RCTL, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_XXXXX, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F12, KC_XXXXX, KC_XXXXX, KC_VOLU, KC_VOLD, KC_MUTE, KC_RSFT, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_RST, KC_LRST, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_RST, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - report_mouse_t currentReport = {}; - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - #endif - return false; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - break; - case MBTN1: - currentReport = pointing_device_get_report(); - if (record->event.pressed) { - currentReport.buttons |= MOUSE_BTN1; - } - else { - currentReport.buttons &= ~MOUSE_BTN1; - } - pointing_device_set_report(currentReport); - pointing_device_send(); - return false; - case SCRL: - if (record->event.pressed) { - isScrollMode = true; - } - else { - isScrollMode = false; - } - return false; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/readme.md b/keyboards/crkbd/keymaps/vlukash_trackpad_right/readme.md deleted file mode 100644 index cd511018c14f..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# CrKbd with the Trackpad support - -CrKbd version that supports BlackBerry 8520 trackpad via additional PCB. -See this repository for more details: - - https://github.com/vlukash/corne-trackpad - - https://vlukash.com/2019/01/15/trackpad-in-keycap-corne-crkbd-keyboard - -This firmware is for the Right keyboard. - -# Build - -``` -make crkbd:vlukash_trackpad_right:dfu -``` diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk deleted file mode 100644 index 92ded45e93fb..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -# Build Options -POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. -POINTING_DEVICE_DRIVER = custom -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. - -BOOTLOADER = atmel-dfu - -# Add support for the BB 8520 trackpad -SRC += trackpad.c diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.c b/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.c deleted file mode 100644 index 4dc336c42086..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "trackpad.h" - -// bool isScrollingMode = false; -bool isScrollMode = false; - -void pointing_device_init(void){ - - SPI_Init(SPI_SPEED_FCPU_DIV_8 | SPI_MODE_MASTER); - - // Set as output - TP_RESET_INIT; - TP_SHUTDOWN_INIT; - TP_CS_INIT; - LVL_SHIFT_EN_INIT; - - // Reset level shifter - LVL_SHIFT_EN_LO; - wait_ms(100); - LVL_SHIFT_EN_HI; - - // Force a BB-8520 reset - TP_RESET_HI; - wait_ms(100); - TP_RESET_LO; - - // Turn on BB-8520 trackpad - TP_SHUTDOWN_LO; - - TP_CS_HI; -} - -uint8_t readRegister(uint8_t address) { - uint8_t data; - - TP_CS_LO; - - // Read the data - SPI_TransferByte(address); - data = SPI_TransferByte(0x00); - - TP_CS_HI; - - return data; -} - -bool pointing_device_task(void){ - uint8_t motion = readRegister(0x02); - - // Motion has occurred on the trackpad - if (motion > 127) { - - int8_t dx, dy; - - if(TRACKPAD_CONNECTOR_VER == 1) { - dx = readRegister(0x03); - dy = -readRegister(0x04); - } - else { - dy = -readRegister(0x03); - dx = -readRegister(0x04); - } - - report_mouse_t currentReport = pointing_device_get_report(); - if (isScrollMode) - { - currentReport.h = dx/SCROLL_SPEED_DIVIDER; - currentReport.v = dy/SCROLL_SPEED_DIVIDER; - } - else - { - currentReport.x = dx * POINTER_SPEED_MULTIPLIER; - currentReport.y = dy * POINTER_SPEED_MULTIPLIER; - } - - pointing_device_set_report(currentReport); - } - return pointing_device_send(); -} diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.h b/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.h deleted file mode 100644 index cce460a97c9c..000000000000 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/trackpad.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "pointing_device.h" -#include "quantum.h" -#include "report.h" -#include -#include - -// Trackpad speed adjustments -#define POINTER_SPEED_MULTIPLIER 2 -#define SCROLL_SPEED_DIVIDER 6 - -// Pins on corresponding ports -#define TP_RESET 1 -#define TP_SHUTDOWN 0 -#define TP_CS 0 -#define LVL_SHIFT_EN 7 - -// Configure as output -#define TP_RESET_INIT DDRF |= (1 << TP_RESET); -#define TP_SHUTDOWN_INIT DDRF |= (1 << TP_SHUTDOWN); -#define TP_CS_INIT DDRB |= (1 << TP_CS); -#define LVL_SHIFT_EN_INIT DDRC |= (1 << LVL_SHIFT_EN); - -#define TP_RESET_HI PORTF |= (1 << TP_RESET); -#define TP_RESET_LO PORTF &= ~ (1 << TP_RESET); -#define TP_SHUTDOWN_HI PORTF |= (1 << TP_SHUTDOWN); -#define TP_SHUTDOWN_LO PORTF &= ~ (1 << TP_SHUTDOWN); -#define TP_CS_HI PORTB |= (1 << TP_CS); -#define TP_CS_LO PORTB &= ~ (1 << TP_CS); -#define LVL_SHIFT_EN_HI PORTC |= (1 << LVL_SHIFT_EN); -#define LVL_SHIFT_EN_LO PORTC &= ~ (1 << LVL_SHIFT_EN); diff --git a/keyboards/crkbd/keymaps/vxid/README.md b/keyboards/crkbd/keymaps/vxid/README.md deleted file mode 100644 index 7b0f9b8af5aa..000000000000 --- a/keyboards/crkbd/keymaps/vxid/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Vxid crkbd layout - -Inspired by sdothum's wide planck layout. diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h deleted file mode 100644 index 1960e1319470..000000000000 --- a/keyboards/crkbd/keymaps/vxid/config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_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 -#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 -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/vxid/keymap.c b/keyboards/crkbd/keymaps/vxid/keymap.c deleted file mode 100644 index 643a9eb425d3..000000000000 --- a/keyboards/crkbd/keymaps/vxid/keymap.c +++ /dev/null @@ -1,83 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE -}; - -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,-----------------------------------------. ,-----------------------------------------. - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_DEL, KC_Y, KC_U, KC_I, KC_O, KC_P, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_A, KC_S, KC_D, KC_F, KC_G, KC_SPC, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TAB, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT( - //,-----------------------------------------. ,------------------------------------------. - KC_1, KC_2, KC_3, KC_4, KC_5, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |-------+------+------+------+------+------| - KC_6, KC_7, KC_8, KC_9, KC_0, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |-------+------+------+------+------+------| - KC_EQL, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------+------| |------+-------+------+------+------+------+------| - KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT( - //,-----------------------------------------. ,------------------------------------------. - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------| |-------+------+------+------+------+------| - KC_CIRC, KC_AMPR, KC_ASTR, KC_QUOT, KC_DQUO, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_XXXXX, - //|------+------+------+------+------+------| |-------+------+------+------+------+------| - KC_BSLS, KC_TILD, KC_GRV, KC_UNDS, KC_PIPE, KC_LBRC, KC_RBRC, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, - //|------+------+------+------+------+------+------| |------+-------+------+------+------+------+------| - KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER - //`--------------------' `--------------------' - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - } else { - layer_off(_RAISE); - } - return false; - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/vxid/rules.mk b/keyboards/crkbd/keymaps/vxid/rules.mk deleted file mode 100644 index 432e21947686..000000000000 --- a/keyboards/crkbd/keymaps/vxid/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# 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 \ diff --git a/keyboards/crkbd/keymaps/xyverz/config.h b/keyboards/crkbd/keymaps/xyverz/config.h deleted file mode 100644 index 3b7eab62e660..000000000000 --- a/keyboards/crkbd/keymaps/xyverz/config.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 300 - - -#ifdef RGBLIGHT_ENABLE - #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 - #define RGBLED_NUM 27 - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE - #define RGBLED_NUM 54 // Number of LEDs - #define RGB_MATRIX_LED_COUNT RGBLED_NUM -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/xyverz/keymap.c b/keyboards/crkbd/keymaps/xyverz/keymap.c deleted file mode 100644 index 95112ece549f..000000000000 --- a/keyboards/crkbd/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,206 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 - -enum layer_names { - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum planck_keycodes { - DVORAK = SAFE_RANGE, - LOWER, - RAISE, - ADJUST -}; - -// Adding macros to make the keymaps below much easier to read. -#define DELGUI GUI_T(KC_DEL) -#define ALTENT ALT_T(KC_ENT) -#define SCLNCTL CTL_T(KC_SCLN) -#define QUEALT ALT_T(KC_Q) -#define VEEALT ALT_T(KC_V) -#define ZEDCTL CTL_T(KC_Z) -#define ADJUST MO(_ADJUST) -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define MACLOCK LGUI(LCTL(KC_Q)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DVORAK] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_SCLN, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, SCLNCTL, QUEALT, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, VEEALT, ZEDCTL, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE - //`--------------------------' `--------------------------' - - ), - - [_LOWER] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_DEL, MACLOCK, _______, KC_INS, _______ - //`--------------------------' `--------------------------' - ), - - [_RAISE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_DEL, MACLOCK, _______, KC_INS, _______ - //`--------------------------' `--------------------------' - ), - - [_ADJUST] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' `--------------------------' - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/xyverz/rules.mk b/keyboards/crkbd/keymaps/xyverz/rules.mk deleted file mode 100644 index d34d066ded93..000000000000 --- a/keyboards/crkbd/keymaps/xyverz/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/lib/host_led_state_reader.c b/keyboards/crkbd/lib/host_led_state_reader.c index a0684e4a277b..2593ac5f8b7a 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 e44626739d49..4c2e37441518 100644 --- a/keyboards/crkbd/r2g/config.h +++ b/keyboards/crkbd/r2g/config.h @@ -19,27 +19,8 @@ along with this program. If not, see . #pragma once -#ifdef RGBLIGHT_ENABLE - -# 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 - -# define RGBLED_NUM 54 -# define RGBLED_SPLIT \ - { 27, 27 } -#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 @@ -58,12 +39,12 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_RAINDROPS # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_SOLID_SPLASH +// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// # define ENABLE_RGB_MATRIX_SPLASH +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH #endif #define SPLIT_USB_DETECT diff --git a/keyboards/crkbd/r2g/info.json b/keyboards/crkbd/r2g/info.json index cfd29368e61e..8cdf07854e97 100644 --- a/keyboards/crkbd/r2g/info.json +++ b/keyboards/crkbd/r2g/info.json @@ -5,6 +5,22 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 54, + "split_count": [27, 27], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h index 2378a8637fb4..60a49100e3fa 100644 --- a/keyboards/crkbd/rev1/config.h +++ b/keyboards/crkbd/rev1/config.h @@ -18,16 +18,8 @@ along with this program. If not, see . #pragma once -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 54 // Number of LEDs -# define RGBLED_SPLIT \ - { 27, 27 } -# 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 4f63c95170c4..48a27d11f34e 100644 --- a/keyboards/crkbd/rev1/info.json +++ b/keyboards/crkbd/rev1/info.json @@ -5,6 +5,10 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 54, + "split_count": [27, 27] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h deleted file mode 100644 index fcf6befb1659..000000000000 --- a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2022 LucW (@luc-languagetools) -// SPDX-License-Identifier: GPL-2.0-or-later - - -#pragma once - - -/* Select hand configuration */ - -// #define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS - -//#define QUICK_TAP_TERM 0 -//#define TAPPING_TERM 100 - -// #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD -#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD - -// MOUSE SETTINGS -// ============== - -#define MOUSEKEY_TIME_TO_MAX 200 - -#define RGBLIGHT_LAYERS - -#ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_LIMIT_VAL 90 - // #define RGBLIGHT_LIMIT_VAL 0 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON - // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE - // #define ENABLE_RGB_MATRIX_SPLASH - //#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#endif - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/keymap.c b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/keymap.c deleted file mode 100644 index 43bbd9a617b1..000000000000 --- a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/keymap.c +++ /dev/null @@ -1,289 +0,0 @@ -// Copyright 2022 LucW (@luc-languagetools) -// SPDX-License-Identifier: GPL-2.0-or-later - - -#include QMK_KEYBOARD_H -#include -#include "dvorak_42_key.h" - -// to build: qmk compile -kb crkbd/rev1 -km dvorak_42_key - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - OSL(VSCODE), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_TAB, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, TD(TD_DEL_WORD_DEL), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -OSM(MOD_LSFT),KC_SEMICOLON, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, OSM(MOD_LSFT), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MO(BROWSER_CONTROL), MO(COMBINED),MO(KEYNAV), KC_ENTER, KC_SPACE, OSL(SHORTCUTS) - //`--------------------------' `--------------------------' - - ), - - [KEYNAV] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -KC_ESC, RCTL(KC_ENTER), RCTL(KC_K), RCTL(KC_Z), RCTL(KC_S), RCTL(KC_N), KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DELETE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, MO(KEYSEL), KC_TRNS, RSFT(KC_TAB), KC_TAB, RCTL(KC_F), LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, RCTL(KC_P), RCTL(KC_O), RCTL(KC_A), RCTL(KC_B), NP_DUPE_LINE, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDN, RCTL(KC_DELETE), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - - [KEYSEL] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - - [SHELL_NAV] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -TO(BASE),SHELL_GIT_DIFF, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, KC_TRNS, RCTL(KC_D), KC_HOME, KC_UP, KC_END, RCTL(KC_L), RCTL(KC_X), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -OSL(SHELL_SCREEN),SHELL_GIT_STATUS,SHELL_CDPRE,SHELL_LSLTR,SHELL_LS, SHELL_LSLA, LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), RCTL(KC_W), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, KC_TRNS, RCTL(KC_U), LALT(KC_DOT), RCTL(KC_R), KC_BTN2, RCTL(KC_K), RCTL(KC_C), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, LCTL(LSFT(KC_V)), KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - - [SHELL_SCREEN] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -TO(BASE),KC_TRNS, SCREEN_READREG_3, SCREEN_READREG_2, SCREEN_READREG_1,KC_TRNS, KC_TRNS, SCREEN_7, SCREEN_8, SCREEN_9, SCREEN_RENAME, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -TO(BASE),KC_TRNS,SCREEN_PASTEREG_3,SCREEN_PASTEREG_2,SCREEN_PASTEREG_1,SCREEN_DETACH, SCREEN_TAB_LEFT, SCREEN_4, SCREEN_5, SCREEN_6, SCREEN_TAB_RIGHT, SCREEN_COPY_MODE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SCREEN_1, SCREEN_2, SCREEN_3, SCREEN_NUMBER, SCREEN_PASTE, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, SCREEN_KILL, SCREEN_NEW_TAB, SCREEN_0 - //`--------------------------' `--------------------------' - ), - - [VSCODE] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -TO(BASE), KC_TRNS, VS_FIND_FILES, VS_CMT_BLOCK, VS_CMT_LINE, VS_BM_LISTALL, VS_COPYLINEDOWN, VS_REFERENCES, VS_DEFINITION, VS_IMPLEMENTATION, VS_LINE, VS_BRACKET, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, KC_TRNS, VS_TOGGLE_TERMINAL, VS_FOCUS_TERMINAL, VS_FOCUS_EDITOR, VS_BM_LIST, VS_CLOSETAB, VS_TABLEFT, VS_TABRIGHT, VS_SYMBOLEDITOR, VS_FILE, VS_BACK, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, VS_BM_CLEARALL, VS_JUMPY, VS_BM_PREV, VS_BM_NEXT, VS_GROUP_1, VS_GROUP_2, VS_BM_TOGGLE, -//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, VS_DEL_LEFT, VS_DEL_RIGHT, VS_DEL_LINE, VS_JUMPY, VS_COMMANDS - //`--------------------------' `--------------------------' - ), - - [COMBINED] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, KC_PIPE, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_GRAVE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_UNDS, KC_MINUS, KC_4, KC_5, KC_6, KC_SLSH, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_CIRC, KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, KC_DOT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0 - //`--------------------------' `--------------------------' - ), - - // chrome OS keyboard shortcuts: https://support.google.com/chromebook/answer/183101?hl=en - // search key == windows key - [BROWSER_CONTROL] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. -KC_TRNS, KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - CO_WS_LEFT, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_DOWN, RCTL(KC_PGUP), RCTL(KC_PGDN), KC_MS_WH_DOWN, LALT(KC_LEFT), CO_WS_RIGHT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, RCTL(LSFT(KC_TAB)), RCTL(KC_TAB), WINDOWS10_WORKSPACE_LEFT, WINDOWS10_WORKSPACE_RIGHT, WINDOWS10_TASK_VIEW, KC_TRNS, RCTL(KC_1), RCTL(KC_9), LCTL(KC_L), KC_F5, KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), KC_TRNS - //`--------------------------' `--------------------------' - ), - - - [SHORTCUTS] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MEH(KC_F1), MEH(KC_F2), MEH(KC_F3), MEH(KC_F4), MEH(KC_F5), MEH(KC_F6), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_F7), MEH(KC_F8), MEH(KC_F9), MEH(KC_F10), MEH(KC_F11), MEH(KC_F12), - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| -KC_TRNS, OSM(MOD_LSFT), OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_LCTL), KC_TRNS, MEH(KC_F13), MEH(KC_F14), MEH(KC_F15), MEH(KC_F16), MEH(KC_F17), MEH(KC_F18), - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(SHORTCUTS), TO(BASE) - //`--------------------------' `--------------------------' - ), - - /* - // empty layer - [15] = LAYOUT_split_3x6_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - //`--------------------------' `--------------------------' - ), - */ - - -}; - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - // return rotation; - return OLED_ROTATION_180; -} - - -#define DISPLAY_LAYER_NAME(LAYER_NAME, LAYER_STRING) \ - if(get_highest_layer(layer_state) == LAYER_NAME) { \ - oled_write_ln_P(PSTR(LAYER_STRING), false); \ - return;\ - }\ - - -void oled_render_layer_state(void) { - // if caps word is enabled, show - if(is_caps_word_on()) { - oled_write_ln_P(PSTR("CAPS WORD"), false); - return; - } - DISPLAY_LAYER_NAME(SHORTCUTS, "SHORTCUTS"); - DISPLAY_LAYER_NAME(VSCODE, "VSCODE"); - DISPLAY_LAYER_NAME(COMBINED, "SYMBOLS"); - DISPLAY_LAYER_NAME(BROWSER_CONTROL, "BROWSER"); - DISPLAY_LAYER_NAME(SHELL_SCREEN, "SHELL SCREEN"); - DISPLAY_LAYER_NAME(SHELL_NAV, "SHELL NAV"); - DISPLAY_LAYER_NAME(KEYSEL, "KEYSEL"); - DISPLAY_LAYER_NAME(KEYNAV, "KEYNAV"); - DISPLAY_LAYER_NAME(BASE, "BASE"); - -} - -const rgblight_segment_t PROGMEM rgb_layer_off[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 0, 0} -); - -const rgblight_segment_t PROGMEM rgb_layer_blue[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_BLUE} -); - -const rgblight_segment_t PROGMEM rgb_layer_purple[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_PURPLE} -); - -const rgblight_segment_t PROGMEM rgb_layer_red[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_RED} -); - -const rgblight_segment_t PROGMEM rgb_layer_orange[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_ORANGE} -); - -const rgblight_segment_t PROGMEM rgb_layer_yellow[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_YELLOW} -); - -const rgblight_segment_t PROGMEM rgb_layer_green[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_GREEN} -); - -const rgblight_segment_t PROGMEM rgb_layer_pink[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_PINK} -); - - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - rgb_layer_off, - rgb_layer_blue, - rgb_layer_purple, - rgb_layer_red, - rgb_layer_orange, - rgb_layer_yellow, - rgb_layer_green, - rgb_layer_pink -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = my_rgb_layers; -} - -layer_state_t default_layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(0, layer_state_cmp(state, BASE)); - return state; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - - - rgblight_set_layer_state(1, layer_state_cmp(state, KEYNAV)); - rgblight_set_layer_state(2, layer_state_cmp(state, KEYSEL)); - - - rgblight_set_layer_state(3, layer_state_cmp(state, SHELL_NAV)); - rgblight_set_layer_state(4, layer_state_cmp(state, SHELL_SCREEN)); - - rgblight_set_layer_state(5, layer_state_cmp(state, SHORTCUTS)); - - rgblight_set_layer_state(6, layer_state_cmp(state, VSCODE)); - - return state; -} - -void caps_word_set_user(bool active) { - // will enable/disable rgb layer 7 based on whether caps word is active - rgblight_set_layer_state(7, active); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -bool oled_task_user(void) { - if (is_keyboard_master( )) { - oled_render_layer_state(); - } else { - oled_render_logo(); - } - return false; -} - -#endif // OLED_ENABLE diff --git a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk deleted file mode 100644 index b696e1de8bd5..000000000000 --- a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2022 LucW (@luc-languagetools) -# SPDX-License-Identifier: GPL-2.0-or-later - -MOUSEKEY_ENABLE = yes # Mouse keys -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -# RGB_MATRIX_ENABLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -LTO_ENABLE = yes diff --git a/keyboards/crowboard/rules.mk b/keyboards/crowboard/rules.mk index 37ad1d4c6070..6e7633bfe015 100644 --- a/keyboards/crowboard/rules.mk +++ b/keyboards/crowboard/rules.mk @@ -1 +1 @@ -PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS! +# This file intentionally left blank diff --git a/keyboards/crypt_macro/config.h b/keyboards/crypt_macro/config.h index ecdef4acaa15..4d9d9bf5c265 100644 --- a/keyboards/crypt_macro/config.h +++ b/keyboards/crypt_macro/config.h @@ -27,18 +27,3 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 #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 -#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/crypt_macro/info.json b/keyboards/crypt_macro/info.json index 8dcd2e264eaf..1b340ff74f61 100644 --- a/keyboards/crypt_macro/info.json +++ b/keyboards/crypt_macro/info.json @@ -8,6 +8,23 @@ "pid": "0x434D", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B4", "driver": "pwm" diff --git a/keyboards/crypt_macro/rules.mk b/keyboards/crypt_macro/rules.mk index 000ee78e21a2..cc9d7bb3f537 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 c5a0ec75b575..9622315defe9 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 66f1562fd986..a1283114c8ed 100644 --- a/keyboards/custommk/ergostrafer/info.json +++ b/keyboards/custommk/ergostrafer/info.json @@ -4,6 +4,9 @@ "maintainer": "customMK", "bootloader": "stm32-dfu", "diode_direction": "ROW2COL", + "eeprom": { + "driver": "spi" + }, "features": { "bootmagic": true, "command": false, @@ -64,7 +67,7 @@ { "matrix": [4, 2], "label":"Z", "x":2.5, "y":5.6 }, { "matrix": [4, 3], "label":"S", "x":3.5, "y":4.5 }, { "matrix": [4, 5], "label":"V", "x":5, "y":5.75, "w":1.5 }, - { "matrix": [4, 6], "label":"Space", "x":6.5, "y":6.85, "w":1.75 } + { "matrix": [4, 6], "label":"Space", "x":6.5, "y":6.85, "w":1.75 }, { "matrix": [5, 1], "label":"L Ctrl Duck", "x":0.25, "y":6.75, "w":1.5 }, { "matrix": [5, 3], "label":"X", "x":3.5, "y":5.6 }, @@ -79,5 +82,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/ergostrafer/rules.mk b/keyboards/custommk/ergostrafer/rules.mk index ee519ea8b55b..72f75f4367e0 100644 --- a/keyboards/custommk/ergostrafer/rules.mk +++ b/keyboards/custommk/ergostrafer/rules.mk @@ -1,3 +1 @@ -EEPROM_DRIVER = spi - AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/custommk/evo70/config.h b/keyboards/custommk/evo70/config.h index 3010e4989d41..00f78c6339dd 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 769e2e61188a..95464e691a60 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, @@ -65,94 +68,90 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 2.5, "y": 1.1}, - {"matrix": [5, 0], "x": 3.5, "y": 1.1}, - {"matrix": [0, 1], "x": 4.5, "y": 1.1}, - {"matrix": [0, 2], "x": 5.5, "y": 1.1}, - {"matrix": [0, 3], "x": 6.5, "y": 1.1}, - {"matrix": [0, 4], "x": 7.5, "y": 1.1}, - {"matrix": [0, 5], "x": 8.5, "y": 1.1}, - {"matrix": [0, 6], "x": 9.5, "y": 1.1}, - {"matrix": [0, 7], "x": 10.5, "y": 1.1}, - {"matrix": [0, 8], "x": 11.5, "y": 1.1}, - {"matrix": [0, 9], "x": 12.5, "y": 1.1}, - {"matrix": [0, 10], "x": 13.5, "y": 1.1}, - {"matrix": [0, 11], "x": 14.5, "y": 1.1}, - {"matrix": [0, 12], "x": 15.5, "y": 1.1, "w": 2}, - {"matrix": [0, 13], "x": 17.5, "y": 1.1}, - - {"matrix": [5, 1], "x": 2.5, "y": 2.1, "w": 1.5}, - {"matrix": [1, 0], "x": 4, "y": 2.1}, - {"matrix": [1, 1], "x": 5, "y": 2.1}, - {"matrix": [1, 2], "x": 6, "y": 2.1}, - {"matrix": [1, 3], "x": 7, "y": 2.1}, - {"matrix": [1, 4], "x": 8, "y": 2.1}, - {"matrix": [1, 5], "x": 9, "y": 2.1}, - {"matrix": [1, 6], "x": 10, "y": 2.1}, - {"matrix": [1, 7], "x": 11, "y": 2.1}, - {"matrix": [1, 8], "x": 12, "y": 2.1}, - {"matrix": [1, 9], "x": 13, "y": 2.1}, - {"matrix": [1, 10], "x": 14, "y": 2.1}, - {"matrix": [1, 11], "x": 15, "y": 2.1}, - {"matrix": [1, 12], "x": 16, "y": 2.1, "w": 1.5}, - {"matrix": [1, 13], "x": 17.5, "y": 2.1}, - - {"matrix": [5, 5], "x": 0, "y": 3.1}, - {"matrix": [2, 0], "x": 1, "y": 3.1}, + {"matrix": [0, 0], "x": 2.5, "y": 0}, + {"matrix": [5, 0], "x": 3.5, "y": 0}, + {"matrix": [0, 1], "x": 4.5, "y": 0}, + {"matrix": [0, 2], "x": 5.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [0, 4], "x": 7.5, "y": 0}, + {"matrix": [0, 5], "x": 8.5, "y": 0}, + {"matrix": [0, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [0, 9], "x": 12.5, "y": 0}, + {"matrix": [0, 10], "x": 13.5, "y": 0}, + {"matrix": [0, 11], "x": 14.5, "y": 0}, + {"matrix": [0, 12], "x": 15.5, "y": 0, "w": 2}, + {"matrix": [0, 13], "x": 17.5, "y": 0}, - {"matrix": [5, 2], "x": 2.5, "y": 3.1, "w": 1.75}, - {"matrix": [2, 1], "x": 4.25, "y": 3.1}, - {"matrix": [2, 2], "x": 5.25, "y": 3.1}, - {"matrix": [2, 3], "x": 6.25, "y": 3.1}, - {"matrix": [2, 4], "x": 7.25, "y": 3.1}, - {"matrix": [2, 5], "x": 8.25, "y": 3.1}, - {"matrix": [2, 6], "x": 9.25, "y": 3.1}, - {"matrix": [2, 7], "x": 10.25, "y": 3.1}, - {"matrix": [2, 8], "x": 11.25, "y": 3.1}, - {"matrix": [2, 9], "x": 12.25, "y": 3.1}, - {"matrix": [2, 10], "x": 13.25, "y": 3.1}, - {"matrix": [2, 11], "x": 14.25, "y": 3.1}, - {"matrix": [2, 12], "x": 15.25, "y": 3.1, "w": 2.25}, - {"matrix": [2, 13], "x": 17.5, "y": 3.1}, + {"matrix": [5, 1], "x": 2.5, "y": 1, "w": 1.5}, + {"matrix": [1, 0], "x": 4, "y": 1}, + {"matrix": [1, 1], "x": 5, "y": 1}, + {"matrix": [1, 2], "x": 6, "y": 1}, + {"matrix": [1, 3], "x": 7, "y": 1}, + {"matrix": [1, 4], "x": 8, "y": 1}, + {"matrix": [1, 5], "x": 9, "y": 1}, + {"matrix": [1, 6], "x": 10, "y": 1}, + {"matrix": [1, 7], "x": 11, "y": 1}, + {"matrix": [1, 8], "x": 12, "y": 1}, + {"matrix": [1, 9], "x": 13, "y": 1}, + {"matrix": [1, 10], "x": 14, "y": 1}, + {"matrix": [1, 11], "x": 15, "y": 1}, + {"matrix": [1, 12], "x": 16, "y": 1, "w": 1.5}, + {"matrix": [1, 13], "x": 17.5, "y": 1}, - {"matrix": [4, 6], "x": 0, "y": 4.1}, - {"matrix": [4, 4], "x": 1, "y": 4.1}, + {"matrix": [5, 5], "x": 0, "y": 2}, + {"matrix": [2, 0], "x": 1, "y": 2}, - {"matrix": [3, 0], "x": 2.5, "y": 4.1, "w": 2.25}, - {"matrix": [3, 1], "x": 4.75, "y": 4.1}, - {"matrix": [3, 2], "x": 5.75, "y": 4.1}, - {"matrix": [3, 3], "x": 6.75, "y": 4.1}, - {"matrix": [3, 4], "x": 7.75, "y": 4.1}, - {"matrix": [3, 5], "x": 8.75, "y": 4.1}, - {"matrix": [3, 6], "x": 9.75, "y": 4.1}, - {"matrix": [3, 7], "x": 10.75, "y": 4.1}, - {"matrix": [3, 8], "x": 11.75, "y": 4.1}, - {"matrix": [3, 9], "x": 12.75, "y": 4.1}, - {"matrix": [3, 10], "x": 13.75, "y": 4.1}, - {"matrix": [3, 11], "x": 14.75, "y": 4.1, "w": 1.75}, - {"matrix": [3, 12], "x": 16.5, "y": 4.1}, - {"matrix": [3, 13], "x": 17.5, "y": 4.1}, + {"matrix": [5, 2], "x": 2.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 4.25, "y": 2}, + {"matrix": [2, 2], "x": 5.25, "y": 2}, + {"matrix": [2, 3], "x": 6.25, "y": 2}, + {"matrix": [2, 4], "x": 7.25, "y": 2}, + {"matrix": [2, 5], "x": 8.25, "y": 2}, + {"matrix": [2, 6], "x": 9.25, "y": 2}, + {"matrix": [2, 7], "x": 10.25, "y": 2}, + {"matrix": [2, 8], "x": 11.25, "y": 2}, + {"matrix": [2, 9], "x": 12.25, "y": 2}, + {"matrix": [2, 10], "x": 13.25, "y": 2}, + {"matrix": [2, 11], "x": 14.25, "y": 2}, + {"matrix": [2, 12], "x": 15.25, "y": 2, "w": 2.25}, + {"matrix": [2, 13], "x": 17.5, "y": 2}, - {"matrix": [4, 1], "x": 0, "y": 5.1}, - {"matrix": [4, 3], "x": 1, "y": 5.1}, + {"matrix": [4, 6], "x": 0, "y": 3}, + {"matrix": [4, 4], "x": 1, "y": 3}, - {"matrix": [5, 4], "x": 2.5, "y": 5.1, "w": 1.25}, - {"matrix": [4, 0], "x": 3.75, "y": 5.1, "w": 1.25}, - {"matrix": [4, 2], "x": 5, "y": 5.1, "w": 1.25}, - {"matrix": [4, 5], "x": 6.25, "y": 5.1, "w": 6.25}, + {"matrix": [3, 0], "x": 2.5, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 4.75, "y": 3}, + {"matrix": [3, 2], "x": 5.75, "y": 3}, + {"matrix": [3, 3], "x": 6.75, "y": 3}, + {"matrix": [3, 4], "x": 7.75, "y": 3}, + {"matrix": [3, 5], "x": 8.75, "y": 3}, + {"matrix": [3, 6], "x": 9.75, "y": 3}, + {"matrix": [3, 7], "x": 10.75, "y": 3}, + {"matrix": [3, 8], "x": 11.75, "y": 3}, + {"matrix": [3, 9], "x": 12.75, "y": 3}, + {"matrix": [3, 10], "x": 13.75, "y": 3}, + {"matrix": [3, 11], "x": 14.75, "y": 3, "w": 1.75}, + {"matrix": [3, 12], "x": 16.5, "y": 3}, + {"matrix": [3, 13], "x": 17.5, "y": 3}, - {"matrix": [5, 6], "x": 0.5, "y": 1.1}, + {"matrix": [4, 1], "x": 0, "y": 4}, + {"matrix": [4, 3], "x": 1, "y": 4}, - {"matrix": [4, 7], "x": 0, "y": 0}, + {"matrix": [5, 4], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 0], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 6.25, "y": 4, "w": 6.25}, - {"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": [5, 6], "x": 0.5, "y": 0}, - {"matrix": [4, 10], "x": 1, "y": 0}, + {"matrix": [4, 8], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25}, - {"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} + {"matrix": [4, 11], "x": 15.5, "y": 4}, + {"matrix": [4, 12], "x": 16.5, "y": 4}, + {"matrix": [4, 13], "x": 17.5, "y": 4} ] } } diff --git a/keyboards/custommk/evo70/keymaps/default/keymap.c b/keyboards/custommk/evo70/keymaps/default/keymap.c index 6f518dd96448..b577b885b23b 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 34de0889ee7e..bff3309e6391 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 1e5b99807cb7..f1adcab005e8 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 index 25ab789d75fb..62606cf1ee60 100644 --- a/keyboards/custommk/evo70_r2/config.h +++ b/keyboards/custommk/evo70_r2/config.h @@ -26,6 +26,7 @@ #define MATRIX_ROW_PINS { A8, A1, A2, B1, A7 } // FRAM configuration +#define EEPROM_SPI_MB85RS64V #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A0 #define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz diff --git a/keyboards/custommk/evo70_r2/info.json b/keyboards/custommk/evo70_r2/info.json index 772325e7f82d..a11daef092d1 100644 --- a/keyboards/custommk/evo70_r2/info.json +++ b/keyboards/custommk/evo70_r2/info.json @@ -24,6 +24,9 @@ "device_version": "1.0.0" }, "diode_direction": "ROW2COL", + "eeprom": { + "driver": "spi" + }, "processor": "STM32F411", "bootloader": "stm32-dfu", "rgblight": { @@ -59,88 +62,256 @@ "levels": 17, "pin": "A6" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { + "layout": [ + {"label": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "y": 0}, + + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "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.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "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.25, "y": 3, "w": 1.25}, + {"label": "\u2298", "matrix": [0, 1], "x": 3.5, "y": 3, "w": 1}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "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.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"label": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "y": 0}, + + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "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.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "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.25, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "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.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_iso_blocker": { "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": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "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": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "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": "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.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "#", "matrix": [1, 14], "x": 15, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 16, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "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": "F3", "matrix": [3, 1], "x": 0, "y": 3}, + {"label": "F4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"label": "\u2298", "matrix": [0, 1], "x": 3.5, "y": 3, "w": 1}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "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} + {"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.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} ] } }, @@ -149,4 +320,4 @@ { "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 index 9dc7beabdda4..9faf2088dd78 100644 --- a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c +++ b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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, diff --git a/keyboards/custommk/evo70_r2/keymaps/via/keymap.c b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c index a971aa4e28b2..4c467c018eb7 100644 --- a/keyboards/custommk/evo70_r2/keymaps/via/keymap.c +++ b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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, diff --git a/keyboards/custommk/evo70_r2/matrix_diagram.md b/keyboards/custommk/evo70_r2/matrix_diagram.md new file mode 100644 index 000000000000..e4ac5ef20edc --- /dev/null +++ b/keyboards/custommk/evo70_r2/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for customMK EVO70 R2 + +``` + ┌───┐ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │10 │ │00 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + └───┘ ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī ┌─────┐ + │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │ +┌───┮───┐├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī ┌──â”ī┐2E │ ISO Enter +│22 │20 ││21 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │1E │ │ +├───┾───â”Ī├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī └───â”ī────┘ +│31 │30 ││32 │01 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │ +├───┾───â”Ī├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī +│43 │40 ││41 │42 │44 │47 │4A │4B │ │4D │4E │4F │ +└───â”ī───┘└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ + ┌────────┐ + │32 │ 2.25u LShift + └────────┘ +``` diff --git a/keyboards/custommk/evo70_r2/rules.mk b/keyboards/custommk/evo70_r2/rules.mk index b79d08c6b759..193fe4f1a435 100644 --- a/keyboards/custommk/evo70_r2/rules.mk +++ b/keyboards/custommk/evo70_r2/rules.mk @@ -3,8 +3,6 @@ AUDIO_DRIVER = pwm_hardware # project specific files SRC += matrix.c -EEPROM_DRIVER = spi - QUANTUM_PAINTER_DRIVERS = st7735_spi CUSTOM_MATRIX = lite diff --git a/keyboards/custommk/genesis/rev1/config.h b/keyboards/custommk/genesis/rev1/config.h index d894b55edfc1..95d393590406 100644 --- a/keyboards/custommk/genesis/rev1/config.h +++ b/keyboards/custommk/genesis/rev1/config.h @@ -16,21 +16,5 @@ #pragma once -#define TAP_CODE_DELAY 10 - -#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 -#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 4915497bb04d..f859a6b9bf33 100644 --- a/keyboards/custommk/genesis/rev1/info.json +++ b/keyboards/custommk/genesis/rev1/info.json @@ -12,7 +12,22 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 128 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "max_brightness": 128, + "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 + } }, "matrix_pins": { "cols": ["F4", "F5", "D7", "B4"], @@ -25,6 +40,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/rev1/keymaps/numpad/keymap.c b/keyboards/custommk/genesis/rev1/keymaps/numpad/keymap.c deleted file mode 100644 index 97970191da7e..000000000000 --- a/keyboards/custommk/genesis/rev1/keymaps/numpad/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2020 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_numpad_5x4( - MO(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_ENT), - - [1] = LAYOUT_numpad_5x4( - KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, - RGB_HUI, KC_TRNS, RGB_HUD), - - [2] = LAYOUT_numpad_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), - - [3] = LAYOUT_numpad_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), - -}; - - diff --git a/keyboards/custommk/genesis/rev1/keymaps/numpad/readme.md b/keyboards/custommk/genesis/rev1/keymaps/numpad/readme.md deleted file mode 100644 index 795e4341a961..000000000000 --- a/keyboards/custommk/genesis/rev1/keymaps/numpad/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Numpad Genesis Macro Pad Layout - -This is the numpad layout for the Genesis Macro Pad. It assumes the 0, +, and enter keys are all 2u size, with an optional rotary encoder in the top-left or top-right corner for media volume control. The top left switch activates Layer 1 which enables control of the RGB underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/config.h b/keyboards/custommk/genesis/rev2/config.h index 126caeab6af8..b6e7c0cdf73e 100644 --- a/keyboards/custommk/genesis/rev2/config.h +++ b/keyboards/custommk/genesis/rev2/config.h @@ -16,22 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - -#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 -#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 0ee3d9a53701..5760ba52cdcc 100644 --- a/keyboards/custommk/genesis/rev2/info.json +++ b/keyboards/custommk/genesis/rev2/info.json @@ -12,7 +12,22 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 128 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "max_brightness": 128, + "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 + } }, "matrix_pins": { "cols": ["F4", "F5", "D7", "B4"], @@ -25,6 +40,9 @@ {"pin_a": "D2", "pin_b": "D1", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "layouts": { @@ -80,39 +98,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/numpad/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c deleted file mode 100644 index e6b84c3f6be6..000000000000 --- a/keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright 2020 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 - -//#define GENESIS_LAYER_COLORS -#define GENESIS_LAYER1_COLOR HSV_CYAN -#define GENESIS_LAYER2_COLOR HSV_GREEN -#define GENESIS_LAYER3_COLOR HSV_WHITE - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_numpad_5x4( - MO(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_ENT), - - [1] = LAYOUT_numpad_5x4( - KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, - KC_TRNS, KC_TRNS, KC_TRNS, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, - RGB_HUI, KC_TRNS, RGB_HUD), - - [2] = LAYOUT_numpad_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), - - [3] = LAYOUT_numpad_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), - -}; - - -#ifdef GENESIS_LAYER_COLORS -const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,13,GENESIS_LAYER1_COLOR} - ); - -const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,13,GENESIS_LAYER2_COLOR} - ); - -const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,13,GENESIS_LAYER3_COLOR} - ); - - -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_layer1_layer, - my_layer2_layer, - my_layer3_layer - ); - -//Set the appropriate layer color -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(0, layer_state_cmp(state, 1)); - rgblight_set_layer_state(1, layer_state_cmp(state, 2)); - rgblight_set_layer_state(2, layer_state_cmp(state, 3)); - return state; -} - -void keyboard_post_init_user(void) { - //Enable the LED layers - rgblight_layers = my_rgb_layers; -} -#endif \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md b/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md deleted file mode 100644 index 795e4341a961..000000000000 --- a/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Numpad Genesis Macro Pad Layout - -This is the numpad layout for the Genesis Macro Pad. It assumes the 0, +, and enter keys are all 2u size, with an optional rotary encoder in the top-left or top-right corner for media volume control. The top left switch activates Layer 1 which enables control of the RGB underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c index 6739b8857d77..e49f614cb757 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 43061db1dd46..1189f4ad1927 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/cutie_club/borsdorf/keymaps/zyber/keymap.c b/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c deleted file mode 100644 index 468a16f92d97..000000000000 --- a/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2020 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 -#include "zyber.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT_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, LGUI(KC_LEFT), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, LGUI(KC_RIGHT), - L1_EXPL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [1] = LAYOUT_rshift( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU, - KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wraith/keymaps/amber/config.h b/keyboards/cutie_club/wraith/keymaps/amber/config.h deleted file mode 100644 index b825835bb492..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/amber/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Amber Holly - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c b/keyboards/cutie_club/wraith/keymaps/amber/keymap.c deleted file mode 100644 index 41d5b39c4088..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2019 Amber Holly - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines 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] = { - [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_BRK, - 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_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, MO(1), - 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_RGUI, - KC_CAPS, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_all( - 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_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_MPRV, _______, KC_MNXT - ) -}; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - // escape LED on layer 1 - if (IS_LAYER_ON(1)) { - writePinLow(B0); - } else { - writePinHigh(B0); - } -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cutie_club/wraith/keymaps/amber/readme.md b/keyboards/cutie_club/wraith/keymaps/amber/readme.md deleted file mode 100644 index 013ae7f109d2..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/amber/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Amber's personal keymap diff --git a/keyboards/cutie_club/wraith/keymaps/timer/config.h b/keyboards/cutie_club/wraith/keymaps/timer/config.h deleted file mode 100644 index f6f1af659d16..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/timer/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2019 Amber Holly - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 LAYER_TIMEOUT 10000 -#define TIMEOUT_WARNING 3000 -#define FLASH_PERIOD 250 -#define SPEED_SCALE 2 -#define TIMEOUT_SCALE 4 -#define LAYER_SWITCH 1 // the layer to switch to -#define GET_FLASH_PERIOD ((layer_time_remaining <= TIMEOUT_WARNING/TIMEOUT_SCALE) ? FLASH_PERIOD/SPEED_SCALE : FLASH_PERIOD) diff --git a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c b/keyboards/cutie_club/wraith/keymaps/timer/keymap.c deleted file mode 100644 index 57d894ebc9ec..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright 2019 Amber Holly - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -int layer_time_remaining; -uint16_t prev_loop_time; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - TIME_TOGGLE = SAFE_RANGE -}; - -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_BRK, - 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_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, TIME_TOGGLE, - 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_RGUI, - KC_CAPS, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_all( - 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_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_MPLY, KC_MPRV, _______, KC_MNXT - ) -}; - -void matrix_scan_user(void) { - layer_time_remaining -= timer_read()-prev_loop_time; //amount of time elapsed since the start of the previous loop - prev_loop_time = timer_read(); //start counting the time to check at the next iteration - - if (layer_time_remaining <= 0) { - // once timer run out - layer_off(LAYER_SWITCH); - } - - // escape LED on layer 1 - if (IS_LAYER_ON(LAYER_SWITCH)) { - if (layer_time_remaining <= TIMEOUT_WARNING) { - if ((int)(layer_time_remaining/GET_FLASH_PERIOD % 2 == 0)) { - // if even led on - writePinLow(B0); - } else { - writePinHigh(B0); - } - } else { - writePinLow(B0); - } - } else { - writePinHigh(B0); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TIME_TOGGLE: - // get the time when time toggle pressed - layer_time_remaining = LAYER_TIMEOUT; - // set the layer - layer_on(LAYER_SWITCH); - break; - } - return true; -}; diff --git a/keyboards/cutie_club/wraith/keymaps/timer/readme.md b/keyboards/cutie_club/wraith/keymaps/timer/readme.md deleted file mode 100644 index 1e812f3aedd2..000000000000 --- a/keyboards/cutie_club/wraith/keymaps/timer/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Timed function layer keymap - -Amber's personal keymap for the Wraith, but with a custom timed function layer keycode. `config.h` contains defines that you can edit to control various aspects of this function. - -## How does it work? -We are reading QMK's software timer in `matrix_scan_user()`. - -Once the `TIME_TOGGLE` key is pressed, `layer_time_remaining` is set equal to `LAYER_TIMEOUT`, the layer defined in `LAYER_SWITCH` becomes active, and the LED on the Escape key (pin B0) will light up. - -Each time the matrix is scanned, the software timer is read, and the value of `layer_time_remaining` is decreased by `prev_loop_time` - the amount of time elapsed since the last matrix scan. - -When there are `TIMEOUT_WARNING`ms left in `LAYER_TIMEOUT`, the LED will begin to flash at intervals of `FLASH_PERIOD`ms. - -When there are `TIMEOUT_WARNING/TIMEOUT_SCALE`ms left, the LED will begin to flash at intervals of `FLASH_PERIOD/SPEED_SCALE`ms. - -When `layer_time_remaining` is equal to or less than 0, the layer defined in `LAYER_SWITCH` is removed from the layer stack. - - -## What are the defaults? -`LAYER_TIMEOUT` controls how long the layer will stay active for. The default is 10 seconds. - -`TIMEOUT_WARNING` controls how long the warning (LED flash) will occur before the layer becomes inactive. The default is 3 seconds. - -`FLASH_PERIOD` controls how long each LED flash interval is in the warning time. The default flash period is 250ms. - -`SPEED_SCALE` controls how many times faster the LED will flash in the second flash period. The default scale is 2, twice as fast. - -`TIMEOUT_SCALE` controls the length of the second flash period, relative to `TIMEOUT_WARNING`. The default scale is 4; for 750ms of the secondary flash period. - -`LAYER_SWITCH` is the layer that will be activated by the key. The default is layer 1. diff --git a/keyboards/cx60/config.h b/keyboards/cx60/config.h deleted file mode 100644 index f14a164f57b8..000000000000 --- a/keyboards/cx60/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2019 Rodrigo Feijao - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 Underglow */ -#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 -#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 89da7fa8b37d..e03587e3e46d 100644 --- a/keyboards/cx60/info.json +++ b/keyboards/cx60/info.json @@ -21,6 +21,22 @@ "caps_lock": "B5", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/cxt_studio/info.json b/keyboards/cxt_studio/info.json index 036794843046..6166ea229616 100644 --- a/keyboards/cxt_studio/info.json +++ b/keyboards/cxt_studio/info.json @@ -31,7 +31,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0}, {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0}, @@ -50,8 +50,8 @@ "url": "", "usb": { "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" + "pid": "0xC401", + "vid": "0x5754" }, "layouts": { "LAYOUT": { diff --git a/keyboards/cxt_studio/keymaps/via/keymap.c b/keyboards/cxt_studio/keymaps/via/keymap.c new file mode 100644 index 000000000000..1d58a60471c7 --- /dev/null +++ b/keyboards/cxt_studio/keymaps/via/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2023 Brian McKenna + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_F11, KC_NO, KC_MSTP, + KC_NO, KC_NO, KC_MRWD, KC_MFFD, + KC_NO, KC_MPLY, KC_MPLY, KC_MNXT, + + KC_MUTE, KC_NO, KC_NO, RGB_TOG + ) +}; + +#if defined(ENCODER_ENABLE) && 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), + ENCODER_CCW_CW(RGB_VAD, RGB_VAI), + ENCODER_CCW_CW(RGB_MODE_REVERSE, RGB_MODE_FORWARD) + }, +}; +#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) diff --git a/keyboards/cxt_studio/keymaps/via/rules.mk b/keyboards/cxt_studio/keymaps/via/rules.mk new file mode 100644 index 000000000000..70cf4224c01f --- /dev/null +++ b/keyboards/cxt_studio/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/dailycraft/claw44/keymaps/oled/rules.mk b/keyboards/dailycraft/claw44/keymaps/oled/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/dailycraft/claw44/keymaps/oled/rules.mk +++ b/keyboards/dailycraft/claw44/keymaps/oled/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/dailycraft/owl8/info.json b/keyboards/dailycraft/owl8/info.json index b1bcacb60bc5..9dc42c8fd786 100644 --- a/keyboards/dailycraft/owl8/info.json +++ b/keyboards/dailycraft/owl8/info.json @@ -18,31 +18,26 @@ "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":0, "matrix": [0, 8]}, + {"x":1, "y":0, "matrix": [0, 9]}, + {"x":2, "y":0, "matrix": [0, 10]}, + {"x":3, "y":0, "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": 1.25, "matrix": [0, 0]}, + {"x": 1, "y": 1.25, "matrix": [0, 1]}, + {"x": 2, "y": 1.25, "matrix": [0, 2]}, + {"x": 3, "y": 1.25, "matrix": [0, 3]}, - {"x": 0, "y": 2.5, "matrix": [0, 0]}, - {"x": 1, "y": 2.5, "matrix": [0, 1]}, - {"x": 2, "y": 2.5, "matrix": [0, 2]}, - {"x": 3, "y": 2.5, "matrix": [0, 3]}, - - {"x": 0, "y": 3.5, "matrix": [0, 4]}, - {"x": 1, "y": 3.5, "matrix": [0, 5]}, - {"x": 2, "y": 3.5, "matrix": [0, 6]}, - {"x": 3, "y": 3.5, "matrix": [0, 7]} + {"x": 0, "y": 2.25, "matrix": [0, 4]}, + {"x": 1, "y": 2.25, "matrix": [0, 5]}, + {"x": 2, "y": 2.25, "matrix": [0, 6]}, + {"x": 3, "y": 2.25, "matrix": [0, 7]} ] } } diff --git a/keyboards/dailycraft/owl8/keymaps/default/keymap.c b/keyboards/dailycraft/owl8/keymaps/default/keymap.c index e840263639d8..7ff5519e5aa9 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 1a3bb0f0ae23..d010bbe10e93 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 1e5b99807cb7..f1adcab005e8 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 c8d580371885..156a6d63a1f1 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 70de5dca4483..40cfc22a0f5a 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 30de32fa600c..0e577fcf6214 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 1e5b99807cb7..f1adcab005e8 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 09cf423e9311..a3c3e2396efe 100644 --- a/keyboards/dailycraft/wings42/rev2/info.json +++ b/keyboards/dailycraft/wings42/rev2/info.json @@ -16,10 +16,23 @@ "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", + "layout_aliases": { + "LAYOUT_split_3x6_3_2": "LAYOUT_split_3x6_3" + }, + "community_layouts": ["split_3x6_3"], "layouts": { - "LAYOUT_split_3x6_3_2": { + "LAYOUT_split_3x6_3": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0.875}, {"matrix": [0, 1], "x": 1, "y": 0.625}, @@ -41,9 +54,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 +68,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 501b5d2e1209..51647fe79566 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c @@ -31,49 +31,49 @@ enum layer_number { #define KC_A_DEL ALT_T(KC_DEL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3_2( + [_QWERTY] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. 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 // `+--------+--------+--------' `--------+---------+--------+' ), - [_RAISE] = LAYOUT_split_3x6_3_2( + [_RAISE] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, 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 // `+--------+--------+--------' `--------+-------+--------+' ), - [_LOWER] = LAYOUT_split_3x6_3_2( + [_LOWER] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. 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 , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), - [_ADJUST] = LAYOUT_split_3x6_3_2( + [_ADJUST] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c index 7349bf2411be..0995600a4735 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c @@ -31,196 +31,60 @@ enum layer_number { #define KC_A_DEL ALT_T(KC_DEL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3_2( + [_QWERTY] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. 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 // `+--------+--------+--------' `--------+---------+--------+' ), - [_RAISE] = LAYOUT_split_3x6_3_2( + [_RAISE] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, 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 // `+--------+--------+--------' `--------+-------+--------+' ), - [_LOWER] = LAYOUT_split_3x6_3_2( + [_LOWER] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. 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 , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), - [_ADJUST] = LAYOUT_split_3x6_3_2( + [_ADJUST] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), }; -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 eea5e1e2a265..f1adcab005e8 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/keymaps/split_backspace/keymap.c b/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c deleted file mode 100644 index 0182874e2365..000000000000 --- a/keyboards/daji/seis_cinco/keymaps/split_backspace/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2021 B. Fletcher - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT), - - [1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/daji/seis_cinco/rules.mk b/keyboards/daji/seis_cinco/rules.mk index 9e42693cb694..c3b8e77d77a9 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/dark/magnum_ergo_1/config.h b/keyboards/dark/magnum_ergo_1/config.h new file mode 100644 index 000000000000..207bc978e870 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/config.h @@ -0,0 +1,35 @@ +/* Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 2 +#define BACKLIGHT_PAL_MODE 2 + +#define LED_CAPS_LOCK_PIN B1 +#define LED_INDICATOR_1 C4 +#define LED_INDICATOR_2 C5 +#define LED_INDICATOR_3 B0 +#define LED_INDICATOR_4 A5 +#define LED_INDICATOR_5 C15 + +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/dark/magnum_ergo_1/halconf.h b/keyboards/dark/magnum_ergo_1/halconf.h new file mode 100644 index 000000000000..8dd395b2f655 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Gondolindrim . + */ + +#pragma once + +#define HAL_USE_PWM TRUE +#define HAL_USE_PAL TRUE + +#include_next diff --git a/keyboards/dark/magnum_ergo_1/info.json b/keyboards/dark/magnum_ergo_1/info.json new file mode 100644 index 000000000000..a213d92fd56e --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Magnum Ergo 1", + "manufacturer": "Gondolindrim X Dark", + "url": "", + "maintainer": "Gondolindrim", + "usb": { + "vid": "0x4744", + "pid": "0x4D45", + "device_version": "0.0.1" + }, + "features": { + "audio": false, + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "encoder": false, + "extrakey": true, + "lto": true, + "mousekey": false, + "nkro": true, + "rgblight": false + }, + "diode_direction": "COL2ROW", + "backlight": { + "pin": "C7", + "levels": 20, + "breathing": true + }, + "matrix_pins": { + "cols": ["C8", "C9" , "C6" , "B15", "B14", "B13", "B12", "B9" , "A4" , "B4" , "A2" , "C0" , "C1" , "C2" , "A1" ], + "rows": ["A10", "A8" , "B10", "A7" , "A6" , "A0", "C3" , "B5", "B8" , "A3" ] + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "community_layouts": ["alice_split_bs"], + "layouts": { + "LAYOUT_alice_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0,0], "x":0.5, "y":0}, + {"label": "`~", "matrix": [0,1], "x":1.7, "y":0}, + {"label": "1!", "matrix": [0,2], "x":2.7, "y":0}, + {"label": "2@", "matrix": [0,3], "x":3.7, "y":0}, + {"label": "3#", "matrix": [0,4], "x":4.7, "y":0}, + {"label": "4$", "matrix": [0,5], "x":5.7, "y":0}, + {"label": "5%", "matrix": [4,5], "x":6.7, "y":0}, + {"label": "6^", "matrix": [0,6], "x":7.7, "y":0}, + {"label": "7&", "matrix": [5,7], "x":9.15, "y":0}, + {"label": "8*", "matrix": [5,8], "x":10.15, "y":0}, + {"label": "9(", "matrix": [5,9], "x":11.15, "y":0}, + {"label": "0)", "matrix": [5,10], "x":12.15, "y":0}, + {"label": "-_", "matrix": [5,11], "x":13.15, "y":0}, + {"label": "=+", "matrix": [5,12], "x":14.15, "y":0}, + {"label": "Backspace", "matrix": [5,13], "x":15.15, "y":0}, + {"label": "Backspace", "matrix": [5,14], "x":16.15, "y":0}, + {"label": "Page Up", "matrix": [1,0], "x":0.25, "y":1}, + {"label": "Tab", "matrix": [1,1], "x":1.5, "y":1, "w":1.5}, + {"label": "Q", "matrix": [1,2], "x":3, "y":1}, + {"label": "W", "matrix": [1,3], "x":4, "y":1}, + {"label": "E", "matrix": [1,4], "x":5, "y":1}, + {"label": "R", "matrix": [1,5], "x":6, "y":1}, + {"label": "T", "matrix": [1,6], "x":7, "y":1}, + {"label": "Y", "matrix": [6,7], "x":9, "y":1}, + {"label": "U", "matrix": [6,8], "x":10, "y":1}, + {"label": "I", "matrix": [6,9], "x":11, "y":1}, + {"label": "O", "matrix": [6,10], "x":12, "y":1}, + {"label": "P", "matrix": [6,11], "x":13, "y":1}, + {"label": "[{", "matrix": [6,12], "x":14, "y":1}, + {"label": "]}", "matrix": [6,13], "x":15, "y":1}, + {"label": "\\|", "matrix": [6,14], "x":16, "y":1, "w":1.5}, + {"label": "Page Down", "matrix": [2,0], "x":0, "y":2}, + {"label": "Caps Lock", "matrix": [2,1], "x":1.3, "y":2, "w":1.75}, + {"label": "A", "matrix": [2,2], "x":3.05, "y":2}, + {"label": "S", "matrix": [2,3], "x":4.05, "y":2}, + {"label": "D", "matrix": [2,4], "x":5.05, "y":2}, + {"label": "F", "matrix": [2,5], "x":6.05, "y":2}, + {"label": "G", "matrix": [2,6], "x":7.05, "y":2}, + {"label": "H", "matrix": [7,7], "x":9.4, "y":2}, + {"label": "J", "matrix": [7,8], "x":10.4, "y":2}, + {"label": "K", "matrix": [7,9], "x":11.4, "y":2}, + {"label": "L", "matrix": [7,10], "x":12.4, "y":2}, + {"label": ";:", "matrix": [7,11], "x":13.4, "y":2}, + {"label": "'\"", "matrix": [7,12], "x":14.4, "y":2}, + {"label": "Enter", "matrix": [7,14], "x":15.4, "y":2, "w":2.25}, + {"label": "Shift", "matrix": [3,1], "x":1.05, "y":3, "w":2.25}, + {"label": "Z", "matrix": [3,2], "x":3.3, "y":3}, + {"label": "X", "matrix": [3,3], "x":4.3, "y":3}, + {"label": "C", "matrix": [3,4], "x":5.3, "y":3}, + {"label": "V", "matrix": [3,5], "x":6.3, "y":3}, + {"label": "B", "matrix": [3,6], "x":7.3, "y":3}, + {"label": "B", "matrix": [8,7], "x":9.1, "y":3}, + {"label": "N", "matrix": [8,8], "x":10.1, "y":3}, + {"label": "M", "matrix": [8,9], "x":11.1, "y":3}, + {"label": ",<", "matrix": [8,10], "x":12.1, "y":3}, + {"label": ".>", "matrix": [8,11], "x":13.1, "y":3}, + {"label": "/?", "matrix": [8,12], "x":14.1, "y":3}, + {"label": "Shift", "matrix": [8,13], "x":15.1, "y":3, "w":1.75}, + {"label": "MO(1)", "matrix": [8,14], "x":16.85, "y":3}, + {"label": "LCtrl", "matrix": [4,1], "x":1.3, "y":4, "w":1.5}, + {"label": "LAlt", "matrix": [4,3], "x":3.6, "y":4, "w":1.5}, + {"label": "Space", "matrix": [4,4], "x":5.1, "y":4, "w":2.25}, + {"label": "Space", "matrix": [4,6], "x":7.35, "y":4}, + {"label": "Space", "matrix": [9,8], "x":9.0, "y":4, "w":2.75}, + {"label": "RAlt", "matrix": [9,10], "x":11.75, "y":4, "w":1.5}, + {"label": "RCtrl", "matrix": [9,14], "x":15.35, "y":4, "w":1.5}] + } + } +} diff --git a/keyboards/dark/magnum_ergo_1/keymaps/default/keymap.c b/keyboards/dark/magnum_ergo_1/keymaps/default/keymap.c new file mode 100644 index 000000000000..67e3ff2387b7 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_alice_split_bs( /* Base */ + KC_GRV , KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, + KC_INS , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, + KC_DEL , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , + KC_LCTL, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RCTL +), +[1] = LAYOUT_alice_split_bs( + 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 +) +}; diff --git a/keyboards/dark/magnum_ergo_1/keymaps/via/keymap.c b/keyboards/dark/magnum_ergo_1/keymaps/via/keymap.c new file mode 100644 index 000000000000..67e3ff2387b7 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_alice_split_bs( /* Base */ + KC_GRV , KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, + KC_INS , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, + KC_DEL , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , + KC_LCTL, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RCTL +), +[1] = LAYOUT_alice_split_bs( + 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 +) +}; diff --git a/keyboards/soda/mango/keymaps/via/rules.mk b/keyboards/dark/magnum_ergo_1/keymaps/via/rules.mk similarity index 100% rename from keyboards/soda/mango/keymaps/via/rules.mk rename to keyboards/dark/magnum_ergo_1/keymaps/via/rules.mk diff --git a/keyboards/dark/magnum_ergo_1/magnum_ergo_1.c b/keyboards/dark/magnum_ergo_1/magnum_ergo_1.c new file mode 100644 index 000000000000..9125410df056 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/magnum_ergo_1.c @@ -0,0 +1,93 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +void keyoard_post_init_kb(void) { + setPinOutput(LED_CAPS_LOCK_PIN); + setPinOutput(LED_INDICATOR_1); + setPinOutput(LED_INDICATOR_2); + setPinOutput(LED_INDICATOR_3); + setPinOutput(LED_INDICATOR_4); + setPinOutput(LED_INDICATOR_5); +#ifndef LED_CAPS_LOCK_PIN + writePin(LED_CAPS_LOCK_PIN, 0); +#endif + +#ifndef LED_INDICATOR_1 + writePin(LED_INDICATOR_1, 0); +#endif + +#ifndef LED_INDICATOR_2 + writePin(LED_INDICATOR_2, 0); +#endif + +#ifndef LED_INDICATOR_3 + writePin(LED_INDICATOR_3, 0); +#endif + +#ifndef LED_INDICATOR_4 + writePin(LED_INDICATOR_4, 0); +#endif + +#ifndef LED_INDICATOR_5 + writePin(LED_INDICATOR_5, 0); +#endif + keyboard_post_init_user(); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + switch (get_highest_layer(state)) { + case 1: +#ifdef LED_INDICATOR_4 + writePin(LED_INDICATOR_4, 1); +#endif + +#ifdef LED_INDICATOR_5 + writePin(LED_INDICATOR_5, 1); +#endif + break; + case 2: +#ifdef LED_INDICATOR_1 + writePin(LED_INDICATOR_1, 1); +#endif +#ifdef LED_INDICATOR_2 + writePin(LED_INDICATOR_2, 1); +#endif +#ifdef LED_INDICATOR_3 + writePin(LED_INDICATOR_3, 1); +#endif + break; + default: +#ifdef LED_INDICATOR_1 + writePin(LED_INDICATOR_1, 0); +#endif +#ifdef LED_INDICATOR_2 + writePin(LED_INDICATOR_2, 0); +#endif +#ifdef LED_INDICATOR_3 + writePin(LED_INDICATOR_3, 0); +#endif +#ifdef LED_INDICATOR_4 + writePin(LED_INDICATOR_4, 0); +#endif +#ifdef LED_INDICATOR_5 + writePin(LED_INDICATOR_5, 0); +#endif + break; + } + return layer_state_set_user(state); +} diff --git a/keyboards/dark/magnum_ergo_1/mcuconf.h b/keyboards/dark/magnum_ergo_1/mcuconf.h new file mode 100644 index 000000000000..b7b462f8cd3c --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Gondolindrim + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/dark/magnum_ergo_1/readme.md b/keyboards/dark/magnum_ergo_1/readme.md new file mode 100644 index 000000000000..c6a5d23b5668 --- /dev/null +++ b/keyboards/dark/magnum_ergo_1/readme.md @@ -0,0 +1,28 @@ +# Gondolindrim X Dark Magnum Ergo 1 PCB QMK firmware + +The Magnum Ergo 1 is an Alice-layout ergonomic keyboard designed by Dark, with a PCB designer by Gondolindrim. + +* Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim) +* Hardware Supported: proprietary PCB using STM32F4x1C microcontroller; +* Availability: as of november 2022 both keyboard and PCB were sold in a private Group Buy; therefore availability is limited. + +## How to flash + +### Enter bootloader + +The DFU state in the bootloader can be accessed in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key, grave accent in the default keymap) and plug in the keyboard; +* **Physical reset button**: press the button on the front of the PCB, next to caps lock, for at least five seconds; +* **Keycode in layout**: Press the key mapped to `QK_BOOT`; in the default layout, that is top left key ('grave') in layer 1. + +### How to compile and flash + +You can compile the Iron 165R2 default keymap by using the following: + + make magnum_ergo_1:default + +And use dfu-util in the command line or through a GUI like QMK toolbox to upload the firmware to the PCB. To directly flash the PCB after it is put into a DFU state, use: + + make magnum_ergo_1:default:flash + diff --git a/layouts/community/ortho_4x12/grahampheath/rules.mk b/keyboards/dark/magnum_ergo_1/rules.mk similarity index 100% rename from layouts/community/ortho_4x12/grahampheath/rules.mk rename to keyboards/dark/magnum_ergo_1/rules.mk diff --git a/keyboards/darkproject/kd83a_bfg_edition/config.h b/keyboards/darkproject/kd83a_bfg_edition/config.h new file mode 100644 index 000000000000..9cf993b8613c --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/config.h @@ -0,0 +1,44 @@ +/* Copyright 2022 GSKY + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* External spi flash */ +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* SPI Config for LED Driver */ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN A5 +#define SPI_MOSI_PIN A7 +#define SPI_MISO_PIN A6 + +#define DRIVER_1_CS A15 +#define DRIVER_2_CS B15 +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 19 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/darkproject/kd83a_bfg_edition/halconf.h b/keyboards/darkproject/kd83a_bfg_edition/halconf.h new file mode 100644 index 000000000000..8f61d3fc64ff --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/darkproject/kd83a_bfg_edition/info.json b/keyboards/darkproject/kd83a_bfg_edition/info.json new file mode 100644 index 000000000000..5795c11cca35 --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/info.json @@ -0,0 +1,270 @@ +{ + "manufacturer": "Gsky", + "keyboard_name": "KD83A_BFG_Edition", + "maintainer": "Gsky", + "bootloader": "wb32-dfu", + "bootmagic": { + "matrix": [1, 3] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "C2", "pin_b": "C3"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "C14" + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], + "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B12"] + }, + "processor": "WB32FQ95", + "qmk": { + "tap_keycode_delay": 10 + }, + "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 + }, + "center_point": [76, 25], + "driver": "aw20216", + "layout": [ + { "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [2, 6], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [3, 6], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [3, 1], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [3, 3], "x": 50, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 60, "y": 0 }, + { "flags": 4, "matrix": [6, 3], "x": 70, "y": 0 }, + { "flags": 4, "matrix": [7, 1], "x": 80, "y": 0 }, + { "flags": 4, "matrix": [7, 6], "x": 90, "y": 0 }, + { "flags": 4, "matrix": [10, 6], "x": 100, "y": 0 }, + { "flags": 4, "matrix": [10, 7], "x": 110, "y": 0 }, + { "flags": 4, "matrix": [10, 3], "x": 120, "y": 0 }, + { "flags": 4, "matrix": [10, 5], "x": 130, "y": 0 }, + { "flags": 4, "matrix": [9, 7], "x": 140, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 150, "y": 0 }, + { "flags": 4, "matrix": [1, 6], "x": 0, "y": 10 }, + { "flags": 4, "matrix": [1, 7], "x": 10, "y": 10 }, + { "flags": 4, "matrix": [2, 7], "x": 20, "y": 10 }, + { "flags": 4, "matrix": [3, 7], "x": 30, "y": 10 }, + { "flags": 4, "matrix": [4, 7], "x": 40, "y": 10 }, + { "flags": 4, "matrix": [4, 6], "x": 50, "y": 10 }, + { "flags": 4, "matrix": [5, 6], "x": 60, "y": 10 }, + { "flags": 4, "matrix": [5, 7], "x": 70, "y": 10 }, + { "flags": 4, "matrix": [6, 7], "x": 80, "y": 10 }, + { "flags": 4, "matrix": [7, 7], "x": 90, "y": 10 }, + { "flags": 4, "matrix": [8, 7], "x": 100, "y": 10 }, + { "flags": 4, "matrix": [8, 6], "x": 110, "y": 10 }, + { "flags": 4, "matrix": [6, 6], "x": 120, "y": 10 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 10 }, + { "flags": 4, "matrix": [11, 6], "x": 150, "y": 10 }, + { "flags": 4, "matrix": [1, 1], "x": 0, "y": 20 }, + { "flags": 4, "matrix": [1, 0], "x": 15, "y": 20 }, + { "flags": 4, "matrix": [2, 0], "x": 25, "y": 20 }, + { "flags": 4, "matrix": [3, 0], "x": 35, "y": 20 }, + { "flags": 4, "matrix": [4, 0], "x": 45, "y": 20 }, + { "flags": 4, "matrix": [4, 1], "x": 55, "y": 20 }, + { "flags": 4, "matrix": [5, 1], "x": 65, "y": 20 }, + { "flags": 4, "matrix": [5, 0], "x": 75, "y": 20 }, + { "flags": 4, "matrix": [6, 0], "x": 85, "y": 20 }, + { "flags": 4, "matrix": [7, 0], "x": 95, "y": 20 }, + { "flags": 4, "matrix": [8, 0], "x": 105, "y": 20 }, + { "flags": 4, "matrix": [8, 1], "x": 115, "y": 20 }, + { "flags": 4, "matrix": [6, 1], "x": 125, "y": 20 }, + { "flags": 4, "matrix": [10, 2], "x": 135, "y": 20 }, + { "flags": 4, "matrix": [6, 5], "x": 150, "y": 20 }, + { "flags": 4, "matrix": [2, 1], "x": 0, "y": 30 }, + { "flags": 4, "matrix": [1, 2], "x": 17, "y": 30 }, + { "flags": 8, "matrix": [2, 2], "x": 27, "y": 30 }, + { "flags": 4, "matrix": [3, 2], "x": 37, "y": 30 }, + { "flags": 4, "matrix": [4, 2], "x": 47, "y": 30 }, + { "flags": 4, "matrix": [4, 3], "x": 57, "y": 30 }, + { "flags": 4, "matrix": [5, 3], "x": 67, "y": 30 }, + { "flags": 4, "matrix": [5, 2], "x": 77, "y": 30 }, + { "flags": 4, "matrix": [6, 2], "x": 87, "y": 30 }, + { "flags": 4, "matrix": [7, 2], "x": 97, "y": 30 }, + { "flags": 4, "matrix": [8, 2], "x": 107, "y": 30 }, + { "flags": 4, "matrix": [8, 3], "x": 117, "y": 30 }, + { "flags": 4, "matrix": [10, 4], "x": 127, "y": 30 }, + { "flags": 4, "matrix": [1, 5], "x": 150, "y": 30 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 40 }, + { "flags": 4, "matrix": [1, 4], "x": 22, "y": 40 }, + { "flags": 4, "matrix": [2, 4], "x": 32, "y": 40 }, + { "flags": 4, "matrix": [3, 4], "x": 42, "y": 40 }, + { "flags": 4, "matrix": [4, 4], "x": 52, "y": 40 }, + { "flags": 4, "matrix": [4, 5], "x": 62, "y": 40 }, + { "flags": 4, "matrix": [5, 5], "x": 72, "y": 40 }, + { "flags": 4, "matrix": [5, 4], "x": 82, "y": 40 }, + { "flags": 4, "matrix": [6, 4], "x": 92, "y": 40 }, + { "flags": 4, "matrix": [7, 4], "x": 102, "y": 40 }, + { "flags": 4, "matrix": [8, 5], "x": 112, "y": 40 }, + { "flags": 4, "matrix": [9, 1], "x": 122, "y": 40 }, + { "flags": 4, "matrix": [3, 5], "x": 140, "y": 40 }, + { "flags": 4, "matrix": [2, 5], "x": 150, "y": 40 }, + { "flags": 4, "matrix": [0, 6], "x": 0, "y": 50 }, + { "flags": 4, "matrix": [9, 0], "x": 12, "y": 50 }, + { "flags": 4, "matrix": [9, 3], "x": 25, "y": 50 }, + { "flags": 4, "matrix": [9, 4], "x": 37, "y": 50 }, + { "flags": 4, "matrix": [9, 5], "x": 100, "y": 50 }, + { "flags": 4, "matrix": [9, 2], "x": 110, "y": 50 }, + { "flags": 4, "matrix": [0, 4], "x": 120, "y": 50 }, + { "flags": 4, "matrix": [0, 3], "x": 130, "y": 50 }, + { "flags": 4, "matrix": [7, 3], "x": 140, "y": 50 }, + { "flags": 4, "matrix": [0, 5], "x": 150, "y": 50 }, + { "flags": 4, "matrix": [11, 0], "x": 0, "y": 1 }, + { "flags": 4, "matrix": [11, 1], "x": 0, "y": 2 } + ] + }, + "url": "", + "usb": { + "device_version": "0.0.3", + "pid": "0xE392", + "vid": "0x342D" + }, + "eeprom": { + "driver": "wear_leveling" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "ESC", "matrix": [1, 3], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [2, 6], "x": 2, "y": 0 }, + { "label": "F2", "matrix": [3, 6], "x": 3, "y": 0 }, + { "label": "F3", "matrix": [3, 1], "x": 4, "y": 0 }, + { "label": "F4", "matrix": [3, 3], "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 7], "x": 6, "y": 0 }, + { "label": "F6", "matrix": [6, 3], "x": 7, "y": 0 }, + { "label": "F7", "matrix": [7, 1], "x": 8, "y": 0 }, + { "label": "F8", "matrix": [7, 6], "x": 9, "y": 0 }, + { "label": "F9", "matrix": [10, 6], "x": 10, "y": 0 }, + { "label": "F10", "matrix": [10, 7], "x": 11, "y": 0 }, + { "label": "F11", "matrix": [10, 3], "x": 12, "y": 0 }, + { "label": "F12", "matrix": [10, 5], "x": 13, "y": 0 }, + { "label": "Printscreen", "matrix": [9, 7], "x": 14, "y": 0 }, + { "label": "Del", "matrix": [0, 2], "x": 15, "y": 0 }, + { "label": "`", "matrix": [1, 6], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 7], "x": 1, "y": 1 }, + { "label": "2", "matrix": [2, 7], "x": 2, "y": 1 }, + { "label": "3", "matrix": [3, 7], "x": 3, "y": 1 }, + { "label": "4", "matrix": [4, 7], "x": 4, "y": 1 }, + { "label": "5", "matrix": [4, 6], "x": 5, "y": 1 }, + { "label": "6", "matrix": [5, 6], "x": 6, "y": 1 }, + { "label": "7", "matrix": [5, 7], "x": 7, "y": 1 }, + { "label": "8", "matrix": [6, 7], "x": 8, "y": 1 }, + { "label": "9", "matrix": [7, 7], "x": 9, "y": 1 }, + { "label": "0", "matrix": [8, 7], "x": 10, "y": 1 }, + { "label": "-", "matrix": [8, 6], "x": 11, "y": 1 }, + { "label": "=", "matrix": [6, 6], "x": 12, "y": 1 }, + { "label": "Backspace", "matrix": [10, 1], "w": 2, "x": 13, "y": 1 }, + { "label": "Home", "matrix": [11, 6], "x": 15, "y": 1 }, + { "label": "Tab", "matrix": [1, 1], "w": 1.5, "x": 0, "y": 2 }, + { "label": "Q", "matrix": [1, 0], "x": 1.5, "y": 2 }, + { "label": "W", "matrix": [2, 0], "x": 2.5, "y": 2 }, + { "label": "E", "matrix": [3, 0], "x": 3.5, "y": 2 }, + { "label": "R", "matrix": [4, 0], "x": 4.5, "y": 2 }, + { "label": "T", "matrix": [4, 1], "x": 5.5, "y": 2 }, + { "label": "Y", "matrix": [5, 1], "x": 6.5, "y": 2 }, + { "label": "U", "matrix": [5, 0], "x": 7.5, "y": 2 }, + { "label": "I", "matrix": [6, 0], "x": 8.5, "y": 2 }, + { "label": "O", "matrix": [7, 0], "x": 9.5, "y": 2 }, + { "label": "P", "matrix": [8, 0], "x": 10.5, "y": 2 }, + { "label": "[", "matrix": [8, 1], "x": 11.5, "y": 2 }, + { "label": "]", "matrix": [6, 1], "x": 12.5, "y": 2 }, + { "label": "\\", "matrix": [10, 2], "w": 1.5, "x": 13.5, "y": 2 }, + { "label": "End", "matrix": [6, 5], "x": 15, "y": 2 }, + { "label": "Caps Lock", "matrix": [2, 1], "w": 1.75, "x": 0, "y": 3 }, + { "label": "A", "matrix": [1, 2], "x": 1.75, "y": 3 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 3 }, + { "label": "D", "matrix": [3, 2], "x": 3.75, "y": 3 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3 }, + { "label": "G", "matrix": [4, 3], "x": 5.75, "y": 3 }, + { "label": "H", "matrix": [5, 3], "x": 6.75, "y": 3 }, + { "label": "J", "matrix": [5, 2], "x": 7.75, "y": 3 }, + { "label": "K", "matrix": [6, 2], "x": 8.75, "y": 3 }, + { "label": "L", "matrix": [7, 2], "x": 9.75, "y": 3 }, + { "label": ";", "matrix": [8, 2], "x": 10.75, "y": 3 }, + { "label": "'", "matrix": [8, 3], "x": 11.75, "y": 3 }, + { "label": "Enter", "matrix": [10, 4], "w": 2.25, "x": 12.75, "y": 3 }, + { "label": "PgUp", "matrix": [1, 5], "x": 15, "y": 3 }, + { "label": "Shift", "matrix": [0, 0], "w": 2.25, "x": 0, "y": 4 }, + { "label": "Z", "matrix": [1, 4], "x": 2.25, "y": 4 }, + { "label": "X", "matrix": [2, 4], "x": 3.25, "y": 4 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 4 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4 }, + { "label": "N", "matrix": [5, 5], "x": 7.25, "y": 4 }, + { "label": "M", "matrix": [5, 4], "x": 8.25, "y": 4 }, + { "label": ",", "matrix": [6, 4], "x": 9.25, "y": 4 }, + { "label": ".", "matrix": [7, 4], "x": 10.25, "y": 4 }, + { "label": "/", "matrix": [8, 5], "x": 11.25, "y": 4 }, + { "label": "Shift", "matrix": [9, 1], "w": 1.75, "x": 12.25, "y": 4 }, + { "label": "Up", "matrix": [3, 5], "x": 14, "y": 4 }, + { "label": "PgDn", "matrix": [2, 5], "x": 15, "y": 4 }, + { "label": "Ctrl", "matrix": [0, 6], "w": 1.25, "x": 0, "y": 5 }, + { "label": "Win", "matrix": [9, 0], "w": 1.25, "x": 1.25, "y": 5 }, + { "label": "Alt", "matrix": [9, 3], "w": 1.25, "x": 2.5, "y": 5 }, + { "label": "Space", "matrix": [9, 4], "w": 6.25, "x": 3.75, "y": 5 }, + { "label": "Alt", "matrix": [9, 5], "x": 10, "y": 5 }, + { "label": "FN", "matrix": [9, 2], "x": 11, "y": 5 }, + { "label": "Ctrl", "matrix": [0, 4], "x": 12, "y": 5 }, + { "label": "Left", "matrix": [0, 3], "x": 13, "y": 5 }, + { "label": "Down", "matrix": [7, 3], "x": 14, "y": 5 }, + { "label": "Right", "matrix": [0, 5], "x": 15, "y": 5 } + ] + } + } +} diff --git a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c new file mode 100644 index 000000000000..e78de78bf80b --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c @@ -0,0 +1,188 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "kd83a_bfg_edition.h" + +#ifdef RGB_MATRIX_ENABLE + +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, k00, Esc + + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 1, k13, Esc + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 2, k26, F1 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 3, k36, F2 + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 4, k31, F3 + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 5, k33, F4 + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 6, k07, F5 + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 7, k63, F6 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 8, k71, F7 + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 9, k76, F8 + {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 10, ka6, F9 + {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 11, ka7, F10 + {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 12, ka3, F11 + {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 13, ka5, F12 + {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 14, k97, Printscreen + {1, CS4_SW5, CS5_SW5, CS6_SW5}, // 15, k02, Del + + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 16, k16, ` + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 17, k17, 1 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 18, k27, 2 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, k37, 3 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 20, k47, 4 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 21, k46, 5 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 22, k56, 6 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 23, k57, 7 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 24, k67, 8 + {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 25, k77, 9 + {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 26, k87, 0 + {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 27, k86, - + {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 28, k66, = + {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 29, ka1, Backspace + {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 30, kc6, Home + + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 31, k11, Tab + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 32, k10, Q + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 33, k20, W + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 34, k30, E + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 35, k40, R + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 36, k41, T + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 37, k51, Y + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 38, k50, U + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 39, k60, I + {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 40, k70, O + {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 41, k80, P + {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 42, k81, [ + {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 43, k61, ] + {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, ka2, "\\" + {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 45, k65, End + + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 46, k21, Caps Lock + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 47, k12, A + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 48, k22, S + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 49, k32, D + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 50, k42, F + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 51, k43, G + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 52, k53, H + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 53, k52, J + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 54, k62, K + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 55, k72, L + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 56, k82, ; + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 57, k83, ' + {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 58, ka4, Enter + {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 59, k15, PgUp + + {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 60, k00, Shift_L + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 61, k14, Z + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 62, k24, X + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 63, k34, C + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 64, k44, V + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 65, k45, B + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 66, k55, N + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 67, k54, M + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 68, k64, , + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 69, k74, . + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 70, k85, / + {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 71, k91, Shift_R + {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 72, k35, Up + {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 73, k25, PgDn + + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 74, k06, Ctrl_L + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 75, k90, Win_L + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 76, k93, Alt_L + {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 77, k94, Space + {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 78, k95, Alt_R + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 79, k92, FN + {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 80, k04, Ctrl_R + {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 81, k03, Left + {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 82, k73, Down + {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 83, k05, Right + + {1, CS10_SW10, CS11_SW10, CS12_SW10}, // 84, kb0, Z1 + {1, CS10_SW11, CS11_SW11, CS12_SW11}, // 85, kb1, Z2 +}; + +#endif + +#ifdef EEPROM_ENABLE + +#include "spi_master.h" + +void spi_init(void) { + static bool is_initialised = false; + if (!is_initialised) { + is_initialised = true; + + // Try releasing special pins for a short time + setPinInput(SPI_SCK_PIN); + setPinInput(SPI_MOSI_PIN); + setPinInput(SPI_MISO_PIN); + + chThdSleepMilliseconds(10); + + palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3); + palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + } +} + +#endif + +void keyboard_pre_init_kb(void) { + setPinOutput(C0); + setPinOutput(C15); + keyboard_pre_init_user(); +}; +void housekeeping_task_kb(void) { + writePin(C15, keymap_config.no_gui); +}; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + + case KC_SIRI: + if (record->event.pressed) { + host_consumer_send(0xCF); + } else { + host_consumer_send(0); + } + return false; /* Skip all further processing of this key */ + default: + return true; /* Process all other keycodes normally */ + } +}; + +#if defined(ENCODER_ENABLE) +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return false; +}; +#endif \ No newline at end of file diff --git a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.h b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.h new file mode 100644 index 000000000000..e2c656eb0eb2 --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.h @@ -0,0 +1,22 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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" + +enum keyboard_keycodes { + KC_SIRI = QK_KB_0 +}; diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c new file mode 100644 index 000000000000..78324c69426b --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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. + +enum custom_layers { + Win, + Mac, + Winfn, + Macfn, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[Win] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(Winfn),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Mac] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, KC_F5, KC_F6, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(Macfn),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Winfn] = LAYOUT( + QK_BOOT, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + +[Macfn] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), 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_SPD, RGB_VAD, RGB_SPI), + +}; + +#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_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(C0, layer_state_cmp(state, 1)); + return state; +}; diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/rules.mk b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c new file mode 100644 index 000000000000..78324c69426b --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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. + +enum custom_layers { + Win, + Mac, + Winfn, + Macfn, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[Win] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(Winfn),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Mac] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, KC_F5, KC_F6, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(Macfn),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Winfn] = LAYOUT( + QK_BOOT, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + +[Macfn] = LAYOUT( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), 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_SPD, RGB_VAD, RGB_SPI), + +}; + +#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_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(C0, layer_state_cmp(state, 1)); + return state; +}; diff --git a/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/rules.mk b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/darkproject/kd83a_bfg_edition/mcuconf.h b/keyboards/darkproject/kd83a_bfg_edition/mcuconf.h new file mode 100644 index 000000000000..440f78d2bc27 --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_SPI_USE_SPIM2 +#define WB32_SPI_USE_SPIM2 TRUE diff --git a/keyboards/darkproject/kd83a_bfg_edition/readme.md b/keyboards/darkproject/kd83a_bfg_edition/readme.md new file mode 100644 index 000000000000..96826c0c1b0c --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/readme.md @@ -0,0 +1,25 @@ +# kd83a_bfg_edition +![KD83A_BFG_EDITION](https://imgur.com/UXuXerrh.png) +![KD83A_BFG_EDITION](https://imgur.com/Dn852gEh.png) + +An 83 keys keyboard, Equipped with the WestBerry Q95 microcontroller. + +* Keyboard Maintainer: [GSKY](https://github.com/gksygithub) +* Hardware Supported: KD83A_BFG_Edition +* Hardware Availability: [GSKY GitHub](https://github.com/gksygithub/keyboard) + +Make example for this keyboard (after setting up your build environment): + + make darkproject/kd83a_bfg_edition:default + +Flashing example for this keyboard: + + make darkproject/kd83a_bfg_edition:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the surface of the PCB back side after the USB cable is connected +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+ESC will reset the board to bootloader mode + +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/darkproject/kd83a_bfg_edition/rules.mk b/keyboards/darkproject/kd83a_bfg_edition/rules.mk new file mode 100644 index 000000000000..07eb511a199b --- /dev/null +++ b/keyboards/darkproject/kd83a_bfg_edition/rules.mk @@ -0,0 +1 @@ +WEAR_LEVELING_DRIVER = spi_flash \ No newline at end of file diff --git a/keyboards/darkproject/kd87a_bfg_edition/config.h b/keyboards/darkproject/kd87a_bfg_edition/config.h new file mode 100644 index 000000000000..4ac83ab9f627 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/config.h @@ -0,0 +1,42 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* External spi flash */ +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 + +/* SPI Config for LED Driver */ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN A5 +#define SPI_MOSI_PIN A7 +#define SPI_MISO_PIN A6 + +#define DRIVER_1_CS A15 +#define DRIVER_2_CS B15 +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_1_LED_TOTAL 68 +#define DRIVER_2_LED_TOTAL 54 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/darkproject/kd87a_bfg_edition/halconf.h b/keyboards/darkproject/kd87a_bfg_edition/halconf.h new file mode 100644 index 000000000000..8f61d3fc64ff --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/darkproject/kd87a_bfg_edition/info.json b/keyboards/darkproject/kd87a_bfg_edition/info.json new file mode 100644 index 000000000000..94717c6baac2 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/info.json @@ -0,0 +1,278 @@ +{ + "manufacturer": "Kd87a_bfg_edition", + "keyboard_name": "Kd87a_bfg_edition", + "maintainer": "Gsky", + "bootloader": "wb32-dfu", + "bootmagic": { + "matrix": [1, 3] + }, + "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "C14" + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], + "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B12"] + }, + "processor": "WB32FQ95", + "qmk": { + "tap_keycode_delay": 10 + }, + "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 + }, + "center_point": [87, 35], + "driver": "aw20216", + "layout": [ + { "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [2, 6], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [3, 6], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [3, 1], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [3, 3], "x": 50, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 65, "y": 0 }, + { "flags": 4, "matrix": [6, 3], "x": 75, "y": 0 }, + { "flags": 4, "matrix": [7, 1], "x": 85, "y": 0 }, + { "flags": 4, "matrix": [7, 6], "x": 95, "y": 0 }, + { "flags": 4, "matrix": [10, 6], "x": 110, "y": 0 }, + { "flags": 4, "matrix": [10, 7], "x": 120, "y": 0 }, + { "flags": 4, "matrix": [10, 3], "x": 130, "y": 0 }, + { "flags": 4, "matrix": [10, 5], "x": 140, "y": 0 }, + { "flags": 4, "matrix": [9, 7], "x": 155, "y": 0 }, + { "flags": 4, "matrix": [10, 0], "x": 165, "y": 0 }, + { "flags": 4, "matrix": [9, 6], "x": 175, "y": 0 }, + + { "flags": 4, "matrix": [1, 6], "x": 0, "y": 15 }, + { "flags": 4, "matrix": [1, 7], "x": 10, "y": 15 }, + { "flags": 4, "matrix": [2, 7], "x": 20, "y": 15 }, + { "flags": 4, "matrix": [3, 7], "x": 30, "y": 15 }, + { "flags": 4, "matrix": [4, 7], "x": 40, "y": 15 }, + { "flags": 4, "matrix": [4, 6], "x": 50, "y": 15 }, + { "flags": 4, "matrix": [5, 6], "x": 60, "y": 15 }, + { "flags": 4, "matrix": [5, 7], "x": 70, "y": 15 }, + { "flags": 4, "matrix": [6, 7], "x": 80, "y": 15 }, + { "flags": 4, "matrix": [7, 7], "x": 90, "y": 15 }, + { "flags": 4, "matrix": [8, 7], "x": 100, "y": 15 }, + { "flags": 4, "matrix": [8, 6], "x": 110, "y": 15 }, + { "flags": 4, "matrix": [6, 6], "x": 120, "y": 15 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 15 }, + { "flags": 4, "matrix": [11, 6], "x": 155, "y": 15 }, + { "flags": 4, "matrix": [0, 2], "x": 165, "y": 15 }, + { "flags": 4, "matrix": [1, 5], "x": 175, "y": 15 }, + + { "flags": 4, "matrix": [1, 1], "x": 0, "y": 25 }, + { "flags": 4, "matrix": [1, 0], "x": 15, "y": 25 }, + { "flags": 4, "matrix": [2, 0], "x": 25, "y": 25 }, + { "flags": 4, "matrix": [3, 0], "x": 35, "y": 25 }, + { "flags": 4, "matrix": [4, 0], "x": 45, "y": 25 }, + { "flags": 4, "matrix": [4, 1], "x": 55, "y": 25 }, + { "flags": 4, "matrix": [5, 1], "x": 65, "y": 25 }, + { "flags": 4, "matrix": [5, 0], "x": 75, "y": 25 }, + { "flags": 4, "matrix": [6, 0], "x": 85, "y": 25 }, + { "flags": 4, "matrix": [7, 0], "x": 95, "y": 25 }, + { "flags": 4, "matrix": [8, 0], "x": 105, "y": 25 }, + { "flags": 4, "matrix": [8, 1], "x": 115, "y": 25 }, + { "flags": 4, "matrix": [6, 1], "x": 125, "y": 25 }, + { "flags": 4, "matrix": [10, 2], "x": 135, "y": 25 }, + { "flags": 4, "matrix": [6, 5], "x": 155, "y": 25 }, + { "flags": 4, "matrix": [7, 5], "x": 165, "y": 25 }, + { "flags": 4, "matrix": [2, 5], "x": 175, "y": 25 }, + + { "flags": 8, "matrix": [2, 1], "x": 0, "y": 35 }, + { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 35 }, + { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 35 }, + { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 35 }, + { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 35 }, + { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 35 }, + { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 35 }, + { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 35 }, + { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 35 }, + { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 35 }, + { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 35 }, + { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 35 }, + { "flags": 4, "matrix": [10, 4], "x": 127.5, "y": 35 }, + + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 45 }, + { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 45 }, + { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 45 }, + { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 45 }, + { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 45 }, + { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 45 }, + { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 45 }, + { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 45 }, + { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 45 }, + { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 45 }, + { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 45 }, + { "flags": 4, "matrix": [9, 1], "x": 122.5, "y": 45 }, + { "flags": 4, "matrix": [3, 5], "x": 165, "y": 45 }, + + { "flags": 4, "matrix": [0, 6], "x": 0, "y": 55 }, + { "flags": 4, "matrix": [9, 0], "x": 12.5, "y": 55 }, + { "flags": 4, "matrix": [9, 3], "x": 25, "y": 55 }, + { "flags": 4, "matrix": [9, 4], "x": 37.5, "y": 55 }, + { "flags": 4, "matrix": [9, 5], "x": 100, "y": 55 }, + { "flags": 4, "matrix": [9, 2], "x": 112.5, "y": 55 }, + { "flags": 4, "matrix": [8, 4], "x": 125, "y": 55 }, + { "flags": 4, "matrix": [0, 4], "x": 137.5, "y": 55 }, + { "flags": 4, "matrix": [0, 3], "x": 155, "y": 55 }, + { "flags": 4, "matrix": [7, 3], "x": 165, "y": 55 }, + { "flags": 4, "matrix": [0, 5], "x": 175, "y": 55 } + ] + }, + "url": "", + "usb": { + "device_version": "0.0.3", + "pid": "0xE393", + "vid": "0x342D" + }, + "community_layouts": ["tkl_ansi"], + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + { "label": "ESC", "matrix": [1, 3], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [2, 6], "x": 2, "y": 0 }, + { "label": "F2", "matrix": [3, 6], "x": 3, "y": 0 }, + { "label": "F3", "matrix": [3, 1], "x": 4, "y": 0 }, + { "label": "F4", "matrix": [3, 3], "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 7], "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [6, 3], "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [7, 1], "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [7, 6], "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [10, 6], "x": 11, "y": 0 }, + { "label": "F10", "matrix": [10, 7], "x": 12, "y": 0 }, + { "label": "F11", "matrix": [10, 3], "x": 13, "y": 0 }, + { "label": "F12", "matrix": [10, 5], "x": 14, "y": 0 }, + { "label": "Printscreen", "matrix": [9, 7], "x": 15.5, "y": 0 }, + { "label": "Scroll Lock", "matrix": [10, 0], "x": 16.5, "y": 0 }, + { "label": "Pause Break", "matrix": [9, 6], "x": 17.5, "y": 0 }, + { "label": "`", "matrix": [1, 6], "x": 0, "y": 1.5 }, + { "label": "1", "matrix": [1, 7], "x": 1, "y": 1.5 }, + { "label": "2", "matrix": [2, 7], "x": 2, "y": 1.5 }, + { "label": "3", "matrix": [3, 7], "x": 3, "y": 1.5 }, + { "label": "4", "matrix": [4, 7], "x": 4, "y": 1.5 }, + { "label": "5", "matrix": [4, 6], "x": 5, "y": 1.5 }, + { "label": "6", "matrix": [5, 6], "x": 6, "y": 1.5 }, + { "label": "7", "matrix": [5, 7], "x": 7, "y": 1.5 }, + { "label": "8", "matrix": [6, 7], "x": 8, "y": 1.5 }, + { "label": "9", "matrix": [7, 7], "x": 9, "y": 1.5 }, + { "label": "0", "matrix": [8, 7], "x": 10, "y": 1.5 }, + { "label": "-", "matrix": [8, 6], "x": 11, "y": 1.5 }, + { "label": "=", "matrix": [6, 6], "x": 12, "y": 1.5 }, + { "label": "Backspace", "matrix": [10, 1], "w": 2, "x": 13, "y": 1.5 }, + { "label": "INS", "matrix": [11, 6], "x": 15.5, "y": 1.5 }, + { "label": "Home", "matrix": [0, 2], "x": 16.5, "y": 1.5 }, + { "label": "PgUp", "matrix": [1, 5], "x": 17.5, "y": 1.5 }, + { "label": "Tab", "matrix": [1, 1], "w": 1.5, "x": 0, "y": 2.5 }, + { "label": "Q", "matrix": [1, 0], "x": 1.5, "y": 2.5 }, + { "label": "W", "matrix": [2, 0], "x": 2.5, "y": 2.5 }, + { "label": "E", "matrix": [3, 0], "x": 3.5, "y": 2.5 }, + { "label": "R", "matrix": [4, 0], "x": 4.5, "y": 2.5 }, + { "label": "T", "matrix": [4, 1], "x": 5.5, "y": 2.5 }, + { "label": "Y", "matrix": [5, 1], "x": 6.5, "y": 2.5 }, + { "label": "U", "matrix": [5, 0], "x": 7.5, "y": 2.5 }, + { "label": "I", "matrix": [6, 0], "x": 8.5, "y": 2.5 }, + { "label": "O", "matrix": [7, 0], "x": 9.5, "y": 2.5 }, + { "label": "P", "matrix": [8, 0], "x": 10.5, "y": 2.5 }, + { "label": "[", "matrix": [8, 1], "x": 11.5, "y": 2.5 }, + { "label": "]", "matrix": [6, 1], "x": 12.5, "y": 2.5 }, + { "label": "\\", "matrix": [10, 2], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "label": "Delete", "matrix": [6, 5], "x": 15.5, "y": 2.5 }, + { "label": "End", "matrix": [7, 5], "x": 16.5, "y": 2.5 }, + { "label": "PgDn", "matrix": [2, 5], "x": 17.5, "y": 2.5 }, + { "label": "Caps Lock", "matrix": [2, 1], "w": 1.75, "x": 0, "y": 3.5 }, + { "label": "A", "matrix": [1, 2], "x": 1.75, "y": 3.5 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 3.5 }, + { "label": "D", "matrix": [3, 2], "x": 3.75, "y": 3.5 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3.5 }, + { "label": "G", "matrix": [4, 3], "x": 5.75, "y": 3.5 }, + { "label": "H", "matrix": [5, 3], "x": 6.75, "y": 3.5 }, + { "label": "J", "matrix": [5, 2], "x": 7.75, "y": 3.5 }, + { "label": "K", "matrix": [6, 2], "x": 8.75, "y": 3.5 }, + { "label": "L", "matrix": [7, 2], "x": 9.75, "y": 3.5 }, + { "label": ";", "matrix": [8, 2], "x": 10.75, "y": 3.5 }, + { "label": "'", "matrix": [8, 3], "x": 11.75, "y": 3.5 }, + { "label": "Enter", "matrix": [10, 4], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "label": "Shift", "matrix": [0, 0], "w": 2.25, "x": 0, "y": 4.5 }, + { "label": "Z", "matrix": [1, 4], "x": 2.25, "y": 4.5 }, + { "label": "X", "matrix": [2, 4], "x": 3.25, "y": 4.5 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 4.5 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.5 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.5 }, + { "label": "N", "matrix": [5, 5], "x": 7.25, "y": 4.5 }, + { "label": "M", "matrix": [5, 4], "x": 8.25, "y": 4.5 }, + { "label": ",", "matrix": [6, 4], "x": 9.25, "y": 4.5 }, + { "label": ".", "matrix": [7, 4], "x": 10.25, "y": 4.5 }, + { "label": "/", "matrix": [8, 5], "x": 11.25, "y": 4.5 }, + { "label": "Shift", "matrix": [9, 1], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "label": "Up", "matrix": [3, 5], "x": 16.5, "y": 4.5 }, + { "label": "Ctrl", "matrix": [0, 6], "w": 1.25, "x": 0, "y": 5.5 }, + { "label": "Win", "matrix": [9, 0], "w": 1.25, "x": 1.25, "y": 5.5 }, + { "label": "Alt", "matrix": [9, 3], "w": 1.25, "x": 2.5, "y": 5.5 }, + { "label": "Space", "matrix": [9, 4], "w": 6.25, "x": 3.75, "y": 5.5 }, + { "label": "Alt", "matrix": [9, 5], "w": 1.25, "x": 10, "y": 5.5 }, + { "label": "FN", "matrix": [9, 2], "w": 1.25, "x": 11.25, "y": 5.5 }, + { "label": "APP", "matrix": [8, 4], "w": 1.25, "x": 12.5, "y": 5.5 }, + { "label": "Ctrl", "matrix": [0, 4], "w": 1.25, "x": 13.75, "y": 5.5 }, + { "label": "Left", "matrix": [0, 3], "x": 15.5, "y": 5.5 }, + { "label": "Down", "matrix": [7, 3], "x": 16.5, "y": 5.5 }, + { "label": "Right", "matrix": [0, 5], "x": 17.5, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c new file mode 100644 index 000000000000..0ce0799e14cb --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c @@ -0,0 +1,174 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "kd87a_bfg_edition.h" + +#ifdef RGB_MATRIX_ENABLE + +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, Esc + + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 1, Esc + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 2, F1 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 3, F2 + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 4, F3 + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 5, F4 + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 6, F5 + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 7, F6 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 8, F7 + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 9, F8 + {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 10, F9 + {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 11, F10 + {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 12, F11 + {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 13, F12 + {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 14, Printscreen + {1, CS1_SW3, CS2_SW3, CS3_SW3}, // 15, Scroll Lock + {1, CS1_SW4, CS2_SW4, CS3_SW4}, // 16, Pause Break + + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 17, ` + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 18, 1 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 19, 2 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 20, 3 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 21, 4 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 22, 5 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 23, 6 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 24, 7 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 25, 8 + {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 26, 9 + {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 27, 0 + {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 28, - + {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 29, = + {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 30, Backspace + {1, CS1_SW2, CS2_SW2, CS3_SW2}, // 31, Insert + {1, CS4_SW5, CS5_SW5, CS6_SW5}, // 32, Home + {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 33, Page Up + + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 34, Tab + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 35, Q + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 36, W + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 37, E + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 38, R + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 39, T + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 40, Y + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 42, I + {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 43, O + {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 44, P + {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 45, [ + {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 46, ] + {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 47, "\\" + {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 48, Delete + {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 49, END + {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 50, Page down + + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 51, Caps Lock + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 52, A + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 53, S + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 54, D + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 55, F + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 56, G + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 57, H + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 58, J + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 59, K + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 60, L + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 61, ; + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 62, ' + {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 63, Enter + + {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 64, Shift_L + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 65, Z + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 66, X + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 67, C + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 68, V + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 69, B + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 70, N + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 71, M + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 72, , + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 73, . + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 74, / + {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 75, Shift_R + {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 76, Up + + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 77, Ctrl_L + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 78, Win_L + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 79, Alt_L + {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 80, Space + {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 81, Alt_R + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 82, FN + {0, CS16_SW11, CS17_SW11, CS18_SW11}, // 83, APP + {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 84, Ctrl_R + {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 85, Left + {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 86, Down + {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 87, Right +}; + +#endif + +#ifdef EEPROM_ENABLE + +#include "spi_master.h" + +void spi_init(void) { + static bool is_initialised = false; + if (!is_initialised) { + is_initialised = true; + + // Try releasing special pins for a short time + setPinInput(SPI_SCK_PIN); + setPinInput(SPI_MOSI_PIN); + setPinInput(SPI_MISO_PIN); + + chThdSleepMilliseconds(10); + + palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3); + palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + } +} + +#endif + +void keyboard_pre_init_kb(void) { + setPinOutput(C0); + setPinOutput(C15); + keyboard_pre_init_user(); +}; +void housekeeping_task_kb(void) { + writePin(C15, keymap_config.no_gui); +}; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case KC_SIRI: + if (record->event.pressed) { + host_consumer_send(0xCF); + } else { + host_consumer_send(0); + } + return false; /* Skip all further processing of this key */ + default: + return true; /* Process all other keycodes normally */ + } +}; diff --git a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.h b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.h new file mode 100644 index 000000000000..e2c656eb0eb2 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.h @@ -0,0 +1,22 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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" + +enum keyboard_keycodes { + KC_SIRI = QK_KB_0 +}; diff --git a/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c new file mode 100644 index 000000000000..4abb1bdc9158 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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. + +enum custom_layers { + Win, + Mac, + Winfn, + Macfn, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[Win] = 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(Winfn),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Mac] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, KC_F5, KC_F6, KC_MRWD, KC_MPLY, KC_MFFD, 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_RALT, MO(Macfn),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Winfn] = LAYOUT_tkl_ansi( + QK_BOOT, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + +[Macfn] = LAYOUT_tkl_ansi( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, 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, RGB_HUI, KC_TRNS, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), 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_SPD, RGB_VAD, RGB_SPI), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(C0, layer_state_cmp(state, 1)); + return state; +}; \ No newline at end of file diff --git a/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c b/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c new file mode 100644 index 000000000000..71fbfa4ff203 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2022 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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. + +enum custom_layers { + Win, + Mac, + Winfn, + Macfn, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[Win] = 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(Winfn),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Mac] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, KC_F5, KC_F6, KC_MRWD, KC_MPLY, KC_MFFD, 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_RALT, MO(Macfn),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[Winfn] = LAYOUT_tkl_ansi( + QK_BOOT, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, + KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + +[Macfn] = LAYOUT_tkl_ansi( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, 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, RGB_HUI, KC_TRNS, + KC_TRNS, KC_TRNS, TO(Win), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(Mac), 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_SPD, RGB_VAD, RGB_SPI), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(C0, layer_state_cmp(state, 1)); + return state; +}; diff --git a/keyboards/soda/pocket/keymaps/via/rules.mk b/keyboards/darkproject/kd87a_bfg_edition/keymaps/via/rules.mk similarity index 100% rename from keyboards/soda/pocket/keymaps/via/rules.mk rename to keyboards/darkproject/kd87a_bfg_edition/keymaps/via/rules.mk diff --git a/keyboards/darkproject/kd87a_bfg_edition/mcuconf.h b/keyboards/darkproject/kd87a_bfg_edition/mcuconf.h new file mode 100644 index 000000000000..440f78d2bc27 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2022 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_SPI_USE_SPIM2 +#define WB32_SPI_USE_SPIM2 TRUE diff --git a/keyboards/darkproject/kd87a_bfg_edition/readme.md b/keyboards/darkproject/kd87a_bfg_edition/readme.md new file mode 100644 index 000000000000..83cc8a923db9 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/readme.md @@ -0,0 +1,24 @@ +# KD87A_BFG_Edition +![KD87A_BFG_Edition](https://imgur.com/uOUvWvwh.png) + +An 87 keys keyboard, Equipped with the WestBerry Q95 microcontroller. + +* Keyboard Maintainer: [GSKY](https://github.com/gksygithub) +* Hardware Supported: KD87A_BFG_Edition +* Hardware Availability: [GSKY GitHub](https://github.com/gksygithub/keyboard1) + +Make example for this keyboard (after setting up your build environment): + + make darkproject/kd87a_bfg_edition:default + +Flashing example for this keyboard: + + make darkproject/kd87a_bfg_edition:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the surface of the PCB back side after the USB cable is connected +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+ESC will reset the board to bootloader mode + +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/darkproject/kd87a_bfg_edition/rules.mk b/keyboards/darkproject/kd87a_bfg_edition/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/darkproject/kd87a_bfg_edition/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/darmoshark/k3/config.h b/keyboards/darmoshark/k3/config.h new file mode 100644 index 000000000000..c3cf83a9849c --- /dev/null +++ b/keyboards/darmoshark/k3/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +/* 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 diff --git a/keyboards/darmoshark/k3/halconf.h b/keyboards/darmoshark/k3/halconf.h new file mode 100644 index 000000000000..b6a606056a1a --- /dev/null +++ b/keyboards/darmoshark/k3/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/darmoshark/k3/info.json b/keyboards/darmoshark/k3/info.json new file mode 100644 index 000000000000..bca494f35cdc --- /dev/null +++ b/keyboards/darmoshark/k3/info.json @@ -0,0 +1,183 @@ +{ + "manufacturer": "Darmoshark", + "keyboard_name": "K3 QMK", + "maintainer": "Proceee", + "url": "", + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "usb": { + "device_version": "1.0.0", + "vid": "0xC001", + "pid": "0x3667", + "suspend_wakeup_delay": 1000 + }, + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 4096 + } + }, + "matrix_pins": { + "rows": ["B13", "A1", "A2", "A3", "A4", "B7"], + "cols": ["B1", "C7", "C13", "B9"] + }, + "indicators": { + "num_lock": "C5", + "on_state": 1 + }, + "ws2812": { + "pin": "A8" + }, + "rgb_matrix": { + "driver": "ws2812", + "default":{ + "val": 80 + }, + "sleep": true, + "center_point": [24, 32], + "max_brightness": 140, + "animations": { + "solid_color": true, + "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,2], "x": 32, "y": 0}, + { "flags": 4, "matrix":[0,3], "x": 48, "y": 0}, + + { "flags": 4, "matrix":[1,3], "x": 48, "y": 13}, + { "flags": 4, "matrix":[2,3], "x": 48, "y": 26}, + { "flags": 4, "matrix":[4,3], "x": 48, "y": 51}, + + { "flags": 4, "matrix":[5,2], "x": 48, "y": 64}, + { "flags": 4, "matrix":[4,2], "x": 32, "y": 51}, + { "flags": 4, "matrix":[3,2], "x": 32, "y": 38}, + { "flags": 4, "matrix":[2,2], "x": 32, "y": 26}, + { "flags": 4, "matrix":[1,2], "x": 32, "y": 13}, + + { "flags": 4, "matrix":[1,1], "x": 16, "y": 13}, + { "flags": 4, "matrix":[2,1], "x": 16, "y": 26}, + { "flags": 4, "matrix":[3,1], "x": 16, "y": 38}, + { "flags": 4, "matrix":[4,1], "x": 16, "y": 51}, + + { "flags": 4, "matrix":[5,1], "x": 0, "y": 64}, + { "flags": 4, "matrix":[4,0], "x": 0, "y": 51}, + { "flags": 4, "matrix":[3,0], "x": 0, "y": 38}, + { "flags": 4, "matrix":[2,0], "x": 0, "y": 26}, + { "flags": 4, "matrix":[1,0], "x": 0, "y": 13}, + { "flags": 4, "matrix":[0,0], "x": 0, "y": 0}, + + { "flags": 4, "matrix":[0,1], "x": 16, "y": 0}, + + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64}, + { "flags": 4, "x": 224, "y": 64} + ] + }, + "community_layouts": ["numpad_6x4"], + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + { "matrix":[0,0], "x": 0, "y": 0 }, + { "matrix":[0,1], "x": 1, "y": 0 }, + { "matrix":[0,2], "x": 2, "y": 0 }, + { "matrix":[0,3], "x": 3, "y": 0 }, + + { "matrix":[1,0], "x": 0, "y": 1 }, + { "matrix":[1,1], "x": 1, "y": 1 }, + { "matrix":[1,2], "x": 2, "y": 1 }, + { "matrix":[1,3], "x": 3, "y": 1 }, + + { "matrix":[2,0], "x": 0, "y": 2 }, + { "matrix":[2,1], "x": 1, "y": 2 }, + { "matrix":[2,2], "x": 2, "y": 2 }, + + { "matrix":[3,0], "x": 0, "y": 3 }, + { "matrix":[3,1], "x": 1, "y": 3 }, + { "matrix":[3,2], "x": 2, "y": 3 }, + { "matrix":[2,3], "x": 3, "y": 2, "h": 2 }, + + { "matrix":[4,0], "x": 0, "y": 4 }, + { "matrix":[4,1], "x": 1, "y": 4 }, + { "matrix":[4,2], "x": 2, "y": 4 }, + + { "matrix":[5,1], "x": 0, "y": 5, "w": 2 }, + { "matrix":[5,2], "x": 2, "y": 5 }, + { "matrix":[4,3], "x": 3, "y": 4, "h": 2 } + ] + } + } +} diff --git a/keyboards/darmoshark/k3/keymaps/default/keymap.c b/keyboards/darmoshark/k3/keymaps/default/keymap.c new file mode 100644 index 000000000000..5c49cab1a3e3 --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, MO(1), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_numpad_6x4( + EE_CLR, _______, RGB_MOD, _______, + KC_CALC, _______, _______, RGB_VAD, + _______, RGB_SPI, _______, + _______, _______, _______, RGB_VAI, + _______, RGB_SPD, _______, + _______, RGB_TOG, _______ + ) +}; diff --git a/keyboards/darmoshark/k3/keymaps/via/config.h b/keyboards/darmoshark/k3/keymaps/via/config.h new file mode 100644 index 000000000000..5e18cd011646 --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/darmoshark/k3/keymaps/via/keymap.c b/keyboards/darmoshark/k3/keymaps/via/keymap.c new file mode 100644 index 000000000000..5c49cab1a3e3 --- /dev/null +++ b/keyboards/darmoshark/k3/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, MO(1), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_numpad_6x4( + EE_CLR, _______, RGB_MOD, _______, + KC_CALC, _______, _______, RGB_VAD, + _______, RGB_SPI, _______, + _______, _______, _______, RGB_VAI, + _______, RGB_SPD, _______, + _______, RGB_TOG, _______ + ) +}; diff --git a/keyboards/yugo_m/model_m_101/keymaps/via/rules.mk b/keyboards/darmoshark/k3/keymaps/via/rules.mk similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/via/rules.mk rename to keyboards/darmoshark/k3/keymaps/via/rules.mk diff --git a/keyboards/darmoshark/k3/mcuconf.h b/keyboards/darmoshark/k3/mcuconf.h new file mode 100644 index 000000000000..182db617aa83 --- /dev/null +++ b/keyboards/darmoshark/k3/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Proceee +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE diff --git a/keyboards/darmoshark/k3/readme.md b/keyboards/darmoshark/k3/readme.md new file mode 100644 index 000000000000..aecfe659357f --- /dev/null +++ b/keyboards/darmoshark/k3/readme.md @@ -0,0 +1,23 @@ +# K3 QMK + +* Keyboard Maintainer: [Proceee](https://github.com/Proceee) +* Hardware Supported: [Darmoshark](http://www.Darmoshark.cn) +* Hardware Availability: [Darmoshark](http://www.Darmoshark.cn) + +Make example for this keyboard (after setting up your build environment): + + make darmoshark/k3:default + +Flashing example for this keyboard: + + make darmoshark/k3: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/darmoshark/k3/rules.mk b/keyboards/darmoshark/k3/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/darmoshark/k3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dasky/reverb/config.h b/keyboards/dasky/reverb/config.h new file mode 100644 index 000000000000..29cc0b04c774 --- /dev/null +++ b/keyboards/dasky/reverb/config.h @@ -0,0 +1,17 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DEBUG_MATRIX_SCAN_RATE // only want api + +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP18 +#define SPI_MOSI_PIN GP19 +#define SPI_MISO_PIN GP16 + +#define DISPLAY_RST GP15 +#define DISPLAY_CS GP21 +#define DISPLAY_DC GP20 + +#define QUANTUM_PAINTER_SUPPORTS_256_PALETTE true diff --git a/keyboards/dasky/reverb/graphics/display.c b/keyboards/dasky/reverb/graphics/display.c new file mode 100644 index 000000000000..13ac13ddb35d --- /dev/null +++ b/keyboards/dasky/reverb/graphics/display.c @@ -0,0 +1,139 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "display.h" +#include "graphics/splash.qgf.h" +#include "graphics/reverb.qgf.h" +#include "graphics/robotomono20.qff.h" +#include +#include + +static painter_image_handle_t reverb_logo; +static deferred_token display_task_token; +static uint32_t key_pressed_count = 0; + +static uint8_t reverb_surface_fb[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(240, 240, 16)]; + +painter_device_t reverb_surface; +painter_device_t reverb_display; +painter_font_handle_t roboto_font; + +uint32_t display_task_callback(uint32_t trigger_time, void *cb_arg) { + display_task_kb(); + return 100; +} + +void display_init_kb(void) { + reverb_display = qp_gc9a01_make_spi_device(240, 240, DISPLAY_CS, DISPLAY_DC, DISPLAY_RST, 2, 0); // always init display + qp_init(reverb_display, QP_ROTATION_0); + roboto_font = qp_load_font_mem(font_robotomono20); + reverb_surface = qp_make_rgb565_surface(240, 240, reverb_surface_fb); + qp_init(reverb_surface, QP_ROTATION_0); + if (!display_init_user()) { + return; + } + painter_image_handle_t splash_image; + splash_image = qp_load_image_mem(gfx_splash); + reverb_logo = qp_load_image_mem(gfx_reverb); + qp_drawimage(reverb_display, 0, 0, splash_image); + qp_flush(reverb_display); + qp_close_image(splash_image); + display_task_token = defer_exec(2000, display_task_callback, NULL); +} + +__attribute__((weak)) bool display_init_user(void) { + return true; +} + +void display_task_kb(void) { + if (!display_task_user()) { + return; + } + static bool first_draw = true; + static uint32_t last_timer = 0; + static uint32_t last_wpm = UINT32_MAX; + static uint32_t last_scan_rate = 0; + static uint32_t last_key_pressed_count = UINT32_MAX; + static uint8_t last_hue = 0; + static uint8_t last_sat = 0; + static uint8_t last_val = 0; + bool rgb_redraw = false; + + if (first_draw) { + qp_rect(reverb_display, 0, 0, 239, 239, 0, 0, 0, true); + first_draw = false; + } + + char buffer[64] = {0}; + + if (last_hue != rgb_matrix_get_hue() || last_sat != rgb_matrix_get_sat() || last_val != rgb_matrix_get_val()) { + last_hue = rgb_matrix_get_hue(); + last_sat = rgb_matrix_get_sat(); + last_val = rgb_matrix_get_val(); + qp_drawimage_recolor(reverb_surface, 60, 40, reverb_logo, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), 0, 0, 0); + rgb_redraw = true; + } + + if (rgb_redraw || last_scan_rate != get_matrix_scan_rate()) { + snprintf(buffer, sizeof(buffer), "Scan Rate %ld", get_matrix_scan_rate()); + int16_t width = qp_textwidth(roboto_font, buffer); + qp_line(reverb_surface, 17, 101, 220, 101, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128)); + qp_rect(reverb_surface, 16, 125 - roboto_font->line_height, 221, 125, 0, 0, 0, true); + qp_drawtext_recolor(reverb_surface, (120 - (width / 2)), (125 - roboto_font->line_height), roboto_font, buffer, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), 0, 0, 0); + qp_line(reverb_surface, 16, 126, 221, 126, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128)); + last_scan_rate = get_matrix_scan_rate(); + } + if (rgb_redraw || last_key_pressed_count != key_pressed_count) { + snprintf(buffer, sizeof(buffer), "Keys Pressed"); + int16_t width = qp_textwidth(roboto_font, buffer); + qp_rect(reverb_surface, 30, 150 - roboto_font->line_height, 209, 150, 0, 0, 0, true); + qp_drawtext_recolor(reverb_surface, (120 - (width / 2)), (150 - roboto_font->line_height), roboto_font, buffer, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), 0, 0, 0); + snprintf(buffer, sizeof(buffer), "%ld", key_pressed_count); + width = qp_textwidth(roboto_font, buffer); + qp_rect(reverb_surface, 30, 172 - roboto_font->line_height, 173, 172, 0, 0, 0, true); + qp_drawtext_recolor(reverb_surface, (120 - (width / 2)), (172 - roboto_font->line_height), roboto_font, buffer, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), 0, 0, 0); + qp_line(reverb_surface, 30, 173, 209, 173, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128)); + last_key_pressed_count = key_pressed_count; + } + if (rgb_redraw || last_wpm != get_current_wpm()) { + snprintf(buffer, sizeof(buffer), "WPM %d", get_current_wpm()); + int16_t width = qp_textwidth(roboto_font, buffer); + qp_rect(reverb_surface, 56, 200 - roboto_font->line_height, 184, 200, 0, 0, 0, true); + qp_drawtext_recolor(reverb_surface, (120 - (width / 2)), (200 - roboto_font->line_height), roboto_font, buffer, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), 0, 0, 0); + qp_line(reverb_surface, 56, 201, 184, 201, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128)); + last_wpm = get_current_wpm(); + } + + if (rgb_redraw || timer_elapsed(last_timer) >= 1000) { + static uint8_t seconds = 0; + static uint8_t x = 0; + static uint8_t y = 0; + if (x && y) { + qp_circle(reverb_surface, x, y, 4, 0, 0, 0, true); + } + double radians = 0.10471975511966 * seconds; + x = (110 * cos(radians)) + 119; + y = (110 * sin(radians)) + 119; + qp_circle(reverb_surface, x, y, 4, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), true); + qp_circle(reverb_surface, 119, 119, 105, rgb_matrix_get_hue(), rgb_matrix_get_sat(), MAX(rgb_matrix_get_val(), 128), false); + if (seconds == 59) { + seconds = 0; + } else if (timer_elapsed(last_timer) >= 1000) { + last_timer = timer_read32(); + seconds++; + } + } + + qp_surface_draw(reverb_surface, reverb_display, 0, 0, rgb_redraw); +} + +__attribute__((weak)) bool display_task_user(void) { + return true; +} + +void display_key_counter(void) { + if (key_pressed_count == UINT32_MAX) { + key_pressed_count = 0; + } + key_pressed_count++; +} diff --git a/keyboards/dasky/reverb/graphics/display.h b/keyboards/dasky/reverb/graphics/display.h new file mode 100644 index 000000000000..bc3cdf59a9ff --- /dev/null +++ b/keyboards/dasky/reverb/graphics/display.h @@ -0,0 +1,17 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "qp.h" +#include "qp_surface.h" + +extern painter_device_t reverb_surface; +extern painter_device_t reverb_display; +extern painter_font_handle_t roboto_font; + +void display_key_counter(void); +void display_init_kb(void); +bool display_init_user(void); +void display_task_kb(void); +bool display_task_user(void); diff --git a/keyboards/dasky/reverb/graphics/reverb.qgf.c b/keyboards/dasky/reverb/graphics/reverb.qgf.c new file mode 100644 index 000000000000..27c31d41aa23 --- /dev/null +++ b/keyboards/dasky/reverb/graphics/reverb.qgf.c @@ -0,0 +1,59 @@ +// Copyright 2023 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-graphics -i reverb.png -f mono2` + +#include + +const uint32_t gfx_reverb_length = 736; + +// clang-format off +const uint8_t gfx_reverb[736] = { + 0x00, 0xFF, 0x12, 0x00, 0x00, 0x51, 0x47, 0x46, 0x01, 0xE0, 0x02, 0x00, 0x00, 0x1F, 0xFD, 0xFF, + 0xFF, 0x78, 0x00, 0x32, 0x00, 0x01, 0x00, 0x01, 0xFE, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x02, 0xFD, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE8, 0x03, 0x05, 0xFA, 0xB0, 0x02, 0x00, + 0x3C, 0x00, 0x8F, 0xF8, 0xFF, 0xC7, 0xFF, 0x3F, 0x30, 0x80, 0x83, 0xFF, 0x0F, 0xFF, 0xCF, 0xFF, + 0x1F, 0x00, 0xF8, 0x03, 0xFF, 0x85, 0x7F, 0x70, 0x80, 0x83, 0xFF, 0x0F, 0x03, 0xFF, 0x8D, 0x7F, + 0x00, 0xF8, 0xFF, 0xBF, 0xFF, 0x7F, 0x70, 0x80, 0x83, 0xFF, 0x0F, 0xFF, 0xBF, 0x02, 0xFF, 0x8C, + 0x00, 0xF8, 0xFF, 0x3F, 0xFF, 0x7F, 0x70, 0x80, 0x83, 0xFF, 0x0F, 0xFF, 0x3F, 0x02, 0xFF, 0xB8, + 0x01, 0xF8, 0xFF, 0x3F, 0xFF, 0x7F, 0x70, 0x80, 0x83, 0xFF, 0x0F, 0xFF, 0x3F, 0xFE, 0xFF, 0x03, + 0xF8, 0xFF, 0x3F, 0xFE, 0x7F, 0x70, 0x80, 0x83, 0xFF, 0x0F, 0xFF, 0x3F, 0xFE, 0xFF, 0x07, 0xF8, + 0x0F, 0x3F, 0x3E, 0x00, 0x7F, 0x80, 0xC3, 0x07, 0xF0, 0x0F, 0x3F, 0x3C, 0xFE, 0x07, 0xF8, 0x07, + 0x3E, 0x3C, 0x00, 0x7F, 0xC0, 0xC3, 0x03, 0xF0, 0x0F, 0x02, 0x3C, 0x83, 0xF8, 0x07, 0xF8, 0x07, + 0x02, 0x3C, 0x86, 0x00, 0xFF, 0xC0, 0xC3, 0x03, 0xF0, 0x0F, 0x02, 0x3C, 0x83, 0xF8, 0x0F, 0xF8, + 0x07, 0x02, 0x3C, 0x8C, 0x00, 0xFF, 0xC0, 0xC3, 0x03, 0xF0, 0x0F, 0x3C, 0x38, 0xF0, 0x0F, 0xF8, + 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFF, 0xC0, 0xC3, 0x03, 0xF0, 0x0F, 0x02, 0x38, 0x83, 0xF0, 0x0F, + 0xF8, 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFF, 0xC0, 0xE3, 0x03, 0xF0, 0x0F, 0x02, 0x38, 0x83, 0xF0, + 0x0F, 0xF8, 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFE, 0xC0, 0xE3, 0x03, 0xF0, 0x0F, 0x02, 0x38, 0x83, + 0xF0, 0x0F, 0xF8, 0x07, 0x02, 0x38, 0x86, 0x00, 0xFE, 0xC0, 0xE3, 0x03, 0xF0, 0x0F, 0x02, 0x38, + 0x83, 0xF0, 0x0F, 0xF8, 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFE, 0xE0, 0xE3, 0x03, 0xF0, 0x0F, 0x02, + 0x38, 0x83, 0xF0, 0x0F, 0xF8, 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFE, 0xE1, 0xE3, 0x03, 0xF0, 0x0F, + 0x02, 0x38, 0x83, 0xF8, 0x07, 0xF8, 0x07, 0x02, 0x3C, 0x86, 0x00, 0xFE, 0xE1, 0xF3, 0x03, 0xF0, + 0x0F, 0x02, 0x38, 0xCF, 0xFC, 0x07, 0xF8, 0x07, 0x3C, 0xFC, 0xFF, 0xFD, 0xE1, 0xF3, 0xFF, 0xEF, + 0x0F, 0x3C, 0xF8, 0xFF, 0x07, 0xF8, 0x07, 0x3E, 0xFC, 0xFF, 0xFD, 0xE1, 0xF3, 0xFF, 0xEF, 0x0F, + 0x3C, 0xFC, 0xFF, 0x03, 0xF8, 0x07, 0x3F, 0xFC, 0xFF, 0xFD, 0xE1, 0xF3, 0xFF, 0xEF, 0x0F, 0x3E, + 0xFC, 0xFF, 0x01, 0xF8, 0xFF, 0x3F, 0xFE, 0xFF, 0xFD, 0xE1, 0xF3, 0xFF, 0xEF, 0xFF, 0x3F, 0xFC, + 0xFF, 0x00, 0xF8, 0xFF, 0x3F, 0xFE, 0xFF, 0xFD, 0xE1, 0xF3, 0xFF, 0xEF, 0xFF, 0x3F, 0xFE, 0xFF, + 0x03, 0xF8, 0xFF, 0x3F, 0x02, 0xFF, 0x86, 0xF9, 0xF1, 0xFB, 0xFF, 0xEF, 0xFF, 0x3F, 0x02, 0xFF, + 0x83, 0x07, 0xF8, 0xFF, 0xBF, 0x02, 0xFF, 0x86, 0xF9, 0xF3, 0xFB, 0xFF, 0xEF, 0xFF, 0x3F, 0x02, + 0xFF, 0x81, 0x0F, 0xF8, 0x02, 0xFF, 0x86, 0x3F, 0x00, 0xF8, 0xF3, 0xFB, 0x03, 0xF0, 0x02, 0xFF, + 0xD3, 0x3F, 0xF8, 0x0F, 0xF8, 0xFF, 0xCF, 0x3F, 0x00, 0xF8, 0xF3, 0xFF, 0x03, 0xF0, 0xFF, 0xDF, + 0x3F, 0xF0, 0x1F, 0xF8, 0xFF, 0xCF, 0x3F, 0x00, 0xF8, 0xF3, 0xFF, 0x03, 0xF0, 0xFF, 0xDF, 0x3F, + 0xE0, 0x1F, 0xF8, 0xF7, 0xDF, 0x3F, 0x00, 0xF8, 0xF3, 0xFF, 0x03, 0xF0, 0xEF, 0xDF, 0x3F, 0xE0, + 0x1F, 0xF8, 0xE7, 0xDF, 0x3F, 0x00, 0xF0, 0xF3, 0xFF, 0x03, 0xF0, 0xEF, 0xFF, 0x3F, 0xE0, 0x1F, + 0xF8, 0xE7, 0xFF, 0x3F, 0x00, 0xF0, 0xFB, 0xFF, 0x03, 0xF0, 0xCF, 0xFF, 0x3F, 0xE0, 0x3F, 0xF8, + 0xC7, 0xFF, 0x3F, 0x00, 0xF0, 0x02, 0xFF, 0x8C, 0x03, 0xF0, 0xCF, 0xFF, 0x3F, 0xE0, 0x3F, 0xF8, + 0xC7, 0xFF, 0x3F, 0x00, 0xF0, 0x02, 0xFF, 0x8C, 0x03, 0xF0, 0x8F, 0xBF, 0x3F, 0xE0, 0x1F, 0xF8, + 0x87, 0xBF, 0x3F, 0x00, 0xF0, 0x02, 0xFF, 0x91, 0x03, 0xF0, 0x8F, 0xBF, 0x3F, 0xE0, 0x1F, 0xF8, + 0x87, 0xBF, 0x3F, 0x00, 0xE0, 0xFF, 0xFD, 0x03, 0xF0, 0x0F, 0x02, 0x3F, 0x83, 0xE0, 0x1F, 0xF8, + 0x07, 0x02, 0x3F, 0x86, 0x00, 0xE0, 0xFF, 0xFD, 0x03, 0xF0, 0x0F, 0x02, 0x3F, 0x83, 0xF0, 0x1F, + 0xF8, 0x07, 0x02, 0x3F, 0x93, 0x00, 0xE0, 0xFF, 0xFD, 0x03, 0xF0, 0x0F, 0x3F, 0x3E, 0xF8, 0x1F, + 0xF8, 0x07, 0x3E, 0xFE, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0x02, 0x0F, 0x8C, 0x3E, 0xFE, 0xFF, 0x0F, + 0xF8, 0x07, 0x3E, 0xFE, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0x02, 0x0F, 0x8C, 0x3E, 0xFC, 0xFF, 0x0F, + 0xF8, 0x07, 0x3E, 0xFC, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, 0x02, 0x0F, 0x8C, 0x3C, 0xFC, 0xFF, 0x07, + 0xF8, 0x07, 0x3C, 0xFC, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, 0x02, 0x0F, 0x8C, 0x3C, 0xF8, 0xFF, 0x03, + 0xF8, 0x07, 0x3C, 0xF8, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, 0x02, 0x0F, 0x8C, 0x38, 0xF8, 0xFF, 0x01, + 0xF8, 0x07, 0x38, 0xF8, 0xFF, 0xCF, 0xFF, 0xFC, 0xFF, 0x02, 0x0F, 0x91, 0x38, 0xF8, 0x7F, 0x00, + 0xF0, 0x07, 0x38, 0xF0, 0xFF, 0xCF, 0x7F, 0xFC, 0xFF, 0x0F, 0x0E, 0x30, 0xF0, 0x0F, 0x2E, 0x00, +}; +// clang-format on diff --git a/keyboards/dasky/reverb/graphics/reverb.qgf.h b/keyboards/dasky/reverb/graphics/reverb.qgf.h new file mode 100644 index 000000000000..d44aeeff964a --- /dev/null +++ b/keyboards/dasky/reverb/graphics/reverb.qgf.h @@ -0,0 +1,11 @@ +// Copyright 2023 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-graphics -i reverb.png -f mono2` + +#pragma once + +#include + +extern const uint32_t gfx_reverb_length; +extern const uint8_t gfx_reverb[736]; diff --git a/keyboards/dasky/reverb/graphics/robotomono20.qff.c b/keyboards/dasky/reverb/graphics/robotomono20.qff.c new file mode 100644 index 000000000000..a232ffadfbb4 --- /dev/null +++ b/keyboards/dasky/reverb/graphics/robotomono20.qff.c @@ -0,0 +1,320 @@ +// Copyright 2023 QMK -- generated source code only, font retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono4` + +#include + +const uint32_t font_robotomono20_length = 4904; + +// clang-format off +const uint8_t font_robotomono20[4904] = { + 0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0x28, 0x13, 0x00, 0x00, 0xD7, 0xEC, 0xFF, + 0xFF, 0x16, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x0C, 0x00, + 0x00, 0x8C, 0x00, 0x00, 0x0C, 0x0E, 0x00, 0xCC, 0x12, 0x00, 0xCC, 0x1F, 0x00, 0x8C, 0x2F, 0x00, + 0x0C, 0x3D, 0x00, 0xCC, 0x49, 0x00, 0x4C, 0x4F, 0x00, 0x4C, 0x62, 0x00, 0x0C, 0x76, 0x00, 0x4C, + 0x7F, 0x00, 0xCC, 0x89, 0x00, 0x0C, 0x8F, 0x00, 0xCC, 0x91, 0x00, 0x4C, 0x95, 0x00, 0x0C, 0xA4, + 0x00, 0xCC, 0xB0, 0x00, 0x8C, 0xBE, 0x00, 0x4C, 0xCB, 0x00, 0x4C, 0xD8, 0x00, 0x8C, 0xE4, 0x00, + 0x4C, 0xF2, 0x00, 0x8C, 0xFF, 0x00, 0x0C, 0x0D, 0x01, 0xCC, 0x19, 0x01, 0x0C, 0x26, 0x01, 0x8C, + 0x2C, 0x01, 0x0C, 0x35, 0x01, 0xCC, 0x3C, 0x01, 0x8C, 0x42, 0x01, 0x8C, 0x4A, 0x01, 0x8C, 0x56, + 0x01, 0x4C, 0x63, 0x01, 0xCC, 0x70, 0x01, 0x4C, 0x7D, 0x01, 0x4C, 0x8B, 0x01, 0x8C, 0x97, 0x01, + 0x0C, 0xA6, 0x01, 0x4C, 0xB4, 0x01, 0xCC, 0xC1, 0x01, 0x4C, 0xCE, 0x01, 0x0C, 0xDD, 0x01, 0x0C, + 0xEC, 0x01, 0x8C, 0xF8, 0x01, 0x4C, 0x08, 0x02, 0xCC, 0x14, 0x02, 0x8C, 0x21, 0x02, 0x8C, 0x2E, + 0x02, 0x8C, 0x3B, 0x02, 0x8C, 0x49, 0x02, 0x0C, 0x56, 0x02, 0x4C, 0x63, 0x02, 0x4C, 0x72, 0x02, + 0x4C, 0x7F, 0x02, 0x4C, 0x8C, 0x02, 0x8C, 0x99, 0x02, 0xCC, 0xA6, 0x02, 0xCC, 0xB4, 0x02, 0x0C, + 0xC2, 0x02, 0x4C, 0xD6, 0x02, 0x0C, 0xE7, 0x02, 0x4C, 0xFB, 0x02, 0x0C, 0x03, 0x03, 0xCC, 0x05, + 0x03, 0x4C, 0x09, 0x03, 0x4C, 0x13, 0x03, 0x4C, 0x21, 0x03, 0xCC, 0x2B, 0x03, 0x0C, 0x39, 0x03, + 0x0C, 0x43, 0x03, 0x0C, 0x52, 0x03, 0x8C, 0x5E, 0x03, 0x0C, 0x6C, 0x03, 0x4C, 0x7A, 0x03, 0xCC, + 0x89, 0x03, 0x4C, 0x97, 0x03, 0x8C, 0xA6, 0x03, 0x0C, 0xB0, 0x03, 0x8C, 0xB9, 0x03, 0x4C, 0xC3, + 0x03, 0xCC, 0xCF, 0x03, 0x0C, 0xDD, 0x03, 0x4C, 0xE6, 0x03, 0x0C, 0xF0, 0x03, 0x4C, 0xFD, 0x03, + 0x4C, 0x07, 0x04, 0x4C, 0x11, 0x04, 0xCC, 0x1A, 0x04, 0xCC, 0x24, 0x04, 0x8C, 0x32, 0x04, 0x8C, + 0x3C, 0x04, 0xCC, 0x4F, 0x04, 0x4C, 0x62, 0x04, 0xCC, 0x75, 0x04, 0x04, 0xFB, 0xE8, 0x11, 0x00, + 0x42, 0x00, 0x07, 0x00, 0x80, 0x04, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, + 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, + 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x14, 0x08, 0x00, + 0x80, 0x2C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x06, 0x00, 0x8D, 0x80, 0xC3, 0x01, 0x80, 0xC3, + 0x01, 0x80, 0xC3, 0x01, 0x80, 0xC2, 0x01, 0x40, 0x82, 0x2E, 0x00, 0x07, 0x00, 0x02, 0x04, 0x80, + 0x00, 0x02, 0x0D, 0x80, 0x00, 0x02, 0x0D, 0x80, 0x00, 0x02, 0x0A, 0x97, 0x00, 0x0A, 0x0B, 0xF8, + 0xFF, 0xBF, 0x50, 0x57, 0x17, 0x40, 0x43, 0x03, 0x80, 0x82, 0x02, 0xD4, 0xD6, 0x16, 0xFD, 0xFF, + 0x2F, 0xC0, 0xD1, 0x01, 0x02, 0xD0, 0x83, 0x00, 0xE0, 0xA0, 0x00, 0x02, 0xA0, 0x10, 0x00, 0x81, + 0x00, 0x24, 0x02, 0x00, 0x80, 0x34, 0x02, 0x00, 0x95, 0x78, 0x00, 0x80, 0xFF, 0x07, 0xD0, 0x56, + 0x0F, 0xE0, 0x00, 0x1E, 0xF0, 0x00, 0x2D, 0xE0, 0x01, 0x00, 0xD0, 0x07, 0x00, 0x40, 0xBF, 0x02, + 0x00, 0x95, 0xF4, 0x07, 0x00, 0x40, 0x1F, 0x10, 0x00, 0x2D, 0x74, 0x00, 0x2D, 0xB0, 0x00, 0x2D, + 0xE0, 0x96, 0x0F, 0x80, 0xFF, 0x06, 0x00, 0x38, 0x02, 0x00, 0x80, 0x38, 0x0A, 0x00, 0x06, 0x00, + 0x80, 0x50, 0x02, 0x00, 0x90, 0xFC, 0x03, 0x00, 0x0D, 0x0B, 0x01, 0x0A, 0x4A, 0x07, 0x0E, 0x8A, + 0x02, 0x6D, 0xD7, 0x00, 0xA4, 0xB1, 0x02, 0x00, 0x80, 0x34, 0x02, 0x00, 0x80, 0x1C, 0x02, 0x00, + 0x90, 0x8E, 0x2F, 0x00, 0xD7, 0x75, 0x80, 0xA2, 0xB0, 0xC0, 0xA1, 0xA0, 0x00, 0xE0, 0x70, 0x00, + 0x80, 0x2F, 0x0F, 0x00, 0x07, 0x00, 0xAD, 0x15, 0x00, 0x80, 0xFF, 0x00, 0xD0, 0xD2, 0x02, 0xE0, + 0xC1, 0x02, 0xE0, 0xC1, 0x02, 0xD0, 0xE2, 0x01, 0xC0, 0x7F, 0x00, 0x80, 0x0F, 0x00, 0xE0, 0x2E, + 0x24, 0xB4, 0x78, 0x74, 0x3C, 0xF0, 0x39, 0x3C, 0xD0, 0x2F, 0x38, 0x40, 0x0F, 0xF4, 0xE5, 0x2F, + 0xD0, 0xBF, 0x7D, 0x00, 0x04, 0x0D, 0x00, 0x07, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x1D, 0x02, + 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x08, 0x2E, 0x00, 0x04, 0x00, 0x86, + 0x40, 0x01, 0x00, 0xE0, 0x01, 0x00, 0x74, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02, + 0x00, 0x80, 0x0E, 0x02, 0x00, 0x95, 0x0B, 0x00, 0x40, 0x0B, 0x00, 0x40, 0x07, 0x00, 0x40, 0x07, + 0x00, 0x80, 0x07, 0x00, 0x40, 0x07, 0x00, 0x40, 0x07, 0x00, 0x40, 0x0B, 0x02, 0x00, 0x80, 0x0B, + 0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0xB0, + 0x02, 0x00, 0x81, 0xD0, 0x01, 0x02, 0x00, 0x80, 0x01, 0x03, 0x00, 0x84, 0x80, 0x01, 0x00, 0x40, + 0x07, 0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, + 0xB4, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x8C, 0xE0, 0x01, 0x00, 0xE0, + 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x80, + 0xB0, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x85, + 0x0B, 0x00, 0x80, 0x02, 0x00, 0x40, 0x02, 0x00, 0x07, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0x38, + 0x02, 0x00, 0x8C, 0x34, 0x00, 0x10, 0x34, 0x10, 0xF4, 0x7A, 0x2E, 0x90, 0xFF, 0x1A, 0x00, 0xBC, + 0x02, 0x00, 0x87, 0xDB, 0x01, 0x80, 0x87, 0x03, 0x80, 0x42, 0x07, 0x1E, 0x00, 0x10, 0x00, 0x80, + 0x28, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x8C, 0x3C, 0x00, 0xA8, 0xBE, + 0x2A, 0xFC, 0xFF, 0x3F, 0x50, 0x7D, 0x05, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, + 0x3C, 0x02, 0x00, 0x80, 0x28, 0x13, 0x00, 0x2E, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, + 0x00, 0x80, 0x1E, 0x02, 0x00, 0x83, 0x0F, 0x00, 0x40, 0x07, 0x07, 0x00, 0x1E, 0x00, 0x85, 0xF0, + 0xFF, 0x0B, 0x90, 0xAA, 0x06, 0x1E, 0x00, 0x2B, 0x00, 0x80, 0x24, 0x02, 0x00, 0x80, 0xBC, 0x02, + 0x00, 0x80, 0x7C, 0x10, 0x00, 0x08, 0x00, 0x80, 0x04, 0x02, 0x00, 0x8E, 0x0B, 0x00, 0x40, 0x07, + 0x00, 0x80, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xD0, 0x01, 0x00, 0xA0, 0x02, 0x00, 0x80, 0x74, 0x02, + 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x0E, 0x02, + 0x00, 0x8B, 0x0B, 0x00, 0x40, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xD0, 0x01, 0x00, 0x40, 0x0B, 0x00, + 0x07, 0x00, 0xAD, 0x55, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x42, 0x0B, 0xB0, 0x00, 0x1E, 0x74, 0x00, + 0x1D, 0x78, 0x00, 0x2E, 0x78, 0xD0, 0x2F, 0x78, 0xB8, 0x2D, 0x78, 0x1E, 0x2D, 0xF8, 0x07, 0x2D, + 0xB8, 0x00, 0x2D, 0x74, 0x00, 0x1D, 0xB0, 0x00, 0x0E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00, + 0x14, 0x0D, 0x00, 0x0A, 0x00, 0x89, 0xB4, 0x00, 0x90, 0xBF, 0x00, 0xF0, 0xB6, 0x00, 0x10, 0xB4, + 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, + 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, + 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x10, 0x00, 0x07, 0x00, 0x98, 0x15, 0x00, 0xD0, + 0xFF, 0x01, 0xB4, 0xD1, 0x07, 0x3C, 0x40, 0x0B, 0x2C, 0x00, 0x0B, 0x00, 0x40, 0x0B, 0x00, 0x80, + 0x07, 0x00, 0xD0, 0x02, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3D, 0x02, 0x00, 0x8D, 0x0F, 0x00, 0xC0, + 0x07, 0x00, 0xE0, 0x01, 0x00, 0xB8, 0x55, 0x15, 0xFC, 0xFF, 0x1F, 0x0F, 0x00, 0x07, 0x00, 0x9C, + 0x15, 0x00, 0xD0, 0xFF, 0x01, 0xB4, 0xD1, 0x07, 0x38, 0x40, 0x0B, 0x14, 0x00, 0x0B, 0x00, 0x40, + 0x0B, 0x00, 0xD0, 0x03, 0x40, 0xFF, 0x01, 0x00, 0xE9, 0x02, 0x00, 0x40, 0x0B, 0x02, 0x00, 0x8E, + 0x0F, 0x28, 0x00, 0x0F, 0x3C, 0x40, 0x0B, 0xF4, 0xD5, 0x07, 0xD0, 0xBF, 0x01, 0x00, 0x04, 0x0D, + 0x00, 0x07, 0x00, 0xAB, 0x40, 0x01, 0x00, 0xD0, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xF8, 0x03, 0x00, + 0x9D, 0x03, 0x00, 0x8B, 0x03, 0x80, 0x83, 0x03, 0xD0, 0x81, 0x03, 0xB0, 0x80, 0x03, 0x78, 0x80, + 0x03, 0xBC, 0xEA, 0x2B, 0xA9, 0xEA, 0x2B, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, + 0x0F, 0x00, 0x06, 0x00, 0x97, 0x40, 0x55, 0x05, 0xC0, 0xFF, 0x1F, 0xC0, 0xAA, 0x1A, 0xD0, 0x01, + 0x00, 0xD0, 0x01, 0x00, 0xD0, 0x51, 0x00, 0xE0, 0xFF, 0x07, 0xE0, 0x96, 0x0F, 0x02, 0x00, 0x80, + 0x1E, 0x02, 0x00, 0x80, 0x2D, 0x02, 0x00, 0x8E, 0x2C, 0x60, 0x00, 0x2C, 0xF0, 0x00, 0x1E, 0xD0, + 0x97, 0x0F, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x07, 0x00, 0x80, 0x40, 0x02, 0x00, 0x88, + 0xF9, 0x01, 0x80, 0x6F, 0x00, 0xD0, 0x02, 0x00, 0xF0, 0x02, 0x00, 0x9F, 0xB4, 0x14, 0x00, 0xB4, + 0xFF, 0x02, 0xF8, 0x96, 0x0B, 0xB8, 0x00, 0x0F, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1D, 0x74, 0x00, + 0x1E, 0xF0, 0x00, 0x0F, 0xD0, 0x96, 0x07, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00, + 0x88, 0x54, 0x55, 0x05, 0xFC, 0xFF, 0x2F, 0x54, 0x55, 0x1E, 0x02, 0x00, 0x8E, 0x0E, 0x00, 0x40, + 0x07, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xE0, 0x01, 0x00, 0xB0, 0x02, 0x00, 0x80, 0x78, + 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x86, 0x0F, 0x00, 0x40, 0x07, 0x00, + 0xC0, 0x03, 0x10, 0x00, 0x07, 0x00, 0xAD, 0x54, 0x00, 0x80, 0xFF, 0x07, 0xD0, 0x46, 0x0F, 0xE0, + 0x00, 0x1E, 0xF0, 0x00, 0x1D, 0xE0, 0x00, 0x1E, 0xD0, 0x46, 0x0B, 0x40, 0xFF, 0x02, 0xD0, 0x9B, + 0x0B, 0xF0, 0x00, 0x1E, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x2C, 0xF0, 0x00, 0x2D, 0xE0, 0x96, 0x0F, + 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x07, 0x00, 0x9F, 0x15, 0x00, 0x80, 0xFF, 0x02, 0xE0, + 0x92, 0x07, 0xB4, 0x00, 0x0F, 0x74, 0x00, 0x1E, 0x78, 0x00, 0x1D, 0x74, 0x00, 0x1D, 0xB4, 0x00, + 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E, 0x00, 0x04, 0x0E, 0x02, 0x00, 0x88, 0x0B, 0x00, 0xD0, + 0x03, 0x40, 0xFA, 0x01, 0x80, 0x2F, 0x10, 0x00, 0x10, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8, + 0x02, 0x00, 0x80, 0xF4, 0x14, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8, 0x02, 0x00, 0x80, 0xF4, + 0x10, 0x00, 0x10, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8, 0x02, 0x00, 0x80, 0xF8, 0x17, 0x00, + 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, + 0x80, 0x2C, 0x07, 0x00, 0x14, 0x00, 0x95, 0x04, 0x00, 0x90, 0x0F, 0x00, 0xF9, 0x06, 0xD0, 0x2F, + 0x00, 0xF4, 0x01, 0x00, 0xE0, 0x0B, 0x00, 0x40, 0xBE, 0x01, 0x00, 0xE0, 0x0F, 0x02, 0x00, 0x80, + 0x09, 0x15, 0x00, 0x15, 0x00, 0x88, 0x50, 0x55, 0x05, 0xF4, 0xFF, 0x1F, 0x50, 0x55, 0x05, 0x06, + 0x00, 0x85, 0xF4, 0xFF, 0x1F, 0x50, 0x55, 0x15, 0x18, 0x00, 0x12, 0x00, 0x80, 0x14, 0x02, 0x00, + 0x84, 0xF4, 0x02, 0x00, 0x90, 0x6F, 0x02, 0x00, 0x8E, 0xF8, 0x07, 0x00, 0x40, 0x1F, 0x00, 0xE4, + 0x0B, 0x40, 0xBF, 0x01, 0xF4, 0x07, 0x00, 0x64, 0x17, 0x00, 0x07, 0x00, 0x8A, 0x55, 0x00, 0x80, + 0xFF, 0x07, 0xE0, 0x96, 0x0F, 0xB0, 0x00, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x88, 0x0F, + 0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x2C, + 0x08, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x07, 0x00, 0x89, 0x10, 0x00, 0x40, + 0xFE, 0x06, 0xD0, 0x02, 0x0E, 0x70, 0x10, 0x02, 0x28, 0x97, 0xFD, 0x31, 0x1C, 0x8B, 0x71, 0x4C, + 0x83, 0x61, 0x4D, 0xC2, 0x61, 0x8D, 0xC2, 0x70, 0x8D, 0xC2, 0x30, 0x4D, 0xFB, 0x29, 0x1C, 0x5A, + 0x0B, 0x38, 0x02, 0x00, 0x85, 0xE0, 0x55, 0x01, 0x80, 0xFF, 0x01, 0x0F, 0x00, 0x07, 0x00, 0x80, + 0x10, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80, + 0xEE, 0x02, 0x00, 0x9C, 0xDB, 0x01, 0x40, 0xC7, 0x02, 0x80, 0x83, 0x03, 0xC0, 0x42, 0x07, 0xD0, + 0x56, 0x0B, 0xE0, 0xFF, 0x0F, 0xB0, 0x55, 0x1E, 0x74, 0x00, 0x2C, 0x38, 0x00, 0x3C, 0x2C, 0x00, + 0x78, 0x0F, 0x00, 0x06, 0x00, 0xAC, 0x50, 0x15, 0x00, 0xF4, 0xFF, 0x02, 0xB4, 0x95, 0x0F, 0xB4, + 0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1E, 0xB4, 0x90, 0x0B, 0xF4, 0xFF, 0x02, 0xB4, 0x95, + 0x0F, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x3C, 0xB4, 0x00, 0x3C, 0xB4, 0x00, 0x2E, 0xB4, 0xAA, 0x0F, + 0xF4, 0xFF, 0x01, 0x0F, 0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x07, 0xE0, 0x42, 0x0F, + 0xB4, 0x00, 0x2D, 0x78, 0x00, 0x2C, 0x38, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x90, 0x38, 0x00, 0x14, 0x78, 0x00, 0x2C, + 0xB0, 0x00, 0x1E, 0xD0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0xAB, + 0x50, 0x05, 0x00, 0xF4, 0xBF, 0x01, 0xB4, 0xE5, 0x07, 0x74, 0x00, 0x0F, 0x74, 0x00, 0x2D, 0x74, + 0x00, 0x3C, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00, + 0x2C, 0x74, 0x00, 0x1D, 0x74, 0x40, 0x0F, 0xB4, 0xE9, 0x03, 0xF4, 0x6F, 0x10, 0x00, 0x06, 0x00, + 0x89, 0x50, 0x55, 0x05, 0xF4, 0xFF, 0x1F, 0xB4, 0x55, 0x05, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, + 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x86, 0xF4, 0xFF, 0x0B, 0xB4, 0x55, 0x05, + 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x85, + 0xB4, 0xAA, 0x1A, 0xF4, 0xFF, 0x2F, 0x0F, 0x00, 0x06, 0x00, 0x89, 0x50, 0x55, 0x05, 0xF0, 0xFF, + 0x2F, 0xB0, 0x55, 0x15, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, + 0xB0, 0x02, 0x00, 0x86, 0xF0, 0xAA, 0x06, 0xF0, 0xAA, 0x06, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x11, + 0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x06, 0xE0, 0x46, 0x0F, 0xB4, 0x00, 0x2D, 0x78, + 0x00, 0x2C, 0x3C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x96, 0x2C, 0xE0, + 0x3F, 0x3C, 0x50, 0x3D, 0x38, 0x00, 0x3C, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0xD0, 0x57, 0x2E, + 0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0xAC, 0x10, 0x00, 0x04, 0x38, 0x00, 0x2C, + 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D, 0xF8, + 0xFF, 0x2F, 0x78, 0x55, 0x2D, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, + 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x0F, 0x00, 0x06, 0x00, 0x8A, 0x50, 0x55, 0x05, 0xF4, + 0xFF, 0x1F, 0x50, 0x7D, 0x05, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x87, 0x3C, 0x00, 0xA4, 0xBE, 0x1A, 0xF4, + 0xFF, 0x1F, 0x0F, 0x00, 0x08, 0x00, 0x80, 0x04, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, + 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, + 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x8E, 0x1E, + 0x3C, 0x00, 0x0E, 0x78, 0x40, 0x0B, 0xF0, 0xE6, 0x07, 0x90, 0xBF, 0x01, 0x00, 0x04, 0x0D, 0x00, + 0x06, 0x00, 0xAC, 0x10, 0x00, 0x14, 0xB4, 0x00, 0x2D, 0xB4, 0x40, 0x0F, 0xB4, 0xC0, 0x03, 0xB4, + 0xF0, 0x01, 0xB4, 0x78, 0x00, 0xB4, 0x2D, 0x00, 0xB4, 0x2F, 0x00, 0xF4, 0x7B, 0x00, 0xF4, 0xF5, + 0x00, 0xB4, 0xE0, 0x02, 0xB4, 0xC0, 0x07, 0xB4, 0x40, 0x0F, 0xB4, 0x00, 0x2E, 0xB4, 0x00, 0x7C, + 0x0F, 0x00, 0x06, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, + 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, + 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, + 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x85, 0xF0, 0xAA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F, + 0x00, 0x06, 0x00, 0xAC, 0x10, 0x00, 0x04, 0xF8, 0x00, 0x2E, 0xF8, 0x01, 0x2F, 0xF8, 0x42, 0x2F, + 0xB8, 0x83, 0x2E, 0x78, 0xC7, 0x2D, 0x78, 0xEB, 0x2C, 0x38, 0xBE, 0x2C, 0x78, 0x7D, 0x2C, 0x78, + 0x3C, 0x2C, 0x78, 0x28, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00, + 0x2C, 0x0F, 0x00, 0x06, 0x00, 0x97, 0x10, 0x00, 0x04, 0xB8, 0x00, 0x2D, 0xF8, 0x00, 0x2D, 0xF8, + 0x02, 0x2D, 0xF8, 0x07, 0x2D, 0x78, 0x0B, 0x2D, 0x78, 0x1E, 0x2D, 0x78, 0x2C, 0x2D, 0x02, 0x78, + 0x92, 0x2D, 0x78, 0xB0, 0x2D, 0x78, 0xE0, 0x2E, 0x78, 0xC0, 0x2F, 0x78, 0x80, 0x2F, 0x78, 0x00, + 0x2F, 0x78, 0x00, 0x2D, 0x0F, 0x00, 0x07, 0x00, 0x98, 0x15, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x96, + 0x0B, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x2D, 0x38, 0x00, 0x2C, 0x3C, 0x00, 0x3C, 0x2C, 0x00, 0x3C, + 0x2C, 0x00, 0x02, 0x3C, 0x92, 0x00, 0x3C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D, 0xB0, 0x00, 0x0E, + 0xD0, 0xD7, 0x07, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00, 0x9E, 0x50, 0x15, 0x00, + 0xF0, 0xFF, 0x07, 0xB0, 0x55, 0x1F, 0xB0, 0x00, 0x3C, 0xB0, 0x00, 0x38, 0xB0, 0x00, 0x38, 0xB0, + 0x00, 0x3C, 0xB0, 0x55, 0x1F, 0xF0, 0xFF, 0x07, 0xB0, 0x55, 0x00, 0xB0, 0x02, 0x00, 0x80, 0xB0, + 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x11, 0x00, 0x07, 0x00, + 0xAE, 0x55, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x96, 0x0B, 0xB4, 0x00, 0x1E, 0x38, 0x00, 0x2C, 0x3C, + 0x00, 0x3C, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x3C, 0x00, + 0x3C, 0x78, 0x00, 0x2D, 0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x07, 0x00, 0x44, 0x2F, + 0x02, 0x00, 0x80, 0x38, 0x09, 0x00, 0x06, 0x00, 0xAC, 0x50, 0x15, 0x00, 0xF4, 0xFF, 0x02, 0xB4, + 0x95, 0x0F, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x1E, 0xB4, 0x95, + 0x0B, 0xF4, 0xFF, 0x02, 0xB4, 0xE5, 0x01, 0xB4, 0xC0, 0x03, 0xB4, 0x40, 0x07, 0xB4, 0x00, 0x0F, + 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x3C, 0x0F, 0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x07, + 0xE0, 0x46, 0x1F, 0xB4, 0x00, 0x2D, 0x74, 0x00, 0x2C, 0xB4, 0x02, 0x00, 0x8B, 0xE0, 0x07, 0x00, + 0x80, 0xBF, 0x01, 0x00, 0xF4, 0x0B, 0x00, 0x40, 0x1F, 0x02, 0x00, 0x8E, 0x3C, 0x38, 0x00, 0x3C, + 0xB4, 0x00, 0x3D, 0xE0, 0x96, 0x1F, 0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0x8A, + 0x54, 0x55, 0x15, 0xFD, 0xFF, 0x7F, 0x54, 0x7D, 0x15, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x06, 0x00, 0xAE, 0x10, 0x00, 0x04, 0x38, + 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, + 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2D, 0x78, 0x00, 0x2D, + 0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00, 0xA2, + 0x04, 0x00, 0x10, 0x3C, 0x00, 0x3C, 0x38, 0x00, 0x2D, 0x74, 0x00, 0x1D, 0xB0, 0x00, 0x0E, 0xE0, + 0x00, 0x0B, 0xE0, 0x41, 0x07, 0xD0, 0x82, 0x03, 0xC0, 0xC3, 0x02, 0x80, 0xD7, 0x01, 0x40, 0xE7, + 0x01, 0x00, 0xFB, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0x3C, 0x10, + 0x00, 0x06, 0x00, 0x80, 0x04, 0x02, 0x10, 0x8A, 0x2D, 0x38, 0x74, 0x2C, 0x7C, 0x74, 0x2C, 0x7C, + 0x74, 0x28, 0xBD, 0x02, 0x38, 0x80, 0xAD, 0x02, 0x38, 0x99, 0xDA, 0x38, 0x34, 0xDB, 0x2C, 0x74, + 0xC7, 0x2D, 0xB4, 0xC7, 0x1E, 0xB0, 0x83, 0x1E, 0xF0, 0x83, 0x1F, 0xF0, 0x42, 0x0F, 0xE0, 0x42, + 0x0F, 0xE0, 0x01, 0x0F, 0x0F, 0x00, 0x06, 0x00, 0x93, 0x14, 0x00, 0x14, 0x78, 0x00, 0x3D, 0xF0, + 0x00, 0x1E, 0xD0, 0x42, 0x0B, 0xC0, 0xC3, 0x03, 0x40, 0xDB, 0x02, 0x00, 0xFE, 0x02, 0x00, 0x80, + 0x7C, 0x02, 0x00, 0x80, 0xBD, 0x02, 0x00, 0x90, 0xEF, 0x01, 0x40, 0xD7, 0x02, 0xC0, 0x83, 0x07, + 0xE0, 0x01, 0x0F, 0xB4, 0x00, 0x2E, 0x7C, 0x00, 0x3C, 0x0F, 0x00, 0x06, 0x00, 0x96, 0x04, 0x00, + 0x14, 0x3C, 0x00, 0x2D, 0x78, 0x00, 0x1E, 0xF0, 0x00, 0x0F, 0xE0, 0x81, 0x07, 0xC0, 0xC2, 0x03, + 0x80, 0xD7, 0x01, 0x00, 0xFB, 0x02, 0x00, 0x80, 0x7E, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, + 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, + 0x2C, 0x10, 0x00, 0x06, 0x00, 0x93, 0x54, 0x55, 0x05, 0xF8, 0xFF, 0x1F, 0x54, 0x55, 0x0F, 0x00, + 0x80, 0x07, 0x00, 0xD0, 0x02, 0x00, 0xE0, 0x01, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, + 0x8B, 0x1E, 0x00, 0x40, 0x0B, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0xB4, 0x02, 0x00, 0x85, + 0xB8, 0xAA, 0x1A, 0xFC, 0xFF, 0x2F, 0x0F, 0x00, 0x81, 0x00, 0x55, 0x02, 0x00, 0x80, 0xFF, 0x02, + 0x00, 0x80, 0x5F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, + 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, + 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, + 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, + 0x00, 0x80, 0x5F, 0x02, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x06, 0x00, 0x80, 0x40, 0x02, 0x00, 0x8A, + 0xD0, 0x01, 0x00, 0xC0, 0x02, 0x00, 0x80, 0x03, 0x00, 0x40, 0x07, 0x02, 0x00, 0x80, 0x0B, 0x02, + 0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x74, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x87, 0xD0, 0x01, 0x00, 0xC0, 0x02, 0x00, + 0x40, 0x07, 0x02, 0x00, 0x80, 0x0B, 0x02, 0x00, 0x80, 0x05, 0x09, 0x00, 0x81, 0x00, 0x55, 0x02, + 0x00, 0x80, 0xBF, 0x02, 0x00, 0x80, 0xB5, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB5, 0x02, 0x00, 0x80, 0xBF, 0x07, 0x00, 0x0A, 0x00, 0x80, + 0x3C, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x8D, 0xEB, 0x00, 0x80, 0xC3, + 0x02, 0xC0, 0x82, 0x03, 0xD0, 0x41, 0x07, 0x50, 0x00, 0x05, 0x21, 0x00, 0x33, 0x00, 0x85, 0xF4, + 0xFF, 0x1F, 0x54, 0x55, 0x15, 0x09, 0x00, 0x07, 0x00, 0x80, 0x15, 0x02, 0x00, 0x80, 0x3C, 0x02, + 0x00, 0x80, 0xB4, 0x34, 0x00, 0x12, 0x00, 0xA2, 0x40, 0xAA, 0x01, 0xD0, 0xEB, 0x07, 0xF0, 0x40, + 0x0F, 0x50, 0x00, 0x0E, 0x00, 0x55, 0x0E, 0xD0, 0xFF, 0x0F, 0xF0, 0x01, 0x0E, 0x74, 0x00, 0x0E, + 0x74, 0x00, 0x0F, 0xF0, 0xE6, 0x1F, 0xD0, 0xBF, 0x1E, 0x00, 0x04, 0x0D, 0x00, 0x06, 0x00, 0x80, + 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA2, + 0xB4, 0xA9, 0x01, 0xF4, 0xEF, 0x07, 0xF4, 0x41, 0x0F, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4, + 0x00, 0x2D, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1E, 0xF4, 0x96, 0x0B, 0x74, 0xFE, + 0x02, 0x00, 0x10, 0x0D, 0x00, 0x13, 0x00, 0x8B, 0xA9, 0x01, 0xD0, 0xEB, 0x07, 0xF0, 0x01, 0x0F, + 0xB4, 0x00, 0x1D, 0x78, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x8D, 0x74, + 0x00, 0x04, 0xF0, 0x00, 0x1D, 0xD0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x08, + 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0xA3, 0x1E, 0x40, + 0x6A, 0x1E, 0xD0, 0xEF, 0x1F, 0xF0, 0x41, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, + 0x1E, 0x78, 0x00, 0x1E, 0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E, + 0x00, 0x04, 0x0D, 0x00, 0x13, 0x00, 0x94, 0xA9, 0x01, 0xC0, 0xEB, 0x07, 0xE0, 0x01, 0x0F, 0xB4, + 0x00, 0x1D, 0x78, 0x55, 0x2D, 0xF8, 0xFF, 0x2F, 0x78, 0x55, 0x05, 0x78, 0x02, 0x00, 0x8A, 0xF0, + 0x00, 0x04, 0xD0, 0x57, 0x1F, 0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x04, 0x00, 0x89, 0x40, + 0x15, 0x00, 0xF4, 0x3F, 0x00, 0x7C, 0x10, 0x00, 0x1D, 0x02, 0x00, 0x89, 0x1E, 0x00, 0xA4, 0xAE, + 0x0A, 0xA4, 0xBF, 0x1A, 0x00, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, + 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, + 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x10, 0x00, 0x12, 0x00, 0xAC, 0x40, 0x6A, 0x09, 0xD0, 0xEF, + 0x1E, 0xF0, 0x41, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E, + 0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E, 0x00, 0x04, 0x1E, 0x10, + 0x00, 0x0F, 0xF0, 0xD6, 0x07, 0x80, 0xFF, 0x01, 0x03, 0x00, 0x06, 0x00, 0x80, 0xB4, 0x02, 0x00, + 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA0, 0xB4, 0xA8, 0x01, + 0xB4, 0xEF, 0x0B, 0xF4, 0x01, 0x0F, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, + 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0x0F, 0x00, + 0x07, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, 0x64, 0x04, 0x00, 0x84, 0xA0, + 0x6A, 0x00, 0xF0, 0x7F, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, + 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x87, 0x74, + 0x00, 0xA0, 0xBA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F, 0x00, 0x07, 0x00, 0x80, 0x40, 0x02, 0x00, 0x83, + 0xE0, 0x01, 0x00, 0x90, 0x04, 0x00, 0xAF, 0x80, 0xAA, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xE0, 0x01, + 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, + 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x00, 0x50, 0xB9, + 0x00, 0xF0, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x06, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, + 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA0, 0xB4, 0x00, 0x0A, 0xB4, 0x80, 0x07, + 0xB4, 0xE0, 0x01, 0xB4, 0x78, 0x00, 0xB4, 0x1E, 0x00, 0xF4, 0x2F, 0x00, 0xF4, 0x79, 0x00, 0xB4, + 0xF0, 0x01, 0xB4, 0xD0, 0x03, 0xB4, 0x40, 0x0B, 0xB4, 0x00, 0x2E, 0x0F, 0x00, 0x06, 0x00, 0x84, + 0xF0, 0x7F, 0x00, 0xA0, 0x7A, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, + 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, + 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x87, + 0x74, 0x00, 0xA0, 0xBA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F, 0x00, 0x12, 0x00, 0xA0, 0x58, 0x4A, 0x0A, + 0xFC, 0xFF, 0x2E, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, + 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x0F, 0x00, + 0x12, 0x00, 0xA0, 0x64, 0xA8, 0x01, 0xB4, 0xEF, 0x0B, 0xF4, 0x01, 0x0F, 0xB4, 0x00, 0x1D, 0xB4, + 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, + 0x1D, 0xB4, 0x00, 0x1D, 0x0F, 0x00, 0x13, 0x00, 0xA1, 0xAA, 0x00, 0xD0, 0xEB, 0x07, 0xF0, 0x41, + 0x0F, 0x74, 0x00, 0x1D, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D, + 0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x80, 0xFF, 0x02, 0x00, 0x14, 0x0D, 0x00, 0x12, 0x00, 0xA4, + 0x64, 0xA9, 0x01, 0xB4, 0xFB, 0x07, 0xF4, 0x41, 0x0F, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4, + 0x00, 0x2D, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x0F, 0xF4, 0x96, 0x0B, 0xB4, 0xFE, + 0x02, 0xB4, 0x10, 0x00, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x05, 0x00, 0x12, + 0x00, 0xA3, 0x40, 0x6A, 0x09, 0xD0, 0xEB, 0x1F, 0xF0, 0x01, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00, + 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, + 0x80, 0xBF, 0x1E, 0x00, 0x04, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, + 0x80, 0x1E, 0x03, 0x00, 0x12, 0x00, 0x9F, 0x40, 0x92, 0x1A, 0x80, 0xF7, 0x1F, 0x80, 0x1F, 0x00, + 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, + 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x10, 0x00, 0x13, 0x00, 0xA1, 0xA9, 0x01, 0xD0, 0xEB, + 0x0B, 0xE0, 0x01, 0x1E, 0xF0, 0x00, 0x19, 0xE0, 0x06, 0x00, 0x80, 0xBF, 0x01, 0x00, 0xA4, 0x0F, + 0x10, 0x00, 0x1E, 0xB4, 0x00, 0x1D, 0xE0, 0x56, 0x0F, 0x80, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, + 0x0D, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x89, 0x0F, 0x00, 0xA4, 0xAF, 0x0A, 0xA8, 0xAF, 0x0A, 0x00, + 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, + 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x86, 0x6D, 0x09, 0x00, 0xF8, + 0x1F, 0x00, 0x40, 0x0D, 0x00, 0x12, 0x00, 0xA2, 0x60, 0x00, 0x19, 0xB4, 0x00, 0x1E, 0xB4, 0x00, + 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, + 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1D, 0x00, 0x04, 0x0D, 0x00, 0x12, 0x00, 0x96, + 0x28, 0x00, 0x18, 0x78, 0x00, 0x2D, 0xB4, 0x00, 0x0E, 0xE0, 0x00, 0x0B, 0xD0, 0x41, 0x07, 0xC0, + 0x82, 0x03, 0x80, 0xC3, 0x02, 0x00, 0xDB, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80, 0x7D, 0x02, + 0x00, 0x80, 0x3C, 0x10, 0x00, 0x12, 0x00, 0xA0, 0x09, 0x14, 0x60, 0x1D, 0x38, 0x70, 0x1C, 0x3C, + 0x74, 0x2C, 0x7D, 0x38, 0x28, 0xAA, 0x28, 0x34, 0xDA, 0x2C, 0x74, 0xD7, 0x1D, 0xB0, 0xC3, 0x0E, + 0xE0, 0x82, 0x0F, 0xE0, 0x42, 0x0B, 0xD0, 0x41, 0x07, 0x0F, 0x00, 0x12, 0x00, 0x8D, 0x64, 0x00, + 0x19, 0xF0, 0x00, 0x1F, 0xD0, 0x82, 0x07, 0x80, 0xD7, 0x02, 0x00, 0xFE, 0x02, 0x00, 0x80, 0x7C, + 0x02, 0x00, 0x8D, 0xBE, 0x00, 0x40, 0xEB, 0x01, 0xC0, 0x83, 0x07, 0xE0, 0x01, 0x0F, 0xB8, 0x00, + 0x2D, 0x0F, 0x00, 0x12, 0x00, 0x99, 0x18, 0x00, 0x24, 0x3C, 0x00, 0x2C, 0xB4, 0x00, 0x1E, 0xF0, + 0x00, 0x0F, 0xD0, 0x41, 0x0B, 0xC0, 0x83, 0x03, 0x80, 0xC7, 0x02, 0x00, 0xEB, 0x01, 0x00, 0xBE, + 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x88, 0x0F, + 0x00, 0x90, 0x07, 0x00, 0xF4, 0x02, 0x00, 0x10, 0x02, 0x00, 0x12, 0x00, 0x8D, 0xA4, 0xAA, 0x0A, + 0xF4, 0xFF, 0x1F, 0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xF4, 0x02, 0x00, 0x80, 0x7C, 0x02, + 0x00, 0x8D, 0x1E, 0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xF4, 0x56, 0x15, 0xF4, 0xFF, 0x2F, + 0x0F, 0x00, 0x05, 0x00, 0x85, 0x05, 0x00, 0xC0, 0x07, 0x00, 0xE0, 0x02, 0x00, 0x80, 0xB0, 0x02, + 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB4, 0x02, + 0x00, 0x86, 0x78, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x1F, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, + 0xB4, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, + 0xF0, 0x02, 0x00, 0x84, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x02, 0x00, 0x80, 0x05, 0x03, 0x00, 0x0A, + 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, + 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, + 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, + 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, + 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x04, 0x00, 0x03, 0x00, 0x84, 0x40, 0x01, 0x00, 0x40, + 0x0B, 0x02, 0x00, 0x80, 0x2D, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, + 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x86, + 0xD0, 0x0B, 0x00, 0xD0, 0x0B, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, + 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x86, 0x1D, 0x00, + 0x40, 0x0B, 0x00, 0x40, 0x01, 0x04, 0x00, 0x1B, 0x00, 0x8B, 0xA0, 0x06, 0x10, 0xBC, 0x1F, 0x70, + 0x0D, 0xB8, 0x3E, 0x05, 0xD0, 0x1F, 0x1B, 0x00, +}; +// clang-format on diff --git a/keyboards/dasky/reverb/graphics/robotomono20.qff.h b/keyboards/dasky/reverb/graphics/robotomono20.qff.h new file mode 100644 index 000000000000..63b828340426 --- /dev/null +++ b/keyboards/dasky/reverb/graphics/robotomono20.qff.h @@ -0,0 +1,11 @@ +// Copyright 2023 QMK -- generated source code only, font retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono4` + +#pragma once + +#include + +extern const uint32_t font_robotomono20_length; +extern const uint8_t font_robotomono20[4904]; diff --git a/keyboards/dasky/reverb/graphics/splash.qgf.c b/keyboards/dasky/reverb/graphics/splash.qgf.c new file mode 100644 index 000000000000..dd239e40fa6e --- /dev/null +++ b/keyboards/dasky/reverb/graphics/splash.qgf.c @@ -0,0 +1,2265 @@ +// Copyright 2023 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-graphics -i splash.png -f pal256` + +#include + +const uint32_t gfx_splash_length = 36030; + +// clang-format off +const uint8_t gfx_splash[36030] = { + 0x00, 0xFF, 0x12, 0x00, 0x00, 0x51, 0x47, 0x46, 0x01, 0xBE, 0x8C, 0x00, 0x00, 0x41, 0x73, 0xFF, + 0xFF, 0xF0, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x01, 0xFE, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x02, 0xFD, 0x06, 0x00, 0x00, 0x07, 0x00, 0x01, 0xFF, 0xE8, 0x03, 0x03, 0xFC, 0x00, 0x03, 0x00, + 0x00, 0x00, 0xFF, 0x2A, 0xEB, 0xFF, 0x37, 0x25, 0xFF, 0x2A, 0xFF, 0xFF, 0x2C, 0xFF, 0xFF, 0x2D, + 0xFF, 0xFF, 0x2E, 0xFF, 0xFF, 0x2F, 0xFF, 0xFF, 0x30, 0xFF, 0xFF, 0x31, 0xFF, 0xFF, 0x32, 0xFF, + 0xFF, 0x38, 0xEE, 0xFF, 0x33, 0xFF, 0xFF, 0x34, 0xFF, 0xFF, 0x35, 0xFF, 0xFF, 0x36, 0xFF, 0xFF, + 0x37, 0xFF, 0xFF, 0x38, 0xFF, 0xFF, 0x3A, 0xFF, 0xFF, 0x3A, 0xFF, 0xFF, 0x00, 0x02, 0xFD, 0x94, + 0x02, 0xF7, 0xD9, 0x09, 0xF7, 0x00, 0x00, 0xE7, 0x29, 0xFF, 0xFF, 0x28, 0xFF, 0xFF, 0x27, 0xFF, + 0xFF, 0x26, 0xFF, 0xFF, 0x00, 0x00, 0xD9, 0x23, 0x1E, 0xCB, 0x24, 0xFF, 0xFF, 0x23, 0xFF, 0xFF, + 0x21, 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0x43, 0xEA, 0xFF, 0x3C, 0xFF, 0xFF, 0x3D, 0xFF, 0xFF, 0x3E, + 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x41, 0xFF, 0xFF, 0x42, 0xFF, 0xFF, 0x43, 0xFF, 0xFF, 0x44, 0xFF, + 0xFF, 0x45, 0xFF, 0xFF, 0x46, 0xFF, 0xFF, 0x47, 0xFF, 0xFF, 0x48, 0xFF, 0xFF, 0x49, 0xFF, 0xFF, + 0x4A, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0x4B, 0xFF, 0xFF, 0x90, 0x8B, 0xFF, 0x63, 0xF8, 0xFF, 0x4C, + 0xFF, 0xFF, 0x4D, 0xFF, 0xFF, 0x4D, 0xFF, 0xFF, 0x4E, 0xFF, 0xFF, 0x4E, 0xFF, 0xFF, 0x4F, 0xFF, + 0xFF, 0x4F, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0x50, 0xFF, 0xFF, 0x51, 0xFF, 0xFF, 0x51, 0xFF, 0xFF, + 0x52, 0xFF, 0xFF, 0x53, 0xFF, 0xFF, 0x53, 0xFF, 0xFF, 0x54, 0xFF, 0xFF, 0x85, 0xFE, 0xFF, 0x7D, + 0xFF, 0xFF, 0x7A, 0xFF, 0xFF, 0x78, 0xFF, 0xFF, 0x76, 0xFF, 0xFF, 0x75, 0xFF, 0xFF, 0x73, 0xFF, + 0xFF, 0x72, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x6F, 0xFF, 0xFF, 0x6E, 0xFF, 0xFF, 0x6C, 0xFF, 0xFF, + 0x6B, 0xFF, 0xFF, 0x6A, 0xFF, 0xFF, 0x68, 0xFF, 0xFF, 0x67, 0xFF, 0xFF, 0x66, 0xFF, 0xFF, 0x65, + 0xFF, 0xFF, 0x63, 0xFF, 0xFF, 0x62, 0xFF, 0xFF, 0x61, 0xFF, 0xFF, 0x60, 0xFF, 0xFF, 0x5F, 0xFF, + 0xFF, 0x5E, 0xFF, 0xFF, 0x5D, 0xFF, 0xFF, 0x5C, 0xFF, 0xFF, 0x5A, 0xFF, 0xFF, 0x5A, 0xFF, 0xFF, + 0x59, 0xFF, 0xFF, 0x57, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0x56, 0xFF, 0xFF, 0x55, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x85, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x88, 0xFF, 0xFF, 0x89, 0xFF, + 0xFF, 0x8A, 0xFF, 0xFF, 0x1E, 0xFF, 0xFF, 0x1D, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, + 0x18, 0xE9, 0xFF, 0x1B, 0xFF, 0xFF, 0x1A, 0xFF, 0xFF, 0x19, 0xFF, 0xFF, 0x18, 0xFF, 0xFF, 0x00, + 0x00, 0xB4, 0x00, 0x00, 0x9E, 0x17, 0xFF, 0xFF, 0x16, 0xFF, 0xFF, 0x13, 0xF4, 0xFF, 0x15, 0xFF, + 0xFF, 0x14, 0xFF, 0xFF, 0x10, 0xF2, 0xFF, 0x13, 0xFF, 0xFF, 0x12, 0xFF, 0xFF, 0x11, 0xFF, 0xFF, + 0x10, 0xFF, 0xFF, 0x00, 0x00, 0x8C, 0x8B, 0xFF, 0xFF, 0x8C, 0xFF, 0xFF, 0x8D, 0xFF, 0xFF, 0x8E, + 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x90, 0xFF, 0xFF, 0x91, 0xFF, 0xFF, 0x92, 0xFF, 0xFF, 0x95, 0x44, + 0x89, 0x93, 0xFF, 0xFF, 0x94, 0xFF, 0xFF, 0x95, 0xFF, 0xFF, 0x95, 0xFF, 0xFF, 0x96, 0xFF, 0xFF, + 0x97, 0xFF, 0xFF, 0x98, 0xFF, 0xFF, 0x99, 0xFF, 0xFF, 0x0D, 0xF4, 0xFF, 0x0F, 0xFF, 0xFF, 0x0E, + 0xFF, 0xFF, 0x0D, 0xFF, 0xFF, 0x0C, 0xFF, 0xFF, 0x0B, 0xFF, 0xFF, 0x0A, 0xFF, 0xFF, 0x0A, 0xFF, + 0xFF, 0x09, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE5, 0xFD, 0xFF, 0x05, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, + 0xC6, 0xCD, 0xB8, 0xB1, 0x27, 0x47, 0x00, 0x00, 0x33, 0x9A, 0xFF, 0xFF, 0x9B, 0xFF, 0xFF, 0x9C, + 0xFF, 0xFF, 0x9D, 0xFF, 0xFF, 0x9E, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xA0, 0xFF, 0xFF, 0xA1, 0xFF, + 0xFF, 0x00, 0x00, 0x32, 0xA2, 0xFF, 0xFF, 0xA3, 0xFF, 0xFF, 0xA4, 0xFF, 0xFF, 0xA5, 0xFF, 0xFF, + 0xAC, 0xFC, 0xFF, 0xA6, 0xFF, 0xFF, 0xA7, 0xFF, 0xFF, 0xA8, 0xFF, 0xFF, 0xA9, 0xFF, 0xFF, 0xD4, + 0xFF, 0xFF, 0xD5, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xD7, 0xFF, 0xFF, 0xD8, 0xFF, + 0xFF, 0xD8, 0xFF, 0xFF, 0xD9, 0xFF, 0xFF, 0xDA, 0xFF, 0xFF, 0xDB, 0xFF, 0xFF, 0xDC, 0xFF, 0xFF, + 0xDC, 0xFF, 0xFF, 0xDD, 0xFF, 0xFF, 0xDE, 0xFF, 0xFF, 0xD4, 0xFF, 0xFF, 0xD3, 0xFF, 0xFF, 0xD2, + 0xFF, 0xFF, 0xD1, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0xD0, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xCE, 0xFF, + 0xFF, 0xDF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xE2, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xE4, 0xFF, 0xFF, + 0xE6, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE8, 0xFF, 0xFF, 0xEA, 0xFF, 0xFF, 0xEC, 0xFF, 0xFF, 0xED, + 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFD, 0xFF, + 0xFF, 0xCE, 0xFF, 0xFF, 0xCD, 0xFF, 0xFF, 0xCD, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xCB, 0xFF, 0xFF, + 0xCB, 0xFF, 0xFF, 0xCA, 0xFF, 0xFF, 0xC9, 0xFF, 0xFF, 0xC9, 0xFF, 0xFF, 0xC8, 0xFF, 0xFF, 0xC7, + 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xC6, 0xFF, 0xFF, 0xC6, 0xFF, 0xFF, 0xC5, 0xFF, 0xFF, 0xC4, 0xFF, + 0xFF, 0xC4, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xC2, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, + 0xBF, 0xFF, 0xFF, 0xBE, 0xFF, 0xFF, 0xBD, 0xFF, 0xFF, 0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB8, + 0xFF, 0xFF, 0xB7, 0xFF, 0xFF, 0xB6, 0xFF, 0xFF, 0xB4, 0xFF, 0xFF, 0xB3, 0xFF, 0xFF, 0xB1, 0xFF, + 0xFF, 0xB0, 0xFF, 0xFF, 0xAE, 0xFF, 0xFF, 0xAD, 0xFF, 0xFF, 0xAB, 0xFF, 0xFF, 0xAA, 0xFF, 0xFF, + 0x05, 0xFA, 0x89, 0x89, 0x00, 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, + 0x96, 0x03, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x03, + 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x03, + 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x04, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x04, 0x1E, 0x03, 0x1B, 0x03, + 0x1A, 0x03, 0x19, 0x02, 0x18, 0x03, 0x03, 0x03, 0x04, 0x02, 0x05, 0x02, 0x06, 0x03, 0x07, 0x02, + 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x03, 0x0F, 0x02, 0x10, 0x04, + 0x11, 0x03, 0x12, 0x03, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, 0x04, 0x26, 0x04, 0x27, 0x04, + 0x28, 0x04, 0x29, 0x05, 0x2A, 0x05, 0x2B, 0x05, 0x2C, 0x05, 0x2D, 0x05, 0x2E, 0x08, 0x2F, 0x06, + 0x30, 0x0A, 0x31, 0x0C, 0x32, 0x02, 0x35, 0x02, 0x32, 0x81, 0x35, 0x32, 0x02, 0x35, 0x0F, 0x32, + 0x09, 0x31, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, + 0x03, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, + 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, + 0x03, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x04, 0x1B, 0x02, 0x1A, 0x03, 0x19, + 0x03, 0x18, 0x02, 0x03, 0x03, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, + 0x03, 0x0A, 0x03, 0x0C, 0x03, 0x0D, 0x02, 0x0E, 0x03, 0x0F, 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, + 0x03, 0x13, 0x03, 0x23, 0x04, 0x24, 0x03, 0x25, 0x04, 0x26, 0x04, 0x27, 0x04, 0x28, 0x04, 0x29, + 0x04, 0x2A, 0x05, 0x2B, 0x05, 0x2C, 0x05, 0x2D, 0x05, 0x2E, 0x05, 0x2F, 0x08, 0x30, 0x06, 0x31, + 0x07, 0x32, 0x21, 0x35, 0x08, 0x32, 0x03, 0x31, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x03, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, + 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x04, 0x21, 0x03, 0x20, 0x04, 0x1F, 0x03, 0x1E, + 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x04, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, + 0x03, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x02, 0x0F, + 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, 0x04, 0x26, + 0x04, 0x27, 0x03, 0x28, 0x04, 0x29, 0x05, 0x2A, 0x05, 0x2B, 0x04, 0x2C, 0x04, 0x2D, 0x05, 0x2E, + 0x05, 0x2F, 0x06, 0x30, 0x07, 0x31, 0x05, 0x32, 0x0A, 0x35, 0x02, 0x36, 0x80, 0x35, 0x16, 0x36, + 0x0C, 0x35, 0x03, 0x32, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, + 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, 0x7A, + 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, + 0x02, 0x6D, 0x02, 0x6C, 0x04, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x04, 0x1E, 0x03, 0x1B, 0x02, 0x1A, + 0x03, 0x19, 0x03, 0x18, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, + 0x02, 0x09, 0x03, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x03, 0x0F, 0x02, 0x10, 0x03, 0x11, + 0x03, 0x12, 0x03, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, 0x04, 0x26, 0x03, 0x27, 0x04, 0x28, + 0x04, 0x29, 0x04, 0x2A, 0x05, 0x2B, 0x04, 0x2C, 0x05, 0x2D, 0x03, 0x2E, 0x06, 0x2F, 0x06, 0x30, + 0x05, 0x31, 0x04, 0x32, 0x06, 0x35, 0x80, 0x36, 0x02, 0x35, 0x06, 0x36, 0x81, 0x37, 0x36, 0x14, + 0x37, 0x81, 0x36, 0x37, 0x0A, 0x36, 0x06, 0x35, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, + 0x02, 0x7B, 0x03, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x02, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, 0x04, 0x1E, + 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x04, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x03, 0x06, + 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x03, 0x0D, 0x02, 0x0E, 0x03, 0x0F, + 0x03, 0x10, 0x03, 0x11, 0x02, 0x12, 0x03, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, + 0x04, 0x27, 0x04, 0x28, 0x03, 0x29, 0x05, 0x2A, 0x04, 0x2B, 0x04, 0x2C, 0x04, 0x2D, 0x04, 0x2E, + 0x05, 0x2F, 0x05, 0x30, 0x05, 0x31, 0x04, 0x32, 0x06, 0x35, 0x07, 0x36, 0x0C, 0x37, 0x80, 0x38, + 0x02, 0x37, 0x80, 0x38, 0x15, 0x37, 0x08, 0x36, 0x80, 0x35, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, + 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x03, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x04, 0x1F, + 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05, + 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x03, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x03, 0x0E, + 0x02, 0x0F, 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x02, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, + 0x03, 0x26, 0x04, 0x27, 0x03, 0x28, 0x04, 0x29, 0x04, 0x2A, 0x04, 0x2B, 0x04, 0x2C, 0x05, 0x2D, + 0x03, 0x2E, 0x06, 0x2F, 0x03, 0x30, 0x05, 0x31, 0x03, 0x32, 0x06, 0x35, 0x05, 0x36, 0x09, 0x37, + 0x09, 0x38, 0x83, 0x39, 0x38, 0x39, 0x38, 0x03, 0x39, 0x02, 0x38, 0x02, 0x39, 0x02, 0x38, 0x80, + 0x39, 0x05, 0x38, 0x83, 0x37, 0x38, 0x37, 0x38, 0x09, 0x37, 0x02, 0x36, 0x80, 0x9B, 0x02, 0x9A, + 0x03, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, + 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x03, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, + 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, + 0x04, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x03, 0x04, + 0x02, 0x05, 0x02, 0x06, 0x03, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, + 0x03, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x02, 0x13, 0x04, 0x23, 0x03, 0x24, + 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x04, 0x28, 0x04, 0x29, 0x04, 0x2A, 0x04, 0x2B, 0x03, 0x2C, + 0x05, 0x2D, 0x03, 0x2E, 0x05, 0x2F, 0x04, 0x30, 0x04, 0x31, 0x03, 0x32, 0x04, 0x35, 0x05, 0x36, + 0x07, 0x37, 0x05, 0x38, 0x22, 0x39, 0x05, 0x38, 0x06, 0x37, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x03, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, + 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x03, 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, + 0x80, 0x06, 0x03, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x03, 0x0D, 0x02, 0x0E, + 0x03, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x03, 0x12, 0x02, 0x13, 0x04, 0x23, 0x03, 0x24, 0x03, 0x25, + 0x03, 0x26, 0x04, 0x27, 0x03, 0x28, 0x03, 0x29, 0x04, 0x2A, 0x04, 0x2B, 0x04, 0x2C, 0x03, 0x2D, + 0x04, 0x2E, 0x04, 0x2F, 0x05, 0x30, 0x04, 0x31, 0x03, 0x32, 0x04, 0x35, 0x03, 0x36, 0x05, 0x37, + 0x06, 0x38, 0x09, 0x39, 0x19, 0x3A, 0x0A, 0x39, 0x06, 0x38, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x02, 0x94, 0x03, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x03, 0x72, + 0x02, 0x71, 0x80, 0x6F, 0x03, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, + 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, + 0x02, 0x06, 0x03, 0x07, 0x02, 0x08, 0x80, 0x09, 0x03, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x03, 0x0E, + 0x02, 0x0F, 0x03, 0x10, 0x03, 0x11, 0x02, 0x12, 0x03, 0x13, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, + 0x03, 0x26, 0x04, 0x27, 0x03, 0x28, 0x04, 0x29, 0x03, 0x2A, 0x04, 0x2B, 0x04, 0x2C, 0x03, 0x2D, + 0x03, 0x2E, 0x04, 0x2F, 0x04, 0x30, 0x04, 0x31, 0x02, 0x32, 0x04, 0x35, 0x04, 0x36, 0x05, 0x37, + 0x03, 0x38, 0x07, 0x39, 0x09, 0x3A, 0x81, 0x3B, 0x3A, 0x15, 0x3B, 0x09, 0x3A, 0x08, 0x39, 0x80, + 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x03, 0x94, 0x80, + 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, + 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x03, + 0x21, 0x04, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x03, 0x18, 0x02, + 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, + 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x03, 0x11, 0x02, 0x12, 0x03, 0x13, 0x03, + 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x04, 0x28, 0x03, 0x29, 0x04, 0x2A, 0x04, + 0x2B, 0x03, 0x2C, 0x04, 0x2D, 0x02, 0x2E, 0x04, 0x2F, 0x05, 0x30, 0x03, 0x31, 0x02, 0x32, 0x04, + 0x35, 0x02, 0x36, 0x06, 0x37, 0x02, 0x38, 0x05, 0x39, 0x07, 0x3A, 0x0E, 0x3B, 0x80, 0x3C, 0x17, + 0x3B, 0x81, 0x3A, 0x3B, 0x06, 0x3A, 0x02, 0x39, 0x80, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x03, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, + 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, + 0x03, 0x1B, 0x03, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, + 0x03, 0x07, 0x80, 0x08, 0x03, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x02, 0x0F, + 0x02, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x04, 0x26, + 0x02, 0x27, 0x04, 0x28, 0x03, 0x29, 0x04, 0x2A, 0x03, 0x2B, 0x03, 0x2C, 0x04, 0x2D, 0x03, 0x2E, + 0x04, 0x2F, 0x03, 0x30, 0x04, 0x31, 0x02, 0x32, 0x04, 0x35, 0x02, 0x36, 0x05, 0x37, 0x80, 0x38, + 0x06, 0x39, 0x03, 0x3A, 0x0A, 0x3B, 0x10, 0x3C, 0x80, 0x3D, 0x0E, 0x3C, 0x0A, 0x3B, 0x04, 0x3A, + 0x80, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x03, 0x94, + 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, 0x7A, 0x02, 0x78, 0x02, 0x77, + 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, + 0x04, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, + 0x02, 0x03, 0x03, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, + 0x03, 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x03, 0x12, 0x03, 0x13, + 0x03, 0x23, 0x03, 0x24, 0x02, 0x25, 0x03, 0x26, 0x03, 0x27, 0x04, 0x28, 0x03, 0x29, 0x03, 0x2A, + 0x04, 0x2B, 0x03, 0x2C, 0x04, 0x2D, 0x02, 0x2E, 0x04, 0x2F, 0x03, 0x30, 0x03, 0x31, 0x03, 0x32, + 0x02, 0x35, 0x03, 0x36, 0x04, 0x37, 0x02, 0x38, 0x05, 0x39, 0x04, 0x3A, 0x06, 0x3B, 0x07, 0x3C, + 0x1E, 0x3D, 0x08, 0x3C, 0x07, 0x3B, 0x80, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, + 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x03, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, + 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, + 0x02, 0x1A, 0x03, 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, 0x06, 0x03, 0x07, + 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x02, 0x10, + 0x03, 0x11, 0x03, 0x12, 0x02, 0x13, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x02, 0x27, + 0x04, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x04, 0x2B, 0x02, 0x2C, 0x04, 0x2D, 0x03, 0x2E, 0x03, 0x2F, + 0x04, 0x30, 0x03, 0x31, 0x80, 0x32, 0x03, 0x35, 0x03, 0x36, 0x04, 0x37, 0x80, 0x38, 0x04, 0x39, + 0x04, 0x3A, 0x05, 0x3B, 0x06, 0x3C, 0x08, 0x3D, 0x1B, 0x3E, 0x09, 0x3D, 0x05, 0x3C, 0x02, 0x3B, + 0x80, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, 0x7A, 0x02, 0x78, 0x02, 0x77, + 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, + 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x04, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x03, 0x19, 0x02, 0x18, + 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x03, 0x0A, + 0x02, 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x03, 0x12, 0x02, 0x13, + 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x02, 0x28, 0x04, 0x29, 0x03, 0x2A, + 0x04, 0x2B, 0x02, 0x2C, 0x04, 0x2D, 0x02, 0x2E, 0x04, 0x2F, 0x03, 0x30, 0x02, 0x31, 0x03, 0x32, + 0x03, 0x35, 0x80, 0x36, 0x04, 0x37, 0x02, 0x38, 0x03, 0x39, 0x04, 0x3A, 0x04, 0x3B, 0x05, 0x3C, + 0x06, 0x3D, 0x08, 0x3E, 0x18, 0x3F, 0x09, 0x3E, 0x06, 0x3D, 0x03, 0x3C, 0x80, 0x9B, 0x02, 0x9A, + 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x03, 0x7F, + 0x80, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, + 0x80, 0x72, 0x03, 0x71, 0x80, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, + 0x04, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x03, 0x04, + 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, + 0x03, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x03, 0x13, 0x03, 0x23, 0x02, 0x24, + 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x03, 0x2C, + 0x03, 0x2D, 0x03, 0x2E, 0x03, 0x2F, 0x03, 0x30, 0x03, 0x31, 0x02, 0x32, 0x02, 0x35, 0x03, 0x36, + 0x02, 0x37, 0x02, 0x38, 0x04, 0x39, 0x02, 0x3A, 0x05, 0x3B, 0x04, 0x3C, 0x05, 0x3D, 0x04, 0x3E, + 0x0E, 0x3F, 0x0B, 0x40, 0x83, 0x3F, 0x40, 0x3F, 0x40, 0x0C, 0x3F, 0x06, 0x3E, 0x04, 0x3D, 0x80, + 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, + 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, + 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, + 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, 0x06, 0x03, 0x07, 0x02, 0x08, 0x80, 0x09, 0x03, 0x0A, 0x02, + 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x03, 0x12, 0x02, 0x13, 0x03, + 0x23, 0x02, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x03, + 0x2B, 0x03, 0x2C, 0x03, 0x2D, 0x02, 0x2E, 0x04, 0x2F, 0x03, 0x30, 0x02, 0x31, 0x02, 0x32, 0x03, + 0x35, 0x02, 0x36, 0x03, 0x37, 0x02, 0x38, 0x02, 0x39, 0x04, 0x3A, 0x04, 0x3B, 0x02, 0x3C, 0x04, + 0x3D, 0x05, 0x3E, 0x08, 0x3F, 0x0A, 0x40, 0x80, 0x41, 0x03, 0x40, 0x81, 0x41, 0x40, 0x05, 0x41, + 0x0C, 0x40, 0x0A, 0x3F, 0x04, 0x3E, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x03, 0x98, 0x80, 0x97, + 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, + 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, + 0x02, 0x1A, 0x03, 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, + 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x03, 0x0F, 0x02, 0x10, + 0x03, 0x11, 0x02, 0x12, 0x02, 0x13, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x02, 0x26, 0x03, 0x27, + 0x03, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x03, 0x2C, 0x02, 0x2D, 0x03, 0x2E, 0x03, 0x2F, + 0x03, 0x30, 0x03, 0x31, 0x02, 0x32, 0x02, 0x35, 0x02, 0x36, 0x03, 0x37, 0x80, 0x38, 0x03, 0x39, + 0x03, 0x3A, 0x03, 0x3B, 0x03, 0x3C, 0x04, 0x3D, 0x03, 0x3E, 0x07, 0x3F, 0x05, 0x40, 0x81, 0x41, + 0x40, 0x1F, 0x41, 0x08, 0x40, 0x06, 0x3F, 0x81, 0x3E, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, + 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, 0x03, 0x1E, + 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x03, 0x04, 0x02, 0x05, 0x02, 0x06, + 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x02, 0x0E, 0x02, 0x0F, + 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x03, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, + 0x03, 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x04, 0x2D, 0x02, 0x2E, + 0x03, 0x2F, 0x03, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x35, 0x02, 0x36, 0x03, 0x37, 0x80, 0x38, + 0x03, 0x39, 0x02, 0x3A, 0x04, 0x3B, 0x03, 0x3C, 0x03, 0x3D, 0x02, 0x3E, 0x06, 0x3F, 0x05, 0x40, + 0x0A, 0x41, 0x19, 0x42, 0x0A, 0x41, 0x05, 0x40, 0x03, 0x3F, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x03, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, + 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, + 0x02, 0x06, 0x03, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x03, 0x0E, + 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x03, 0x12, 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, + 0x03, 0x26, 0x02, 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x03, 0x2C, 0x02, 0x2D, + 0x03, 0x2E, 0x03, 0x2F, 0x03, 0x30, 0x80, 0x31, 0x02, 0x32, 0x02, 0x35, 0x03, 0x36, 0x02, 0x37, + 0x80, 0x38, 0x03, 0x39, 0x02, 0x3A, 0x03, 0x3B, 0x03, 0x3C, 0x03, 0x3D, 0x02, 0x3E, 0x05, 0x3F, + 0x05, 0x40, 0x07, 0x41, 0x06, 0x42, 0x81, 0x43, 0x42, 0x16, 0x43, 0x08, 0x42, 0x08, 0x41, 0x04, + 0x40, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x03, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, + 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, + 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, + 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x04, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x03, + 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, + 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x02, + 0x13, 0x03, 0x23, 0x03, 0x24, 0x02, 0x25, 0x03, 0x26, 0x03, 0x27, 0x03, 0x28, 0x02, 0x29, 0x03, + 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x03, 0x2D, 0x03, 0x2E, 0x02, 0x2F, 0x03, 0x30, 0x02, 0x31, 0x02, + 0x32, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x03, 0x3B, 0x03, + 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x05, 0x3F, 0x03, 0x40, 0x06, 0x41, 0x06, 0x42, 0x25, 0x43, 0x07, + 0x42, 0x06, 0x41, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, + 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, + 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, + 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x04, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, + 0x19, 0x02, 0x18, 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, + 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x03, + 0x12, 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x03, 0x27, 0x03, 0x28, 0x02, + 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x03, 0x2D, 0x02, 0x2E, 0x03, 0x2F, 0x03, 0x30, 0x02, + 0x31, 0x80, 0x32, 0x03, 0x35, 0x80, 0x36, 0x03, 0x37, 0x80, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x03, + 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x03, 0x3E, 0x04, 0x3F, 0x03, 0x40, 0x05, 0x41, 0x03, 0x42, 0x81, + 0x43, 0x42, 0x08, 0x43, 0x1B, 0x64, 0x0D, 0x43, 0x06, 0x42, 0x81, 0x41, 0x9B, 0x02, 0x9A, 0x02, + 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, + 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, + 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, + 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x03, 0x03, 0x80, 0x04, 0x03, + 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x02, + 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x02, 0x12, 0x03, 0x13, 0x02, 0x23, 0x03, 0x24, 0x02, + 0x25, 0x03, 0x26, 0x02, 0x27, 0x03, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x03, + 0x2D, 0x02, 0x2E, 0x03, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x35, 0x80, 0x36, 0x03, + 0x37, 0x80, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x03, 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x03, 0x3E, 0x03, + 0x3F, 0x03, 0x40, 0x04, 0x41, 0x04, 0x42, 0x08, 0x43, 0x28, 0x64, 0x09, 0x43, 0x03, 0x42, 0x80, + 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, + 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x03, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, + 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, + 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, + 0x23, 0x03, 0x24, 0x02, 0x25, 0x03, 0x26, 0x02, 0x27, 0x03, 0x28, 0x03, 0x29, 0x02, 0x2A, 0x03, + 0x2B, 0x03, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x03, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x80, 0x32, 0x03, + 0x35, 0x80, 0x36, 0x03, 0x37, 0x03, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x02, + 0x3E, 0x03, 0x3F, 0x03, 0x40, 0x04, 0x41, 0x03, 0x42, 0x07, 0x43, 0x0C, 0x64, 0x1A, 0x63, 0x0C, + 0x64, 0x07, 0x43, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, + 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, + 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x03, 0x6E, 0x80, + 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, + 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, + 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x03, 0x10, 0x02, 0x11, 0x02, + 0x12, 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x03, 0x27, 0x02, 0x28, 0x03, + 0x29, 0x03, 0x2A, 0x02, 0x2B, 0x03, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x03, 0x2F, 0x02, 0x30, 0x02, + 0x31, 0x80, 0x32, 0x02, 0x35, 0x80, 0x36, 0x03, 0x37, 0x80, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, + 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x03, 0x3F, 0x02, 0x40, 0x04, 0x41, 0x03, 0x42, 0x06, + 0x43, 0x08, 0x64, 0x28, 0x63, 0x0A, 0x64, 0x83, 0x43, 0x64, 0x43, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, + 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, + 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x80, 0x09, 0x02, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x02, 0x0E, + 0x02, 0x0F, 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x03, 0x24, 0x02, 0x25, + 0x03, 0x26, 0x02, 0x27, 0x03, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x03, 0x2D, + 0x02, 0x2E, 0x03, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x80, 0x32, 0x02, 0x35, 0x02, 0x36, 0x81, 0x37, + 0x38, 0x03, 0x39, 0x80, 0x3A, 0x02, 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x03, 0x3E, 0x02, 0x3F, 0x02, + 0x40, 0x04, 0x41, 0x02, 0x42, 0x06, 0x43, 0x07, 0x64, 0x09, 0x63, 0x1D, 0x62, 0x0B, 0x63, 0x08, + 0x64, 0x80, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, + 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, + 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, + 0x6C, 0x04, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, + 0x18, 0x03, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x03, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, + 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x03, 0x12, 0x80, + 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x03, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, + 0x2A, 0x02, 0x2B, 0x03, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x03, 0x30, 0x80, 0x31, 0x02, + 0x32, 0x02, 0x35, 0x80, 0x36, 0x02, 0x37, 0x80, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x02, + 0x3C, 0x80, 0x3D, 0x03, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x03, 0x41, 0x02, 0x42, 0x05, 0x43, 0x06, + 0x64, 0x08, 0x63, 0x0E, 0x62, 0x82, 0x61, 0x62, 0x61, 0x02, 0x62, 0x82, 0x61, 0x62, 0x61, 0x02, + 0x62, 0x80, 0x61, 0x10, 0x62, 0x09, 0x63, 0x04, 0x64, 0x02, 0x9B, 0x80, 0x9A, 0x02, 0x99, 0x03, + 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, + 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, + 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x04, 0x20, 0x02, 0x1F, 0x04, + 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, + 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, + 0x0F, 0x02, 0x10, 0x03, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x03, 0x24, 0x02, 0x25, 0x02, + 0x26, 0x03, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x02, + 0x2E, 0x03, 0x2F, 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, 0x80, 0x35, 0x02, 0x36, 0x02, 0x37, 0x80, + 0x38, 0x02, 0x39, 0x02, 0x3A, 0x80, 0x3B, 0x02, 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, + 0x40, 0x03, 0x41, 0x02, 0x42, 0x04, 0x43, 0x07, 0x64, 0x05, 0x63, 0x0A, 0x62, 0x1D, 0x61, 0x02, + 0x62, 0x80, 0x61, 0x09, 0x62, 0x08, 0x63, 0x80, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, + 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, + 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, + 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x04, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, + 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x03, 0x05, 0x80, 0x06, 0x02, + 0x07, 0x02, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, + 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x02, + 0x27, 0x02, 0x28, 0x03, 0x29, 0x02, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x03, + 0x2F, 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, 0x80, 0x35, 0x02, 0x36, 0x81, 0x37, 0x38, 0x03, 0x39, + 0x80, 0x3A, 0x02, 0x3B, 0x80, 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x03, 0x41, + 0x02, 0x42, 0x04, 0x43, 0x06, 0x64, 0x05, 0x63, 0x07, 0x62, 0x29, 0x61, 0x80, 0x62, 0x02, 0x61, + 0x08, 0x62, 0x03, 0x63, 0x80, 0x9B, 0x03, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, + 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, + 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x03, 0x71, 0x80, 0x6F, 0x02, 0x6E, + 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, + 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, + 0x80, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x03, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x03, 0x10, 0x02, 0x11, + 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x03, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x03, 0x28, + 0x02, 0x29, 0x03, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x03, 0x2D, 0x80, 0x2E, 0x03, 0x2F, 0x02, 0x30, + 0x80, 0x31, 0x02, 0x32, 0x81, 0x35, 0x36, 0x02, 0x37, 0x80, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, + 0x3B, 0x80, 0x3C, 0x02, 0x3D, 0x80, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x03, 0x41, 0x02, 0x42, 0x03, + 0x43, 0x05, 0x64, 0x05, 0x63, 0x06, 0x62, 0x0D, 0x61, 0x17, 0x60, 0x10, 0x61, 0x08, 0x62, 0x80, + 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x03, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x80, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, + 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, + 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x03, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, + 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x03, 0x12, 0x80, 0x13, 0x03, + 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x02, + 0x2B, 0x03, 0x2C, 0x80, 0x2D, 0x03, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, 0x81, + 0x35, 0x36, 0x02, 0x37, 0x80, 0x38, 0x02, 0x39, 0x80, 0x3A, 0x02, 0x3B, 0x02, 0x3C, 0x80, 0x3D, + 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x04, 0x43, 0x04, 0x64, 0x04, 0x63, + 0x05, 0x62, 0x0A, 0x61, 0x26, 0x60, 0x0D, 0x61, 0x03, 0x62, 0x02, 0x9B, 0x80, 0x9A, 0x03, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, + 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x80, 0x04, 0x03, 0x05, + 0x80, 0x06, 0x03, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x03, 0x0C, 0x02, 0x0D, 0x02, 0x0E, + 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x02, 0x25, + 0x02, 0x26, 0x02, 0x27, 0x03, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x02, 0x2D, + 0x02, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, 0x81, 0x35, 0x36, 0x02, 0x37, 0x81, + 0x38, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x80, 0x3C, 0x02, 0x3D, 0x80, 0x3E, 0x02, 0x3F, 0x02, 0x40, + 0x02, 0x41, 0x02, 0x42, 0x04, 0x43, 0x03, 0x64, 0x05, 0x63, 0x04, 0x62, 0x08, 0x61, 0x0B, 0x60, + 0x1B, 0x5F, 0x0B, 0x60, 0x0A, 0x61, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, + 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, + 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, + 0x02, 0x1A, 0x02, 0x19, 0x03, 0x18, 0x02, 0x03, 0x80, 0x04, 0x03, 0x05, 0x80, 0x06, 0x02, 0x07, + 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x03, 0x10, + 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x03, 0x26, 0x02, 0x27, + 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x03, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, + 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, 0x81, 0x35, 0x36, 0x02, 0x37, 0x80, 0x38, 0x02, 0x39, 0x81, + 0x3A, 0x3B, 0x02, 0x3C, 0x80, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x80, 0x42, + 0x03, 0x43, 0x04, 0x64, 0x04, 0x63, 0x04, 0x62, 0x07, 0x61, 0x07, 0x60, 0x29, 0x5F, 0x09, 0x60, + 0x06, 0x61, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, + 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, + 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, + 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, 0x1A, 0x02, 0x19, + 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, + 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, + 0x02, 0x13, 0x03, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x03, 0x29, + 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, + 0x82, 0x32, 0x35, 0x36, 0x02, 0x37, 0x81, 0x38, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x81, 0x3C, 0x3D, + 0x02, 0x3E, 0x80, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, 0x04, 0x64, 0x04, 0x63, + 0x04, 0x62, 0x05, 0x61, 0x07, 0x60, 0x0B, 0x5F, 0x1A, 0x5E, 0x0D, 0x5F, 0x08, 0x60, 0x02, 0x61, + 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, + 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x03, 0x6C, + 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x02, 0x18, + 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, + 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, + 0x02, 0x23, 0x02, 0x24, 0x03, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, + 0x03, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x80, 0x31, 0x02, 0x32, + 0x81, 0x35, 0x36, 0x02, 0x37, 0x82, 0x38, 0x39, 0x3A, 0x02, 0x3B, 0x80, 0x3C, 0x02, 0x3D, 0x80, + 0x3E, 0x02, 0x3F, 0x80, 0x40, 0x02, 0x41, 0x02, 0x42, 0x03, 0x43, 0x03, 0x64, 0x04, 0x63, 0x03, + 0x62, 0x07, 0x61, 0x04, 0x60, 0x08, 0x5F, 0x27, 0x5E, 0x0B, 0x5F, 0x06, 0x60, 0x02, 0x9B, 0x02, + 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x80, 0x80, 0x02, + 0x7F, 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, + 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, + 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, + 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, + 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, 0x03, 0x23, 0x02, + 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x02, 0x2B, 0x02, + 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x82, 0x32, 0x35, 0x36, 0x02, + 0x37, 0x81, 0x38, 0x39, 0x02, 0x3A, 0x82, 0x3B, 0x3C, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x80, 0x40, + 0x02, 0x41, 0x80, 0x42, 0x03, 0x43, 0x04, 0x64, 0x03, 0x63, 0x03, 0x62, 0x05, 0x61, 0x05, 0x60, + 0x07, 0x5F, 0x0B, 0x5E, 0x19, 0x5D, 0x0D, 0x5E, 0x09, 0x5F, 0x02, 0x60, 0x02, 0x9B, 0x02, 0x9A, + 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x02, 0x80, 0x02, 0x7F, + 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, + 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, + 0x03, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x80, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, + 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, + 0x02, 0x0E, 0x80, 0x0F, 0x03, 0x10, 0x80, 0x11, 0x03, 0x12, 0x80, 0x13, 0x03, 0x23, 0x80, 0x24, + 0x03, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, + 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x80, 0x30, 0x02, 0x31, 0x82, 0x32, 0x35, 0x36, 0x02, 0x37, + 0x02, 0x39, 0x80, 0x3A, 0x02, 0x3B, 0x80, 0x3C, 0x02, 0x3D, 0x81, 0x3E, 0x3F, 0x02, 0x40, 0x80, + 0x41, 0x02, 0x42, 0x03, 0x43, 0x03, 0x64, 0x02, 0x63, 0x04, 0x62, 0x05, 0x61, 0x04, 0x60, 0x05, + 0x5F, 0x09, 0x5E, 0x27, 0x5D, 0x0A, 0x5E, 0x07, 0x5F, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, + 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, + 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, + 0x71, 0x80, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, + 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, + 0x06, 0x03, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, + 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, + 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, + 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x82, 0x31, 0x32, 0x35, 0x02, 0x36, 0x83, 0x37, 0x38, 0x39, 0x3A, + 0x02, 0x3B, 0x81, 0x3C, 0x3D, 0x02, 0x3E, 0x80, 0x3F, 0x02, 0x40, 0x80, 0x41, 0x02, 0x42, 0x02, + 0x43, 0x03, 0x64, 0x03, 0x63, 0x03, 0x62, 0x05, 0x61, 0x03, 0x60, 0x05, 0x5F, 0x07, 0x5E, 0x0D, + 0x5D, 0x81, 0x5C, 0x5D, 0x0E, 0x5C, 0x80, 0x5D, 0x03, 0x5C, 0x0F, 0x5D, 0x0A, 0x5E, 0x03, 0x5F, + 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, + 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, + 0x04, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, + 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x80, 0x09, 0x02, 0x0A, + 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, + 0x03, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, + 0x02, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x81, 0x31, 0x32, 0x02, + 0x35, 0x84, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x02, 0x3B, 0x82, 0x3C, 0x3D, 0x3E, 0x02, 0x3F, 0x80, + 0x40, 0x02, 0x41, 0x80, 0x42, 0x02, 0x43, 0x04, 0x64, 0x02, 0x63, 0x03, 0x62, 0x04, 0x61, 0x04, + 0x60, 0x04, 0x5F, 0x06, 0x5E, 0x0B, 0x5D, 0x21, 0x5C, 0x0D, 0x5D, 0x08, 0x5E, 0x03, 0x9B, 0x02, + 0x9A, 0x02, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, + 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, + 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, + 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, + 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x80, 0x09, 0x02, 0x0A, 0x02, 0x0C, 0x02, + 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x03, 0x12, 0x80, 0x13, 0x03, 0x23, 0x02, + 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x03, 0x2A, 0x80, 0x2B, 0x02, + 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x80, 0x30, 0x02, 0x31, 0x85, 0x32, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x02, 0x3A, 0x83, 0x3B, 0x3C, 0x3D, 0x3E, 0x02, 0x3F, 0x80, 0x40, 0x02, 0x41, 0x80, + 0x42, 0x02, 0x43, 0x03, 0x64, 0x02, 0x63, 0x03, 0x62, 0x04, 0x61, 0x04, 0x60, 0x04, 0x5F, 0x06, + 0x5E, 0x07, 0x5D, 0x0A, 0x5C, 0x17, 0x5B, 0x81, 0x5C, 0x5B, 0x0A, 0x5C, 0x0B, 0x5D, 0x04, 0x5E, + 0x80, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, + 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x80, 0x7A, 0x03, 0x78, + 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, + 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, + 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x80, 0x09, + 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, + 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, + 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x87, 0x31, + 0x32, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x02, 0x3B, 0x82, 0x3C, 0x3D, 0x3E, 0x02, 0x3F, 0x81, + 0x40, 0x41, 0x02, 0x42, 0x02, 0x43, 0x03, 0x64, 0x02, 0x63, 0x03, 0x62, 0x04, 0x61, 0x03, 0x60, + 0x03, 0x5F, 0x06, 0x5E, 0x07, 0x5D, 0x05, 0x5C, 0x27, 0x5B, 0x08, 0x5C, 0x0A, 0x5D, 0x81, 0x5E, + 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, + 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, + 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, + 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x02, 0x19, 0x02, + 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x02, 0x08, 0x80, 0x09, 0x02, + 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, + 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, + 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x85, 0x31, 0x32, + 0x35, 0x36, 0x37, 0x38, 0x02, 0x39, 0x02, 0x3B, 0x82, 0x3C, 0x3D, 0x3E, 0x02, 0x3F, 0x82, 0x40, + 0x41, 0x42, 0x02, 0x43, 0x03, 0x64, 0x03, 0x63, 0x02, 0x62, 0x03, 0x61, 0x04, 0x60, 0x04, 0x5F, + 0x04, 0x5E, 0x06, 0x5D, 0x05, 0x5C, 0x0E, 0x5B, 0x12, 0x5A, 0x10, 0x5B, 0x07, 0x5C, 0x07, 0x5D, + 0x80, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, + 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, + 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, + 0x03, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, + 0x03, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, + 0x02, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, + 0x80, 0x13, 0x03, 0x23, 0x02, 0x24, 0x80, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, + 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x84, 0x30, 0x31, 0x32, + 0x35, 0x36, 0x02, 0x37, 0x02, 0x39, 0x85, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x02, 0x40, 0x81, + 0x41, 0x42, 0x03, 0x43, 0x02, 0x64, 0x02, 0x63, 0x03, 0x62, 0x03, 0x61, 0x03, 0x60, 0x03, 0x5F, + 0x04, 0x5E, 0x06, 0x5D, 0x05, 0x5C, 0x09, 0x5B, 0x22, 0x5A, 0x0B, 0x5B, 0x08, 0x5C, 0x03, 0x5D, + 0x80, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, + 0x03, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, + 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, + 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x03, 0x19, + 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, + 0x02, 0x0A, 0x80, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, + 0x80, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, + 0x02, 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x80, 0x31, + 0x02, 0x35, 0x89, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x02, 0x40, 0x81, + 0x41, 0x42, 0x02, 0x43, 0x03, 0x64, 0x02, 0x63, 0x02, 0x62, 0x03, 0x61, 0x03, 0x60, 0x03, 0x5F, + 0x04, 0x5E, 0x05, 0x5D, 0x04, 0x5C, 0x09, 0x5B, 0x0C, 0x5A, 0x10, 0x59, 0x0F, 0x5A, 0x0B, 0x5B, + 0x06, 0x5C, 0x80, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, + 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, + 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, + 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, + 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, + 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x80, 0x11, + 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x80, 0x27, 0x02, 0x28, + 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, 0x80, 0x2F, 0x02, 0x30, + 0x8B, 0x31, 0x32, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x02, 0x3F, 0x81, + 0x40, 0x41, 0x02, 0x42, 0x80, 0x43, 0x02, 0x64, 0x03, 0x63, 0x80, 0x62, 0x04, 0x61, 0x02, 0x60, + 0x04, 0x5F, 0x03, 0x5E, 0x05, 0x5D, 0x03, 0x5C, 0x07, 0x5B, 0x08, 0x5A, 0x21, 0x59, 0x0B, 0x5A, + 0x0A, 0x5B, 0x03, 0x5C, 0x02, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x80, 0x98, 0x02, 0x97, + 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, + 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, + 0x02, 0x1A, 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x02, 0x07, + 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, + 0x80, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, + 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x80, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, + 0x82, 0x30, 0x31, 0x32, 0x02, 0x35, 0x87, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x02, + 0x3F, 0x82, 0x40, 0x41, 0x42, 0x02, 0x43, 0x02, 0x64, 0x02, 0x63, 0x03, 0x62, 0x02, 0x61, 0x03, + 0x60, 0x03, 0x5F, 0x03, 0x5E, 0x04, 0x5D, 0x04, 0x5C, 0x05, 0x5B, 0x07, 0x5A, 0x2D, 0x59, 0x09, + 0x5A, 0x08, 0x5B, 0x02, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, + 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, + 0x7A, 0x80, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, + 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x03, 0x1B, 0x02, + 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, + 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x02, + 0x11, 0x02, 0x12, 0x80, 0x13, 0x03, 0x23, 0x80, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x80, + 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, 0x80, 0x2F, 0x02, + 0x30, 0x84, 0x31, 0x32, 0x35, 0x36, 0x37, 0x02, 0x39, 0x02, 0x3B, 0x86, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x02, 0x43, 0x02, 0x64, 0x02, 0x63, 0x02, 0x62, 0x03, 0x61, 0x02, 0x60, 0x03, + 0x5F, 0x03, 0x5E, 0x04, 0x5D, 0x03, 0x5C, 0x06, 0x5B, 0x05, 0x5A, 0x0C, 0x59, 0x18, 0x58, 0x11, + 0x59, 0x07, 0x5A, 0x06, 0x5B, 0x02, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, + 0x97, 0x02, 0x96, 0x02, 0x95, 0x03, 0x94, 0x80, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, + 0x7B, 0x03, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, + 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x03, + 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, + 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, + 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x80, + 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x80, 0x2C, 0x02, 0x2D, 0x80, 0x2E, 0x02, + 0x2F, 0x90, 0x30, 0x31, 0x32, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x02, 0x43, 0x02, 0x64, 0x02, 0x63, 0x02, 0x62, 0x02, 0x61, 0x03, 0x60, 0x03, + 0x5F, 0x03, 0x5E, 0x03, 0x5D, 0x04, 0x5C, 0x04, 0x5B, 0x06, 0x5A, 0x08, 0x59, 0x25, 0x58, 0x0D, + 0x59, 0x07, 0x5A, 0x03, 0x5B, 0x02, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, + 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x80, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x02, + 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, + 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x03, + 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x02, + 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, + 0x10, 0x02, 0x11, 0x80, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, + 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, 0x81, + 0x2F, 0x30, 0x02, 0x31, 0x02, 0x35, 0x8B, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + 0x40, 0x41, 0x42, 0x02, 0x43, 0x02, 0x64, 0x02, 0x63, 0x02, 0x62, 0x02, 0x61, 0x02, 0x60, 0x03, + 0x5F, 0x03, 0x5E, 0x03, 0x5D, 0x03, 0x5C, 0x05, 0x5B, 0x04, 0x5A, 0x08, 0x59, 0x0D, 0x58, 0x11, + 0x57, 0x81, 0x58, 0x57, 0x0F, 0x58, 0x0A, 0x59, 0x07, 0x5A, 0x02, 0x9C, 0x03, 0x9B, 0x80, 0x9A, + 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x02, 0x80, 0x02, 0x7F, + 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, + 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x80, 0x6C, 0x03, 0x21, 0x03, 0x20, + 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, + 0x80, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, + 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x80, 0x12, 0x02, 0x13, 0x02, 0x23, 0x02, 0x24, + 0x80, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x80, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x80, 0x2C, + 0x02, 0x2D, 0x80, 0x2E, 0x02, 0x2F, 0x85, 0x30, 0x31, 0x32, 0x35, 0x36, 0x37, 0x02, 0x39, 0x87, + 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x02, 0x43, 0x02, 0x64, 0x02, 0x63, 0x80, 0x62, + 0x03, 0x61, 0x02, 0x60, 0x02, 0x5F, 0x03, 0x5E, 0x04, 0x5D, 0x03, 0x5C, 0x03, 0x5B, 0x05, 0x5A, + 0x06, 0x59, 0x09, 0x58, 0x21, 0x57, 0x0D, 0x58, 0x0A, 0x59, 0x03, 0x5A, 0x02, 0x9C, 0x03, 0x9B, + 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, + 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, + 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, + 0x03, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, + 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, + 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x80, 0x12, 0x02, 0x13, 0x02, 0x23, + 0x80, 0x24, 0x02, 0x25, 0x02, 0x26, 0x80, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x80, 0x2B, + 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, 0x80, 0x2F, 0x02, 0x30, 0x89, 0x32, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x02, 0x3F, 0x02, 0x41, 0x81, 0x42, 0x43, 0x02, 0x64, 0x02, 0x63, + 0x80, 0x62, 0x03, 0x61, 0x02, 0x60, 0x02, 0x5F, 0x02, 0x5E, 0x04, 0x5D, 0x02, 0x5C, 0x04, 0x5B, + 0x04, 0x5A, 0x06, 0x59, 0x06, 0x58, 0x0D, 0x57, 0x80, 0x56, 0x02, 0x57, 0x0B, 0x56, 0x13, 0x57, + 0x0A, 0x58, 0x08, 0x59, 0x80, 0x5A, 0x02, 0x9C, 0x03, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, + 0x80, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, + 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, + 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, + 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x02, 0x13, 0x80, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, + 0x80, 0x27, 0x02, 0x28, 0x02, 0x29, 0x80, 0x2A, 0x02, 0x2B, 0x02, 0x2C, 0x81, 0x2D, 0x2E, 0x02, + 0x2F, 0x90, 0x30, 0x31, 0x32, 0x35, 0x36, 0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, + 0x41, 0x42, 0x43, 0x02, 0x64, 0x02, 0x63, 0x80, 0x62, 0x03, 0x61, 0x02, 0x60, 0x02, 0x5F, 0x02, + 0x5E, 0x04, 0x5D, 0x80, 0x5C, 0x04, 0x5B, 0x04, 0x5A, 0x05, 0x59, 0x07, 0x58, 0x07, 0x57, 0x21, + 0x56, 0x0B, 0x57, 0x09, 0x58, 0x07, 0x59, 0x03, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, + 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x80, + 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x80, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, + 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, + 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, + 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, + 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, + 0x26, 0x80, 0x27, 0x02, 0x28, 0x80, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x80, 0x2C, 0x02, 0x2D, 0x82, + 0x2E, 0x2F, 0x30, 0x02, 0x31, 0x84, 0x35, 0x36, 0x37, 0x38, 0x39, 0x02, 0x3B, 0x86, 0x3D, 0x3E, + 0x3F, 0x40, 0x41, 0x42, 0x43, 0x02, 0x64, 0x02, 0x63, 0x80, 0x62, 0x03, 0x61, 0x02, 0x60, 0x02, + 0x5F, 0x02, 0x5E, 0x03, 0x5D, 0x02, 0x5C, 0x04, 0x5B, 0x03, 0x5A, 0x05, 0x59, 0x05, 0x58, 0x07, + 0x57, 0x10, 0x56, 0x83, 0x55, 0x56, 0x55, 0x56, 0x02, 0x55, 0x02, 0x56, 0x80, 0x55, 0x11, 0x56, + 0x0A, 0x57, 0x09, 0x58, 0x03, 0x59, 0x03, 0x9C, 0x03, 0x9B, 0x02, 0x9A, 0x80, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, + 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, + 0x80, 0x6F, 0x03, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, + 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, + 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, + 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x80, 0x26, + 0x02, 0x27, 0x80, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x80, 0x2D, 0x02, 0x2E, + 0x8F, 0x2F, 0x30, 0x31, 0x32, 0x35, 0x36, 0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x40, 0x41, + 0x42, 0x02, 0x43, 0x80, 0x64, 0x02, 0x63, 0x80, 0x62, 0x03, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x03, + 0x5E, 0x02, 0x5D, 0x03, 0x5C, 0x03, 0x5B, 0x03, 0x5A, 0x04, 0x59, 0x05, 0x58, 0x06, 0x57, 0x0A, + 0x56, 0x18, 0x55, 0x80, 0x56, 0x04, 0x55, 0x0C, 0x56, 0x08, 0x57, 0x08, 0x58, 0x80, 0x59, 0x03, + 0x9C, 0x03, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, + 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, + 0x77, 0x80, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x03, + 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x03, 0x1A, 0x80, 0x19, 0x03, + 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, + 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, + 0x13, 0x02, 0x23, 0x02, 0x24, 0x80, 0x25, 0x02, 0x26, 0x02, 0x27, 0x80, 0x28, 0x02, 0x29, 0x80, + 0x2A, 0x02, 0x2B, 0x80, 0x2C, 0x02, 0x2D, 0x81, 0x2E, 0x2F, 0x02, 0x30, 0x83, 0x31, 0x35, 0x36, + 0x37, 0x02, 0x39, 0x86, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x02, 0x43, 0x02, 0x64, 0x81, + 0x63, 0x62, 0x03, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x03, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x03, 0x5B, + 0x03, 0x5A, 0x04, 0x59, 0x05, 0x58, 0x05, 0x57, 0x08, 0x56, 0x26, 0x55, 0x0B, 0x56, 0x09, 0x57, + 0x05, 0x58, 0x04, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, + 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x03, 0x7A, + 0x02, 0x78, 0x02, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, 0x02, 0x6E, + 0x80, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x03, 0x1B, 0x80, 0x1A, + 0x03, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, + 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x80, 0x11, + 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x02, 0x24, 0x80, 0x25, 0x02, 0x26, 0x80, 0x27, 0x02, 0x28, + 0x02, 0x29, 0x80, 0x2A, 0x02, 0x2B, 0x80, 0x2C, 0x02, 0x2D, 0x91, 0x2E, 0x2F, 0x30, 0x31, 0x32, + 0x35, 0x36, 0x38, 0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x02, 0x64, 0x80, + 0x63, 0x02, 0x62, 0x02, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x02, 0x5E, 0x03, 0x5D, 0x02, 0x5C, 0x03, + 0x5B, 0x02, 0x5A, 0x04, 0x59, 0x04, 0x58, 0x05, 0x57, 0x06, 0x56, 0x0C, 0x55, 0x16, 0x54, 0x0E, + 0x55, 0x0A, 0x56, 0x08, 0x57, 0x02, 0x58, 0x04, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, + 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x80, 0x80, 0x02, 0x7F, 0x03, 0x7E, 0x02, + 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, + 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, + 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, + 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, + 0x0F, 0x80, 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x02, + 0x26, 0x80, 0x27, 0x02, 0x28, 0x80, 0x29, 0x02, 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x81, 0x2D, 0x2E, + 0x02, 0x2F, 0x8E, 0x30, 0x31, 0x32, 0x36, 0x37, 0x38, 0x3A, 0x3B, 0x3C, 0x3D, 0x3F, 0x40, 0x41, + 0x42, 0x43, 0x02, 0x64, 0x80, 0x63, 0x02, 0x62, 0x02, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x02, 0x5E, + 0x03, 0x5D, 0x80, 0x5C, 0x03, 0x5B, 0x03, 0x5A, 0x03, 0x59, 0x04, 0x58, 0x04, 0x57, 0x06, 0x56, + 0x08, 0x55, 0x22, 0x54, 0x81, 0x55, 0x54, 0x0B, 0x55, 0x08, 0x56, 0x08, 0x57, 0x05, 0x9C, 0x02, + 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, + 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, + 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, + 0x0C, 0x02, 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x80, 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, + 0x23, 0x80, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, 0x02, 0x28, 0x80, 0x29, 0x02, 0x2A, 0x81, + 0x2B, 0x2C, 0x02, 0x2D, 0x90, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x35, 0x36, 0x37, 0x39, 0x3A, 0x3B, + 0x3D, 0x3E, 0x3F, 0x40, 0x42, 0x43, 0x02, 0x64, 0x80, 0x63, 0x02, 0x62, 0x02, 0x61, 0x80, 0x60, + 0x02, 0x5F, 0x02, 0x5E, 0x03, 0x5D, 0x80, 0x5C, 0x03, 0x5B, 0x02, 0x5A, 0x04, 0x59, 0x03, 0x58, + 0x04, 0x57, 0x05, 0x56, 0x07, 0x55, 0x0B, 0x54, 0x12, 0x53, 0x81, 0x54, 0x53, 0x0D, 0x54, 0x0B, + 0x55, 0x07, 0x56, 0x05, 0x57, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, + 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, + 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, + 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, + 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x80, + 0x07, 0x02, 0x08, 0x81, 0x09, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x81, 0x0F, 0x10, 0x02, + 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, 0x80, + 0x28, 0x02, 0x29, 0x80, 0x2A, 0x02, 0x2B, 0x81, 0x2C, 0x2D, 0x02, 0x2E, 0x90, 0x2F, 0x30, 0x31, + 0x32, 0x35, 0x37, 0x38, 0x3A, 0x3B, 0x3C, 0x3D, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x64, 0x02, 0x63, + 0x80, 0x62, 0x02, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x02, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x02, 0x5B, + 0x03, 0x5A, 0x03, 0x59, 0x03, 0x58, 0x04, 0x57, 0x04, 0x56, 0x07, 0x55, 0x07, 0x54, 0x81, 0x53, + 0x54, 0x20, 0x53, 0x0B, 0x54, 0x08, 0x55, 0x07, 0x56, 0x03, 0x57, 0x05, 0x9C, 0x02, 0x9B, 0x02, + 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, + 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x80, 0x74, 0x02, + 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, + 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x02, + 0x04, 0x80, 0x05, 0x02, 0x06, 0x02, 0x07, 0x82, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x80, + 0x0E, 0x02, 0x0F, 0x80, 0x10, 0x02, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, + 0x25, 0x80, 0x26, 0x02, 0x27, 0x80, 0x28, 0x02, 0x29, 0x80, 0x2A, 0x02, 0x2B, 0x82, 0x2C, 0x2D, + 0x2E, 0x02, 0x2F, 0x8D, 0x30, 0x31, 0x35, 0x36, 0x37, 0x39, 0x3A, 0x3C, 0x3D, 0x3E, 0x3F, 0x41, + 0x42, 0x43, 0x02, 0x64, 0x81, 0x63, 0x62, 0x02, 0x61, 0x02, 0x60, 0x80, 0x5F, 0x02, 0x5E, 0x02, + 0x5D, 0x02, 0x5C, 0x02, 0x5B, 0x02, 0x5A, 0x03, 0x59, 0x04, 0x58, 0x03, 0x57, 0x04, 0x56, 0x05, + 0x55, 0x06, 0x54, 0x0C, 0x53, 0x10, 0x52, 0x0F, 0x53, 0x09, 0x54, 0x0A, 0x55, 0x06, 0x56, 0x05, + 0x9C, 0x03, 0x9B, 0x80, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, + 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, + 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, + 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, + 0x18, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x81, 0x08, 0x09, 0x02, 0x0A, + 0x80, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, + 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, 0x80, 0x28, 0x02, 0x29, 0x80, 0x2A, + 0x02, 0x2B, 0x90, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x35, 0x37, 0x38, 0x3A, 0x3B, 0x3C, + 0x3E, 0x3F, 0x40, 0x41, 0x02, 0x43, 0x81, 0x64, 0x63, 0x02, 0x62, 0x80, 0x61, 0x02, 0x60, 0x80, + 0x5F, 0x02, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x02, 0x5B, 0x02, 0x5A, 0x03, 0x59, 0x03, 0x58, 0x03, + 0x57, 0x04, 0x56, 0x04, 0x55, 0x06, 0x54, 0x08, 0x53, 0x1F, 0x52, 0x0C, 0x53, 0x08, 0x54, 0x08, + 0x55, 0x04, 0x56, 0x80, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, + 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, + 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, + 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, + 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, + 0x07, 0x81, 0x08, 0x09, 0x02, 0x0A, 0x80, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, + 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x80, 0x26, 0x02, 0x27, + 0x81, 0x28, 0x29, 0x02, 0x2A, 0x80, 0x2B, 0x02, 0x2C, 0x91, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, + 0x36, 0x37, 0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x43, 0x64, 0x02, 0x63, 0x80, 0x62, + 0x02, 0x61, 0x81, 0x60, 0x5F, 0x02, 0x5E, 0x02, 0x5D, 0x80, 0x5C, 0x03, 0x5B, 0x02, 0x5A, 0x02, + 0x59, 0x03, 0x58, 0x03, 0x57, 0x04, 0x56, 0x04, 0x55, 0x05, 0x54, 0x06, 0x53, 0x0E, 0x52, 0x0B, + 0x51, 0x03, 0x52, 0x80, 0x51, 0x0D, 0x52, 0x09, 0x53, 0x07, 0x54, 0x08, 0x55, 0x02, 0x56, 0x80, + 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, + 0x95, 0x80, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, + 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, + 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, + 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, + 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x80, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, + 0x12, 0x80, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x81, 0x26, 0x27, 0x02, 0x28, 0x80, 0x29, + 0x02, 0x2A, 0x81, 0x2B, 0x2C, 0x02, 0x2D, 0x8E, 0x2E, 0x2F, 0x30, 0x31, 0x35, 0x36, 0x38, 0x39, + 0x3B, 0x3C, 0x3E, 0x3F, 0x40, 0x41, 0x43, 0x02, 0x64, 0x81, 0x63, 0x62, 0x02, 0x61, 0x80, 0x60, + 0x02, 0x5F, 0x80, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x03, 0x59, 0x03, 0x58, + 0x02, 0x57, 0x04, 0x56, 0x04, 0x55, 0x04, 0x54, 0x05, 0x53, 0x08, 0x52, 0x1E, 0x51, 0x0B, 0x52, + 0x09, 0x53, 0x07, 0x54, 0x07, 0x55, 0x80, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, + 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, + 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, + 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x80, 0x0D, 0x02, 0x0E, + 0x80, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x81, 0x24, 0x25, 0x02, + 0x26, 0x80, 0x27, 0x02, 0x28, 0x80, 0x29, 0x02, 0x2A, 0x84, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x02, + 0x30, 0x8E, 0x32, 0x35, 0x37, 0x38, 0x3A, 0x3B, 0x3C, 0x3E, 0x40, 0x41, 0x42, 0x43, 0x64, 0x63, + 0x62, 0x02, 0x61, 0x80, 0x60, 0x02, 0x5F, 0x80, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x80, 0x5B, 0x02, + 0x5A, 0x03, 0x59, 0x03, 0x58, 0x02, 0x57, 0x03, 0x56, 0x04, 0x55, 0x04, 0x54, 0x04, 0x53, 0x06, + 0x52, 0x2A, 0x51, 0x08, 0x52, 0x08, 0x53, 0x07, 0x54, 0x04, 0x55, 0x02, 0x9E, 0x05, 0x9C, 0x02, + 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, + 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x80, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, + 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x81, 0x07, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, + 0x80, 0x0D, 0x02, 0x0E, 0x80, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, + 0x81, 0x24, 0x25, 0x02, 0x26, 0x80, 0x27, 0x02, 0x28, 0x81, 0x29, 0x2A, 0x02, 0x2B, 0x90, 0x2C, + 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x36, 0x37, 0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x40, 0x42, 0x43, + 0x02, 0x64, 0x02, 0x62, 0x80, 0x61, 0x02, 0x60, 0x81, 0x5F, 0x5E, 0x02, 0x5D, 0x02, 0x5C, 0x02, + 0x5B, 0x80, 0x5A, 0x03, 0x59, 0x02, 0x58, 0x03, 0x57, 0x02, 0x56, 0x04, 0x55, 0x03, 0x54, 0x05, + 0x53, 0x05, 0x52, 0x0A, 0x51, 0x17, 0x50, 0x0F, 0x51, 0x08, 0x52, 0x08, 0x53, 0x06, 0x54, 0x02, + 0x55, 0x02, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, + 0x96, 0x02, 0x95, 0x02, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, + 0x7A, 0x80, 0x78, 0x03, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, + 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, + 0x1A, 0x02, 0x19, 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x82, + 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x02, 0x0D, 0x81, 0x0E, 0x0F, 0x02, 0x10, 0x80, 0x11, 0x02, 0x12, + 0x80, 0x13, 0x02, 0x23, 0x81, 0x24, 0x25, 0x02, 0x26, 0x81, 0x27, 0x28, 0x02, 0x29, 0x80, 0x2A, + 0x02, 0x2B, 0x93, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x35, 0x36, 0x38, 0x39, 0x3B, 0x3C, 0x3E, + 0x3F, 0x41, 0x42, 0x43, 0x64, 0x63, 0x62, 0x02, 0x61, 0x81, 0x60, 0x5F, 0x02, 0x5E, 0x80, 0x5D, + 0x02, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x03, 0x59, 0x02, 0x58, 0x02, 0x57, 0x03, 0x56, 0x03, 0x55, + 0x03, 0x54, 0x04, 0x53, 0x05, 0x52, 0x08, 0x51, 0x23, 0x50, 0x0D, 0x51, 0x07, 0x52, 0x06, 0x53, + 0x06, 0x54, 0x02, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x80, 0x9A, 0x03, 0x99, 0x02, 0x98, 0x80, 0x97, + 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, + 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, + 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, + 0x81, 0x08, 0x09, 0x02, 0x0A, 0x80, 0x0C, 0x02, 0x0D, 0x81, 0x0E, 0x0F, 0x02, 0x10, 0x80, 0x11, + 0x02, 0x12, 0x80, 0x13, 0x02, 0x23, 0x81, 0x24, 0x25, 0x02, 0x26, 0x80, 0x27, 0x02, 0x28, 0x82, + 0x29, 0x2A, 0x2B, 0x02, 0x2C, 0x91, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x35, 0x37, 0x38, 0x3A, 0x3B, + 0x3D, 0x3F, 0x40, 0x41, 0x43, 0x64, 0x63, 0x62, 0x02, 0x61, 0x81, 0x60, 0x5F, 0x02, 0x5E, 0x02, + 0x5D, 0x80, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x02, 0x59, 0x02, 0x58, 0x03, 0x57, 0x02, 0x56, 0x03, + 0x55, 0x03, 0x54, 0x04, 0x53, 0x04, 0x52, 0x07, 0x51, 0x0A, 0x50, 0x81, 0x4F, 0x50, 0x10, 0x4F, + 0x0F, 0x50, 0x0B, 0x51, 0x07, 0x52, 0x07, 0x53, 0x03, 0x54, 0x03, 0x9E, 0x05, 0x9C, 0x02, 0x9B, + 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x03, 0x94, 0x80, 0x80, + 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x80, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, + 0x02, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, + 0x03, 0x20, 0x02, 0x1F, 0x02, 0x1E, 0x03, 0x1B, 0x80, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, + 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x80, 0x08, 0x02, 0x09, 0x81, 0x0A, 0x0C, 0x02, + 0x0D, 0x80, 0x0E, 0x02, 0x0F, 0x80, 0x10, 0x02, 0x11, 0x81, 0x12, 0x13, 0x02, 0x23, 0x80, 0x24, + 0x02, 0x25, 0x82, 0x26, 0x27, 0x28, 0x02, 0x29, 0x82, 0x2A, 0x2B, 0x2C, 0x02, 0x2D, 0x02, 0x2F, + 0x8E, 0x30, 0x32, 0x36, 0x37, 0x39, 0x3A, 0x3C, 0x3E, 0x3F, 0x41, 0x42, 0x43, 0x64, 0x63, 0x62, + 0x02, 0x61, 0x02, 0x5F, 0x80, 0x5E, 0x02, 0x5D, 0x80, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x02, 0x59, + 0x02, 0x58, 0x02, 0x57, 0x03, 0x56, 0x03, 0x55, 0x03, 0x54, 0x03, 0x53, 0x03, 0x52, 0x07, 0x51, + 0x08, 0x50, 0x1D, 0x4F, 0x81, 0x50, 0x4F, 0x0A, 0x50, 0x0B, 0x51, 0x07, 0x52, 0x05, 0x53, 0x02, + 0x54, 0x03, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, + 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, + 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, + 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, + 0x1A, 0x02, 0x19, 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x81, 0x07, 0x08, + 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x80, 0x0D, 0x02, 0x0E, 0x81, 0x0F, 0x10, 0x02, 0x11, 0x81, + 0x12, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x82, 0x26, 0x27, 0x28, 0x02, 0x29, 0x94, 0x2A, + 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x36, 0x38, 0x39, 0x3B, 0x3C, 0x3E, 0x40, 0x41, + 0x43, 0x64, 0x63, 0x62, 0x02, 0x61, 0x82, 0x60, 0x5F, 0x5E, 0x02, 0x5D, 0x80, 0x5C, 0x02, 0x5B, + 0x80, 0x5A, 0x02, 0x59, 0x02, 0x58, 0x02, 0x57, 0x02, 0x56, 0x03, 0x55, 0x03, 0x54, 0x03, 0x53, + 0x03, 0x52, 0x05, 0x51, 0x07, 0x50, 0x0E, 0x4F, 0x05, 0x4E, 0x80, 0x4F, 0x03, 0x4E, 0x12, 0x4F, + 0x09, 0x50, 0x0A, 0x51, 0x05, 0x52, 0x06, 0x53, 0x04, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, + 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, + 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, + 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, + 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, + 0x02, 0x05, 0x81, 0x06, 0x07, 0x02, 0x08, 0x81, 0x09, 0x0A, 0x02, 0x0C, 0x80, 0x0D, 0x02, 0x0E, + 0x81, 0x0F, 0x10, 0x02, 0x11, 0x81, 0x12, 0x13, 0x02, 0x23, 0x81, 0x24, 0x25, 0x02, 0x26, 0x81, + 0x27, 0x28, 0x02, 0x29, 0x97, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x35, 0x36, 0x38, + 0x3A, 0x3B, 0x3D, 0x3F, 0x41, 0x42, 0x43, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5F, 0x02, 0x5E, 0x81, + 0x5D, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x02, 0x59, 0x02, 0x58, 0x02, 0x57, 0x02, 0x56, 0x03, 0x55, + 0x02, 0x54, 0x03, 0x53, 0x03, 0x52, 0x05, 0x51, 0x05, 0x50, 0x08, 0x4F, 0x1C, 0x4E, 0x0D, 0x4F, + 0x09, 0x50, 0x08, 0x51, 0x06, 0x52, 0x03, 0x53, 0x04, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, + 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x80, 0x7F, + 0x03, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, + 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x03, 0x6C, 0x02, 0x21, 0x03, 0x20, + 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x80, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, + 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x82, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x80, 0x0D, 0x02, 0x0E, + 0x80, 0x0F, 0x02, 0x10, 0x82, 0x11, 0x12, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, 0x25, 0x82, 0x26, + 0x27, 0x28, 0x02, 0x29, 0x93, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x35, 0x37, 0x39, + 0x3A, 0x3C, 0x3E, 0x3F, 0x41, 0x43, 0x64, 0x63, 0x62, 0x02, 0x61, 0x82, 0x60, 0x5F, 0x5E, 0x02, + 0x5D, 0x81, 0x5C, 0x5B, 0x02, 0x5A, 0x80, 0x59, 0x02, 0x58, 0x02, 0x57, 0x02, 0x56, 0x02, 0x55, + 0x03, 0x54, 0x02, 0x53, 0x03, 0x52, 0x04, 0x51, 0x05, 0x50, 0x06, 0x4F, 0x13, 0x4E, 0x80, 0x4D, + 0x13, 0x4E, 0x0A, 0x4F, 0x08, 0x50, 0x08, 0x51, 0x06, 0x52, 0x80, 0x53, 0x05, 0x9E, 0x05, 0x9C, + 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, + 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, + 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, + 0x80, 0x03, 0x02, 0x04, 0x80, 0x05, 0x02, 0x06, 0x81, 0x07, 0x08, 0x02, 0x09, 0x81, 0x0A, 0x0C, + 0x02, 0x0D, 0x81, 0x0E, 0x0F, 0x02, 0x10, 0x82, 0x11, 0x12, 0x13, 0x02, 0x23, 0x80, 0x24, 0x02, + 0x25, 0x82, 0x26, 0x27, 0x28, 0x02, 0x29, 0x97, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x32, + 0x35, 0x37, 0x39, 0x3B, 0x3C, 0x3E, 0x40, 0x42, 0x43, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5F, 0x5E, + 0x02, 0x5D, 0x81, 0x5C, 0x5B, 0x02, 0x5A, 0x02, 0x59, 0x80, 0x58, 0x02, 0x57, 0x02, 0x56, 0x02, + 0x55, 0x02, 0x54, 0x03, 0x53, 0x02, 0x52, 0x04, 0x51, 0x04, 0x50, 0x06, 0x4F, 0x09, 0x4E, 0x19, + 0x4D, 0x0C, 0x4E, 0x09, 0x4F, 0x08, 0x50, 0x07, 0x51, 0x05, 0x52, 0x05, 0x9E, 0x05, 0x9C, 0x02, + 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x80, 0x94, 0x03, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, + 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x02, 0x20, 0x03, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x80, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x02, + 0x03, 0x80, 0x04, 0x02, 0x05, 0x82, 0x06, 0x07, 0x08, 0x02, 0x09, 0x80, 0x0A, 0x02, 0x0C, 0x81, + 0x0D, 0x0E, 0x02, 0x0F, 0x81, 0x10, 0x11, 0x02, 0x12, 0x82, 0x13, 0x23, 0x24, 0x02, 0x25, 0x82, + 0x26, 0x27, 0x28, 0x02, 0x29, 0x8F, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x32, 0x36, 0x37, + 0x39, 0x3B, 0x3D, 0x3F, 0x41, 0x42, 0x02, 0x64, 0x80, 0x63, 0x02, 0x61, 0x02, 0x5F, 0x82, 0x5E, + 0x5D, 0x5C, 0x02, 0x5B, 0x80, 0x5A, 0x02, 0x59, 0x80, 0x58, 0x02, 0x57, 0x02, 0x56, 0x02, 0x55, + 0x02, 0x54, 0x02, 0x53, 0x03, 0x52, 0x03, 0x51, 0x04, 0x50, 0x04, 0x4F, 0x07, 0x4E, 0x25, 0x4D, + 0x09, 0x4E, 0x09, 0x4F, 0x07, 0x50, 0x07, 0x51, 0x03, 0x52, 0x05, 0x9E, 0x06, 0x9C, 0x02, 0x9B, + 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, + 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, + 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, + 0x03, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, 0x03, + 0x80, 0x04, 0x02, 0x05, 0x80, 0x06, 0x02, 0x07, 0x82, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x80, 0x0D, + 0x02, 0x0E, 0x82, 0x0F, 0x10, 0x11, 0x02, 0x12, 0x81, 0x13, 0x23, 0x02, 0x24, 0x83, 0x25, 0x26, + 0x27, 0x28, 0x02, 0x29, 0x98, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x31, 0x32, 0x36, 0x38, 0x3A, + 0x3C, 0x3D, 0x3F, 0x41, 0x43, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5F, 0x5E, 0x5D, 0x5C, 0x02, 0x5B, + 0x80, 0x5A, 0x02, 0x59, 0x80, 0x58, 0x02, 0x57, 0x80, 0x56, 0x03, 0x55, 0x02, 0x54, 0x02, 0x53, + 0x02, 0x52, 0x04, 0x51, 0x03, 0x50, 0x04, 0x4F, 0x05, 0x4E, 0x0C, 0x4D, 0x11, 0x4C, 0x02, 0x4D, + 0x80, 0x4C, 0x0C, 0x4D, 0x0A, 0x4E, 0x08, 0x4F, 0x06, 0x50, 0x06, 0x51, 0x02, 0x52, 0x06, 0x9E, + 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, + 0x03, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, + 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, + 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, + 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0x02, 0x05, 0x83, 0x06, 0x07, 0x08, 0x09, 0x02, 0x0A, 0x80, + 0x0C, 0x02, 0x0D, 0x82, 0x0E, 0x0F, 0x10, 0x02, 0x11, 0x82, 0x12, 0x13, 0x23, 0x02, 0x24, 0x83, + 0x25, 0x26, 0x27, 0x28, 0x02, 0x29, 0x91, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x31, 0x32, 0x37, + 0x39, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x43, 0x64, 0x63, 0x02, 0x61, 0x86, 0x60, 0x5F, 0x5E, 0x5D, + 0x5C, 0x5B, 0x5A, 0x02, 0x59, 0x80, 0x58, 0x02, 0x57, 0x02, 0x56, 0x80, 0x55, 0x02, 0x54, 0x02, + 0x53, 0x03, 0x52, 0x03, 0x51, 0x03, 0x50, 0x03, 0x4F, 0x05, 0x4E, 0x08, 0x4D, 0x21, 0x4C, 0x0B, + 0x4D, 0x08, 0x4E, 0x07, 0x4F, 0x06, 0x50, 0x06, 0x51, 0x06, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x02, + 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, + 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, + 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, + 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, + 0x04, 0x02, 0x05, 0x81, 0x06, 0x07, 0x02, 0x08, 0x82, 0x09, 0x0A, 0x0C, 0x02, 0x0D, 0x81, 0x0E, + 0x0F, 0x02, 0x10, 0x82, 0x11, 0x12, 0x13, 0x02, 0x23, 0x83, 0x24, 0x25, 0x26, 0x27, 0x02, 0x28, + 0x99, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x31, 0x35, 0x37, 0x39, 0x3B, 0x3C, 0x3E, 0x41, + 0x42, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5F, 0x5E, 0x5D, 0x5C, 0x5B, 0x02, 0x5A, 0x80, 0x59, 0x02, + 0x58, 0x81, 0x57, 0x56, 0x03, 0x55, 0x80, 0x54, 0x02, 0x53, 0x02, 0x52, 0x03, 0x51, 0x03, 0x50, + 0x03, 0x4F, 0x04, 0x4E, 0x06, 0x4D, 0x09, 0x4C, 0x15, 0x4B, 0x0C, 0x4C, 0x0A, 0x4D, 0x07, 0x4E, + 0x07, 0x4F, 0x06, 0x50, 0x04, 0x51, 0x07, 0x9E, 0x05, 0x9C, 0x03, 0x9B, 0x80, 0x9A, 0x03, 0x99, + 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x80, 0x7F, 0x03, 0x7E, + 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, + 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x80, 0x18, 0x02, 0x03, 0x02, 0x04, 0x81, 0x05, + 0x06, 0x02, 0x07, 0x82, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x81, 0x0D, 0x0E, 0x02, 0x0F, 0x83, 0x10, + 0x11, 0x12, 0x13, 0x02, 0x23, 0x83, 0x24, 0x25, 0x26, 0x27, 0x02, 0x28, 0x93, 0x29, 0x2A, 0x2B, + 0x2C, 0x2D, 0x2F, 0x30, 0x31, 0x35, 0x37, 0x39, 0x3B, 0x3D, 0x3F, 0x41, 0x43, 0x64, 0x63, 0x62, + 0x61, 0x02, 0x5F, 0x02, 0x5D, 0x83, 0x5C, 0x5B, 0x5A, 0x59, 0x02, 0x58, 0x80, 0x57, 0x02, 0x56, + 0x80, 0x55, 0x02, 0x54, 0x02, 0x53, 0x02, 0x52, 0x02, 0x51, 0x03, 0x50, 0x03, 0x4F, 0x04, 0x4E, + 0x05, 0x4D, 0x05, 0x4C, 0x22, 0x4B, 0x09, 0x4C, 0x0A, 0x4D, 0x07, 0x4E, 0x06, 0x4F, 0x06, 0x50, + 0x02, 0x51, 0x08, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, + 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, + 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, + 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x82, 0x06, 0x07, 0x08, + 0x02, 0x09, 0x82, 0x0A, 0x0C, 0x0D, 0x02, 0x0E, 0x82, 0x0F, 0x10, 0x11, 0x02, 0x12, 0x84, 0x13, + 0x23, 0x24, 0x25, 0x26, 0x02, 0x27, 0x9A, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2F, 0x30, 0x31, + 0x35, 0x37, 0x39, 0x3B, 0x3D, 0x3F, 0x41, 0x43, 0x64, 0x62, 0x61, 0x60, 0x5F, 0x5E, 0x5D, 0x5C, + 0x5B, 0x5A, 0x02, 0x59, 0x81, 0x58, 0x57, 0x02, 0x56, 0x80, 0x55, 0x02, 0x54, 0x02, 0x53, 0x80, + 0x52, 0x03, 0x51, 0x02, 0x50, 0x03, 0x4F, 0x03, 0x4E, 0x05, 0x4D, 0x04, 0x4C, 0x0C, 0x4B, 0x11, + 0x4A, 0x0E, 0x4B, 0x08, 0x4C, 0x08, 0x4D, 0x07, 0x4E, 0x06, 0x4F, 0x06, 0x50, 0x80, 0x9F, 0x07, + 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, + 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, + 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, + 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, + 0x19, 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0x81, 0x05, 0x06, 0x02, 0x07, 0x82, 0x08, 0x09, 0x0A, + 0x02, 0x0C, 0x83, 0x0D, 0x0E, 0x0F, 0x10, 0x02, 0x11, 0x83, 0x12, 0x13, 0x23, 0x24, 0x02, 0x25, + 0x97, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2F, 0x30, 0x31, 0x35, 0x37, 0x3A, 0x3B, + 0x3E, 0x40, 0x42, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5F, 0x02, 0x5D, 0x80, 0x5B, 0x02, 0x5A, 0x81, + 0x59, 0x58, 0x02, 0x57, 0x81, 0x56, 0x55, 0x02, 0x54, 0x02, 0x53, 0x80, 0x52, 0x03, 0x51, 0x02, + 0x50, 0x03, 0x4F, 0x02, 0x4E, 0x05, 0x4D, 0x04, 0x4C, 0x07, 0x4B, 0x1E, 0x4A, 0x0C, 0x4B, 0x06, + 0x4C, 0x08, 0x4D, 0x07, 0x4E, 0x06, 0x4F, 0x04, 0x50, 0x80, 0x9F, 0x08, 0x9E, 0x05, 0x9C, 0x02, + 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x03, 0x7D, 0x80, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x03, 0x77, 0x80, + 0x74, 0x02, 0x73, 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, + 0x21, 0x02, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, + 0x03, 0x80, 0x04, 0x02, 0x05, 0x84, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x81, 0x0D, 0x0E, + 0x02, 0x0F, 0x84, 0x10, 0x11, 0x12, 0x13, 0x23, 0x02, 0x24, 0x9E, 0x25, 0x26, 0x27, 0x28, 0x29, + 0x2A, 0x2B, 0x2C, 0x2D, 0x2F, 0x30, 0x31, 0x35, 0x37, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x64, 0x63, + 0x61, 0x60, 0x5F, 0x5E, 0x5D, 0x5C, 0x5B, 0x5A, 0x59, 0x58, 0x02, 0x57, 0x80, 0x56, 0x02, 0x55, + 0x80, 0x54, 0x02, 0x53, 0x80, 0x52, 0x02, 0x51, 0x03, 0x50, 0x02, 0x4F, 0x03, 0x4E, 0x03, 0x4D, + 0x04, 0x4C, 0x06, 0x4B, 0x0C, 0x4A, 0x06, 0x49, 0x80, 0x4A, 0x04, 0x49, 0x10, 0x4A, 0x0A, 0x4B, + 0x06, 0x4C, 0x08, 0x4D, 0x06, 0x4E, 0x06, 0x4F, 0x02, 0x50, 0x02, 0x9F, 0x07, 0x9E, 0x05, 0x9C, + 0x02, 0x9B, 0x03, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x80, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, + 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, + 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x02, 0x18, + 0x80, 0x03, 0x02, 0x04, 0x83, 0x05, 0x06, 0x07, 0x08, 0x02, 0x09, 0x81, 0x0A, 0x0C, 0x02, 0x0D, + 0x85, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x02, 0x23, 0x9C, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, + 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x30, 0x32, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x64, 0x62, + 0x61, 0x60, 0x5F, 0x5E, 0x5D, 0x5B, 0x5A, 0x02, 0x59, 0x82, 0x58, 0x57, 0x56, 0x02, 0x55, 0x80, + 0x54, 0x02, 0x53, 0x80, 0x52, 0x02, 0x51, 0x02, 0x50, 0x02, 0x4F, 0x03, 0x4E, 0x03, 0x4D, 0x03, + 0x4C, 0x05, 0x4B, 0x08, 0x4A, 0x1A, 0x49, 0x0C, 0x4A, 0x09, 0x4B, 0x06, 0x4C, 0x07, 0x4D, 0x07, + 0x4E, 0x05, 0x4F, 0x80, 0x50, 0x03, 0x9F, 0x07, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, + 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x80, 0x80, 0x03, 0x7F, 0x02, + 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, + 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, + 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, 0x03, 0x81, 0x04, 0x05, + 0x02, 0x06, 0x83, 0x07, 0x08, 0x09, 0x0A, 0x02, 0x0C, 0x83, 0x0D, 0x0E, 0x0F, 0x10, 0x02, 0x11, + 0xA3, 0x12, 0x13, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x30, + 0x32, 0x36, 0x38, 0x3A, 0x3D, 0x3F, 0x41, 0x43, 0x64, 0x62, 0x61, 0x60, 0x5E, 0x5D, 0x5C, 0x5B, + 0x5A, 0x59, 0x58, 0x57, 0x56, 0x02, 0x55, 0x81, 0x54, 0x53, 0x02, 0x52, 0x02, 0x51, 0x02, 0x50, + 0x02, 0x4F, 0x02, 0x4E, 0x03, 0x4D, 0x03, 0x4C, 0x04, 0x4B, 0x06, 0x4A, 0x0D, 0x49, 0x80, 0x48, + 0x05, 0x49, 0x80, 0x48, 0x11, 0x49, 0x0A, 0x4A, 0x08, 0x4B, 0x06, 0x4C, 0x07, 0x4D, 0x05, 0x4E, + 0x05, 0x4F, 0x03, 0x9F, 0x07, 0x9E, 0x05, 0x9C, 0x03, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, + 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, + 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, + 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x03, 0x1E, + 0x80, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x80, 0x18, 0x02, 0x03, 0x02, 0x04, 0x83, 0x05, 0x06, 0x07, + 0x08, 0x02, 0x09, 0x83, 0x0A, 0x0C, 0x0D, 0x0E, 0x02, 0x0F, 0xA1, 0x10, 0x11, 0x12, 0x13, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x30, 0x32, 0x36, 0x38, 0x3B, + 0x3D, 0x3F, 0x42, 0x43, 0x63, 0x62, 0x61, 0x5F, 0x5E, 0x5D, 0x5B, 0x5A, 0x59, 0x02, 0x58, 0x83, + 0x57, 0x56, 0x55, 0x54, 0x02, 0x53, 0x80, 0x52, 0x02, 0x51, 0x80, 0x50, 0x02, 0x4F, 0x03, 0x4E, + 0x02, 0x4D, 0x03, 0x4C, 0x04, 0x4B, 0x04, 0x4A, 0x09, 0x49, 0x17, 0x48, 0x0D, 0x49, 0x09, 0x4A, + 0x07, 0x4B, 0x06, 0x4C, 0x07, 0x4D, 0x05, 0x4E, 0x03, 0x4F, 0x04, 0x9F, 0x07, 0x9E, 0x05, 0x9C, + 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, + 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, + 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x02, 0x6D, 0x02, 0x6C, + 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, + 0x02, 0x03, 0x80, 0x04, 0x02, 0x05, 0x02, 0x07, 0x83, 0x08, 0x09, 0x0A, 0x0C, 0x02, 0x0D, 0x85, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x02, 0x23, 0xA0, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2B, + 0x2C, 0x2D, 0x2E, 0x30, 0x32, 0x36, 0x39, 0x3B, 0x3D, 0x40, 0x42, 0x64, 0x63, 0x61, 0x60, 0x5F, + 0x5D, 0x5C, 0x5B, 0x5A, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x02, 0x53, 0x80, 0x52, 0x02, 0x51, + 0x80, 0x50, 0x02, 0x4F, 0x02, 0x4E, 0x03, 0x4D, 0x02, 0x4C, 0x03, 0x4B, 0x04, 0x4A, 0x07, 0x49, + 0x22, 0x48, 0x0A, 0x49, 0x08, 0x4A, 0x08, 0x4B, 0x05, 0x4C, 0x07, 0x4D, 0x05, 0x4E, 0x80, 0x4F, + 0x04, 0x9F, 0x08, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, + 0x03, 0x96, 0x80, 0x95, 0x02, 0x94, 0x02, 0x80, 0x03, 0x7F, 0x80, 0x7E, 0x03, 0x7D, 0x02, 0x7B, + 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x80, 0x74, 0x02, 0x73, 0x02, 0x72, 0x02, 0x71, 0x80, 0x6F, + 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x02, 0x1F, 0x03, 0x1E, 0x02, 0x1B, + 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x81, 0x03, 0x04, 0x02, 0x05, 0x82, 0x06, 0x07, 0x08, 0x02, + 0x09, 0x85, 0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x02, 0x11, 0xA0, 0x12, 0x13, 0x23, 0x24, 0x25, + 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2D, 0x2E, 0x30, 0x32, 0x36, 0x38, 0x3B, 0x3D, 0x40, 0x42, + 0x64, 0x62, 0x61, 0x5F, 0x5E, 0x5D, 0x5C, 0x5A, 0x59, 0x58, 0x57, 0x56, 0x02, 0x55, 0x82, 0x54, + 0x53, 0x52, 0x02, 0x51, 0x80, 0x50, 0x02, 0x4F, 0x02, 0x4E, 0x02, 0x4D, 0x02, 0x4C, 0x03, 0x4B, + 0x04, 0x4A, 0x04, 0x49, 0x08, 0x48, 0x17, 0x47, 0x0C, 0x48, 0x09, 0x49, 0x08, 0x4A, 0x07, 0x4B, + 0x05, 0x4C, 0x06, 0x4D, 0x05, 0x4E, 0x05, 0x9F, 0x07, 0x9E, 0x05, 0x9C, 0x03, 0x9B, 0x02, 0x9A, + 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, + 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x03, 0x78, 0x02, 0x77, 0x80, 0x74, 0x02, 0x73, + 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, + 0x02, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x80, 0x18, 0x02, 0x03, 0x80, 0x04, + 0x02, 0x05, 0x85, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0C, 0x02, 0x0D, 0xA8, 0x0E, 0x0F, 0x10, 0x11, + 0x12, 0x13, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2D, 0x2E, 0x30, 0x31, 0x36, + 0x39, 0x3B, 0x3E, 0x40, 0x43, 0x64, 0x62, 0x61, 0x5F, 0x5E, 0x5D, 0x5B, 0x5A, 0x59, 0x58, 0x57, + 0x56, 0x55, 0x54, 0x53, 0x52, 0x02, 0x51, 0x80, 0x50, 0x02, 0x4F, 0x80, 0x4E, 0x03, 0x4D, 0x80, + 0x4C, 0x03, 0x4B, 0x03, 0x4A, 0x05, 0x49, 0x06, 0x48, 0x21, 0x47, 0x0A, 0x48, 0x07, 0x49, 0x08, + 0x4A, 0x07, 0x4B, 0x05, 0x4C, 0x06, 0x4D, 0x03, 0x4E, 0x05, 0x9F, 0x08, 0x9E, 0x05, 0x9C, 0x02, + 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x80, 0x98, 0x02, 0x97, 0x03, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, + 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, + 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, 0x02, 0x6D, 0x02, 0x6C, 0x02, + 0x21, 0x02, 0x20, 0x03, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, + 0x03, 0x82, 0x04, 0x05, 0x06, 0x02, 0x07, 0x87, 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, + 0x02, 0x11, 0xA2, 0x13, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2E, 0x2F, + 0x31, 0x36, 0x39, 0x3B, 0x3E, 0x41, 0x43, 0x64, 0x62, 0x60, 0x5F, 0x5D, 0x5C, 0x5B, 0x59, 0x58, + 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x02, 0x51, 0x80, 0x50, 0x02, 0x4F, 0x80, 0x4E, 0x02, 0x4D, + 0x02, 0x4C, 0x02, 0x4B, 0x03, 0x4A, 0x04, 0x49, 0x04, 0x48, 0x0E, 0x47, 0x81, 0x46, 0x47, 0x06, + 0x46, 0x81, 0x47, 0x46, 0x12, 0x47, 0x09, 0x48, 0x07, 0x49, 0x07, 0x4A, 0x07, 0x4B, 0x04, 0x4C, + 0x06, 0x4D, 0x02, 0x4E, 0x06, 0x9F, 0x07, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, + 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, 0x80, 0x95, 0x03, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, + 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, 0x02, 0x72, + 0x02, 0x71, 0x80, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, 0x03, 0x1F, + 0x02, 0x1E, 0x02, 0x1B, 0x80, 0x1A, 0x02, 0x19, 0x02, 0x18, 0x81, 0x03, 0x04, 0x02, 0x05, 0x85, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0C, 0x02, 0x0D, 0xA1, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x29, 0x2A, 0x2B, 0x2C, 0x2E, 0x2F, 0x31, 0x36, 0x39, 0x3B, 0x3E, 0x41, + 0x43, 0x63, 0x61, 0x60, 0x5E, 0x5D, 0x5B, 0x5A, 0x59, 0x58, 0x57, 0x02, 0x55, 0x80, 0x53, 0x02, + 0x52, 0x81, 0x51, 0x50, 0x02, 0x4F, 0x80, 0x4E, 0x02, 0x4D, 0x02, 0x4C, 0x02, 0x4B, 0x02, 0x4A, + 0x03, 0x49, 0x04, 0x48, 0x08, 0x47, 0x19, 0x46, 0x0F, 0x47, 0x08, 0x48, 0x08, 0x49, 0x06, 0x4A, + 0x06, 0x4B, 0x05, 0x4C, 0x06, 0x4D, 0x07, 0x9F, 0x07, 0x9E, 0x05, 0x9C, 0x03, 0x9B, 0x02, 0x9A, + 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x03, 0x94, 0x80, 0x80, 0x02, 0x7F, + 0x02, 0x7E, 0x02, 0x7D, 0x03, 0x7B, 0x02, 0x7A, 0x02, 0x78, 0x02, 0x77, 0x02, 0x74, 0x80, 0x73, + 0x02, 0x72, 0x80, 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x03, 0x21, 0x02, 0x20, + 0x02, 0x1F, 0x03, 0x1E, 0x80, 0x1B, 0x02, 0x1A, 0x02, 0x19, 0x80, 0x18, 0x02, 0x03, 0x80, 0x04, + 0x02, 0x05, 0x02, 0x07, 0xAD, 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, + 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2B, 0x2C, 0x2D, 0x2F, 0x31, 0x35, 0x39, 0x3B, 0x3E, + 0x41, 0x43, 0x63, 0x61, 0x5F, 0x5E, 0x5D, 0x5B, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, + 0x51, 0x50, 0x4F, 0x02, 0x4E, 0x02, 0x4D, 0x80, 0x4C, 0x02, 0x4B, 0x02, 0x4A, 0x03, 0x49, 0x04, + 0x48, 0x06, 0x47, 0x23, 0x46, 0x0C, 0x47, 0x08, 0x48, 0x06, 0x49, 0x07, 0x4A, 0x07, 0x4B, 0x04, + 0x4C, 0x04, 0x4D, 0x08, 0x9F, 0x07, 0x9E, 0x05, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x03, 0x99, 0x02, + 0x98, 0x02, 0x97, 0x02, 0x96, 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, + 0x7D, 0x02, 0x7B, 0x03, 0x7A, 0x80, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, + 0x71, 0x02, 0x6F, 0x02, 0x6E, 0x80, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x02, + 0x1E, 0x02, 0x1B, 0x02, 0x1A, 0x80, 0x19, 0x02, 0x18, 0x02, 0x03, 0x86, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x02, 0x0C, 0xA7, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x23, 0x24, 0x25, + 0x27, 0x28, 0x29, 0x2A, 0x2C, 0x2D, 0x2F, 0x31, 0x35, 0x38, 0x3B, 0x3E, 0x41, 0x64, 0x63, 0x61, + 0x5F, 0x5D, 0x5C, 0x5A, 0x59, 0x58, 0x57, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4F, 0x02, 0x4E, + 0x80, 0x4D, 0x02, 0x4C, 0x02, 0x4B, 0x02, 0x4A, 0x02, 0x49, 0x03, 0x48, 0x06, 0x47, 0x2B, 0x46, + 0x0A, 0x47, 0x07, 0x48, 0x06, 0x49, 0x07, 0x4A, 0x06, 0x4B, 0x04, 0x4C, 0x03, 0x4D, 0x08, 0x9F, + 0x07, 0x9E, 0x06, 0x9C, 0x02, 0x9B, 0x02, 0x9A, 0x02, 0x99, 0x02, 0x98, 0x02, 0x97, 0x03, 0x96, + 0x02, 0x95, 0x02, 0x94, 0x02, 0x80, 0x02, 0x7F, 0x02, 0x7E, 0x02, 0x7D, 0x02, 0x7B, 0x02, 0x7A, + 0x02, 0x78, 0x03, 0x77, 0x80, 0x74, 0x02, 0x73, 0x80, 0x72, 0x02, 0x71, 0x02, 0x6F, 0x80, 0x6E, + 0x02, 0x6D, 0x02, 0x6C, 0x02, 0x21, 0x03, 0x20, 0x02, 0x1F, 0x02, 0x1E, 0x02, 0x1B, 0x02, 0x1A, + 0x80, 0x19, 0x02, 0x18, 0x80, 0x03, 0x02, 0x04, 0xAC, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0C, + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x23, 0x24, 0x25, 0x26, 0x27, 0x29, 0x2A, 0x2B, 0x2D, + 0x2F, 0x30, 0x35, 0x38, 0x3B, 0x3F, 0x41, 0x64, 0x62, 0x61, 0x5F, 0x5D, 0x5B, 0x5A, 0x59, 0x57, + 0x56, 0x55, 0x54, 0x52, 0x51, 0x50, 0x02, 0x4F, 0x81, 0x4E, 0x4D, 0x02, 0x4C, 0x80, 0x4B, 0x02, + 0x4A, 0x02, 0x49, 0x03, 0x48, 0x05, 0x47, 0x09, 0x46, 0x16, 0x45, 0x11, 0x46, 0x0B, 0x47, 0x06, + 0x48, 0x07, 0x49, 0x06, 0x4A, 0x05, 0x4B, 0x05, 0x4C, 0x81, 0x4D, 0xDA, 0x08, 0x9F, 0x07, 0x9E, + 0x05, 0x9C, 0x83, 0x9B, 0x70, 0x1C, 0x16, 0x52, 0x14, 0x1B, 0x15, 0x51, 0x14, 0x82, 0x15, 0x17, + 0x33, 0x07, 0x49, 0x05, 0x4A, 0x06, 0x4B, 0x04, 0x4C, 0x80, 0xDA, 0x08, 0x9F, 0x08, 0x9E, 0x04, + 0x9C, 0x81, 0x1D, 0x14, 0x7F, 0x00, 0x44, 0x00, 0x81, 0x1C, 0x48, 0x06, 0x49, 0x06, 0x4A, 0x05, + 0x4B, 0x03, 0x4C, 0x02, 0xDA, 0x08, 0x9F, 0x08, 0x9E, 0x02, 0x9C, 0x81, 0x70, 0x14, 0x7F, 0x00, + 0x46, 0x00, 0x80, 0x33, 0x02, 0x48, 0x06, 0x49, 0x06, 0x4A, 0x05, 0x4B, 0x80, 0x4C, 0x03, 0xDA, + 0x08, 0x9F, 0x07, 0x9E, 0x02, 0x9C, 0x80, 0x17, 0x7F, 0x00, 0x47, 0x00, 0x80, 0x17, 0x04, 0x48, + 0x06, 0x49, 0x05, 0x4A, 0x05, 0x4B, 0x03, 0xDA, 0x09, 0x9F, 0x07, 0x9E, 0x81, 0x9C, 0x14, 0x7F, + 0x00, 0x47, 0x00, 0x80, 0x14, 0x05, 0x48, 0x06, 0x49, 0x06, 0x4A, 0x03, 0x4B, 0x04, 0xDA, 0x09, + 0x9F, 0x07, 0x9E, 0x7F, 0x00, 0x49, 0x00, 0x80, 0x47, 0x06, 0x48, 0x06, 0x49, 0x05, 0x4A, 0x02, + 0x4B, 0x05, 0xDA, 0x08, 0x9F, 0x07, 0x9E, 0x7F, 0x00, 0x49, 0x00, 0x03, 0x47, 0x06, 0x48, 0x05, + 0x49, 0x05, 0x4A, 0x80, 0x4B, 0x06, 0xDA, 0x08, 0x9F, 0x06, 0x9E, 0x7F, 0x00, 0x49, 0x00, 0x05, + 0x47, 0x05, 0x48, 0x05, 0x49, 0x05, 0x4A, 0x07, 0xDA, 0x08, 0x9F, 0x05, 0x9E, 0x7F, 0x00, 0x49, + 0x00, 0x06, 0x47, 0x05, 0x48, 0x06, 0x49, 0x03, 0x4A, 0x07, 0xDA, 0x09, 0x9F, 0x04, 0x9E, 0x7F, + 0x00, 0x49, 0x00, 0x80, 0x46, 0x07, 0x47, 0x05, 0x48, 0x05, 0x49, 0x02, 0x4A, 0x08, 0xDA, 0x09, + 0x9F, 0x03, 0x9E, 0x7F, 0x00, 0x49, 0x00, 0x02, 0x46, 0x07, 0x47, 0x05, 0x48, 0x05, 0x49, 0x80, + 0x4A, 0x09, 0xDA, 0x09, 0x9F, 0x02, 0x9E, 0x11, 0x00, 0x8E, 0x75, 0x76, 0x15, 0x00, 0x1C, 0x76, + 0x17, 0x00, 0x17, 0x76, 0x1C, 0x00, 0x14, 0x76, 0x75, 0x02, 0x00, 0x82, 0x1D, 0x76, 0x15, 0x7F, + 0x00, 0x24, 0x00, 0x03, 0x46, 0x07, 0x47, 0x05, 0x48, 0x05, 0x49, 0x0A, 0xDA, 0x09, 0x9F, 0x80, + 0x9E, 0x11, 0x00, 0x93, 0x76, 0x81, 0x16, 0x00, 0x1D, 0x81, 0x1C, 0x00, 0x1C, 0x81, 0x75, 0x00, + 0x15, 0x81, 0x76, 0x14, 0x00, 0x76, 0x81, 0x17, 0x4B, 0x00, 0x82, 0x15, 0x75, 0x16, 0x05, 0x00, + 0x82, 0x16, 0x76, 0x15, 0x4D, 0x00, 0x05, 0x46, 0x07, 0x47, 0x05, 0x48, 0x03, 0x49, 0x0B, 0xDA, + 0x09, 0x9F, 0x11, 0x00, 0x93, 0x76, 0x81, 0x16, 0x00, 0x1D, 0x81, 0x1C, 0x00, 0x1C, 0x81, 0x75, + 0x00, 0x15, 0x81, 0x76, 0x14, 0x00, 0x76, 0x81, 0x17, 0x11, 0x00, 0x80, 0x1C, 0x02, 0x8A, 0x02, + 0x81, 0x81, 0x1D, 0x14, 0x33, 0x00, 0x82, 0x17, 0xA2, 0x17, 0x05, 0x00, 0x82, 0x17, 0xAB, 0x17, + 0x4D, 0x00, 0x07, 0x46, 0x06, 0x47, 0x05, 0x48, 0x02, 0x49, 0x0C, 0xDA, 0x08, 0x9F, 0x0F, 0x00, + 0x8E, 0x14, 0x15, 0x76, 0x81, 0x17, 0x15, 0x75, 0x81, 0x1C, 0x15, 0x1C, 0x81, 0x75, 0x15, 0x17, + 0x02, 0x81, 0x02, 0x15, 0x83, 0x76, 0x81, 0x17, 0x14, 0x10, 0x00, 0x81, 0x75, 0xA1, 0x02, 0x1C, + 0x82, 0x75, 0xA1, 0x76, 0x33, 0x00, 0x82, 0x17, 0xA2, 0x17, 0x05, 0x00, 0x82, 0x17, 0xAB, 0x17, + 0x4D, 0x00, 0x08, 0x46, 0x06, 0x47, 0x05, 0x48, 0x81, 0x49, 0xD9, 0x0C, 0xDA, 0x07, 0x9F, 0x0D, + 0x00, 0x82, 0x15, 0x76, 0xA1, 0x15, 0xAB, 0x82, 0xA2, 0x81, 0x1C, 0x0E, 0x00, 0x82, 0x75, 0xA1, + 0x14, 0x02, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x03, 0x00, 0x82, 0x14, 0x15, 0x14, 0x13, 0x00, 0x81, + 0x15, 0x14, 0x07, 0x00, 0x80, 0x15, 0x04, 0x00, 0x81, 0x14, 0x15, 0x06, 0x00, 0x85, 0x14, 0x15, + 0x00, 0x17, 0xA2, 0x17, 0x05, 0x00, 0x85, 0x17, 0xAB, 0x17, 0x00, 0x15, 0x14, 0x4A, 0x00, 0x80, + 0x45, 0x08, 0x46, 0x07, 0x47, 0x04, 0x48, 0x02, 0xD9, 0x0C, 0xDA, 0x06, 0x9F, 0x0C, 0x00, 0x81, + 0x15, 0x8A, 0x19, 0xA2, 0x81, 0xA1, 0x1C, 0x0D, 0x00, 0x82, 0x75, 0xA1, 0x14, 0x02, 0x00, 0x85, + 0x1C, 0xA2, 0x1C, 0x00, 0x15, 0x76, 0x03, 0xA1, 0x84, 0x75, 0x14, 0x00, 0x75, 0x81, 0x03, 0x00, + 0x81, 0x76, 0x81, 0x03, 0x00, 0x81, 0x75, 0x81, 0x02, 0x00, 0x81, 0x1C, 0x8A, 0x02, 0xA1, 0x81, + 0x75, 0x14, 0x02, 0x00, 0x87, 0x81, 0x1C, 0x76, 0xA1, 0x75, 0x00, 0x15, 0x76, 0x02, 0xA1, 0x81, + 0x8A, 0x17, 0x03, 0x00, 0x86, 0x1C, 0x8A, 0xA1, 0x8A, 0x1D, 0xA2, 0x17, 0x05, 0x00, 0x83, 0x17, + 0xAB, 0x1C, 0x81, 0x02, 0xA1, 0x84, 0x1D, 0x00, 0x15, 0xA1, 0x1C, 0x03, 0x00, 0x82, 0x1C, 0xA1, + 0x15, 0x3F, 0x00, 0x02, 0x45, 0x08, 0x46, 0x07, 0x47, 0x03, 0x48, 0x03, 0xD9, 0x0C, 0xDA, 0x05, + 0x9F, 0x0C, 0x00, 0x80, 0x75, 0x1B, 0xA2, 0x81, 0x8A, 0x14, 0x0C, 0x00, 0x82, 0x75, 0xA1, 0x14, + 0x02, 0x00, 0x93, 0x1D, 0xA2, 0x16, 0x00, 0x81, 0x8A, 0x1C, 0x17, 0x1D, 0xA1, 0x75, 0x00, 0x1C, + 0xA2, 0x15, 0x00, 0x14, 0xA1, 0xA2, 0x16, 0x02, 0x00, 0x89, 0x8A, 0x75, 0x00, 0x1C, 0xA1, 0x1C, + 0x15, 0x1C, 0xA1, 0x75, 0x02, 0x00, 0x82, 0x8A, 0xA1, 0x76, 0x02, 0x1C, 0x80, 0x14, 0x02, 0x81, + 0x8D, 0x17, 0x15, 0x75, 0xA1, 0x15, 0x00, 0x17, 0xA2, 0x75, 0x17, 0x1D, 0xA1, 0xA2, 0x17, 0x05, + 0x00, 0x88, 0x17, 0xA2, 0xA1, 0x1D, 0x17, 0x75, 0xA2, 0x1C, 0x00, 0x02, 0x81, 0x03, 0x00, 0x81, + 0x76, 0x81, 0x40, 0x00, 0x04, 0x45, 0x07, 0x46, 0x07, 0x47, 0x02, 0x48, 0x04, 0xD9, 0x0C, 0xDA, + 0x04, 0x9F, 0x0C, 0x00, 0x80, 0x8A, 0x1C, 0xA2, 0x80, 0x17, 0x0C, 0x00, 0x81, 0x75, 0xA1, 0x02, + 0x17, 0x86, 0x1D, 0xA1, 0x76, 0x00, 0x1C, 0xA2, 0x17, 0x03, 0x00, 0x87, 0x75, 0xA1, 0x00, 0x15, + 0xA1, 0x1C, 0x00, 0x1C, 0x02, 0xA1, 0x87, 0x1C, 0x00, 0x17, 0xAB, 0x17, 0x00, 0x81, 0x75, 0x03, + 0x00, 0x81, 0x75, 0x8A, 0x02, 0x00, 0x02, 0x8A, 0x80, 0x14, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x16, + 0x02, 0x00, 0x86, 0x14, 0xA1, 0x1C, 0x00, 0x75, 0x8A, 0x14, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x17, + 0x05, 0x00, 0x82, 0x17, 0xA2, 0x1C, 0x02, 0x00, 0x8A, 0x14, 0x8A, 0x76, 0x00, 0x1C, 0xA2, 0x16, + 0x00, 0x15, 0xA1, 0x1C, 0x40, 0x00, 0x05, 0x45, 0x08, 0x46, 0x06, 0x47, 0x80, 0x48, 0x05, 0xD9, + 0x0C, 0xDA, 0x03, 0x9F, 0x0B, 0x00, 0x81, 0x14, 0xA1, 0x1C, 0xA2, 0x80, 0x1C, 0x0C, 0x00, 0x80, + 0x75, 0x02, 0xA2, 0x87, 0xA1, 0x8A, 0x75, 0x14, 0x00, 0x1D, 0xA1, 0x14, 0x03, 0x00, 0x87, 0x1C, + 0xA2, 0x15, 0x00, 0x81, 0x76, 0x00, 0x75, 0x03, 0x76, 0x82, 0x00, 0x1D, 0x8A, 0x02, 0x14, 0x81, + 0xA1, 0x81, 0x03, 0x75, 0x85, 0x81, 0xA1, 0x14, 0x00, 0x8A, 0x75, 0x03, 0x00, 0x81, 0x1D, 0xA1, + 0x04, 0x75, 0x84, 0xA1, 0x75, 0x00, 0x81, 0x76, 0x03, 0x00, 0x82, 0x17, 0xA2, 0x17, 0x05, 0x00, + 0x82, 0x17, 0xAB, 0x17, 0x03, 0x00, 0x89, 0x76, 0x81, 0x00, 0x15, 0xA1, 0x1D, 0x00, 0x1C, 0xA1, + 0x15, 0x40, 0x00, 0x06, 0x45, 0x08, 0x46, 0x06, 0x47, 0x06, 0xD9, 0x0C, 0xDA, 0x02, 0x9F, 0x08, + 0x00, 0x80, 0x75, 0x03, 0x81, 0x80, 0xA1, 0x05, 0xA2, 0x82, 0x8A, 0x81, 0x8A, 0x04, 0xA2, 0x82, + 0xA1, 0x81, 0x8A, 0x04, 0xA2, 0x82, 0xA1, 0x81, 0x8A, 0x06, 0xA2, 0x80, 0x8A, 0x02, 0x81, 0x81, + 0x76, 0x14, 0x08, 0x00, 0x81, 0x75, 0xA1, 0x02, 0x14, 0x04, 0x00, 0x81, 0x75, 0xA1, 0x04, 0x00, + 0x91, 0x1C, 0xA2, 0x16, 0x00, 0x1D, 0xA1, 0x14, 0x81, 0x1D, 0x1C, 0xA1, 0x14, 0x81, 0x75, 0x00, + 0x14, 0xAB, 0x76, 0x04, 0x1D, 0x80, 0x1C, 0x02, 0x00, 0x81, 0x8A, 0x75, 0x03, 0x00, 0x81, 0x75, + 0xA1, 0x05, 0x1D, 0x83, 0x17, 0x00, 0x81, 0x76, 0x03, 0x00, 0x82, 0x17, 0xA2, 0x17, 0x05, 0x00, + 0x82, 0x17, 0xAB, 0x17, 0x03, 0x00, 0x81, 0x76, 0x81, 0x02, 0x00, 0x84, 0x76, 0x8A, 0x00, 0x81, + 0x76, 0x41, 0x00, 0x07, 0x45, 0x08, 0x46, 0x05, 0x47, 0x07, 0xD9, 0x0C, 0xDA, 0x80, 0x9F, 0x08, + 0x00, 0x80, 0x75, 0x03, 0x81, 0x06, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, + 0x16, 0xAB, 0x03, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x8A, 0x03, 0x81, + 0x80, 0x14, 0x08, 0x00, 0x82, 0x75, 0xA1, 0x14, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x16, 0x03, 0x00, + 0x8D, 0x75, 0xA1, 0x14, 0x00, 0x17, 0xA2, 0x1C, 0xA1, 0x17, 0x15, 0xA1, 0x1C, 0xA1, 0x1C, 0x02, + 0x00, 0x81, 0xA1, 0x75, 0x07, 0x00, 0x81, 0x8A, 0x75, 0x03, 0x00, 0x82, 0x1C, 0xA2, 0x15, 0x06, + 0x00, 0x02, 0x81, 0x03, 0x00, 0x82, 0x17, 0xA2, 0x17, 0x05, 0x00, 0x82, 0x17, 0xAB, 0x17, 0x03, + 0x00, 0x81, 0x8A, 0x76, 0x02, 0x00, 0x84, 0x1C, 0xA2, 0x1C, 0xA1, 0x1C, 0x41, 0x00, 0x09, 0x45, + 0x07, 0x46, 0x04, 0x47, 0x08, 0xD9, 0x0C, 0xDA, 0x08, 0x00, 0x80, 0x14, 0x03, 0x15, 0x80, 0xA1, + 0x05, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x03, 0xA2, 0x80, + 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x1C, 0x02, 0x15, 0x80, 0x14, 0x09, 0x00, 0x82, + 0x75, 0xA1, 0x14, 0x05, 0x00, 0x87, 0x15, 0xA1, 0x76, 0x14, 0x00, 0x17, 0xA1, 0x75, 0x03, 0x00, + 0x03, 0x8A, 0x02, 0x00, 0x83, 0x81, 0x8A, 0xA1, 0x14, 0x02, 0x00, 0x82, 0x75, 0x8A, 0x16, 0x02, + 0x00, 0x81, 0x15, 0x17, 0x02, 0x00, 0x81, 0x8A, 0x75, 0x03, 0x00, 0x83, 0x15, 0xA1, 0x75, 0x14, + 0x02, 0x00, 0x8A, 0x17, 0x14, 0x00, 0x1D, 0xA2, 0x1C, 0x00, 0x17, 0x8A, 0xA2, 0x17, 0x05, 0x00, + 0x87, 0x17, 0xA2, 0x8A, 0x16, 0x00, 0x1C, 0xA2, 0x1C, 0x02, 0x00, 0x80, 0x14, 0x02, 0x8A, 0x81, + 0xA1, 0x14, 0x41, 0x00, 0x80, 0x65, 0x09, 0x45, 0x07, 0x46, 0x03, 0x47, 0x09, 0xD9, 0x0B, 0xDA, + 0x0B, 0x00, 0x81, 0x14, 0xA1, 0x05, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, + 0x15, 0xAB, 0x03, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x1C, 0x0C, 0x00, + 0x82, 0x75, 0xA1, 0x14, 0x06, 0x00, 0x80, 0x1C, 0x02, 0xA1, 0x83, 0x8A, 0xA1, 0x76, 0x14, 0x03, + 0x00, 0x82, 0x75, 0xA2, 0x76, 0x02, 0x00, 0x82, 0x75, 0xA2, 0x76, 0x03, 0x00, 0x86, 0x15, 0x81, + 0xA1, 0x81, 0x8A, 0xA1, 0x75, 0x02, 0x00, 0x81, 0x8A, 0x75, 0x04, 0x00, 0x8F, 0x1C, 0xA1, 0x8A, + 0x81, 0x8A, 0xA1, 0x16, 0x00, 0x14, 0x81, 0xA1, 0x8A, 0xA1, 0x1D, 0xA2, 0x17, 0x05, 0x00, 0x86, + 0x17, 0xA1, 0x75, 0xA1, 0x8A, 0xA2, 0x76, 0x04, 0x00, 0x82, 0x75, 0xA2, 0x75, 0x42, 0x00, 0x02, + 0x65, 0x09, 0x45, 0x07, 0x46, 0x02, 0x47, 0x0A, 0xD9, 0x0A, 0xDA, 0x08, 0x00, 0x80, 0x1C, 0x03, + 0x75, 0x80, 0xA1, 0x05, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, + 0x03, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x76, 0x03, 0x75, 0x80, 0x14, + 0x08, 0x00, 0x81, 0x15, 0x17, 0x08, 0x00, 0x80, 0x15, 0x02, 0x1C, 0x80, 0x17, 0x05, 0x00, 0x82, + 0x15, 0x1C, 0x15, 0x02, 0x00, 0x82, 0x15, 0x1C, 0x15, 0x05, 0x00, 0x80, 0x17, 0x02, 0x1C, 0x80, + 0x16, 0x03, 0x00, 0x81, 0x17, 0x16, 0x05, 0x00, 0x80, 0x15, 0x03, 0x1C, 0x80, 0x14, 0x03, 0x00, + 0x80, 0x14, 0x02, 0x1C, 0x83, 0x16, 0x00, 0x17, 0x14, 0x05, 0x00, 0x85, 0x14, 0x17, 0x00, 0x17, + 0x1C, 0x17, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x17, 0x42, 0x00, 0x03, 0x65, 0x09, 0x45, 0x07, 0x46, + 0x80, 0x47, 0x0B, 0xD9, 0x09, 0xDA, 0x08, 0x00, 0x80, 0x75, 0x03, 0x81, 0x06, 0xA2, 0x82, 0x1C, + 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x03, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, + 0xA1, 0x05, 0xA2, 0x80, 0x8A, 0x03, 0x81, 0x80, 0x15, 0x55, 0x00, 0x81, 0x76, 0x8A, 0x43, 0x00, + 0x04, 0x65, 0x09, 0x45, 0x07, 0x46, 0x0C, 0xD9, 0x08, 0xDA, 0x08, 0x00, 0x80, 0x16, 0x03, 0x1C, + 0x80, 0xA1, 0x05, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x03, + 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x75, 0x02, 0x1C, 0x80, 0x17, 0x55, + 0x00, 0x82, 0x15, 0xA1, 0x75, 0x43, 0x00, 0x05, 0x65, 0x09, 0x45, 0x06, 0x46, 0x0E, 0xD9, 0x06, + 0xDA, 0x0B, 0x00, 0x81, 0x14, 0xA1, 0x05, 0xA2, 0x82, 0x1C, 0x00, 0x1C, 0x04, 0xA2, 0x83, 0x75, + 0x00, 0x15, 0xAB, 0x03, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0xA1, 0x05, 0xA2, 0x80, 0x1C, 0x58, + 0x00, 0x82, 0x14, 0x1C, 0x14, 0x43, 0x00, 0x06, 0x65, 0x09, 0x45, 0x05, 0x46, 0x80, 0xD8, 0x0E, + 0xD9, 0x05, 0xDA, 0x08, 0x00, 0x80, 0x17, 0x03, 0x1C, 0x80, 0xA1, 0x05, 0xA2, 0x82, 0x1C, 0x00, + 0x1C, 0x04, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x03, 0xA2, 0x83, 0x76, 0x00, 0x14, 0xA1, 0x05, + 0xA2, 0x80, 0x75, 0x03, 0x1C, 0x7F, 0x00, 0x1C, 0x00, 0x07, 0x65, 0x09, 0x45, 0x04, 0x46, 0x80, + 0xD8, 0x0F, 0xD9, 0x04, 0xDA, 0x08, 0x00, 0x80, 0x75, 0x03, 0x81, 0x06, 0xA2, 0x83, 0x1D, 0x00, + 0x16, 0xAB, 0x03, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x03, 0xA2, 0x82, 0x75, 0x00, 0x15, 0x06, + 0xA2, 0x80, 0x8A, 0x03, 0x81, 0x80, 0x15, 0x0C, 0x00, 0x80, 0x15, 0x02, 0x17, 0x80, 0x15, 0x08, + 0x00, 0x02, 0x14, 0x0B, 0x00, 0x80, 0x14, 0x05, 0x00, 0x02, 0x14, 0x05, 0x00, 0x02, 0x14, 0x09, + 0x00, 0x06, 0x14, 0x03, 0x00, 0x82, 0x16, 0x1C, 0x14, 0x51, 0x00, 0x08, 0x65, 0x08, 0x45, 0x04, + 0x46, 0x02, 0xD8, 0x10, 0xD9, 0x02, 0xDA, 0x08, 0x00, 0x80, 0x1C, 0x03, 0x1D, 0x80, 0xA1, 0x05, + 0xA2, 0x80, 0x76, 0x02, 0x00, 0x80, 0x81, 0x03, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x02, 0xA2, + 0x83, 0xA1, 0x17, 0x00, 0x1C, 0x06, 0xA2, 0x80, 0x76, 0x03, 0x1D, 0x80, 0x14, 0x0A, 0x00, 0x82, + 0x1C, 0x81, 0xA1, 0x02, 0xAB, 0x82, 0xA1, 0x81, 0x1C, 0x05, 0x00, 0x80, 0x1C, 0x02, 0xA1, 0x81, + 0x81, 0x14, 0x07, 0x00, 0x81, 0x14, 0x81, 0x02, 0xA1, 0x80, 0x16, 0x03, 0x00, 0x82, 0x8A, 0xA1, + 0x14, 0x03, 0x00, 0x83, 0x16, 0x8A, 0xA1, 0x16, 0x07, 0x00, 0x80, 0x81, 0x06, 0xA1, 0x80, 0x76, + 0x02, 0x00, 0x82, 0x81, 0xA2, 0x1D, 0x51, 0x00, 0x09, 0x65, 0x09, 0x45, 0x02, 0x46, 0x04, 0xD8, + 0x0F, 0xD9, 0x80, 0xDA, 0x0B, 0x00, 0x81, 0x14, 0xA1, 0x05, 0xA2, 0x84, 0xA1, 0x15, 0x00, 0x17, + 0x8A, 0x02, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x02, 0xA2, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x81, + 0x06, 0xA2, 0x80, 0x1C, 0x0D, 0x00, 0x83, 0x75, 0xA2, 0xA1, 0x76, 0x02, 0x75, 0x80, 0x81, 0x02, + 0xA2, 0x80, 0x1D, 0x04, 0x00, 0x84, 0x1D, 0xA2, 0xA1, 0xA2, 0x1C, 0x07, 0x00, 0x84, 0x1C, 0xA2, + 0xA1, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x80, 0x14, 0x02, 0x00, 0x83, 0x14, 0x81, 0xA2, 0x1D, + 0x08, 0x00, 0x81, 0x8A, 0xA2, 0x05, 0x76, 0x80, 0x1C, 0x02, 0x00, 0x82, 0x75, 0x8A, 0x17, 0x51, + 0x00, 0x80, 0x66, 0x09, 0x65, 0x08, 0x45, 0x02, 0x46, 0x05, 0xD8, 0x0F, 0xD9, 0x08, 0x00, 0x80, + 0x15, 0x02, 0x16, 0x81, 0x17, 0xA1, 0x06, 0xA2, 0x80, 0x76, 0x02, 0x00, 0x88, 0x15, 0x75, 0x81, + 0x1D, 0x00, 0x15, 0x81, 0x75, 0x17, 0x02, 0x00, 0x80, 0x1D, 0x07, 0xA2, 0x80, 0x1D, 0x02, 0x16, + 0x80, 0x15, 0x09, 0x00, 0x83, 0x1C, 0xA2, 0x8A, 0x17, 0x04, 0x00, 0x83, 0x1C, 0xA1, 0xA2, 0x17, + 0x03, 0x00, 0x84, 0x1D, 0xA2, 0x76, 0xA2, 0x81, 0x07, 0x00, 0x84, 0x81, 0xA1, 0x76, 0xA2, 0x1C, + 0x03, 0x00, 0x02, 0xA1, 0x80, 0x14, 0x02, 0x00, 0x82, 0x76, 0xA2, 0x76, 0x09, 0x00, 0x82, 0x8A, + 0xA2, 0x15, 0x5B, 0x00, 0x02, 0x66, 0x09, 0x65, 0x08, 0x45, 0x80, 0x46, 0x06, 0xD8, 0x0E, 0xD9, + 0x08, 0x00, 0x80, 0x75, 0x03, 0x81, 0x08, 0xA2, 0x81, 0x76, 0x15, 0x09, 0x00, 0x81, 0x14, 0x75, + 0x08, 0xA2, 0x80, 0x8A, 0x03, 0x81, 0x80, 0x14, 0x07, 0x00, 0x83, 0x14, 0x8A, 0xA2, 0x17, 0x06, + 0x00, 0x82, 0x1D, 0xA2, 0x76, 0x03, 0x00, 0x85, 0x1D, 0xA2, 0x75, 0x81, 0xA2, 0x17, 0x05, 0x00, + 0x85, 0x17, 0xA2, 0x75, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x85, 0x14, 0x00, 0x1D, 0xA2, + 0x81, 0x14, 0x09, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, 0x82, 0x15, 0x17, 0x14, 0x02, 0x00, + 0x83, 0x14, 0x17, 0x14, 0x00, 0x02, 0x1C, 0x88, 0x15, 0x00, 0x14, 0x17, 0x14, 0x00, 0x17, 0x1C, + 0x17, 0x03, 0x00, 0x80, 0x14, 0x02, 0x1C, 0x80, 0x15, 0x03, 0x00, 0x82, 0x14, 0x17, 0x15, 0x04, + 0x00, 0x81, 0x16, 0x17, 0x05, 0x00, 0x81, 0x17, 0x16, 0x03, 0x00, 0x80, 0x15, 0x03, 0x1C, 0x80, + 0x14, 0x04, 0x00, 0x86, 0x14, 0x17, 0x14, 0x00, 0x17, 0x1C, 0x15, 0x03, 0x00, 0x81, 0x14, 0x17, + 0x02, 0x1C, 0x80, 0x14, 0x0B, 0x00, 0x03, 0x66, 0x09, 0x65, 0x08, 0x45, 0x08, 0xD8, 0x0C, 0xD9, + 0x08, 0x00, 0x80, 0x1D, 0x03, 0x76, 0x80, 0xA1, 0x08, 0xA2, 0x84, 0xA1, 0x75, 0x1C, 0x17, 0x15, + 0x02, 0x00, 0x83, 0x17, 0x1C, 0x75, 0x8A, 0x09, 0xA2, 0x80, 0x81, 0x03, 0x76, 0x80, 0x14, 0x07, + 0x00, 0x82, 0x1C, 0xA2, 0x81, 0x07, 0x00, 0x80, 0x15, 0x02, 0xA1, 0x80, 0x14, 0x02, 0x00, 0x85, + 0x1D, 0xA2, 0x75, 0x1C, 0xA2, 0x75, 0x05, 0x00, 0x85, 0x76, 0xA2, 0x17, 0x76, 0xA2, 0x1C, 0x03, + 0x00, 0x02, 0xA1, 0x84, 0x14, 0x17, 0xA1, 0x8A, 0x15, 0x0A, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, + 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x83, 0x1C, 0xA2, 0x1C, 0x81, 0x02, 0xA2, 0x85, 0x75, + 0x00, 0x1C, 0xA2, 0x1C, 0x76, 0x03, 0xA2, 0x83, 0x81, 0x15, 0x17, 0x8A, 0x02, 0xA2, 0x81, 0xA1, + 0x1C, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x76, 0x04, 0x00, 0x82, 0x8A, 0xA2, 0x17, 0x03, 0x00, 0x86, + 0x17, 0xA2, 0x76, 0x00, 0x15, 0x76, 0xA1, 0x03, 0xA2, 0x81, 0xA1, 0x1C, 0x03, 0x00, 0x83, 0x1C, + 0xA2, 0x1C, 0x76, 0x02, 0xA2, 0x80, 0x75, 0x02, 0x00, 0x81, 0x1C, 0x8A, 0x03, 0xA2, 0x81, 0xA1, + 0x1C, 0x0A, 0x00, 0x04, 0x66, 0x09, 0x65, 0x07, 0x45, 0x09, 0xD8, 0x0B, 0xD9, 0x0B, 0x00, 0x81, + 0x14, 0xA1, 0x0C, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x0C, 0xA2, 0x80, 0x1C, 0x0B, 0x00, 0x82, + 0x1D, 0xA2, 0x75, 0x08, 0x00, 0x82, 0x8A, 0xA2, 0x17, 0x02, 0x00, 0x86, 0x1D, 0xA2, 0x75, 0x14, + 0xA1, 0x8A, 0x14, 0x03, 0x00, 0x86, 0x15, 0xA1, 0x81, 0x00, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, + 0xA1, 0x83, 0x17, 0x8A, 0xA1, 0x17, 0x0B, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, 0x82, 0x75, + 0xA2, 0x17, 0x02, 0x00, 0x94, 0x1C, 0xA2, 0x8A, 0xA1, 0x75, 0x1D, 0x1C, 0x00, 0x1C, 0xA2, 0x8A, + 0xA1, 0x1D, 0x1C, 0x81, 0xA2, 0x81, 0xA1, 0x76, 0x1C, 0x1D, 0x02, 0xA1, 0x84, 0x15, 0x00, 0x15, + 0xA1, 0x8A, 0x03, 0x00, 0x80, 0x17, 0x02, 0xA2, 0x80, 0x1D, 0x03, 0x00, 0x86, 0x75, 0xA2, 0x1C, + 0x00, 0x1C, 0x8A, 0x1D, 0x02, 0x17, 0x80, 0x1D, 0x02, 0xA1, 0x80, 0x14, 0x02, 0x00, 0x90, 0x1C, + 0xA2, 0x8A, 0xA1, 0x75, 0x1D, 0x1C, 0x00, 0x1C, 0xA2, 0x8A, 0x1C, 0x16, 0x1C, 0x8A, 0xA1, 0x17, + 0x09, 0x00, 0x05, 0x66, 0x09, 0x65, 0x06, 0x45, 0x0A, 0xD8, 0x0A, 0xD9, 0x0B, 0x00, 0x81, 0x14, + 0xA1, 0x0C, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x0C, 0xA2, 0x80, 0x1C, 0x0B, 0x00, 0x82, 0x75, + 0xA2, 0x1D, 0x08, 0x00, 0x82, 0x81, 0xA2, 0x1C, 0x02, 0x00, 0x86, 0x1D, 0xA2, 0x75, 0x00, 0x75, + 0xA2, 0x1C, 0x03, 0x00, 0x86, 0x1D, 0xA2, 0x1C, 0x00, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, + 0x82, 0x81, 0xA2, 0x1C, 0x0C, 0x00, 0x81, 0x8A, 0xA2, 0x05, 0x1D, 0x80, 0x16, 0x02, 0x00, 0x82, + 0x75, 0xA2, 0x17, 0x02, 0x00, 0x80, 0x1C, 0x02, 0xA2, 0x80, 0x1C, 0x04, 0x00, 0x83, 0x1C, 0xA2, + 0x8A, 0x17, 0x02, 0x00, 0x80, 0x17, 0x02, 0xA2, 0x80, 0x75, 0x03, 0x00, 0x82, 0x75, 0xA2, 0x1C, + 0x02, 0x00, 0x82, 0x81, 0xAB, 0x17, 0x02, 0x00, 0x80, 0x1D, 0x02, 0xA2, 0x80, 0x81, 0x03, 0x00, + 0x83, 0x81, 0xA1, 0x15, 0x00, 0x02, 0x14, 0x04, 0x00, 0x82, 0x76, 0xA2, 0x17, 0x02, 0x00, 0x80, + 0x1C, 0x02, 0xA2, 0x80, 0x1C, 0x04, 0x00, 0x82, 0x81, 0xA1, 0x15, 0x03, 0x00, 0x82, 0x17, 0xA2, + 0x76, 0x09, 0x00, 0x06, 0x66, 0x08, 0x65, 0x06, 0x45, 0x0C, 0xD8, 0x08, 0xD9, 0x08, 0x00, 0x80, + 0x1D, 0x03, 0x76, 0x80, 0xA1, 0x0C, 0xA2, 0x83, 0x75, 0x00, 0x15, 0xAB, 0x0C, 0xA2, 0x80, 0x81, + 0x03, 0x76, 0x80, 0x14, 0x07, 0x00, 0x82, 0x75, 0xA2, 0x1D, 0x08, 0x00, 0x82, 0x81, 0xA2, 0x1C, + 0x02, 0x00, 0x86, 0x1D, 0xA2, 0x75, 0x00, 0x17, 0xA2, 0x81, 0x03, 0x00, 0x86, 0x8A, 0xA1, 0x14, + 0x00, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x82, 0x76, 0xA2, 0x76, 0x0C, 0x00, 0x80, 0x8A, + 0x06, 0xA2, 0x80, 0x1C, 0x02, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x75, + 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x02, 0xA1, 0x80, 0x14, 0x03, 0x00, 0x82, 0x1D, + 0xA2, 0x1D, 0x02, 0x00, 0x82, 0x1D, 0xA2, 0x75, 0x02, 0x00, 0x88, 0x76, 0x8A, 0x81, 0xA1, 0x15, + 0x00, 0x15, 0xA1, 0x81, 0x08, 0x00, 0x82, 0x75, 0xA2, 0x1C, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x76, + 0x04, 0x00, 0x82, 0x16, 0xA2, 0x76, 0x04, 0x00, 0x82, 0x14, 0xA1, 0x8A, 0x09, 0x00, 0x80, 0x44, + 0x06, 0x66, 0x08, 0x65, 0x05, 0x45, 0x0D, 0xD8, 0x07, 0xD9, 0x08, 0x00, 0x80, 0x75, 0x03, 0x81, + 0x0D, 0xA2, 0x83, 0x81, 0x1D, 0x75, 0xAB, 0x0C, 0xA2, 0x80, 0x8A, 0x03, 0x81, 0x80, 0x14, 0x07, + 0x00, 0x82, 0x75, 0xA2, 0x75, 0x08, 0x00, 0x82, 0x81, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1D, 0xA2, + 0x75, 0x02, 0x00, 0x86, 0x8A, 0xA2, 0x16, 0x00, 0x1C, 0xA2, 0x75, 0x02, 0x00, 0x82, 0x76, 0xA2, + 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x83, 0x15, 0x8A, 0xA2, 0x1D, 0x0B, 0x00, 0x81, 0x8A, 0xA2, 0x05, + 0x17, 0x80, 0x14, 0x02, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x05, + 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x82, 0x8A, 0xA1, 0x14, 0x03, 0x00, 0x82, 0x1C, 0xA2, + 0x75, 0x02, 0x00, 0x8D, 0x16, 0xA2, 0x81, 0x00, 0x14, 0xA1, 0x75, 0x1D, 0xA2, 0x1C, 0x00, 0x1C, + 0xA2, 0x1D, 0x03, 0x00, 0x82, 0x14, 0x1C, 0x75, 0x02, 0x76, 0x82, 0x8A, 0xA2, 0x1C, 0x02, 0x00, + 0x82, 0x1C, 0xA2, 0x75, 0x04, 0x00, 0x82, 0x17, 0xA2, 0xA1, 0x05, 0x81, 0x02, 0xA1, 0x09, 0x00, + 0x02, 0x44, 0x05, 0x66, 0x09, 0x65, 0x04, 0x45, 0x80, 0xD7, 0x0E, 0xD8, 0x05, 0xD9, 0x08, 0x00, + 0x80, 0x14, 0x02, 0x15, 0x81, 0x16, 0xA1, 0x1C, 0xA2, 0x80, 0x1C, 0x03, 0x15, 0x08, 0x00, 0x82, + 0x1D, 0xA2, 0x76, 0x07, 0x00, 0x80, 0x14, 0x02, 0xA1, 0x80, 0x15, 0x02, 0x00, 0x82, 0x1D, 0xA2, + 0x75, 0x02, 0x00, 0x86, 0x1D, 0xA2, 0x75, 0x00, 0x76, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x76, 0xA2, + 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x81, 0x14, 0x17, 0x02, 0xA1, 0x80, 0x17, 0x0A, 0x00, 0x82, 0x8A, + 0xA2, 0x15, 0x07, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x05, 0x00, + 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x82, 0x8A, 0xA1, 0x14, 0x03, 0x00, 0x82, 0x1C, 0xA2, 0x75, + 0x03, 0x00, 0x8C, 0x81, 0xA2, 0x15, 0x17, 0xA2, 0x1C, 0x16, 0xA2, 0x76, 0x00, 0x76, 0xA2, 0x16, + 0x02, 0x00, 0x83, 0x16, 0x8A, 0xA2, 0x81, 0x02, 0x76, 0x82, 0x81, 0xA2, 0x1C, 0x02, 0x00, 0x82, + 0x1C, 0xA2, 0x75, 0x04, 0x00, 0x82, 0x1C, 0xA2, 0x8A, 0x06, 0x75, 0x80, 0x1C, 0x09, 0x00, 0x80, + 0x67, 0x02, 0x44, 0x05, 0x66, 0x09, 0x65, 0x03, 0x45, 0x02, 0xD7, 0x0E, 0xD8, 0x04, 0xD9, 0x0C, + 0x00, 0x80, 0x8A, 0x1C, 0xA2, 0x80, 0x1C, 0x0B, 0x00, 0x83, 0x17, 0xA2, 0x8A, 0x14, 0x06, 0x00, + 0x82, 0x1C, 0xA2, 0x81, 0x03, 0x00, 0x82, 0x1D, 0xA2, 0x75, 0x02, 0x00, 0x85, 0x15, 0xA1, 0x8A, + 0x16, 0xA1, 0x81, 0x03, 0x00, 0x82, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x85, 0x14, 0x00, + 0x1C, 0xA2, 0x8A, 0x15, 0x09, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, 0x82, 0x75, 0xA2, 0x17, + 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x82, 0x8A, + 0xA1, 0x14, 0x03, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x03, 0x00, 0x86, 0x75, 0xA2, 0x1C, 0x75, 0xA2, + 0x15, 0x00, 0x02, 0x8A, 0x82, 0x14, 0xA1, 0x81, 0x03, 0x00, 0x82, 0x76, 0xA2, 0x1C, 0x03, 0x00, + 0x82, 0x75, 0xA2, 0x1C, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x04, 0x00, 0x82, 0x17, 0xA2, 0x76, + 0x10, 0x00, 0x80, 0x67, 0x03, 0x44, 0x05, 0x66, 0x08, 0x65, 0x03, 0x45, 0x03, 0xD7, 0x0F, 0xD8, + 0x02, 0xD9, 0x0C, 0x00, 0x80, 0x76, 0x1B, 0xA2, 0x81, 0xA1, 0x14, 0x0C, 0x00, 0x82, 0x8A, 0xA2, + 0x1D, 0x05, 0x00, 0x83, 0x15, 0x8A, 0xA2, 0x1C, 0x03, 0x00, 0x82, 0x1D, 0xA2, 0x75, 0x03, 0x00, + 0x84, 0x76, 0xA2, 0x81, 0xA2, 0x1C, 0x03, 0x00, 0x82, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, + 0x80, 0x14, 0x02, 0x00, 0x82, 0x76, 0xA2, 0x76, 0x09, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, + 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x1D, + 0x04, 0x00, 0x82, 0x8A, 0xA1, 0x14, 0x03, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x03, 0x00, 0x82, 0x17, + 0xA2, 0x76, 0x02, 0x81, 0x02, 0x00, 0x84, 0x75, 0xA2, 0x1D, 0xAB, 0x75, 0x03, 0x00, 0x82, 0x8A, + 0xA1, 0x14, 0x03, 0x00, 0x82, 0x75, 0xA2, 0x1C, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x04, 0x00, + 0x80, 0x14, 0x02, 0xA1, 0x80, 0x14, 0x0F, 0x00, 0x02, 0x67, 0x02, 0x44, 0x06, 0x66, 0x08, 0x65, + 0x02, 0x45, 0x04, 0xD7, 0x10, 0xD8, 0x0C, 0x00, 0x81, 0x16, 0xA1, 0x1A, 0xA2, 0x80, 0x1D, 0x0D, + 0x00, 0x80, 0x1C, 0x02, 0xA2, 0x81, 0x75, 0x16, 0x02, 0x14, 0x84, 0x1C, 0x8A, 0xA2, 0x81, 0x14, + 0x03, 0x00, 0x82, 0x1D, 0xA2, 0x75, 0x03, 0x00, 0x80, 0x1C, 0x02, 0xA2, 0x81, 0x8A, 0x14, 0x03, + 0x00, 0x82, 0x76, 0xA2, 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x80, 0x14, 0x02, 0x00, 0x83, 0x15, 0x8A, + 0xA2, 0x1D, 0x08, 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, + 0x82, 0x1C, 0xA2, 0x1D, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x82, 0x8A, 0xA1, 0x14, + 0x03, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x04, 0x00, 0x80, 0x8A, 0x02, 0xA1, 0x80, 0x75, 0x02, 0x00, + 0x84, 0x1C, 0xA2, 0xA1, 0xAB, 0x17, 0x03, 0x00, 0x82, 0x81, 0xA2, 0x1C, 0x02, 0x00, 0x83, 0x1C, + 0xA1, 0xA2, 0x1C, 0x02, 0x00, 0x82, 0x1C, 0xA2, 0x75, 0x05, 0x00, 0x83, 0x75, 0xA2, 0x76, 0x15, + 0x02, 0x00, 0x82, 0x14, 0x1C, 0x17, 0x09, 0x00, 0x03, 0x67, 0x02, 0x44, 0x05, 0x66, 0x09, 0x65, + 0x80, 0x45, 0x06, 0xD7, 0x0E, 0xD8, 0x0D, 0x00, 0x81, 0x17, 0x81, 0x17, 0xA2, 0x81, 0xA1, 0x1C, + 0x0F, 0x00, 0x84, 0x1C, 0xA1, 0xA2, 0xAB, 0xA1, 0x02, 0xA2, 0x03, 0xA1, 0x80, 0x1C, 0x03, 0x00, + 0x82, 0x1D, 0xA2, 0x75, 0x03, 0x00, 0x83, 0x14, 0x8A, 0xA2, 0x75, 0x04, 0x00, 0x82, 0x76, 0xA2, + 0x1C, 0x03, 0x00, 0x02, 0xA1, 0x80, 0x14, 0x03, 0x00, 0x80, 0x17, 0x02, 0xA1, 0x80, 0x17, 0x07, + 0x00, 0x82, 0x8A, 0xA2, 0x15, 0x07, 0x00, 0x82, 0x75, 0xA2, 0x17, 0x02, 0x00, 0x82, 0x1C, 0xA2, + 0x1D, 0x05, 0x00, 0x82, 0x1C, 0xA2, 0x1D, 0x04, 0x00, 0x82, 0x8A, 0xA1, 0x14, 0x03, 0x00, 0x82, + 0x1C, 0xA2, 0x75, 0x04, 0x00, 0x80, 0x75, 0x02, 0xA2, 0x80, 0x1C, 0x02, 0x00, 0x83, 0x14, 0xA1, + 0xA2, 0x8A, 0x04, 0x00, 0x88, 0x1C, 0xA1, 0xA2, 0x81, 0x8A, 0xA1, 0x76, 0xA2, 0x1C, 0x02, 0x00, + 0x82, 0x1C, 0xA2, 0x75, 0x05, 0x00, 0x83, 0x14, 0x81, 0xA2, 0xA1, 0x02, 0x8A, 0x82, 0xA1, 0xAB, + 0x1D, 0x09, 0x00, 0x80, 0x68, 0x03, 0x67, 0x02, 0x44, 0x05, 0x66, 0x09, 0x65, 0x07, 0xD7, 0x0D, + 0xD8, 0x0F, 0x00, 0x83, 0x16, 0x1C, 0x81, 0x8A, 0x02, 0x1C, 0x86, 0x75, 0x81, 0x75, 0x1C, 0x1D, + 0x81, 0x76, 0x02, 0x1C, 0x02, 0x81, 0x02, 0x1C, 0x02, 0x81, 0x82, 0x1C, 0x17, 0x14, 0x11, 0x00, + 0x82, 0x15, 0x1C, 0x75, 0x02, 0x76, 0x8A, 0x1D, 0x16, 0x1C, 0xA1, 0xA2, 0x81, 0x1C, 0x00, 0x17, + 0x75, 0x17, 0x04, 0x00, 0x82, 0x1C, 0x75, 0x15, 0x04, 0x00, 0x82, 0x1C, 0x75, 0x15, 0x03, 0x00, + 0x02, 0x1D, 0x80, 0x14, 0x04, 0x00, 0x82, 0x1C, 0x75, 0x17, 0x07, 0x00, 0x82, 0x1D, 0x75, 0x14, + 0x07, 0x00, 0x82, 0x1C, 0x75, 0x15, 0x02, 0x00, 0x82, 0x17, 0x75, 0x17, 0x05, 0x00, 0x82, 0x17, + 0x75, 0x17, 0x04, 0x00, 0x02, 0x1D, 0x04, 0x00, 0x82, 0x17, 0x75, 0x17, 0x04, 0x00, 0x80, 0x17, + 0x02, 0x75, 0x80, 0x14, 0x03, 0x00, 0x82, 0x1C, 0x75, 0x1C, 0x05, 0x00, 0x87, 0x17, 0x75, 0x76, + 0x75, 0x17, 0x15, 0x75, 0x16, 0x02, 0x00, 0x82, 0x16, 0x75, 0x1C, 0x07, 0x00, 0x81, 0x1C, 0x75, + 0x02, 0x76, 0x81, 0x75, 0x17, 0x0A, 0x00, 0x02, 0x68, 0x03, 0x67, 0x80, 0x44, 0x06, 0x66, 0x08, + 0x65, 0x80, 0xD6, 0x08, 0xD7, 0x0B, 0xD8, 0x11, 0x00, 0x93, 0x76, 0x81, 0x16, 0x00, 0x1D, 0x81, + 0x1C, 0x00, 0x1C, 0x81, 0x75, 0x00, 0x15, 0x81, 0x76, 0x14, 0x00, 0x76, 0x81, 0x17, 0x1B, 0x00, + 0x84, 0x16, 0x76, 0xA2, 0xA1, 0x15, 0x7F, 0x00, 0x04, 0x00, 0x02, 0x68, 0x03, 0x67, 0x02, 0x44, + 0x06, 0x66, 0x07, 0x65, 0x02, 0xD6, 0x09, 0xD7, 0x09, 0xD8, 0x11, 0x00, 0x93, 0x76, 0x81, 0x16, + 0x00, 0x1D, 0x81, 0x1C, 0x00, 0x1C, 0x81, 0x75, 0x00, 0x15, 0x81, 0x76, 0x14, 0x00, 0x76, 0x81, + 0x17, 0x1D, 0x00, 0x82, 0x17, 0x75, 0x14, 0x7F, 0x00, 0x04, 0x00, 0x03, 0x68, 0x03, 0x67, 0x03, + 0x44, 0x04, 0x66, 0x07, 0x65, 0x03, 0xD6, 0x09, 0xD7, 0x08, 0xD8, 0x11, 0x00, 0x8E, 0x75, 0x81, + 0x15, 0x00, 0x1C, 0x81, 0x1C, 0x00, 0x17, 0x81, 0x1D, 0x00, 0x14, 0x81, 0x76, 0x02, 0x00, 0x82, + 0x75, 0x81, 0x16, 0x7F, 0x00, 0x24, 0x00, 0x80, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x05, + 0x66, 0x06, 0x65, 0x05, 0xD6, 0x09, 0xD7, 0x06, 0xD8, 0x12, 0x00, 0x80, 0x14, 0x03, 0x00, 0x80, + 0x14, 0x03, 0x00, 0x80, 0x14, 0x03, 0x00, 0x80, 0x14, 0x04, 0x00, 0x80, 0x14, 0x7F, 0x00, 0x25, + 0x00, 0x80, 0x69, 0x04, 0x68, 0x02, 0x67, 0x03, 0x44, 0x05, 0x66, 0x05, 0x65, 0x07, 0xD6, 0x09, + 0xD7, 0x04, 0xD8, 0x7F, 0x00, 0x49, 0x00, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x06, + 0x66, 0x04, 0x65, 0x02, 0xD5, 0x06, 0xD6, 0x0A, 0xD7, 0x02, 0xD8, 0x7F, 0x00, 0x49, 0x00, 0x03, + 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x05, 0x66, 0x04, 0x65, 0x03, 0xD5, 0x07, 0xD6, 0x0A, + 0xD7, 0x7F, 0x00, 0x49, 0x00, 0x80, 0x6A, 0x03, 0x69, 0x03, 0x68, 0x02, 0x67, 0x02, 0x44, 0x06, + 0x66, 0x03, 0x65, 0x05, 0xD5, 0x07, 0xD6, 0x08, 0xD7, 0x7F, 0x00, 0x49, 0x00, 0x02, 0x6A, 0x02, + 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x05, 0x66, 0x03, 0x65, 0x07, 0xD5, 0x07, 0xD6, 0x06, + 0xD7, 0x7F, 0x00, 0x49, 0x00, 0x80, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x02, 0x67, 0x02, + 0x44, 0x06, 0x66, 0x02, 0x65, 0x02, 0xD4, 0x06, 0xD5, 0x08, 0xD6, 0x04, 0xD7, 0x80, 0x16, 0x7F, + 0x00, 0x47, 0x00, 0x80, 0x15, 0x02, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, + 0x44, 0x05, 0x66, 0x02, 0x65, 0x04, 0xD4, 0x06, 0xD5, 0x08, 0xD6, 0x02, 0xD7, 0x80, 0x17, 0x7F, + 0x00, 0x47, 0x00, 0x80, 0x17, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, + 0x44, 0x05, 0x66, 0x80, 0x65, 0x06, 0xD4, 0x06, 0xD5, 0x08, 0xD6, 0x81, 0xD2, 0x14, 0x7F, 0x00, + 0x45, 0x00, 0x81, 0x14, 0x33, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x04, 0x68, 0x02, 0x67, 0x02, + 0x44, 0x06, 0x66, 0x80, 0xD3, 0x06, 0xD4, 0x07, 0xD5, 0x07, 0xD6, 0x81, 0x1D, 0x14, 0x7F, 0x00, + 0x43, 0x00, 0x81, 0x14, 0x33, 0x02, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x02, + 0x67, 0x03, 0x44, 0x05, 0x66, 0x02, 0xD3, 0x08, 0xD4, 0x07, 0xD5, 0x05, 0xD6, 0x81, 0xD3, 0x1C, + 0x7F, 0x16, 0x1D, 0x16, 0x24, 0x15, 0x81, 0x17, 0x33, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, + 0x69, 0x03, 0x68, 0x02, 0x67, 0x02, 0x44, 0x05, 0x66, 0x04, 0xD3, 0x07, 0xD4, 0x08, 0xD5, 0x0A, + 0xD6, 0x12, 0xD7, 0x15, 0xD8, 0x0D, 0xD7, 0x06, 0xD6, 0x03, 0xD5, 0x03, 0xD4, 0x03, 0xD3, 0x02, + 0xD2, 0x02, 0xD1, 0x02, 0xD0, 0x82, 0x9D, 0xCF, 0xCE, 0x02, 0xCD, 0x02, 0xCC, 0xA1, 0xCB, 0xC2, + 0xC1, 0xC0, 0xBE, 0xBD, 0xBB, 0xBA, 0xB9, 0xB7, 0xB5, 0xC3, 0xC4, 0xC6, 0xC7, 0xC9, 0xDB, 0xDD, + 0xDF, 0xE1, 0xE2, 0xE4, 0xE5, 0xE8, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, + 0x02, 0xF4, 0x80, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x80, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, + 0x80, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, + 0x80, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x80, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x80, 0x91, 0x02, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, + 0x03, 0x67, 0x02, 0x44, 0x04, 0x66, 0x06, 0xD3, 0x08, 0xD4, 0x08, 0xD5, 0x0A, 0xD6, 0x2E, 0xD7, + 0x06, 0xD6, 0x04, 0xD5, 0x03, 0xD4, 0x04, 0xD3, 0x02, 0xD2, 0x02, 0xD1, 0x02, 0xD0, 0x81, 0x9D, + 0xCF, 0x02, 0xCE, 0x80, 0xCD, 0x02, 0xCC, 0x80, 0xCB, 0x02, 0xC2, 0x9E, 0xC0, 0xBF, 0xBD, 0xBC, + 0xBB, 0xBA, 0xB8, 0xB7, 0xB5, 0xC3, 0xC5, 0xC6, 0xC8, 0xC9, 0xDB, 0xDD, 0xDF, 0xE1, 0xE2, 0xE3, + 0xE5, 0xE8, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0x02, 0xF3, 0x80, 0xF4, 0x02, + 0xF5, 0x80, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x80, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x81, + 0xFD, 0xB0, 0x02, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, + 0x80, 0xAE, 0x02, 0xAD, 0x80, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, + 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x80, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, + 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x03, 0x68, 0x03, 0x67, + 0x02, 0x44, 0x03, 0x66, 0x08, 0xD3, 0x08, 0xD4, 0x08, 0xD5, 0x0B, 0xD6, 0x27, 0xD7, 0x07, 0xD6, + 0x05, 0xD5, 0x04, 0xD4, 0x03, 0xD3, 0x03, 0xD2, 0x02, 0xD1, 0x02, 0xD0, 0x81, 0x9D, 0xCF, 0x02, + 0xCE, 0x80, 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0xA0, 0xC2, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBB, 0xB9, + 0xB8, 0xB6, 0xC3, 0xC4, 0xC5, 0xC7, 0xC8, 0xCA, 0xDB, 0xDD, 0xE0, 0xE1, 0xE2, 0xE4, 0xE5, 0xE8, + 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0x02, 0xF3, 0x80, 0xF4, 0x02, 0xF5, 0x02, + 0xF6, 0x80, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x80, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, + 0xFE, 0x02, 0xFF, 0x81, 0xB4, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, + 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, 0x02, 0xA5, 0x02, 0xA4, + 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, + 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, + 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x03, 0x66, + 0x02, 0xD2, 0x08, 0xD3, 0x09, 0xD4, 0x09, 0xD5, 0x0D, 0xD6, 0x1D, 0xD7, 0x09, 0xD6, 0x05, 0xD5, + 0x04, 0xD4, 0x04, 0xD3, 0x03, 0xD2, 0x02, 0xD1, 0x02, 0xD0, 0x81, 0x9D, 0xCF, 0x02, 0xCE, 0x02, + 0xCD, 0x80, 0xCC, 0x02, 0xCB, 0xA0, 0xC2, 0xC1, 0xC0, 0xBF, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB7, + 0xB5, 0xC3, 0xC4, 0xC6, 0xC7, 0xC8, 0xCA, 0xDC, 0xDE, 0xE0, 0xE1, 0xE2, 0xE4, 0xE5, 0xE8, 0xE9, + 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0x02, 0xF2, 0x80, 0xF3, 0x02, 0xF4, 0x80, 0xF5, 0x02, + 0xF6, 0x02, 0xF7, 0x80, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x80, 0xFB, 0x03, 0xFC, 0x82, 0xFD, 0xB0, + 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x80, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, + 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, + 0x83, 0x03, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x02, + 0x66, 0x04, 0xD2, 0x09, 0xD3, 0x09, 0xD4, 0x09, 0xD5, 0x11, 0xD6, 0x0F, 0xD7, 0x0D, 0xD6, 0x05, + 0xD5, 0x05, 0xD4, 0x04, 0xD3, 0x03, 0xD2, 0x03, 0xD1, 0x02, 0xD0, 0x02, 0xCF, 0x02, 0xCE, 0x02, + 0xCD, 0x80, 0xCC, 0x02, 0xCB, 0x02, 0xC2, 0x83, 0xC0, 0xBF, 0xBE, 0xBD, 0x02, 0xBB, 0x99, 0xB9, + 0xB8, 0xB6, 0xB5, 0xC3, 0xC5, 0xC6, 0xC7, 0xC9, 0xCA, 0xDC, 0xDE, 0xE0, 0xE1, 0xE2, 0xE4, 0xE6, + 0xE8, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0x02, 0xF2, 0x80, 0xF3, 0x02, 0xF4, 0x80, + 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x80, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, + 0xFD, 0x02, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, 0x02, + 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, 0x02, + 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, + 0x8D, 0x02, 0x8C, 0x80, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, + 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, + 0x44, 0x02, 0x66, 0x06, 0xD2, 0x0A, 0xD3, 0x08, 0xD4, 0x0B, 0xD5, 0x25, 0xD6, 0x07, 0xD5, 0x05, + 0xD4, 0x05, 0xD3, 0x02, 0xD2, 0x03, 0xD1, 0x03, 0xD0, 0x02, 0xCF, 0x02, 0xCE, 0x02, 0xCD, 0x02, + 0xCC, 0x80, 0xCB, 0x02, 0xC2, 0xA0, 0xC1, 0xC0, 0xBE, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB7, 0xB6, + 0xC3, 0xC4, 0xC5, 0xC6, 0xC8, 0xC9, 0xDB, 0xDD, 0xDF, 0xE0, 0xE1, 0xE3, 0xE4, 0xE6, 0xE8, 0xE9, + 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0x02, 0xF2, 0x80, 0xF3, 0x02, 0xF4, 0x80, 0xF5, 0x02, + 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x80, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, + 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x80, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, + 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x03, 0x68, 0x02, 0x67, 0x02, 0x44, 0x02, + 0x66, 0x02, 0xD1, 0x07, 0xD2, 0x09, 0xD3, 0x0A, 0xD4, 0x0E, 0xD5, 0x19, 0xD6, 0x09, 0xD5, 0x06, + 0xD4, 0x05, 0xD3, 0x03, 0xD2, 0x03, 0xD1, 0x02, 0xD0, 0x80, 0x9D, 0x02, 0xCF, 0x02, 0xCE, 0x02, + 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0xA1, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBB, 0xBA, 0xB9, 0xB8, + 0xB7, 0xB5, 0xC3, 0xC4, 0xC6, 0xC7, 0xC8, 0xC9, 0xDB, 0xDD, 0xDF, 0xE1, 0xE2, 0xE3, 0xE4, 0xE6, + 0xE8, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x81, 0xF2, 0xF3, 0x02, 0xF4, 0x02, + 0xF5, 0x80, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x81, + 0xFD, 0xB0, 0x02, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, + 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, + 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, + 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, + 0x02, 0x44, 0x80, 0x66, 0x04, 0xD1, 0x07, 0xD2, 0x09, 0xD3, 0x0C, 0xD4, 0x15, 0xD5, 0x80, 0xD6, + 0x12, 0xD5, 0x07, 0xD4, 0x06, 0xD3, 0x03, 0xD2, 0x03, 0xD1, 0x03, 0xD0, 0x80, 0x9D, 0x02, 0xCF, + 0x02, 0xCE, 0x02, 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0xA2, 0xC2, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, + 0xBB, 0xBA, 0xB9, 0xB7, 0xB6, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC9, 0xCA, 0xDC, 0xDD, 0xDF, 0xE1, + 0xE2, 0xE3, 0xE4, 0xE6, 0xE8, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, + 0x02, 0xF3, 0x80, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x80, 0xF8, 0x02, 0xF9, 0x02, 0xFA, + 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x81, 0xB2, + 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x02, 0xA6, 0x80, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x80, 0x85, 0x03, 0x84, 0x02, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x04, + 0x68, 0x02, 0x67, 0x02, 0x44, 0x80, 0x66, 0x07, 0xD1, 0x06, 0xD2, 0x0B, 0xD3, 0x0D, 0xD4, 0x1F, + 0xD5, 0x08, 0xD4, 0x07, 0xD3, 0x04, 0xD2, 0x03, 0xD1, 0x02, 0xD0, 0x02, 0x9D, 0x02, 0xCF, 0x02, + 0xCE, 0x02, 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0x81, 0xC2, 0xC1, 0x02, 0xC0, 0x9F, 0xBE, 0xBD, 0xBC, + 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC9, 0xCA, 0xDC, 0xDE, 0xE0, + 0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE8, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, + 0xF2, 0x02, 0xF3, 0x80, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x80, 0xF9, 0x02, + 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, + 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x80, + 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, + 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x80, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, + 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, + 0x69, 0x03, 0x68, 0x03, 0x67, 0x02, 0x44, 0x80, 0xD0, 0x08, 0xD1, 0x08, 0xD2, 0x0A, 0xD3, 0x10, + 0xD4, 0x81, 0xD5, 0xD4, 0x11, 0xD5, 0x0B, 0xD4, 0x07, 0xD3, 0x05, 0xD2, 0x03, 0xD1, 0x03, 0xD0, + 0x80, 0x9D, 0x02, 0xCF, 0x02, 0xCE, 0x03, 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0x02, 0xC2, 0x84, 0xC1, + 0xC0, 0xBF, 0xBE, 0xBD, 0x02, 0xBB, 0x83, 0xBA, 0xB9, 0xB7, 0xB6, 0x02, 0xC3, 0x92, 0xC5, 0xC6, + 0xC7, 0xC8, 0xC9, 0xDB, 0xDC, 0xDE, 0xE0, 0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE8, 0xE9, 0xEB, 0xEC, + 0xED, 0x02, 0xEE, 0x80, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x80, 0xF5, 0x02, + 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x80, 0xFB, 0x03, 0xFC, 0x80, 0xFD, 0x03, + 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x80, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, + 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x02, 0x68, 0x03, 0x67, 0x02, 0x44, 0x04, + 0xD0, 0x07, 0xD1, 0x09, 0xD2, 0x0D, 0xD3, 0x24, 0xD4, 0x09, 0xD3, 0x04, 0xD2, 0x04, 0xD1, 0x04, + 0xD0, 0x80, 0x9D, 0x02, 0xCF, 0x02, 0xCE, 0x03, 0xCD, 0x02, 0xCC, 0x02, 0xCB, 0x02, 0xC2, 0xA3, + 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0xBB, 0xBA, 0xB9, 0xB8, 0xB6, 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, + 0xC7, 0xC9, 0xCA, 0xDB, 0xDD, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE5, 0xE7, 0xE8, 0xEA, 0xEB, 0xEC, + 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x80, 0xF5, 0x02, 0xF6, + 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, + 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x80, 0xAD, + 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, + 0x02, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x80, 0x8C, + 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, + 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x80, 0x44, 0x05, 0xD0, + 0x0A, 0xD1, 0x07, 0xD2, 0x0E, 0xD3, 0x81, 0xD4, 0xD3, 0x19, 0xD4, 0x0C, 0xD3, 0x05, 0xD2, 0x05, + 0xD1, 0x03, 0xD0, 0x80, 0x9D, 0x02, 0xCF, 0x03, 0xCE, 0x02, 0xCD, 0x03, 0xCC, 0x02, 0xCB, 0x02, + 0xC2, 0x85, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0xBC, 0x02, 0xBB, 0x9C, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, + 0xC3, 0xC4, 0xC5, 0xC7, 0xC8, 0xC9, 0xDB, 0xDC, 0xDD, 0xDF, 0xE0, 0xE2, 0xE3, 0xE4, 0xE5, 0xE7, + 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, + 0x80, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, + 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, + 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, + 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, + 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, + 0x81, 0x44, 0x9D, 0x07, 0xD0, 0x09, 0xD1, 0x0A, 0xD2, 0x16, 0xD3, 0x03, 0xD4, 0x13, 0xD3, 0x06, + 0xD2, 0x06, 0xD1, 0x03, 0xD0, 0x80, 0x9D, 0x03, 0xCF, 0x03, 0xCE, 0x02, 0xCD, 0x03, 0xCC, 0x02, + 0xCB, 0x02, 0xC2, 0x84, 0xC1, 0xC0, 0xBF, 0xBE, 0xBD, 0x02, 0xBC, 0x9E, 0xBB, 0xBA, 0xB9, 0xB8, + 0xB6, 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xDB, 0xDD, 0xDE, 0xE0, 0xE1, 0xE2, 0xE3, + 0xE4, 0xE5, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, + 0xF3, 0x02, 0xF4, 0x80, 0xF5, 0x03, 0xF6, 0x80, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, + 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x80, + 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x02, + 0x68, 0x03, 0x67, 0x81, 0x44, 0xCF, 0x03, 0x9D, 0x06, 0xD0, 0x0A, 0xD1, 0x0B, 0xD2, 0x24, 0xD3, + 0x07, 0xD2, 0x06, 0xD1, 0x04, 0xD0, 0x02, 0x9D, 0x02, 0xCF, 0x03, 0xCE, 0x03, 0xCD, 0x02, 0xCC, + 0x03, 0xCB, 0x02, 0xC2, 0x82, 0xC1, 0xC0, 0xBF, 0x02, 0xBE, 0x82, 0xBD, 0xBC, 0xBB, 0x02, 0xBA, + 0x97, 0xB8, 0xB7, 0xB6, 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC9, 0xCA, 0xDB, 0xDD, 0xDE, 0xE0, + 0xE1, 0xE2, 0xE3, 0xE4, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0x02, 0xED, 0x82, 0xEE, 0xEF, 0xF0, 0x02, + 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x80, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x80, + 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x80, 0xFF, 0x02, + 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, + 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x80, + 0x92, 0x03, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, + 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x03, 0x84, 0x02, 0x83, 0x02, 0x82, 0x03, + 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x03, 0xCF, 0x04, 0x9D, 0x06, 0xD0, 0x0A, + 0xD1, 0x0E, 0xD2, 0x19, 0xD3, 0x09, 0xD2, 0x07, 0xD1, 0x05, 0xD0, 0x80, 0x9D, 0x03, 0xCF, 0x03, + 0xCE, 0x02, 0xCD, 0x03, 0xCC, 0x03, 0xCB, 0x02, 0xC2, 0x80, 0xC1, 0x02, 0xC0, 0x02, 0xBE, 0x81, + 0xBD, 0xBC, 0x02, 0xBB, 0x9E, 0xBA, 0xB9, 0xB7, 0xB6, 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, + 0xC9, 0xDB, 0xDC, 0xDD, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, + 0xED, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, + 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, + 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, + 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, 0x02, 0xA5, 0x02, 0xA4, + 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x80, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, + 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, + 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0x67, 0x06, 0xCF, 0x03, 0x9D, + 0x07, 0xD0, 0x0C, 0xD1, 0x27, 0xD2, 0x08, 0xD1, 0x05, 0xD0, 0x02, 0x9D, 0x03, 0xCF, 0x03, 0xCE, + 0x03, 0xCD, 0x03, 0xCC, 0x03, 0xCB, 0x02, 0xC2, 0x80, 0xC1, 0x02, 0xC0, 0x02, 0xBE, 0x81, 0xBD, + 0xBC, 0x02, 0xBB, 0x84, 0xBA, 0xB9, 0xB8, 0xB7, 0xB5, 0x02, 0xC3, 0x93, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xCA, 0xDB, 0xDD, 0xDE, 0xDF, 0xE0, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE8, 0xE9, 0xEA, 0xEC, + 0x02, 0xED, 0x82, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, + 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, + 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, 0xAF, 0x80, 0xAE, + 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x80, 0xA5, + 0x03, 0xA4, 0x02, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x03, 0x84, + 0x02, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x02, 0x67, 0x02, 0xCE, + 0x07, 0xCF, 0x03, 0x9D, 0x07, 0xD0, 0x0E, 0xD1, 0x1E, 0xD2, 0x0A, 0xD1, 0x04, 0xD0, 0x03, 0x9D, + 0x03, 0xCF, 0x03, 0xCE, 0x04, 0xCD, 0x03, 0xCC, 0x02, 0xCB, 0x03, 0xC2, 0x80, 0xC1, 0x02, 0xC0, + 0x02, 0xBE, 0x81, 0xBD, 0xBC, 0x02, 0xBB, 0x9B, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, 0xC3, 0xC4, + 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xDC, 0xDD, 0xDE, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE6, 0xE7, + 0xE8, 0xE9, 0xEB, 0xEC, 0x02, 0xED, 0x82, 0xEE, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, + 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, + 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x80, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x80, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, + 0x02, 0x67, 0x05, 0xCE, 0x06, 0xCF, 0x03, 0x9D, 0x09, 0xD0, 0x14, 0xD1, 0x02, 0xD2, 0x80, 0xD1, + 0x06, 0xD2, 0x02, 0xD1, 0x80, 0xD2, 0x0E, 0xD1, 0x06, 0xD0, 0x02, 0x9D, 0x04, 0xCF, 0x04, 0xCE, + 0x03, 0xCD, 0x03, 0xCC, 0x03, 0xCB, 0x03, 0xC2, 0x80, 0xC1, 0x02, 0xC0, 0x82, 0xBF, 0xBE, 0xBD, + 0x02, 0xBC, 0x87, 0xBB, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, 0xC3, 0x02, 0xC4, 0x94, 0xC5, 0xC6, + 0xC7, 0xC8, 0xC9, 0xDB, 0xDC, 0xDD, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0xE8, 0xEA, + 0xEB, 0xEC, 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x80, 0xF2, 0x02, 0xF3, 0x02, 0xF4, + 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, + 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, + 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, + 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, + 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x02, 0x67, + 0x80, 0xCD, 0x06, 0xCE, 0x08, 0xCF, 0x03, 0x9D, 0x0A, 0xD0, 0x25, 0xD1, 0x07, 0xD0, 0x03, 0x9D, + 0x04, 0xCF, 0x04, 0xCE, 0x03, 0xCD, 0x04, 0xCC, 0x03, 0xCB, 0x03, 0xC2, 0x81, 0xC1, 0xC0, 0x02, + 0xBF, 0x81, 0xBE, 0xBD, 0x02, 0xBC, 0x80, 0xBB, 0x02, 0xBA, 0x80, 0xB9, 0x02, 0xB7, 0x8E, 0xB6, + 0xB5, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xDB, 0xDD, 0xDE, 0xDF, 0xE1, 0x02, 0xE2, + 0x88, 0xE3, 0xE5, 0xE6, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0x02, 0xEE, 0x82, 0xEF, 0xF0, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, + 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x02, 0xB3, + 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, + 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x80, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, + 0x03, 0x69, 0x03, 0x68, 0x80, 0x67, 0x03, 0xCD, 0x08, 0xCE, 0x06, 0xCF, 0x04, 0x9D, 0x0D, 0xD0, + 0x19, 0xD1, 0x0A, 0xD0, 0x03, 0x9D, 0x04, 0xCF, 0x04, 0xCE, 0x05, 0xCD, 0x03, 0xCC, 0x04, 0xCB, + 0x02, 0xC2, 0x02, 0xC1, 0x80, 0xC0, 0x02, 0xBF, 0x81, 0xBE, 0xBD, 0x02, 0xBC, 0x80, 0xBB, 0x02, + 0xBA, 0x85, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, 0xC3, 0x02, 0xC4, 0x80, 0xC6, 0x02, 0xC7, 0x92, 0xC8, + 0xC9, 0xDB, 0xDC, 0xDD, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, + 0xEC, 0xED, 0x02, 0xEE, 0x82, 0xEF, 0xF0, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, + 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x03, 0xFD, + 0x02, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, + 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, + 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x80, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, + 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x80, 0x67, 0x06, 0xCD, + 0x07, 0xCE, 0x09, 0xCF, 0x05, 0x9D, 0x25, 0xD0, 0x04, 0x9D, 0x05, 0xCF, 0x05, 0xCE, 0x05, 0xCD, + 0x04, 0xCC, 0x03, 0xCB, 0x03, 0xC2, 0x02, 0xC1, 0x81, 0xC0, 0xBF, 0x02, 0xBE, 0x80, 0xBD, 0x02, + 0xBC, 0x02, 0xBB, 0x86, 0xBA, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, 0xC3, 0x02, 0xC4, 0x96, 0xC5, 0xC6, + 0xC7, 0xC8, 0xC9, 0xCA, 0xDB, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE7, 0xE8, + 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0x02, 0xEE, 0x82, 0xEF, 0xF0, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, + 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x03, + 0xFC, 0x81, 0xFD, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x80, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x02, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x03, 0x68, + 0x80, 0xCC, 0x08, 0xCD, 0x08, 0xCE, 0x08, 0xCF, 0x81, 0x9D, 0xCF, 0x06, 0x9D, 0x19, 0xD0, 0x05, + 0x9D, 0x08, 0xCF, 0x05, 0xCE, 0x05, 0xCD, 0x04, 0xCC, 0x04, 0xCB, 0x03, 0xC2, 0x80, 0xC1, 0x02, + 0xC0, 0x80, 0xBF, 0x02, 0xBE, 0x80, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x84, 0xBA, 0xB9, 0xB8, 0xB7, + 0xB6, 0x02, 0xB5, 0x83, 0xC3, 0xC4, 0xC5, 0xC6, 0x02, 0xC7, 0x88, 0xC8, 0xCA, 0xDB, 0xDC, 0xDD, + 0xDF, 0xE0, 0xE1, 0xE2, 0x02, 0xE3, 0x86, 0xE5, 0xE6, 0xE7, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, + 0x80, 0xEE, 0x02, 0xEF, 0x81, 0xF0, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, + 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x02, + 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x03, 0x84, 0x02, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x03, 0xCC, 0x08, 0xCD, 0x0A, + 0xCE, 0x0C, 0xCF, 0x0A, 0x9D, 0x04, 0xD0, 0x0A, 0x9D, 0x09, 0xCF, 0x07, 0xCE, 0x06, 0xCD, 0x04, + 0xCC, 0x04, 0xCB, 0x03, 0xC2, 0x02, 0xC1, 0x02, 0xC0, 0x80, 0xBF, 0x02, 0xBE, 0x80, 0xBD, 0x02, + 0xBC, 0x02, 0xBB, 0x80, 0xBA, 0x02, 0xB9, 0x80, 0xB7, 0x02, 0xB6, 0x82, 0xB5, 0xC3, 0xC4, 0x02, + 0xC5, 0x94, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xDB, 0xDC, 0xDD, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, + 0xE5, 0xE6, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x81, 0xEE, 0xEF, 0x02, 0xF0, 0x80, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, + 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, + 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, + 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x03, 0x84, 0x02, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, + 0x02, 0x69, 0x03, 0x68, 0x06, 0xCC, 0x09, 0xCD, 0x0A, 0xCE, 0x11, 0xCF, 0x82, 0x9D, 0xCF, 0x9D, + 0x12, 0xCF, 0x07, 0xCE, 0x06, 0xCD, 0x06, 0xCC, 0x03, 0xCB, 0x04, 0xC2, 0x02, 0xC1, 0x02, 0xC0, + 0x80, 0xBF, 0x02, 0xBE, 0x80, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x80, 0xBA, 0x02, 0xB9, 0x84, 0xB8, + 0xB7, 0xB6, 0xB5, 0xC3, 0x02, 0xC4, 0x82, 0xC5, 0xC6, 0xC7, 0x02, 0xC8, 0x85, 0xC9, 0xDB, 0xDC, + 0xDD, 0xDE, 0xE0, 0x02, 0xE1, 0x8A, 0xE2, 0xE3, 0xE4, 0xE5, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, + 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, + 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, + 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x80, 0xAE, + 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, + 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x80, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, + 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x03, 0x68, 0x09, 0xCC, 0x0A, 0xCD, + 0x0C, 0xCE, 0x81, 0xCF, 0xCE, 0x17, 0xCF, 0x0B, 0xCE, 0x07, 0xCD, 0x05, 0xCC, 0x05, 0xCB, 0x03, + 0xC2, 0x02, 0xC1, 0x02, 0xC0, 0x80, 0xBF, 0x02, 0xBE, 0x02, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x80, + 0xBA, 0x02, 0xB9, 0x83, 0xB8, 0xB7, 0xB6, 0xB5, 0x02, 0xC3, 0x80, 0xC4, 0x02, 0xC5, 0x02, 0xC7, + 0x91, 0xC8, 0xC9, 0xCA, 0xDB, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, + 0xE8, 0xE9, 0xEB, 0x02, 0xEC, 0x80, 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x02, 0xF2, + 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, + 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, + 0x02, 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, + 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, + 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, + 0x02, 0x68, 0x03, 0xCB, 0x08, 0xCC, 0x0C, 0xCD, 0x27, 0xCE, 0x09, 0xCD, 0x06, 0xCC, 0x05, 0xCB, + 0x03, 0xC2, 0x02, 0xC1, 0x03, 0xC0, 0x80, 0xBF, 0x02, 0xBE, 0x02, 0xBD, 0x02, 0xBC, 0x02, 0xBB, + 0x80, 0xBA, 0x02, 0xB9, 0x83, 0xB8, 0xB7, 0xB6, 0xB5, 0x02, 0xC3, 0x80, 0xC4, 0x02, 0xC5, 0x89, + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0x02, 0xE1, 0x89, 0xE2, 0xE3, 0xE4, + 0xE5, 0xE6, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, + 0x03, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x80, 0xFF, 0x02, 0xB4, 0x02, 0xB3, + 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, + 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x80, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, + 0x02, 0x69, 0x02, 0x68, 0x05, 0xCB, 0x0B, 0xCC, 0x0D, 0xCD, 0x1B, 0xCE, 0x0C, 0xCD, 0x06, 0xCC, + 0x06, 0xCB, 0x04, 0xC2, 0x02, 0xC1, 0x02, 0xC0, 0x02, 0xBF, 0x02, 0xBE, 0x80, 0xBD, 0x02, 0xBC, + 0x03, 0xBB, 0x80, 0xBA, 0x02, 0xB9, 0x83, 0xB8, 0xB7, 0xB6, 0xB5, 0x02, 0xC3, 0x80, 0xC4, 0x02, + 0xC5, 0x80, 0xC6, 0x02, 0xC7, 0x89, 0xC8, 0xC9, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, + 0x02, 0xE3, 0x87, 0xE4, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x80, 0xEE, 0x02, + 0xEF, 0x81, 0xF0, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x02, 0xF7, + 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x02, 0xFE, 0x02, 0xFF, + 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x80, 0xAC, + 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x80, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, + 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x02, 0x8B, + 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, + 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x02, 0x68, 0x08, 0xCB, 0x0C, 0xCC, 0x15, 0xCD, 0x80, 0xCE, + 0x16, 0xCD, 0x08, 0xCC, 0x06, 0xCB, 0x04, 0xC2, 0x02, 0xC1, 0x02, 0xC0, 0x02, 0xBF, 0x02, 0xBE, + 0x02, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x02, 0xBA, 0x80, 0xB9, 0x02, 0xB8, 0x81, 0xB7, 0xB6, 0x02, + 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x81, 0xC5, 0xC6, 0x02, 0xC7, 0x87, 0xC8, 0xC9, 0xCA, 0xDB, 0xDC, + 0xDD, 0xDE, 0xE0, 0x02, 0xE1, 0x86, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0x02, 0xEA, 0x82, + 0xEB, 0xEC, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x80, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, + 0xF4, 0x03, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x02, + 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x80, 0xB1, 0x02, + 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, + 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, + 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, + 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x02, 0x68, 0x02, + 0xC2, 0x0A, 0xCB, 0x0D, 0xCC, 0x21, 0xCD, 0x0B, 0xCC, 0x06, 0xCB, 0x05, 0xC2, 0x02, 0xC1, 0x03, + 0xC0, 0x80, 0xBF, 0x03, 0xBE, 0x02, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x02, 0xBA, 0x80, 0xB9, 0x02, + 0xB8, 0x81, 0xB7, 0xB6, 0x02, 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x81, 0xC5, 0xC6, 0x02, 0xC7, 0x89, + 0xC8, 0xC9, 0xCA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0x02, 0xE2, 0x87, 0xE3, 0xE4, 0xE5, + 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0x02, 0xEC, 0x80, 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x02, 0xF9, + 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, + 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, + 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, + 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, + 0x02, 0x69, 0x02, 0x68, 0x05, 0xC2, 0x0B, 0xCB, 0x11, 0xCC, 0x13, 0xCD, 0x0E, 0xCC, 0x07, 0xCB, + 0x05, 0xC2, 0x02, 0xC1, 0x03, 0xC0, 0x02, 0xBF, 0x02, 0xBE, 0x02, 0xBD, 0x02, 0xBC, 0x03, 0xBB, + 0x02, 0xBA, 0x81, 0xB9, 0xB8, 0x02, 0xB7, 0x80, 0xB6, 0x02, 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x02, + 0xC5, 0x82, 0xC6, 0xC7, 0xC8, 0x02, 0xC9, 0x02, 0xDB, 0x02, 0xDD, 0x81, 0xDF, 0xE0, 0x02, 0xE1, + 0x8A, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x02, 0xEE, + 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, + 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, + 0xFE, 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x80, 0x84, 0x03, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x80, 0x68, 0x08, 0xC2, 0x0C, 0xCB, 0x28, + 0xCC, 0x81, 0xCB, 0xCC, 0x08, 0xCB, 0x06, 0xC2, 0x02, 0xC1, 0x03, 0xC0, 0x02, 0xBF, 0x03, 0xBE, + 0x02, 0xBD, 0x02, 0xBC, 0x02, 0xBB, 0x02, 0xBA, 0x02, 0xB9, 0x02, 0xB8, 0x81, 0xB7, 0xB6, 0x02, + 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x80, 0xC6, 0x02, 0xC7, 0x89, 0xC8, 0xC9, 0xCA, 0xDB, + 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0x02, 0xE2, 0x87, 0xE3, 0xE4, 0xE5, 0xE7, 0xE8, 0xE9, 0xEA, + 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x80, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, + 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, + 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, + 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, + 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, + 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, + 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, + 0x69, 0x80, 0x68, 0x03, 0xC1, 0x09, 0xC2, 0x0E, 0xCB, 0x1E, 0xCC, 0x0B, 0xCB, 0x06, 0xC2, 0x03, + 0xC1, 0x03, 0xC0, 0x02, 0xBF, 0x03, 0xBE, 0x02, 0xBD, 0x03, 0xBC, 0x02, 0xBB, 0x02, 0xBA, 0x02, + 0xB9, 0x80, 0xB8, 0x02, 0xB7, 0x80, 0xB6, 0x02, 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x80, + 0xC6, 0x02, 0xC7, 0x88, 0xC8, 0xC9, 0xCA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0x02, 0xE1, 0x8A, + 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x80, + 0xEF, 0x02, 0xF0, 0x80, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, + 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, + 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x80, + 0x8C, 0x03, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, + 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x80, 0x68, 0x02, 0xC0, 0x04, 0xC1, 0x0A, + 0xC2, 0x13, 0xCB, 0x80, 0xCC, 0x02, 0xCB, 0x04, 0xCC, 0x81, 0xCB, 0xCC, 0x13, 0xCB, 0x07, 0xC2, + 0x03, 0xC1, 0x04, 0xC0, 0x02, 0xBF, 0x03, 0xBE, 0x02, 0xBD, 0x03, 0xBC, 0x03, 0xBB, 0x02, 0xBA, + 0x02, 0xB9, 0x81, 0xB8, 0xB7, 0x02, 0xB6, 0x02, 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x80, + 0xC6, 0x02, 0xC7, 0x80, 0xC8, 0x02, 0xC9, 0x02, 0xDB, 0x02, 0xDD, 0x81, 0xDE, 0xDF, 0x02, 0xE1, + 0x80, 0xE2, 0x02, 0xE3, 0x83, 0xE4, 0xE5, 0xE6, 0xE7, 0x02, 0xE9, 0x82, 0xEA, 0xEB, 0xEC, 0x02, + 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, + 0x02, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, + 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, + 0x80, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x02, 0xA6, + 0x03, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, + 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x80, 0x68, 0x04, 0xC0, + 0x06, 0xC1, 0x0B, 0xC2, 0x25, 0xCB, 0x09, 0xC2, 0x03, 0xC1, 0x05, 0xC0, 0x02, 0xBF, 0x03, 0xBE, + 0x02, 0xBD, 0x03, 0xBC, 0x03, 0xBB, 0x02, 0xBA, 0x02, 0xB9, 0x02, 0xB8, 0x80, 0xB7, 0x02, 0xB6, + 0x80, 0xB5, 0x02, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x81, 0xC7, 0xC8, 0x02, 0xC9, 0x87, + 0xCA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0x02, 0xE2, 0x88, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, + 0xE8, 0xE9, 0xEA, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x80, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x02, 0xF9, + 0x03, 0xFA, 0x80, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x80, 0xB4, + 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, + 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x02, 0x92, + 0x80, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, + 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, + 0x80, 0x6A, 0x03, 0x69, 0x02, 0xBF, 0x06, 0xC0, 0x05, 0xC1, 0x0E, 0xC2, 0x81, 0xCB, 0xC2, 0x15, + 0xCB, 0x80, 0xC2, 0x02, 0xCB, 0x0B, 0xC2, 0x04, 0xC1, 0x04, 0xC0, 0x03, 0xBF, 0x03, 0xBE, 0x02, + 0xBD, 0x03, 0xBC, 0x04, 0xBB, 0x02, 0xBA, 0x02, 0xB9, 0x80, 0xB8, 0x02, 0xB7, 0x80, 0xB6, 0x03, + 0xB5, 0x80, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x81, 0xC7, 0xC8, 0x02, 0xC9, 0x86, 0xCA, + 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0x02, 0xE1, 0x80, 0xE2, 0x02, 0xE3, 0x82, 0xE4, 0xE5, 0xE6, + 0x02, 0xE8, 0x83, 0xE9, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, + 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x02, + 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, + 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, + 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x80, + 0x92, 0x03, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, + 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, + 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x80, 0xBE, 0x04, 0xBF, 0x07, 0xC0, 0x06, 0xC1, 0x29, 0xC2, 0x06, + 0xC1, 0x04, 0xC0, 0x03, 0xBF, 0x04, 0xBE, 0x02, 0xBD, 0x04, 0xBC, 0x03, 0xBB, 0x03, 0xBA, 0x80, + 0xB9, 0x02, 0xB8, 0x02, 0xB7, 0x02, 0xB6, 0x80, 0xB5, 0x02, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x02, + 0xC6, 0x81, 0xC7, 0xC8, 0x02, 0xC9, 0x83, 0xCA, 0xDB, 0xDC, 0xDD, 0x02, 0xDE, 0x02, 0xE0, 0x80, + 0xE1, 0x02, 0xE2, 0x88, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0x02, 0xEC, 0x02, + 0xED, 0x02, 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, + 0x03, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x02, 0xFD, + 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, + 0x80, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, + 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, + 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x04, 0xBE, 0x05, 0xBF, 0x07, 0xC0, + 0x0A, 0xC1, 0x1C, 0xC2, 0x06, 0xC1, 0x06, 0xC0, 0x03, 0xBF, 0x04, 0xBE, 0x03, 0xBD, 0x04, 0xBC, + 0x03, 0xBB, 0x03, 0xBA, 0x02, 0xB9, 0x02, 0xB8, 0x02, 0xB7, 0x80, 0xB6, 0x02, 0xB5, 0x02, 0xC3, + 0x02, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x80, 0xC7, 0x02, 0xC8, 0x81, 0xC9, 0xCA, 0x02, 0xDB, 0x02, + 0xDD, 0x82, 0xDE, 0xDF, 0xE0, 0x02, 0xE1, 0x80, 0xE2, 0x02, 0xE3, 0x02, 0xE5, 0x81, 0xE6, 0xE8, + 0x02, 0xE9, 0x82, 0xEA, 0xEB, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, + 0x02, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x02, 0xF9, + 0x03, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, + 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, + 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, + 0x02, 0x69, 0x80, 0xBD, 0x06, 0xBE, 0x06, 0xBF, 0x08, 0xC0, 0x11, 0xC1, 0x02, 0xC2, 0x0E, 0xC1, + 0x08, 0xC0, 0x03, 0xBF, 0x06, 0xBE, 0x03, 0xBD, 0x04, 0xBC, 0x03, 0xBB, 0x03, 0xBA, 0x03, 0xB9, + 0x80, 0xB8, 0x02, 0xB7, 0x02, 0xB6, 0x02, 0xB5, 0x02, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x80, 0xC6, + 0x02, 0xC7, 0x80, 0xC8, 0x02, 0xC9, 0x80, 0xCA, 0x02, 0xDB, 0x84, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, + 0x02, 0xE1, 0x80, 0xE2, 0x02, 0xE3, 0x87, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0x02, + 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x03, + 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x03, + 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x05, + 0xBD, 0x07, 0xBE, 0x06, 0xBF, 0x0C, 0xC0, 0x0F, 0xC1, 0x81, 0xC0, 0xC1, 0x0B, 0xC0, 0x05, 0xBF, + 0x05, 0xBE, 0x03, 0xBD, 0x04, 0xBC, 0x04, 0xBB, 0x04, 0xBA, 0x02, 0xB9, 0x80, 0xB8, 0x03, 0xB7, + 0x80, 0xB6, 0x02, 0xB5, 0x03, 0xC3, 0x02, 0xC4, 0x80, 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x82, 0xC8, + 0xC9, 0xCA, 0x02, 0xDB, 0x83, 0xDC, 0xDD, 0xDE, 0xDF, 0x02, 0xE0, 0x80, 0xE1, 0x02, 0xE2, 0x81, + 0xE3, 0xE4, 0x02, 0xE5, 0x81, 0xE7, 0xE8, 0x02, 0xE9, 0x82, 0xEA, 0xEB, 0xEC, 0x03, 0xED, 0x80, + 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x03, 0xF3, 0x02, 0xF4, 0x03, 0xF5, 0x02, + 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, + 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x80, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x80, + 0x8C, 0x03, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, + 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x03, 0xBC, 0x05, 0xBD, 0x09, 0xBE, 0x07, + 0xBF, 0x1C, 0xC0, 0x06, 0xBF, 0x06, 0xBE, 0x05, 0xBD, 0x04, 0xBC, 0x04, 0xBB, 0x04, 0xBA, 0x02, + 0xB9, 0x02, 0xB8, 0x02, 0xB7, 0x02, 0xB6, 0x02, 0xB5, 0x02, 0xC3, 0x03, 0xC4, 0x02, 0xC5, 0x80, + 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x80, 0xC9, 0x02, 0xCA, 0x81, 0xDB, 0xDC, 0x02, 0xDD, 0x80, 0xDE, + 0x02, 0xE0, 0x80, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x87, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, + 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, + 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, + 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x05, + 0xBC, 0x07, 0xBD, 0x0B, 0xBE, 0x0B, 0xBF, 0x02, 0xC0, 0x81, 0xBF, 0xC0, 0x0E, 0xBF, 0x08, 0xBE, + 0x05, 0xBD, 0x05, 0xBC, 0x05, 0xBB, 0x04, 0xBA, 0x02, 0xB9, 0x02, 0xB8, 0x02, 0xB7, 0x02, 0xB6, + 0x02, 0xB5, 0x03, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x80, 0xC9, + 0x02, 0xCA, 0x82, 0xDB, 0xDC, 0xDD, 0x02, 0xDE, 0x81, 0xDF, 0xE0, 0x02, 0xE1, 0x80, 0xE2, 0x02, + 0xE3, 0x84, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0x02, 0xE9, 0x82, 0xEA, 0xEB, 0xEC, 0x03, 0xED, 0x02, + 0xEE, 0x81, 0xEF, 0xF0, 0x02, 0xF1, 0x03, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, + 0x02, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, + 0x02, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, + 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, + 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, + 0x02, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, + 0x02, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x82, 0xBB, 0xBC, 0xBB, 0x07, 0xBC, 0x07, 0xBD, + 0x81, 0xBE, 0xBD, 0x0E, 0xBE, 0x81, 0xBF, 0xBE, 0x02, 0xBF, 0x03, 0xBE, 0x80, 0xBF, 0x0F, 0xBE, + 0x06, 0xBD, 0x06, 0xBC, 0x05, 0xBB, 0x04, 0xBA, 0x02, 0xB9, 0x02, 0xB8, 0x03, 0xB7, 0x02, 0xB6, + 0x02, 0xB5, 0x03, 0xC3, 0x02, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x81, 0xC9, + 0xCA, 0x02, 0xDB, 0x81, 0xDC, 0xDD, 0x02, 0xDE, 0x81, 0xDF, 0xE0, 0x02, 0xE1, 0x02, 0xE2, 0x82, + 0xE3, 0xE4, 0xE5, 0x02, 0xE6, 0x02, 0xE8, 0x82, 0xE9, 0xEA, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, + 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x03, 0xF3, 0x02, 0xF4, 0x03, 0xF5, 0x02, + 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x03, 0xF9, 0x02, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x03, 0xFD, 0x02, + 0xFE, 0x02, 0xFF, 0x03, 0xB4, 0x80, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, + 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x03, 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x80, 0x69, 0x07, 0xBB, 0x08, 0xBC, 0x09, 0xBD, 0x02, + 0xBE, 0x80, 0xBD, 0x16, 0xBE, 0x08, 0xBD, 0x08, 0xBC, 0x05, 0xBB, 0x04, 0xBA, 0x03, 0xB9, 0x02, + 0xB8, 0x03, 0xB7, 0x02, 0xB6, 0x03, 0xB5, 0x02, 0xC3, 0x03, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x02, + 0xC7, 0x02, 0xC8, 0x80, 0xC9, 0x02, 0xCA, 0x81, 0xDB, 0xDC, 0x02, 0xDD, 0x82, 0xDE, 0xDF, 0xE0, + 0x02, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x85, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0x02, 0xEA, 0x81, + 0xEB, 0xEC, 0x03, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x03, 0xF3, + 0x02, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x03, 0xF9, 0x02, 0xFA, 0x03, 0xFB, + 0x02, 0xFC, 0x03, 0xFD, 0x02, 0xFE, 0x03, 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x80, 0x85, 0x03, 0x84, 0x02, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x81, 0x69, 0xBA, 0x0A, + 0xBB, 0x0A, 0xBC, 0x81, 0xBD, 0xBC, 0x1C, 0xBD, 0x81, 0xBC, 0xBD, 0x08, 0xBC, 0x06, 0xBB, 0x04, + 0xBA, 0x04, 0xB9, 0x02, 0xB8, 0x04, 0xB7, 0x80, 0xB6, 0x03, 0xB5, 0x02, 0xC3, 0x03, 0xC4, 0x02, + 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x02, 0xC8, 0x81, 0xC9, 0xCA, 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, + 0x82, 0xDE, 0xDF, 0xE0, 0x02, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x84, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, + 0x02, 0xE9, 0x81, 0xEA, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, + 0xF1, 0x03, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x03, + 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, + 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x80, 0xAA, 0x03, + 0xA9, 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x03, + 0x91, 0x80, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, + 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, + 0x6A, 0x80, 0x69, 0x04, 0xBA, 0x0D, 0xBB, 0x10, 0xBC, 0x02, 0xBD, 0x80, 0xBC, 0x03, 0xBD, 0x81, + 0xBC, 0xBD, 0x0E, 0xBC, 0x08, 0xBB, 0x06, 0xBA, 0x03, 0xB9, 0x03, 0xB8, 0x03, 0xB7, 0x02, 0xB6, + 0x03, 0xB5, 0x03, 0xC3, 0x02, 0xC4, 0x03, 0xC5, 0x02, 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x02, 0xC9, + 0x80, 0xCA, 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, 0x82, 0xDE, 0xDF, 0xE0, 0x02, 0xE1, 0x02, 0xE2, + 0x02, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x02, 0xE7, 0x82, 0xE8, 0xE9, 0xEA, 0x02, 0xEB, 0x80, 0xEC, + 0x03, 0xED, 0x02, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x03, 0xF3, 0x02, 0xF4, + 0x03, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x03, 0xFC, + 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x02, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x03, 0x91, 0x80, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x80, 0x69, 0x02, 0xB9, + 0x07, 0xBA, 0x0E, 0xBB, 0x1A, 0xBC, 0x0B, 0xBB, 0x06, 0xBA, 0x04, 0xB9, 0x03, 0xB8, 0x03, 0xB7, + 0x03, 0xB6, 0x02, 0xB5, 0x03, 0xC3, 0x03, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x02, 0xC8, + 0x02, 0xC9, 0x80, 0xCA, 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, 0x81, 0xDE, 0xDF, 0x02, 0xE0, 0x02, + 0xE1, 0x80, 0xE2, 0x02, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x02, 0xE7, 0x81, 0xE8, 0xE9, 0x02, 0xEA, + 0x80, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, 0x03, 0xF2, + 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, + 0x02, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, + 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x80, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x03, 0xA9, + 0x80, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x80, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, + 0x80, 0x69, 0x06, 0xB9, 0x08, 0xBA, 0x29, 0xBB, 0x08, 0xBA, 0x04, 0xB9, 0x03, 0xB8, 0x03, 0xB7, + 0x03, 0xB6, 0x03, 0xB5, 0x03, 0xC3, 0x04, 0xC4, 0x02, 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x02, 0xC8, + 0x02, 0xC9, 0x80, 0xCA, 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, 0x81, 0xDE, 0xDF, 0x02, 0xE0, 0x02, + 0xE1, 0x80, 0xE2, 0x02, 0xE3, 0x02, 0xE4, 0x82, 0xE5, 0xE6, 0xE7, 0x02, 0xE8, 0x81, 0xE9, 0xEA, + 0x02, 0xEB, 0x80, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, + 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x03, 0xF9, 0x02, 0xFA, + 0x03, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, + 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x80, 0xA8, + 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, + 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x03, + 0xB8, 0x07, 0xB9, 0x0B, 0xBA, 0x1C, 0xBB, 0x09, 0xBA, 0x06, 0xB9, 0x02, 0xB8, 0x05, 0xB7, 0x03, + 0xB6, 0x03, 0xB5, 0x03, 0xC3, 0x04, 0xC4, 0x03, 0xC5, 0x02, 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x02, + 0xC9, 0x02, 0xCA, 0x80, 0xDB, 0x02, 0xDC, 0x02, 0xDD, 0x81, 0xDE, 0xDF, 0x02, 0xE0, 0x02, 0xE1, + 0x02, 0xE2, 0x02, 0xE3, 0x83, 0xE4, 0xE5, 0xE6, 0xE7, 0x02, 0xE8, 0x81, 0xE9, 0xEA, 0x02, 0xEB, + 0x80, 0xEC, 0x03, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x03, 0xF1, 0x02, 0xF2, 0x03, 0xF3, + 0x02, 0xF4, 0x03, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x03, 0xFB, + 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x80, 0xB1, + 0x02, 0xAF, 0x03, 0xAE, 0x80, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x80, 0x91, 0x02, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x80, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x02, 0xB7, 0x05, + 0xB8, 0x09, 0xB9, 0x0F, 0xBA, 0x80, 0xBB, 0x15, 0xBA, 0x06, 0xB9, 0x05, 0xB8, 0x04, 0xB7, 0x04, + 0xB6, 0x03, 0xB5, 0x04, 0xC3, 0x03, 0xC4, 0x03, 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x80, 0xC8, 0x03, + 0xC9, 0x02, 0xCA, 0x80, 0xDB, 0x02, 0xDC, 0x80, 0xDD, 0x02, 0xDE, 0x80, 0xDF, 0x02, 0xE0, 0x02, + 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x81, 0xE4, 0xE5, 0x02, 0xE6, 0x82, 0xE7, 0xE8, 0xE9, 0x02, 0xEA, + 0x80, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, + 0x02, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, + 0x02, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, + 0x02, 0xB1, 0x80, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, + 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, + 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x06, + 0xB7, 0x06, 0xB8, 0x0A, 0xB9, 0x17, 0xBA, 0x81, 0xB9, 0xBA, 0x09, 0xB9, 0x03, 0xB8, 0x05, 0xB7, + 0x05, 0xB6, 0x03, 0xB5, 0x04, 0xC3, 0x03, 0xC4, 0x04, 0xC5, 0x02, 0xC6, 0x03, 0xC7, 0x03, 0xC8, + 0x80, 0xC9, 0x02, 0xCA, 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, 0x02, 0xDE, 0x80, 0xDF, 0x02, 0xE0, + 0x02, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x81, 0xE4, 0xE5, 0x02, 0xE6, 0x02, 0xE8, 0x02, 0xE9, 0x80, + 0xEA, 0x02, 0xEB, 0x80, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x02, 0xF1, 0x03, + 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, + 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x02, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x02, + 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, + 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x80, 0x91, 0x02, + 0x90, 0x03, 0x8F, 0x80, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, + 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, + 0x04, 0xB6, 0x07, 0xB7, 0x08, 0xB8, 0x1F, 0xB9, 0x06, 0xB8, 0x05, 0xB7, 0x05, 0xB6, 0x04, 0xB5, + 0x03, 0xC3, 0x04, 0xC4, 0x04, 0xC5, 0x03, 0xC6, 0x03, 0xC7, 0x02, 0xC8, 0x02, 0xC9, 0x02, 0xCA, + 0x02, 0xDB, 0x80, 0xDC, 0x02, 0xDD, 0x80, 0xDE, 0x02, 0xDF, 0x02, 0xE0, 0x02, 0xE1, 0x02, 0xE2, + 0x02, 0xE3, 0x81, 0xE4, 0xE5, 0x02, 0xE6, 0x81, 0xE7, 0xE8, 0x02, 0xE9, 0x80, 0xEA, 0x02, 0xEB, + 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x03, 0xF3, + 0x03, 0xF4, 0x03, 0xF5, 0x02, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x02, 0xFA, 0x03, 0xFB, + 0x03, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, + 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x02, 0xA8, + 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, + 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0xB5, + 0x06, 0xB6, 0x09, 0xB7, 0x0D, 0xB8, 0x86, 0xB9, 0xB8, 0xB9, 0xB8, 0xB9, 0xB8, 0xB9, 0x02, 0xB8, + 0x80, 0xB9, 0x09, 0xB8, 0x08, 0xB7, 0x06, 0xB6, 0x04, 0xB5, 0x04, 0xC3, 0x05, 0xC4, 0x04, 0xC5, + 0x02, 0xC6, 0x03, 0xC7, 0x03, 0xC8, 0x02, 0xC9, 0x80, 0xCA, 0x02, 0xDB, 0x02, 0xDC, 0x02, 0xDD, + 0x81, 0xDE, 0xDF, 0x02, 0xE0, 0x03, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x82, + 0xE6, 0xE7, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x80, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x80, + 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, + 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x02, 0xFD, 0x03, 0xFE, 0x03, + 0xFF, 0x80, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, + 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x08, 0xB5, 0x06, 0xB6, 0x0E, 0xB7, 0x80, 0xB8, 0x02, 0xB7, + 0x04, 0xB8, 0x02, 0xB7, 0x80, 0xB8, 0x0D, 0xB7, 0x07, 0xB6, 0x06, 0xB5, 0x05, 0xC3, 0x05, 0xC4, + 0x03, 0xC5, 0x03, 0xC6, 0x03, 0xC7, 0x03, 0xC8, 0x02, 0xC9, 0x02, 0xCA, 0x02, 0xDB, 0x80, 0xDC, + 0x03, 0xDD, 0x81, 0xDE, 0xDF, 0x03, 0xE0, 0x02, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x80, 0xE4, 0x02, + 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x80, 0xE9, 0x02, 0xEA, 0x80, 0xEB, 0x02, 0xEC, 0x02, 0xED, + 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x03, 0xF5, + 0x03, 0xF6, 0x03, 0xF7, 0x02, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x02, 0xFD, + 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, + 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, + 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, + 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x04, 0xC3, 0x08, 0xB5, 0x0B, 0xB6, 0x14, + 0xB7, 0x81, 0xB6, 0xB7, 0x08, 0xB6, 0x07, 0xB5, 0x06, 0xC3, 0x04, 0xC4, 0x05, 0xC5, 0x03, 0xC6, + 0x04, 0xC7, 0x02, 0xC8, 0x03, 0xC9, 0x80, 0xCA, 0x02, 0xDB, 0x02, 0xDC, 0x02, 0xDD, 0x02, 0xDE, + 0x80, 0xDF, 0x02, 0xE0, 0x02, 0xE1, 0x03, 0xE2, 0x02, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x81, 0xE6, + 0xE7, 0x02, 0xE8, 0x80, 0xE9, 0x02, 0xEA, 0x80, 0xEB, 0x03, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, + 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x03, + 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, + 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x03, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x09, 0xC3, 0x0B, 0xB5, 0x1B, 0xB6, 0x08, 0xB5, 0x07, 0xC3, 0x06, + 0xC4, 0x05, 0xC5, 0x02, 0xC6, 0x04, 0xC7, 0x03, 0xC8, 0x03, 0xC9, 0x02, 0xCA, 0x02, 0xDB, 0x02, + 0xDC, 0x02, 0xDD, 0x02, 0xDE, 0x80, 0xDF, 0x02, 0xE0, 0x02, 0xE1, 0x03, 0xE2, 0x02, 0xE3, 0x80, + 0xE4, 0x02, 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x81, 0xEA, 0xEB, 0x02, 0xEC, 0x03, + 0xED, 0x03, 0xEE, 0x80, 0xEF, 0x02, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x02, 0xF3, 0x03, 0xF4, 0x03, + 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x02, + 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, + 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, + 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, 0x8F, 0x80, + 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, + 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x04, 0xC4, 0x09, 0xC3, 0x81, + 0xB5, 0xC3, 0x0F, 0xB5, 0x02, 0xB6, 0x80, 0xB5, 0x02, 0xB6, 0x0E, 0xB5, 0x81, 0xC3, 0xB5, 0x08, + 0xC3, 0x06, 0xC4, 0x05, 0xC5, 0x04, 0xC6, 0x03, 0xC7, 0x03, 0xC8, 0x02, 0xC9, 0x03, 0xCA, 0x02, + 0xDB, 0x02, 0xDC, 0x03, 0xDD, 0x80, 0xDE, 0x02, 0xDF, 0x02, 0xE0, 0x02, 0xE1, 0x02, 0xE2, 0x03, + 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x80, 0xEA, 0x02, 0xEB, + 0x02, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, 0x03, 0xF3, + 0x03, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x02, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, + 0x02, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, + 0x03, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x80, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, + 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x03, 0x91, 0x80, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x80, 0x87, + 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x08, 0xC4, + 0x10, 0xC3, 0x11, 0xB5, 0x0D, 0xC3, 0x08, 0xC4, 0x05, 0xC5, 0x04, 0xC6, 0x04, 0xC7, 0x03, 0xC8, + 0x03, 0xC9, 0x02, 0xCA, 0x03, 0xDB, 0x80, 0xDC, 0x03, 0xDD, 0x02, 0xDE, 0x80, 0xDF, 0x02, 0xE0, + 0x03, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x02, + 0xE9, 0x80, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x03, 0xED, 0x02, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, + 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x03, + 0xF9, 0x03, 0xFA, 0x02, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x02, + 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, + 0xA9, 0x02, 0xA8, 0x80, 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, + 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, + 0x88, 0x80, 0x87, 0x03, 0x86, 0x02, 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, + 0x6A, 0x03, 0xC5, 0x81, 0xC4, 0xC5, 0x0B, 0xC4, 0x21, 0xC3, 0x09, 0xC4, 0x06, 0xC5, 0x04, 0xC6, + 0x05, 0xC7, 0x03, 0xC8, 0x03, 0xC9, 0x02, 0xCA, 0x03, 0xDB, 0x02, 0xDC, 0x03, 0xDD, 0x80, 0xDE, + 0x02, 0xDF, 0x02, 0xE0, 0x02, 0xE1, 0x03, 0xE2, 0x02, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x81, 0xE6, + 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x80, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x03, 0xED, 0x02, 0xEE, 0x03, + 0xEF, 0x80, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x02, 0xF5, 0x04, 0xF6, 0x03, + 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x02, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, + 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x09, 0xC5, 0x0E, 0xC4, 0x0B, 0xC3, 0x80, 0xC4, 0x04, 0xC3, 0x81, + 0xC4, 0xC3, 0x0C, 0xC4, 0x07, 0xC5, 0x05, 0xC6, 0x06, 0xC7, 0x03, 0xC8, 0x03, 0xC9, 0x03, 0xCA, + 0x02, 0xDB, 0x02, 0xDC, 0x03, 0xDD, 0x02, 0xDE, 0x02, 0xDF, 0x80, 0xE0, 0x04, 0xE1, 0x02, 0xE2, + 0x02, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x80, 0xEA, 0x02, + 0xEB, 0x02, 0xEC, 0x03, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x80, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x03, + 0xF3, 0x03, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x02, + 0xFB, 0x04, 0xFC, 0x02, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, + 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, + 0xA8, 0x02, 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, + 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, + 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x03, + 0xC6, 0x0D, 0xC5, 0x1F, 0xC4, 0x0A, 0xC5, 0x05, 0xC6, 0x06, 0xC7, 0x04, 0xC8, 0x03, 0xC9, 0x02, + 0xCA, 0x03, 0xDB, 0x03, 0xDC, 0x02, 0xDD, 0x80, 0xDE, 0x02, 0xDF, 0x03, 0xE0, 0x03, 0xE1, 0x03, + 0xE2, 0x02, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x81, 0xE6, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, + 0x80, 0xEB, 0x02, 0xEC, 0x03, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x03, 0xF2, + 0x03, 0xF3, 0x04, 0xF4, 0x02, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x02, 0xF9, 0x04, 0xFA, + 0x02, 0xFB, 0x04, 0xFC, 0x81, 0xFD, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x80, 0xB3, 0x03, + 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, + 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, + 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, + 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, + 0xC7, 0x09, 0xC6, 0x12, 0xC5, 0x82, 0xC4, 0xC5, 0xC4, 0x14, 0xC5, 0x06, 0xC6, 0x06, 0xC7, 0x04, + 0xC8, 0x05, 0xC9, 0x02, 0xCA, 0x03, 0xDB, 0x02, 0xDC, 0x03, 0xDD, 0x02, 0xDE, 0x02, 0xDF, 0x02, + 0xE0, 0x03, 0xE1, 0x03, 0xE2, 0x03, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x02, 0xE6, 0x80, 0xE7, 0x02, + 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x80, 0xEC, 0x03, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, + 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x03, + 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, + 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x03, 0xB1, 0x80, 0xAF, 0x03, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, + 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, 0xA5, 0x80, 0xA4, 0x03, 0xA3, 0x02, + 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, + 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, + 0x6B, 0x02, 0x6A, 0x07, 0xC7, 0x0A, 0xC6, 0x1B, 0xC5, 0x0B, 0xC6, 0x06, 0xC7, 0x05, 0xC8, 0x04, + 0xC9, 0x03, 0xCA, 0x02, 0xDB, 0x03, 0xDC, 0x03, 0xDD, 0x03, 0xDE, 0x02, 0xDF, 0x02, 0xE0, 0x03, + 0xE1, 0x03, 0xE2, 0x03, 0xE3, 0x80, 0xE4, 0x02, 0xE5, 0x80, 0xE6, 0x02, 0xE7, 0x02, 0xE8, 0x02, + 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x04, + 0xF1, 0x02, 0xF2, 0x03, 0xF3, 0x04, 0xF4, 0x02, 0xF5, 0x04, 0xF6, 0x03, 0xF7, 0x03, 0xF8, 0x03, + 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x02, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, + 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, + 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, + 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, + 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, + 0x6A, 0x80, 0xC8, 0x0B, 0xC7, 0x24, 0xC6, 0x09, 0xC7, 0x05, 0xC8, 0x05, 0xC9, 0x03, 0xCA, 0x03, + 0xDB, 0x03, 0xDC, 0x03, 0xDD, 0x02, 0xDE, 0x03, 0xDF, 0x02, 0xE0, 0x03, 0xE1, 0x03, 0xE2, 0x03, + 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x80, 0xE6, 0x02, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, + 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x03, 0xF0, 0x02, 0xF1, 0x04, 0xF2, 0x02, + 0xF3, 0x04, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x04, 0xF8, 0x02, 0xF9, 0x03, 0xFA, 0x03, + 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x03, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x06, 0xC8, + 0x81, 0xC7, 0xC8, 0x0C, 0xC7, 0x80, 0xC6, 0x04, 0xC7, 0x0B, 0xC6, 0x80, 0xC7, 0x02, 0xC6, 0x0E, + 0xC7, 0x06, 0xC8, 0x05, 0xC9, 0x03, 0xCA, 0x04, 0xDB, 0x03, 0xDC, 0x03, 0xDD, 0x03, 0xDE, 0x02, + 0xDF, 0x03, 0xE0, 0x03, 0xE1, 0x03, 0xE2, 0x03, 0xE3, 0x80, 0xE4, 0x03, 0xE5, 0x80, 0xE6, 0x02, + 0xE7, 0x80, 0xE8, 0x02, 0xE9, 0x03, 0xEA, 0x80, 0xEB, 0x02, 0xEC, 0x04, 0xED, 0x03, 0xEE, 0x02, + 0xEF, 0x02, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x04, + 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, + 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, + 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x80, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x04, 0xC9, 0x09, 0xC8, 0x22, 0xC7, 0x08, 0xC8, 0x04, 0xC9, 0x81, + 0xCA, 0xC9, 0x04, 0xCA, 0x03, 0xDB, 0x03, 0xDC, 0x03, 0xDD, 0x03, 0xDE, 0x03, 0xDF, 0x02, 0xE0, + 0x04, 0xE1, 0x03, 0xE2, 0x03, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x02, 0xE6, 0x02, 0xE7, 0x80, 0xE8, + 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x04, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, + 0x03, 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x03, 0xF4, 0x04, 0xF5, 0x03, 0xF6, 0x03, 0xF7, 0x04, 0xF8, + 0x02, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x02, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x03, 0xFF, + 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x03, 0xAE, 0x02, 0xAD, 0x02, 0xAC, + 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x03, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x02, 0xA3, + 0x02, 0x92, 0x03, 0x91, 0x80, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, + 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, + 0x03, 0x6B, 0x02, 0x6A, 0x09, 0xC9, 0x10, 0xC8, 0x82, 0xC7, 0xC8, 0xC7, 0x02, 0xC8, 0x02, 0xC7, + 0x02, 0xC8, 0x02, 0xC7, 0x0A, 0xC8, 0x80, 0xC9, 0x02, 0xC8, 0x07, 0xC9, 0x04, 0xCA, 0x05, 0xDB, + 0x04, 0xDC, 0x04, 0xDD, 0x02, 0xDE, 0x03, 0xDF, 0x03, 0xE0, 0x03, 0xE1, 0x04, 0xE2, 0x03, 0xE3, + 0x80, 0xE4, 0x03, 0xE5, 0x02, 0xE6, 0x80, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, + 0x03, 0xEC, 0x03, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x03, 0xF3, + 0x04, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, + 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x03, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x80, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x02, 0x8D, 0x03, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x80, 0x69, 0x06, 0xCA, + 0x81, 0xC9, 0xCA, 0x08, 0xC9, 0x81, 0xC8, 0xC9, 0x17, 0xC8, 0x0A, 0xC9, 0x06, 0xCA, 0x06, 0xDB, + 0x02, 0xDC, 0x04, 0xDD, 0x04, 0xDE, 0x03, 0xDF, 0x03, 0xE0, 0x03, 0xE1, 0x04, 0xE2, 0x03, 0xE3, + 0x02, 0xE4, 0x02, 0xE5, 0x02, 0xE6, 0x02, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, + 0x02, 0xEC, 0x04, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x04, 0xF3, + 0x03, 0xF4, 0x03, 0xF5, 0x04, 0xF6, 0x03, 0xF7, 0x04, 0xF8, 0x02, 0xF9, 0x04, 0xFA, 0x03, 0xFB, + 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, + 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, + 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, + 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, + 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x04, 0xDB, 0x08, + 0xCA, 0x22, 0xC9, 0x06, 0xCA, 0x07, 0xDB, 0x03, 0xDC, 0x06, 0xDD, 0x02, 0xDE, 0x03, 0xDF, 0x03, + 0xE0, 0x04, 0xE1, 0x04, 0xE2, 0x03, 0xE3, 0x02, 0xE4, 0x03, 0xE5, 0x80, 0xE6, 0x02, 0xE7, 0x03, + 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x04, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, + 0xF0, 0x04, 0xF1, 0x02, 0xF2, 0x04, 0xF3, 0x04, 0xF4, 0x03, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, + 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x02, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, + 0xAC, 0x80, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x02, + 0x8B, 0x03, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, + 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x02, 0xDC, 0x09, 0xDB, 0x0B, 0xCA, 0x02, 0xC9, 0x80, 0xCA, + 0x02, 0xC9, 0x80, 0xCA, 0x03, 0xC9, 0x03, 0xCA, 0x02, 0xC9, 0x0A, 0xCA, 0x08, 0xDB, 0x05, 0xDC, + 0x04, 0xDD, 0x04, 0xDE, 0x03, 0xDF, 0x04, 0xE0, 0x04, 0xE1, 0x04, 0xE2, 0x04, 0xE3, 0x02, 0xE4, + 0x02, 0xE5, 0x02, 0xE6, 0x02, 0xE7, 0x02, 0xE8, 0x03, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, + 0x04, 0xED, 0x03, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x03, 0xF1, 0x04, 0xF2, 0x03, 0xF3, 0x04, 0xF4, + 0x03, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x03, 0xFC, + 0x03, 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x03, 0xAF, + 0x02, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, + 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x03, 0x85, + 0x02, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x07, 0xDC, 0x0D, 0xDB, 0x81, + 0xCA, 0xDB, 0x0C, 0xCA, 0x02, 0xDB, 0x02, 0xCA, 0x0B, 0xDB, 0x06, 0xDC, 0x06, 0xDD, 0x03, 0xDE, + 0x04, 0xDF, 0x04, 0xE0, 0x04, 0xE1, 0x04, 0xE2, 0x04, 0xE3, 0x02, 0xE4, 0x03, 0xE5, 0x80, 0xE6, + 0x03, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x03, 0xEE, + 0x02, 0xEF, 0x02, 0xF0, 0x04, 0xF1, 0x03, 0xF2, 0x04, 0xF3, 0x03, 0xF4, 0x03, 0xF5, 0x04, 0xF6, + 0x03, 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x02, 0xFD, 0x80, 0xB0, + 0x02, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, + 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x03, 0xA7, 0x02, 0xA6, 0x02, 0xA5, + 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x03, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x02, 0x85, 0x03, 0x84, + 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x06, 0xDD, 0x08, 0xDC, 0x1A, 0xDB, 0x81, + 0xDC, 0xDB, 0x08, 0xDC, 0x07, 0xDD, 0x04, 0xDE, 0x04, 0xDF, 0x03, 0xE0, 0x81, 0xE1, 0xE0, 0x03, + 0xE1, 0x05, 0xE2, 0x04, 0xE3, 0x02, 0xE4, 0x03, 0xE5, 0x80, 0xE6, 0x03, 0xE7, 0x02, 0xE8, 0x03, + 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x03, 0xEC, 0x03, 0xED, 0x04, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x04, + 0xF1, 0x03, 0xF2, 0x03, 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x03, + 0xF9, 0x03, 0xFA, 0x04, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, + 0xB3, 0x02, 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x80, 0xAA, 0x03, + 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x80, 0x92, 0x03, + 0x91, 0x80, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, + 0x88, 0x03, 0x87, 0x03, 0x86, 0x80, 0x85, 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, + 0x6A, 0x69, 0x03, 0xDE, 0x0A, 0xDD, 0x02, 0xDC, 0x80, 0xDD, 0x1A, 0xDC, 0x09, 0xDD, 0x07, 0xDE, + 0x03, 0xDF, 0x06, 0xE0, 0x05, 0xE1, 0x04, 0xE2, 0x04, 0xE3, 0x02, 0xE4, 0x03, 0xE5, 0x02, 0xE6, + 0x02, 0xE7, 0x03, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x03, 0xEB, 0x03, 0xEC, 0x03, 0xED, 0x04, 0xEE, + 0x02, 0xEF, 0x03, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x04, 0xF3, 0x04, 0xF4, 0x03, 0xF5, 0x04, 0xF6, + 0x03, 0xF7, 0x03, 0xF8, 0x04, 0xF9, 0x03, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x02, 0xFD, 0x80, 0xB0, + 0x03, 0xFE, 0x02, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x03, 0xAF, 0x02, 0xAE, + 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x80, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, 0xA5, + 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x80, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, + 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x03, 0x84, + 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x81, 0x6A, 0x69, 0x03, 0xDF, 0x05, 0xDE, 0x25, 0xDD, 0x09, + 0xDE, 0x04, 0xDF, 0x05, 0xE0, 0x06, 0xE1, 0x05, 0xE2, 0x04, 0xE3, 0x02, 0xE4, 0x03, 0xE5, 0x02, + 0xE6, 0x03, 0xE7, 0x02, 0xE8, 0x03, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x04, + 0xEE, 0x02, 0xEF, 0x03, 0xF0, 0x03, 0xF1, 0x03, 0xF2, 0x04, 0xF3, 0x04, 0xF4, 0x03, 0xF5, 0x04, + 0xF6, 0x03, 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x03, 0xFC, 0x03, 0xFD, 0x04, + 0xFE, 0x02, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, + 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, + 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x82, 0x69, 0xDF, 0xE0, 0x04, 0xDF, 0x0D, 0xDE, 0x0E, + 0xDD, 0x80, 0xDE, 0x03, 0xDD, 0x09, 0xDE, 0x07, 0xDF, 0x06, 0xE0, 0x06, 0xE1, 0x06, 0xE2, 0x04, + 0xE3, 0x03, 0xE4, 0x03, 0xE5, 0x03, 0xE6, 0x02, 0xE7, 0x03, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x03, + 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x04, 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x03, + 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, + 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x80, 0x69, 0x06, + 0xE0, 0x0A, 0xDF, 0x14, 0xDE, 0x83, 0xDF, 0xDE, 0xDF, 0xDE, 0x07, 0xDF, 0x08, 0xE0, 0x07, 0xE1, + 0x06, 0xE2, 0x05, 0xE3, 0x03, 0xE4, 0x03, 0xE5, 0x02, 0xE6, 0x03, 0xE7, 0x03, 0xE8, 0x02, 0xE9, + 0x03, 0xEA, 0x03, 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x03, 0xEE, 0x03, 0xEF, 0x02, 0xF0, 0x03, 0xF1, + 0x05, 0xF2, 0x03, 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x03, 0xF6, 0x04, 0xF7, 0x04, 0xF8, 0x03, 0xF9, + 0x03, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x02, 0xFF, 0x02, 0xB4, + 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x03, 0xAE, 0x02, 0xAD, 0x02, 0xAC, 0x03, 0xAA, + 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, + 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x03, 0x8B, 0x80, 0x89, + 0x03, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x02, 0x6B, + 0x02, 0x6A, 0x80, 0x69, 0x02, 0xE1, 0x81, 0xE0, 0xE1, 0x09, 0xE0, 0x03, 0xDF, 0x80, 0xE0, 0x17, + 0xDF, 0x0B, 0xE0, 0x09, 0xE1, 0x05, 0xE2, 0x06, 0xE3, 0x02, 0xE4, 0x04, 0xE5, 0x02, 0xE6, 0x03, + 0xE7, 0x03, 0xE8, 0x03, 0xE9, 0x02, 0xEA, 0x03, 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x04, 0xEE, 0x02, + 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x03, 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x03, + 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x03, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x03, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x02, + 0xAC, 0x02, 0xAA, 0x03, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, + 0xA3, 0x02, 0x92, 0x03, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x02, 0x86, 0x03, 0x85, 0x02, 0x84, 0x02, 0x83, 0x03, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x80, 0x69, 0x09, 0xE1, 0x23, 0xE0, 0x0A, 0xE1, 0x08, 0xE2, 0x05, + 0xE3, 0x04, 0xE4, 0x03, 0xE5, 0x04, 0xE6, 0x02, 0xE7, 0x03, 0xE8, 0x03, 0xE9, 0x03, 0xEA, 0x03, + 0xEB, 0x03, 0xEC, 0x04, 0xED, 0x04, 0xEE, 0x02, 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x03, + 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x04, 0xF9, 0x03, 0xFA, 0x03, + 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x04, 0xFE, 0x02, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x03, + 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x03, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, + 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x03, + 0x86, 0x80, 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x81, 0x69, 0xE2, + 0x14, 0xE1, 0x02, 0xE0, 0x80, 0xE1, 0x02, 0xE0, 0x03, 0xE1, 0x81, 0xE0, 0xE1, 0x02, 0xE0, 0x03, + 0xE1, 0x80, 0xE0, 0x0C, 0xE1, 0x09, 0xE2, 0x06, 0xE3, 0x04, 0xE4, 0x04, 0xE5, 0x03, 0xE6, 0x03, + 0xE7, 0x03, 0xE8, 0x03, 0xE9, 0x03, 0xEA, 0x02, 0xEB, 0x04, 0xEC, 0x04, 0xED, 0x05, 0xEE, 0x02, + 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x03, 0xF2, 0x04, 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, + 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x03, 0xFA, 0x04, 0xFB, 0x03, 0xFC, 0x04, 0xFD, 0x03, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x03, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x02, + 0xAC, 0x03, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x03, + 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, + 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x02, 0x69, 0x09, 0xE2, 0x22, 0xE1, 0x81, 0xE2, 0xE1, 0x0A, 0xE2, + 0x06, 0xE3, 0x04, 0xE4, 0x04, 0xE5, 0x03, 0xE6, 0x03, 0xE7, 0x04, 0xE8, 0x03, 0xE9, 0x03, 0xEA, + 0x03, 0xEB, 0x03, 0xEC, 0x05, 0xED, 0x04, 0xEE, 0x03, 0xEF, 0x03, 0xF0, 0x03, 0xF1, 0x05, 0xF2, + 0x03, 0xF3, 0x04, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x04, 0xFA, + 0x03, 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x02, 0xB3, + 0x02, 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x02, 0xAC, 0x02, 0xAA, 0x03, 0xA9, + 0x02, 0xA8, 0x02, 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, + 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, + 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, + 0x02, 0x69, 0x02, 0xE3, 0x13, 0xE2, 0x05, 0xE1, 0x80, 0xE2, 0x05, 0xE1, 0x11, 0xE2, 0x09, 0xE3, + 0x04, 0xE4, 0x05, 0xE5, 0x03, 0xE6, 0x03, 0xE7, 0x04, 0xE8, 0x03, 0xE9, 0x03, 0xEA, 0x04, 0xEB, + 0x03, 0xEC, 0x04, 0xED, 0x05, 0xEE, 0x03, 0xEF, 0x02, 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x04, 0xF3, + 0x05, 0xF4, 0x03, 0xF5, 0x05, 0xF6, 0x04, 0xF7, 0x03, 0xF8, 0x04, 0xF9, 0x04, 0xFA, 0x03, 0xFB, + 0x03, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, + 0x02, 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, + 0x03, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x02, 0x90, + 0x02, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x03, 0x8B, 0x80, 0x89, 0x03, 0x88, 0x02, 0x87, + 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, + 0x0B, 0xE3, 0x1E, 0xE2, 0x81, 0xE3, 0xE2, 0x0A, 0xE3, 0x05, 0xE4, 0x05, 0xE5, 0x05, 0xE6, 0x03, + 0xE7, 0x03, 0xE8, 0x04, 0xE9, 0x04, 0xEA, 0x02, 0xEB, 0x04, 0xEC, 0x05, 0xED, 0x04, 0xEE, 0x03, + 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x05, 0xF2, 0x03, 0xF3, 0x05, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x03, + 0xF7, 0x05, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x04, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x03, + 0xAC, 0x80, 0xAA, 0x03, 0xA9, 0x02, 0xA8, 0x03, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x02, 0xE4, 0x14, 0xE3, 0x88, 0xE2, 0xE3, 0xE2, 0xE3, + 0xE2, 0xE3, 0xE2, 0xE3, 0xE2, 0x11, 0xE3, 0x06, 0xE4, 0x06, 0xE5, 0x05, 0xE6, 0x02, 0xE7, 0x05, + 0xE8, 0x04, 0xE9, 0x03, 0xEA, 0x03, 0xEB, 0x04, 0xEC, 0x05, 0xED, 0x05, 0xEE, 0x03, 0xEF, 0x03, + 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x04, 0xF3, 0x05, 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, 0xF7, 0x04, + 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, + 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, + 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, 0xA5, 0x02, 0xA4, 0x03, + 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x02, 0x8C, 0x02, + 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, + 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x0A, 0xE4, 0x20, 0xE3, 0x07, 0xE4, 0x08, 0xE5, 0x03, + 0xE6, 0x04, 0xE7, 0x05, 0xE8, 0x04, 0xE9, 0x04, 0xEA, 0x03, 0xEB, 0x04, 0xEC, 0x06, 0xED, 0x04, + 0xEE, 0x04, 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x04, 0xF2, 0x04, 0xF3, 0x05, 0xF4, 0x04, 0xF5, 0x04, + 0xF6, 0x04, 0xF7, 0x04, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x04, 0xFB, 0x03, 0xFC, 0x04, 0xFD, 0x03, + 0xFE, 0x03, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x03, 0xB2, 0x02, 0xB1, 0x02, 0xAF, 0x03, 0xAE, 0x02, + 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, + 0xA4, 0x02, 0xA3, 0x03, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x80, + 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x02, 0x86, 0x02, 0x85, 0x03, 0x84, 0x03, + 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x08, 0xE5, 0x10, 0xE4, 0x80, 0xE3, 0x12, + 0xE4, 0x08, 0xE5, 0x06, 0xE6, 0x04, 0xE7, 0x06, 0xE8, 0x04, 0xE9, 0x04, 0xEA, 0x03, 0xEB, 0x04, + 0xEC, 0x06, 0xED, 0x05, 0xEE, 0x03, 0xEF, 0x03, 0xF0, 0x04, 0xF1, 0x05, 0xF2, 0x04, 0xF3, 0x05, + 0xF4, 0x03, 0xF5, 0x05, 0xF6, 0x04, 0xF7, 0x04, 0xF8, 0x04, 0xF9, 0x03, 0xFA, 0x04, 0xFB, 0x04, + 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x03, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x03, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x80, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x02, 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x02, + 0xE6, 0x10, 0xE5, 0x05, 0xE4, 0x80, 0xE5, 0x04, 0xE4, 0x02, 0xE5, 0x02, 0xE4, 0x0E, 0xE5, 0x07, + 0xE6, 0x04, 0xE7, 0x06, 0xE8, 0x05, 0xE9, 0x05, 0xEA, 0x03, 0xEB, 0x05, 0xEC, 0x05, 0xED, 0x05, + 0xEE, 0x03, 0xEF, 0x04, 0xF0, 0x04, 0xF1, 0x05, 0xF2, 0x04, 0xF3, 0x05, 0xF4, 0x04, 0xF5, 0x04, + 0xF6, 0x04, 0xF7, 0x04, 0xF8, 0x04, 0xF9, 0x04, 0xFA, 0x03, 0xFB, 0x05, 0xFC, 0x03, 0xFD, 0x03, + 0xFE, 0x03, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x02, 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x03, 0xAE, 0x02, + 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, 0xA5, 0x02, + 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, 0x8D, 0x02, + 0x8C, 0x02, 0x8B, 0x03, 0x89, 0x02, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, 0x85, 0x03, 0x84, 0x02, + 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x02, 0xE7, 0x08, 0xE6, 0x03, 0xE5, 0x80, + 0xE6, 0x19, 0xE5, 0x09, 0xE6, 0x05, 0xE7, 0x06, 0xE8, 0x06, 0xE9, 0x04, 0xEA, 0x05, 0xEB, 0x04, + 0xEC, 0x06, 0xED, 0x05, 0xEE, 0x04, 0xEF, 0x03, 0xF0, 0x05, 0xF1, 0x05, 0xF2, 0x04, 0xF3, 0x05, + 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, 0xF7, 0x05, 0xF8, 0x03, 0xF9, 0x04, 0xFA, 0x04, 0xFB, 0x04, + 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, + 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x03, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x02, 0xA8, 0x03, + 0xA7, 0x02, 0xA6, 0x02, 0xA5, 0x03, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x03, 0x8E, 0x02, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x03, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x80, + 0x68, 0x09, 0xE7, 0x1E, 0xE6, 0x0A, 0xE7, 0x06, 0xE8, 0x07, 0xE9, 0x04, 0xEA, 0x04, 0xEB, 0x06, + 0xEC, 0x06, 0xED, 0x06, 0xEE, 0x03, 0xEF, 0x03, 0xF0, 0x05, 0xF1, 0x05, 0xF2, 0x04, 0xF3, 0x06, + 0xF4, 0x04, 0xF5, 0x04, 0xF6, 0x04, 0xF7, 0x05, 0xF8, 0x04, 0xF9, 0x03, 0xFA, 0x04, 0xFB, 0x04, + 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x03, 0xB2, 0x02, + 0xB1, 0x03, 0xAF, 0x02, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x03, 0xA9, 0x02, 0xA8, 0x02, + 0xA7, 0x03, 0xA6, 0x02, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x02, 0x90, 0x02, + 0x8F, 0x02, 0x8E, 0x03, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x03, + 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x02, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x80, + 0x68, 0x07, 0xE8, 0x21, 0xE7, 0x0C, 0xE8, 0x06, 0xE9, 0x05, 0xEA, 0x05, 0xEB, 0x05, 0xEC, 0x07, + 0xED, 0x05, 0xEE, 0x05, 0xEF, 0x03, 0xF0, 0x05, 0xF1, 0x05, 0xF2, 0x04, 0xF3, 0x05, 0xF4, 0x04, + 0xF5, 0x05, 0xF6, 0x05, 0xF7, 0x04, 0xF8, 0x04, 0xF9, 0x03, 0xFA, 0x04, 0xFB, 0x04, 0xFC, 0x04, + 0xFD, 0x03, 0xFE, 0x03, 0xFF, 0x03, 0xB4, 0x03, 0xB3, 0x02, 0xB2, 0x02, 0xB1, 0x03, 0xAF, 0x02, + 0xAE, 0x03, 0xAD, 0x02, 0xAC, 0x03, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, 0xA6, 0x03, + 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, 0x8F, 0x02, 0x8E, 0x02, + 0x8D, 0x02, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, + 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x80, 0x68, 0x03, 0xE9, 0x0F, + 0xE8, 0x82, 0xE7, 0xE8, 0xE7, 0x07, 0xE8, 0x02, 0xE7, 0x0F, 0xE8, 0x09, 0xE9, 0x06, 0xEA, 0x05, + 0xEB, 0x06, 0xEC, 0x07, 0xED, 0x06, 0xEE, 0x04, 0xEF, 0x03, 0xF0, 0x05, 0xF1, 0x05, 0xF2, 0x05, + 0xF3, 0x05, 0xF4, 0x04, 0xF5, 0x05, 0xF6, 0x05, 0xF7, 0x04, 0xF8, 0x04, 0xF9, 0x04, 0xFA, 0x04, + 0xFB, 0x04, 0xFC, 0x03, 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x02, + 0xB2, 0x03, 0xB1, 0x02, 0xAF, 0x03, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x03, 0xA9, 0x02, + 0xA8, 0x03, 0xA7, 0x02, 0xA6, 0x03, 0xA5, 0x02, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x02, + 0x90, 0x03, 0x8F, 0x80, 0x8E, 0x03, 0x8D, 0x02, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, + 0x87, 0x03, 0x86, 0x02, 0x85, 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, + 0x69, 0x80, 0x68, 0x0C, 0xE9, 0x1B, 0xE8, 0x0A, 0xE9, 0x07, 0xEA, 0x05, 0xEB, 0x07, 0xEC, 0x07, + 0xED, 0x06, 0xEE, 0x04, 0xEF, 0x04, 0xF0, 0x05, 0xF1, 0x06, 0xF2, 0x04, 0xF3, 0x06, 0xF4, 0x04, + 0xF5, 0x05, 0xF6, 0x04, 0xF7, 0x05, 0xF8, 0x04, 0xF9, 0x04, 0xFA, 0x04, 0xFB, 0x04, 0xFC, 0x03, + 0xFD, 0x80, 0xB0, 0x03, 0xFE, 0x03, 0xFF, 0x03, 0xB4, 0x02, 0xB3, 0x03, 0xB2, 0x02, 0xB1, 0x03, + 0xAF, 0x03, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x02, 0xA9, 0x03, 0xA8, 0x02, 0xA7, 0x02, + 0xA6, 0x03, 0xA5, 0x03, 0xA4, 0x02, 0xA3, 0x02, 0x92, 0x03, 0x91, 0x80, 0x90, 0x03, 0x8F, 0x02, + 0x8E, 0x02, 0x8D, 0x03, 0x8C, 0x02, 0x8B, 0x02, 0x89, 0x03, 0x88, 0x02, 0x87, 0x03, 0x86, 0x02, + 0x85, 0x03, 0x84, 0x02, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x80, 0x68, 0x04, + 0xEA, 0x80, 0xE9, 0x02, 0xEA, 0x21, 0xE9, 0x81, 0xEA, 0xE9, 0x09, 0xEA, 0x07, 0xEB, 0x07, 0xEC, + 0x07, 0xED, 0x08, 0xEE, 0x04, 0xEF, 0x04, 0xF0, 0x05, 0xF1, 0x05, 0xF2, 0x05, 0xF3, 0x06, 0xF4, + 0x04, 0xF5, 0x05, 0xF6, 0x05, 0xF7, 0x04, 0xF8, 0x04, 0xF9, 0x05, 0xFA, 0x03, 0xFB, 0x04, 0xFC, + 0x04, 0xFD, 0x04, 0xFE, 0x03, 0xFF, 0x02, 0xB4, 0x03, 0xB3, 0x03, 0xB2, 0x02, 0xB1, 0x02, 0xAF, + 0x03, 0xAE, 0x02, 0xAD, 0x03, 0xAC, 0x02, 0xAA, 0x03, 0xA9, 0x02, 0xA8, 0x03, 0xA7, 0x02, 0xA6, + 0x03, 0xA5, 0x02, 0xA4, 0x03, 0xA3, 0x02, 0x92, 0x02, 0x91, 0x02, 0x90, 0x03, 0x8F, 0x02, 0x8E, + 0x02, 0x8D, 0x02, 0x8C, 0x03, 0x8B, 0x02, 0x89, 0x02, 0x88, 0x03, 0x87, 0x03, 0x86, 0x02, 0x85, + 0x02, 0x84, 0x03, 0x83, 0x03, 0x82, 0x03, 0x6B, 0x80, 0x6A, 0x03, 0x69, 0x80, 0x68, +}; +// clang-format on diff --git a/keyboards/dasky/reverb/graphics/splash.qgf.h b/keyboards/dasky/reverb/graphics/splash.qgf.h new file mode 100644 index 000000000000..15b5f4220c51 --- /dev/null +++ b/keyboards/dasky/reverb/graphics/splash.qgf.h @@ -0,0 +1,11 @@ +// Copyright 2023 QMK -- generated source code only, image retains original copyright +// SPDX-License-Identifier: GPL-2.0-or-later + +// This file was auto-generated by `qmk painter-convert-graphics -i splash.png -f pal256` + +#pragma once + +#include + +extern const uint32_t gfx_splash_length; +extern const uint8_t gfx_splash[36030]; diff --git a/keyboards/dasky/reverb/halconf.h b/keyboards/dasky/reverb/halconf.h new file mode 100644 index 000000000000..bb437f8d5894 --- /dev/null +++ b/keyboards/dasky/reverb/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/dasky/reverb/info.json b/keyboards/dasky/reverb/info.json new file mode 100644 index 000000000000..b161ba8099a0 --- /dev/null +++ b/keyboards/dasky/reverb/info.json @@ -0,0 +1,198 @@ +{ + "manufacturer": "Dasky", + "keyboard_name": "Reverb", + "maintainer": "daskygit", + "bootloader": "rp2040", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "wpm": true, + "quantum_painter": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP12", "GP1", "GP4", "GP13", "GP6", "GP8", "GP27", "GP22"], + "rows": ["GP11", "GP7", "GP9", "GP28", "GP26", "GP10", "GP14"] + }, + "processor": "RP2040", + "rgb_matrix": { + "driver": "ws2812", + "animations": { + "solid_color": true, + "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": [ + {"matrix": [2, 1], "x": 95, "y": 13, "flags": 4}, + {"matrix": [2, 0], "x": 80, "y": 9, "flags": 4}, + {"matrix": [1, 1], "x": 65, "y": 2, "flags": 4}, + {"matrix": [1, 0], "x": 46, "y": 3, "flags": 4}, + {"matrix": [0, 1], "x": 29, "y": 3, "flags": 4}, + {"matrix": [0, 0], "x": 12, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 8, "y": 10, "flags": 4}, + {"matrix": [0, 3], "x": 25, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 42, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 60, "y": 13, "flags": 4}, + {"matrix": [2, 2], "x": 75, "y": 19, "flags": 4}, + {"matrix": [2, 3], "x": 91, "y": 24, "flags": 4}, + {"matrix": [2, 5], "x": 87, "y": 35, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 30, "flags": 4}, + {"matrix": [1, 5], "x": 56, "y": 24, "flags": 4}, + {"matrix": [1, 4], "x": 38, "y": 24, "flags": 4}, + {"matrix": [0, 5], "x": 20, "y": 24, "flags": 4}, + {"matrix": [0, 4], "x": 5, "y": 22, "flags": 4}, + {"matrix": [0, 6], "x": 0, "y": 32, "flags": 4}, + {"matrix": [0, 7], "x": 16, "y": 35, "flags": 4}, + {"matrix": [1, 6], "x": 34, "y": 35, "flags": 4}, + {"matrix": [1, 7], "x": 52, "y": 35, "flags": 4}, + {"matrix": [2, 6], "x": 68, "y": 42, "flags": 4}, + {"matrix": [2, 7], "x": 83, "y": 46, "flags": 4}, + {"matrix": [6, 0], "x": 60, "y": 54, "flags": 5}, + {"matrix": [6, 1], "x": 76, "y": 58, "flags": 5}, + {"matrix": [6, 2], "x": 96, "y": 64, "flags": 5}, + {"matrix": [6, 3], "x": 128, "y": 64, "flags": 5}, + {"matrix": [6, 4], "x": 148, "y": 58, "flags": 5}, + {"matrix": [6, 5], "x": 164, "y": 54, "flags": 5}, + {"matrix": [3, 6], "x": 141, "y": 46, "flags": 4}, + {"matrix": [3, 7], "x": 156, "y": 42, "flags": 4}, + {"matrix": [4, 6], "x": 172, "y": 35, "flags": 4}, + {"matrix": [4, 7], "x": 190, "y": 35, "flags": 4}, + {"matrix": [5, 6], "x": 208, "y": 35, "flags": 4}, + {"matrix": [5, 7], "x": 224, "y": 32, "flags": 4}, + {"matrix": [5, 5], "x": 219, "y": 22, "flags": 4}, + {"matrix": [5, 4], "x": 204, "y": 24, "flags": 4}, + {"matrix": [4, 5], "x": 186, "y": 24, "flags": 4}, + {"matrix": [4, 4], "x": 168, "y": 24, "flags": 4}, + {"matrix": [3, 5], "x": 153, "y": 30, "flags": 4}, + {"matrix": [3, 4], "x": 137, "y": 35, "flags": 4}, + {"matrix": [3, 2], "x": 133, "y": 24, "flags": 4}, + {"matrix": [3, 3], "x": 149, "y": 19, "flags": 4}, + {"matrix": [4, 2], "x": 164, "y": 13, "flags": 4}, + {"matrix": [4, 3], "x": 182, "y": 14, "flags": 4}, + {"matrix": [5, 2], "x": 199, "y": 14, "flags": 4}, + {"matrix": [5, 3], "x": 216, "y": 10, "flags": 4}, + {"matrix": [5, 1], "x": 212, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 195, "y": 3, "flags": 4}, + {"matrix": [4, 1], "x": 178, "y": 3, "flags": 4}, + {"matrix": [4, 0], "x": 159, "y": 2, "flags": 4}, + {"matrix": [3, 1], "x": 144, "y": 9, "flags": 4}, + {"matrix": [3, 0], "x": 129, "y": 13, "flags": 4} + ] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x8181" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [1, 0], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [2, 0], "x": 4, "y": 0}, + {"matrix": [2, 1], "x": 5, "y": 0}, + {"matrix": [3, 0], "x": 8, "y": 0}, + {"matrix": [3, 1], "x": 9, "y": 0}, + {"matrix": [4, 0], "x": 10, "y": 0}, + {"matrix": [4, 1], "x": 11, "y": 0}, + {"matrix": [5, 0], "x": 12, "y": 0}, + {"matrix": [5, 1], "x": 13, "y": 0}, + {"matrix": [0, 2], "x": 0, "y": 1}, + {"matrix": [0, 3], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 2], "x": 4, "y": 1}, + {"matrix": [2, 3], "x": 5, "y": 1}, + {"matrix": [3, 2], "x": 8, "y": 1}, + {"matrix": [3, 3], "x": 9, "y": 1}, + {"matrix": [4, 2], "x": 10, "y": 1}, + {"matrix": [4, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 3], "x": 13, "y": 1}, + {"matrix": [0, 4], "x": 0, "y": 2}, + {"matrix": [0, 5], "x": 1, "y": 2}, + {"matrix": [1, 4], "x": 2, "y": 2}, + {"matrix": [1, 5], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [3, 4], "x": 8, "y": 2}, + {"matrix": [3, 5], "x": 9, "y": 2}, + {"matrix": [4, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 4], "x": 12, "y": 2}, + {"matrix": [5, 5], "x": 13, "y": 2}, + {"matrix": [0, 6], "x": 0, "y": 3}, + {"matrix": [0, 7], "x": 1, "y": 3}, + {"matrix": [1, 6], "x": 2, "y": 3}, + {"matrix": [1, 7], "x": 3, "y": 3}, + {"matrix": [2, 6], "x": 4, "y": 3}, + {"matrix": [2, 7], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 8, "y": 3}, + {"matrix": [3, 7], "x": 9, "y": 3}, + {"matrix": [4, 6], "x": 10, "y": 3}, + {"matrix": [4, 7], "x": 11, "y": 3}, + {"matrix": [5, 6], "x": 12, "y": 3}, + {"matrix": [5, 7], "x": 13, "y": 3}, + {"matrix": [6, 0], "x": 4, "y": 4}, + {"matrix": [6, 1], "x": 5, "y": 4}, + {"matrix": [6, 2], "x": 6, "y": 4}, + {"matrix": [6, 3], "x": 7, "y": 4}, + {"matrix": [6, 4], "x": 8, "y": 4}, + {"matrix": [6, 5], "x": 9, "y": 4} + ] + } + } +} diff --git a/keyboards/dasky/reverb/keymaps/default/keymap.json b/keyboards/dasky/reverb/keymaps/default/keymap.json new file mode 100644 index 000000000000..c23702d4c0ff --- /dev/null +++ b/keyboards/dasky/reverb/keymaps/default/keymap.json @@ -0,0 +1,32 @@ +{ + "keyboard": "dasky/reverb", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "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_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"], + + ["KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F12", "KC_F12", + "KC_TAB", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", + "KC_LCTL", "_______", "_______", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RIGHT","_______", "_______", + "KC_LSFT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_LGUI", "KC_TRNS", "KC_SPC", "KC_ENT", "MO(3)", "KC_RALT"], + + + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PSCR", + "KC_TAB", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_BSPC", + "KC_LCTL", "_______", "_______", "_______", "_______", "_______", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_GRV", + "KC_LSFT", "_______", "_______", "_______", "_______", "_______", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_TILD", + "KC_LGUI", "MO(3)", "KC_SPC", "KC_ENT", "KC_TRNS", "KC_RALT"], + + + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PSCR", + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "RGB_TOG", "RGB_HUI", "RGB_SAI", "RGB_VAI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "RGB_MOD", "RGB_HUD", "RGB_SAD", "RGB_VAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_LGUI", "KC_TRNS", "KC_SPC", "KC_ENT", "KC_TRNS", "KC_RALT"] + ] +} diff --git a/keyboards/dasky/reverb/keymaps/via/keymap.json b/keyboards/dasky/reverb/keymaps/via/keymap.json new file mode 100644 index 000000000000..fce7ecffcaaf --- /dev/null +++ b/keyboards/dasky/reverb/keymaps/via/keymap.json @@ -0,0 +1,37 @@ +{ + "keyboard": "dasky/reverb", + "keymap": "via", + "layout": "LAYOUT", + "config": { + "features": { + "via": true + } + }, + "layers": [ + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PSCR", + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"], + + ["KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F12", "KC_F12", + "KC_TAB", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", + "KC_LCTL", "_______", "_______", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RIGHT","_______", "_______", + "KC_LSFT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_LGUI", "KC_TRNS", "KC_SPC", "KC_ENT", "MO(3)", "KC_RALT"], + + + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PSCR", + "KC_TAB", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_BSPC", + "KC_LCTL", "_______", "_______", "_______", "_______", "_______", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_GRV", + "KC_LSFT", "_______", "_______", "_______", "_______", "_______", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_TILD", + "KC_LGUI", "MO(3)", "KC_SPC", "KC_ENT", "KC_TRNS", "KC_RALT"], + + + ["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PSCR", + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "RGB_TOG", "RGB_HUI", "RGB_SAI", "RGB_VAI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "RGB_MOD", "RGB_HUD", "RGB_SAD", "RGB_VAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_LGUI", "KC_TRNS", "KC_SPC", "KC_ENT", "KC_TRNS", "KC_RALT"] + ] +} diff --git a/keyboards/dasky/reverb/mcuconf.h b/keyboards/dasky/reverb/mcuconf.h new file mode 100644 index 000000000000..5b835562062a --- /dev/null +++ b/keyboards/dasky/reverb/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/dasky/reverb/readme.md b/keyboards/dasky/reverb/readme.md new file mode 100644 index 000000000000..05e77807b603 --- /dev/null +++ b/keyboards/dasky/reverb/readme.md @@ -0,0 +1,27 @@ +# Reverb + +![Reverb](https://i.imgur.com/AaDUYjih.png) + +A unibody split with SK6803 mini-e per key RGB, GC9A01 display and Raspberry Pi Pico. + +* Keyboard Maintainer: [Dasky](https://github.com/daskygit) +* Hardware Supported: Raspberry Pi Pico, GC9A01 +* Hardware Availability: https://mechboards.co.uk/products/reverb-kit + +Make example for this keyboard (after setting up your build environment): + + make dasky/reverb:default + +Flashing example for this keyboard: + + make dasky/reverb: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 top left key and plug in the keyboard +* **Physical boot button**: Hold down the BOOTSEL button on the Raspberry Pi Pico and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/dasky/reverb/reverb.c b/keyboards/dasky/reverb/reverb.c new file mode 100644 index 000000000000..4eb3b4624fe7 --- /dev/null +++ b/keyboards/dasky/reverb/reverb.c @@ -0,0 +1,17 @@ +// Copyright 2023 Dasky (@daskygit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "graphics/display.h" + +void keyboard_post_init_kb(void) { + display_init_kb(); + keyboard_post_init_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + display_key_counter(); + } + return process_record_user(keycode, record); +} diff --git a/keyboards/dasky/reverb/rules.mk b/keyboards/dasky/reverb/rules.mk new file mode 100644 index 000000000000..5e70f674ec4b --- /dev/null +++ b/keyboards/dasky/reverb/rules.mk @@ -0,0 +1,7 @@ +QUANTUM_PAINTER_DRIVERS += gc9a01_spi +QUANTUM_PAINTER_DRIVERS += surface + +SRC += graphics/splash.qgf.c +SRC += graphics/reverb.qgf.c +SRC += graphics/display.c +SRC += graphics/robotomono20.qff.c diff --git a/keyboards/db/db63/config.h b/keyboards/db/db63/config.h deleted file mode 100644 index 7a7d3584de7e..000000000000 --- a/keyboards/db/db63/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2020 Hung DO - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 18 -#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/db/db63/info.json b/keyboards/db/db63/info.json index c8004a2bae17..30a94c2b9cfd 100644 --- a/keyboards/db/db63/info.json +++ b/keyboards/db/db63/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/dc01/left/rules.mk b/keyboards/dc01/left/rules.mk index 72485a3dd68a..3a9422733c11 100644 --- a/keyboards/dc01/left/rules.mk +++ b/keyboards/dc01/left/rules.mk @@ -11,5 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = yes # Use custom matrix -SRC += matrix.c \ - i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/dcpedit/redherring/config.h b/keyboards/dcpedit/redherring/config.h new file mode 100755 index 000000000000..115be3306e57 --- /dev/null +++ b/keyboards/dcpedit/redherring/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 Ming-Gih Lam (@dcpedit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE +#define SOLENOID_PIN B5 +#define OLED_IC OLED_IC_SH1107 +#define OLED_DISPLAY_64X128 \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/info.json b/keyboards/dcpedit/redherring/info.json new file mode 100644 index 000000000000..845c52e3e04e --- /dev/null +++ b/keyboards/dcpedit/redherring/info.json @@ -0,0 +1,144 @@ +{ + "manufacturer": "dcpedit", + "keyboard_name": "Red Herring", + "maintainer": "dcpedit", + "bootloader": "usbasploader", + "bootmagic": { + "matrix": [5, 14] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "C2", "pin_b": "D7"} + ] + }, + "indicators": { + "caps_lock": "A0" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "encoder": true, + "oled": true, + "haptic": true + }, + "matrix_pins": { + "cols": ["A1", "A2", "A3", "B0", "B1", "B2", "B3", "B4", "D0", "D1", "D5", "D6", "C5", "C4", "C3"], + "rows": ["C6", "A6", "A7", "A4", "C7", "A5"] + }, + "processor": "atmega32a", + "qmk": { + "tap_keycode_delay": 10 + }, + "url": "https://github.com/dcpedit/redherring", + "usb": { + "device_version": "1.0.0", + "pid": "0x12ED", + "vid": "0xDC9E" + }, + "dynamic_keymap": { + "layer_count": 2 + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "5,14", "matrix": [5, 14], "x": 0.75, "y": 0.12}, + {"label": "0,0", "matrix": [0, 0], "x": 2.25, "y": 0.12}, + {"label": "0,1", "matrix": [0, 1], "x": 3.25, "y": 0.12}, + {"label": "0,2", "matrix": [0, 2], "x": 4.75, "y": 0.12}, + {"label": "0,3", "matrix": [0, 3], "x": 5.75, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 6.75, "y": 0.12}, + {"label": "0,5", "matrix": [0, 5], "x": 7.75, "y": 0.25}, + {"label": "0,6", "matrix": [0, 6], "x": 11.5, "y": 0.25}, + {"label": "0,7", "matrix": [0, 7], "x": 12.5, "y": 0.12}, + {"label": "0,8", "matrix": [0, 8], "x": 13.5, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 14.5, "y": 0.12}, + {"label": "0,10", "matrix": [0, 10], "x": 16, "y": 0.12}, + {"label": "0,11", "matrix": [0, 11], "x": 17, "y": 0.12}, + {"label": "0,12", "matrix": [0, 12], "x": 18.13, "y": 0.12}, + {"label": "0,13", "matrix": [0, 13], "x": 19.13, "y": 0.12}, + {"label": "0,14", "matrix": [0, 14], "x": 21, "y": 0.12}, + + {"label": "1,0", "matrix": [1, 0], "x": 2, "y": 1.37}, + {"label": "1,1", "matrix": [1, 1], "x": 3, "y": 1.37}, + {"label": "1,2", "matrix": [1, 2], "x": 4.75, "y": 1.37}, + {"label": "1,3", "matrix": [1, 3], "x": 5.75, "y": 1.25}, + {"label": "1,4", "matrix": [1, 4], "x": 6.75, "y": 1.37}, + {"label": "1,5", "matrix": [1, 5], "x": 7.75, "y": 1.5}, + {"label": "1,6", "matrix": [1, 6], "x": 11.5, "y": 1.5}, + {"label": "1,7", "matrix": [1, 7], "x": 12.5, "y": 1.37}, + {"label": "1,8", "matrix": [1, 8], "x": 13.5, "y": 1.25}, + {"label": "1,9", "matrix": [1, 9], "x": 14.5, "y": 1.37}, + {"label": "1,10", "matrix": [1, 10], "x": 16.25, "y": 1.37}, + {"label": "1,11", "matrix": [1, 11], "x": 17.25, "y": 1.37}, + {"label": "1,12", "matrix": [1, 12], "x": 18.25, "y": 1.37}, + {"label": "1,13", "matrix": [1, 13], "x": 19.25, "y": 1.37}, + {"label": "1,14", "matrix": [1, 14], "x": 20.25, "y": 1.37}, + {"label": "2,14", "matrix": [2, 14], "x": 21.75, "y": 1.37}, + + {"label": "2,0", "matrix": [2, 0], "x": 1.25, "y": 2.37, "w": 1.5}, + {"label": "2,1", "matrix": [2, 1], "x": 2.75, "y": 2.37}, + {"label": "2,2", "matrix": [2, 2], "x": 4.75, "y": 2.37}, + {"label": "2,3", "matrix": [2, 3], "x": 5.75, "y": 2.25}, + {"label": "2,4", "matrix": [2, 4], "x": 6.75, "y": 2.37}, + {"label": "2,5", "matrix": [2, 5], "x": 7.75, "y": 2.5}, + {"label": "2,6", "matrix": [2, 6], "x": 11.5, "y": 2.5}, + {"label": "2,7", "matrix": [2, 7], "x": 12.5, "y": 2.37}, + {"label": "2,8", "matrix": [2, 8], "x": 13.5, "y": 2.25}, + {"label": "2,9", "matrix": [2, 9], "x": 14.5, "y": 2.37}, + {"label": "2,10", "matrix": [2, 10], "x": 16.5, "y": 2.37}, + {"label": "2,11", "matrix": [2, 11], "x": 17.5, "y": 2.37}, + {"label": "2,12", "matrix": [2, 12], "x": 18.5, "y": 2.37}, + {"label": "2,13", "matrix": [2, 13], "x": 19.5, "y": 2.37, "w": 1.5}, + {"label": "3,13", "matrix": [3, 13], "x": 21.5, "y": 2.37}, + + {"label": "3,0", "matrix": [3, 0], "x": 0.75, "y": 3.37, "w": 1.75}, + {"label": "3,1", "matrix": [3, 1], "x": 2.5, "y": 3.37}, + {"label": "3,2", "matrix": [3, 2], "x": 4.75, "y": 3.37}, + {"label": "3,3", "matrix": [3, 3], "x": 5.75, "y": 3.25}, + {"label": "3,4", "matrix": [3, 4], "x": 6.75, "y": 3.37}, + {"label": "3,5", "matrix": [3, 5], "x": 7.75, "y": 3.5}, + {"label": "3,6", "matrix": [3, 6], "x": 11.5, "y": 3.5}, + {"label": "3,7", "matrix": [3, 7], "x": 12.5, "y": 3.37}, + {"label": "3,8", "matrix": [3, 8], "x": 13.5, "y": 3.25}, + {"label": "3,9", "matrix": [3, 9], "x": 14.5, "y": 3.37}, + {"label": "3,10", "matrix": [3, 10], "x": 16.75, "y": 3.37}, + {"label": "3,11", "matrix": [3, 11], "x": 17.75, "y": 3.37}, + {"label": "3,12", "matrix": [3, 12], "x": 18.75, "y": 3.37, "w": 2.25}, + {"label": "3,14", "matrix": [3, 14], "x": 21.25, "y": 3.37}, + + {"label": "4,14", "matrix": [4, 14], "x": 0, "y": 4.37, "w": 1.25}, + {"label": "4,0", "matrix": [4, 0], "x": 1.25, "y": 4.37}, + {"label": "4,1", "matrix": [4, 1], "x": 2.25, "y": 4.37}, + {"label": "4,2", "matrix": [4, 2], "x": 4.75, "y": 4.37}, + {"label": "4,3", "matrix": [4, 3], "x": 5.75, "y": 4.25}, + {"label": "4,4", "matrix": [4, 4], "x": 6.75, "y": 4.37}, + {"label": "4,5", "matrix": [4, 5], "x": 7.75, "y": 4.5}, + {"label": "5,5", "matrix": [5, 5], "x": 8.75, "y": 4.5}, + {"label": "5,6", "matrix": [5, 6], "x": 10.5, "y": 4.5}, + {"label": "4,6", "matrix": [4, 6], "x": 11.5, "y": 4.5}, + {"label": "4,7", "matrix": [4, 7], "x": 12.5, "y": 4.37}, + {"label": "4,8", "matrix": [4, 8], "x": 13.5, "y": 4.25}, + {"label": "4,9", "matrix": [4, 9], "x": 14.5, "y": 4.37}, + {"label": "4,10", "matrix": [4, 10], "x": 17, "y": 4.37}, + {"label": "4,11", "matrix": [4, 11], "x": 18, "y": 4.37}, + {"label": "4,12", "matrix": [4, 12], "x": 19, "y": 4.37, "w": 1.25}, + {"label": "4,13", "matrix": [4, 13], "x": 20.5, "y": 4.62}, + + {"label": "5,0", "matrix": [5, 0], "x": 0.5, "y": 5.37, "w": 1.25}, + {"label": "5,1", "matrix": [5, 1], "x": 1.75, "y": 5.37, "w": 1.25}, + {"label": "5,2", "matrix": [5, 2], "x": 5.25, "y": 5.37, "w": 1.25}, + {"label": "5,3", "matrix": [5, 3], "x": 6.5, "y": 5.37, "w": 1.25}, + {"label": "5,4", "matrix": [5, 4], "x": 7.75, "y": 5.5, "w": 2}, + {"label": "5,7", "matrix": [5, 7], "x": 10.5, "y": 5.5, "w": 2.75}, + {"label": "5,8", "matrix": [5, 8], "x": 13.25, "y": 5.37, "w": 1.25}, + {"label": "5,9", "matrix": [5, 9], "x": 16.75, "y": 5.37, "w": 1.25}, + {"label": "5,10", "matrix": [5, 10], "x": 18, "y": 5.37, "w": 1.25}, + {"label": "5,11", "matrix": [5, 11], "x": 19.5, "y": 5.62}, + {"label": "5,12", "matrix": [5, 12], "x": 20.5, "y": 5.62}, + {"label": "5,13", "matrix": [5, 13], "x": 21.5, "y": 5.62} + ] + } + } +} diff --git a/keyboards/dcpedit/redherring/keymaps/default/keymap.c b/keyboards/dcpedit/redherring/keymaps/default/keymap.c new file mode 100644 index 000000000000..36711740506c --- /dev/null +++ b/keyboards/dcpedit/redherring/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 Ming-Gih Lam (@dcpedit) +// 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_PSCR, KC_SCRL, 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_BSLS, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_MENU, KC_SPC, KC_SPC, KC_ALGR, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + + [1] = LAYOUT( + QK_RBT, 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, HF_TOGG, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_PGUP, KC_PGDN) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/keychron/q1/ansi_encoder/keymaps/default/rules.mk b/keyboards/dcpedit/redherring/keymaps/default/rules.mk similarity index 100% rename from keyboards/keychron/q1/ansi_encoder/keymaps/default/rules.mk rename to keyboards/dcpedit/redherring/keymaps/default/rules.mk diff --git a/keyboards/dcpedit/redherring/keymaps/via/keymap.c b/keyboards/dcpedit/redherring/keymaps/via/keymap.c new file mode 100644 index 000000000000..de67f00042c8 --- /dev/null +++ b/keyboards/dcpedit/redherring/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Ming-Gih Lam (@dcpedit) +// 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_PSCR, KC_SCRL, 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_BSLS, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_MENU, KC_SPC, KC_SPC, KC_ALGR, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + + [1] = LAYOUT( + + QK_RBT, 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, HF_TOGG, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_PGUP, KC_PGDN) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/rules.mk b/keyboards/dcpedit/redherring/keymaps/via/rules.mk similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/keymaps/via/rules.mk rename to keyboards/dcpedit/redherring/keymaps/via/rules.mk diff --git a/keyboards/dcpedit/redherring/readme.md b/keyboards/dcpedit/redherring/readme.md new file mode 100644 index 000000000000..67f2bdf33db7 --- /dev/null +++ b/keyboards/dcpedit/redherring/readme.md @@ -0,0 +1,27 @@ +# Red Herring + +![Red Herring](https://i.imgur.com/b6lKmW0h.jpg) + +Unibody ergonomic orthilinar keyboard with through-hole components. Supports standard keycaps, a 64x128 OLED, large rotary encoder knob, and a solenoid. + +* Keyboard Maintainer: [dcpedit](https://github.com/dcpedit) +* Hardware Supported: ATMEGA32A +* Hardware Availability: https://github.com/dcpedit/redherring + +Make example for this keyboard (after setting up your build environment): + + make dcpedit/redherring:default + +Flashing example for this keyboard: + + make dcpedit/redherring: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 ESC key (top-left key) and plug in the keyboard +* **Physical reset button**: On the PCB, while holding down the BOOT button, press and release the RESET button +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/redherring.c b/keyboards/dcpedit/redherring/redherring.c new file mode 100644 index 000000000000..b2c25eb703c9 --- /dev/null +++ b/keyboards/dcpedit/redherring/redherring.c @@ -0,0 +1,91 @@ +// Copyright 2023 Ming-Gih Lam (@dcpedit) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define LOGO_SIZE 1024 + +#ifdef OLED_ENABLE + +static void render_logo(void) { + static const char PROGMEM oled_logo[LOGO_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xc3, 0x06, 0x18, 0xe1, 0x03, 0x0c, 0xb0, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x1c, + 0x00, 0x00, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xe0, 0x00, 0x00, 0x04, 0x78, 0x80, 0x00, + 0x00, 0x38, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xff, 0x1f, 0x3f, 0xfe, 0x3e, 0x7f, 0xfe, 0x7c, 0x7f, 0x7c, + 0x3c, 0x20, 0x20, 0xe0, 0x7c, 0x43, 0x40, 0xc0, 0xf8, 0x87, 0x80, 0x80, 0xe0, 0x1e, 0x01, 0x00, + 0xc0, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0xe0, 0x00, 0x00, 0x07, 0x78, + 0x80, 0x80, 0x83, 0xbf, 0xff, 0xff, 0xe3, 0xc1, 0xc1, 0xc1, 0xc1, 0xf7, 0xfe, 0xfe, 0xfc, 0x78, + 0x00, 0x00, 0x10, 0x90, 0x88, 0x4c, 0x64, 0x22, 0x12, 0x11, 0x08, 0x0c, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x03, 0x00, 0x80, 0x78, 0x07, 0x00, 0x00, 0xe0, 0x1e, 0x01, 0x01, 0xc1, 0x3d, + 0x07, 0x02, 0x02, 0xf2, 0x0e, 0x02, 0x02, 0x06, 0x7e, 0xc2, 0x02, 0x03, 0x1f, 0xe1, 0x01, 0x01, + 0x07, 0x78, 0x80, 0x00, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x0f, 0x03, 0x00, 0x00, + 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x20, 0x1e, 0x01, 0x00, 0xc0, 0x7c, 0x07, 0x00, + 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7c, 0xc0, 0x00, 0x01, 0x1e, 0xe0, + 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x03, 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, 0x01, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x38, 0xfe, 0xc7, 0x83, 0xff, 0xff, 0x01, 0x81, 0x03, 0x0f, 0xfe, 0xf0, 0x00, 0xff, 0xff, 0x01, + 0x01, 0x61, 0xff, 0x9f, 0x01, 0xfe, 0xef, 0x83, 0xff, 0xff, 0x01, 0x01, 0x03, 0x07, 0xfe, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x19, 0xff, 0xff, 0x3b, 0x79, 0xf8, 0xcf, 0x07, 0x01, 0x00, 0xf1, 0xff, 0x0e, + 0x0e, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0x03, 0x01, 0x00, 0x80, 0xff, 0x7f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0xf0, 0xf0, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0x00, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0xb0, 0xf0, + 0x70, 0x90, 0xc0, 0xe2, 0xf3, 0xf3, 0x70, 0x30, 0x31, 0x63, 0xe3, 0xc2, 0x00, 0x83, 0xc3, 0xe3, + 0xf3, 0xf3, 0x73, 0x33, 0x33, 0x60, 0xe0, 0x82, 0x03, 0xf3, 0xf3, 0x13, 0x63, 0xf3, 0xb1, 0xf0, + 0xe0, 0x00, 0x00, 0x00, 0x10, 0xf0, 0xf0, 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0xe0, 0xc0, + + 0x00, 0xff, 0xff, 0x30, 0x30, 0x30, 0xff, 0xff, 0x80, 0x1f, 0x7f, 0xe0, 0xc0, 0xc0, 0x9f, 0x1f, + 0x00, 0x07, 0x1f, 0x38, 0xff, 0xff, 0x60, 0x60, 0x10, 0x80, 0xff, 0xff, 0x00, 0x0f, 0x1f, 0x38, + 0xff, 0xff, 0x60, 0x60, 0x00, 0x80, 0xff, 0x7f, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x03, 0xff, + 0xff, 0x1c, 0x78, 0xe0, 0xc0, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x04, 0xe6, 0xe7, 0x63, + 0x60, 0x7f, 0x7f, 0x00, 0x02, 0x46, 0x7f, 0x7f, 0x00, 0x7c, 0x7f, 0x63, 0x61, 0x61, 0x60, 0x60, + 0x60, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x47, 0x07, 0x0f, 0x3f, 0x79, 0x60, 0x40, 0x00, 0x00, 0x00, + 0x7f, 0x7f, 0x47, 0x07, 0x0f, 0x3f, 0x71, 0x40, 0x00, 0x7f, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x7f, + 0x7f, 0x40, 0x00, 0x00, 0x47, 0x7f, 0x7f, 0x00, 0x1f, 0x3f, 0x70, 0x60, 0x60, 0x7f, 0x7f, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + oled_write_raw_P(oled_logo, LOGO_SIZE); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_logo(); + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/rules.mk b/keyboards/dcpedit/redherring/rules.mk new file mode 100644 index 000000000000..35c76d4cf1cf --- /dev/null +++ b/keyboards/dcpedit/redherring/rules.mk @@ -0,0 +1,2 @@ +F_CPU = 16000000 +HAPTIC_DRIVER = solenoid \ No newline at end of file diff --git a/keyboards/deemen17/de60fs/config.h b/keyboards/deemen17/de60fs/config.h new file mode 100644 index 000000000000..d6b5efcc2fd3 --- /dev/null +++ b/keyboards/deemen17/de60fs/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 Deemen17 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define RP2040_FLASH_GENERIC_03H \ No newline at end of file diff --git a/keyboards/deemen17/de60fs/info.json b/keyboards/deemen17/de60fs/info.json new file mode 100644 index 000000000000..b2d9a12f4e7c --- /dev/null +++ b/keyboards/deemen17/de60fs/info.json @@ -0,0 +1,403 @@ +{ + "manufacturer": "Deemen17", + "keyboard_name": "De60fs", + "maintainer": "Deemen17", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP24" + }, + "matrix_pins": { + "cols": ["GP23", "GP22", "GP21", "GP20", "GP28", "GP0", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"], + "rows": ["GP27", "GP26", "GP25", "GP29", "GP18"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 22, + "max_brightness": 240, + "sleep": true + }, + "usb": { + "vid": "0xDE17", + "pid": "0x60F0", + "device_version": "0.0.1" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP11" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + }, + "community_layouts": [ + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb" + ], + "layouts": { + "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, 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": [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": [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": [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, 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": [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": [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": [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_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": [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": [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, 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} + ] + } + } +} diff --git a/keyboards/deemen17/de60fs/keymaps/default/keymap.c b/keyboards/deemen17/de60fs/keymaps/default/keymap.c new file mode 100644 index 000000000000..f93f61d7684b --- /dev/null +++ b/keyboards/deemen17/de60fs/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2023 Deemen17 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Del│ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│Fn │ + * ├─────┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī + * │Ctrl │GUI│ Alt │ │ Alt │GUI│ Ctrl│ + * └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ + */ + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ) + +}; diff --git a/keyboards/deemen17/de60fs/keymaps/via/keymap.c b/keyboards/deemen17/de60fs/keymaps/via/keymap.c new file mode 100644 index 000000000000..f93f61d7684b --- /dev/null +++ b/keyboards/deemen17/de60fs/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2023 Deemen17 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Del│ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│Fn │ + * ├─────┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī + * │Ctrl │GUI│ Alt │ │ Alt │GUI│ Ctrl│ + * └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ + */ + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ) + +}; diff --git a/keyboards/deemen17/de60fs/keymaps/via/rules.mk b/keyboards/deemen17/de60fs/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/deemen17/de60fs/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/deemen17/de60fs/readme.md b/keyboards/deemen17/de60fs/readme.md new file mode 100644 index 000000000000..e5135691a85c --- /dev/null +++ b/keyboards/deemen17/de60fs/readme.md @@ -0,0 +1,27 @@ +# De60fs + +![De60fs](https://i.imgur.com/7hpYaoXh.jpg) + +A GH60 form factor PCB for 60% keyboards. Uses a Left USB Type C connector or 5 JST SH positions for daughter board. + +* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17) +* Hardware Supported: RP2040, De60fs PCB, De60fs Oring Edition PCB, De60 Tsangan Edition PCB +* Hardware Availability: [Deemen17 Works](https://www.facebook.com/deemen17) + +Make example for this keyboard (after setting up your build environment): + + make deemen17/de60fs:default + +Flashing example for this keyboard: + + make deemen17/de60fs: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 double press the button RESET 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/deemen17/de60fs/rules.mk b/keyboards/deemen17/de60fs/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/deemen17/de60fs/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h index 692f679d24f1..cc4c962462c3 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 d03d284b9590..7e486c455071 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 e5859b718a5c..9ca8e7bc93fa 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 3b74640fe6d7..482f816fb33f 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/m4cs/config.h b/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h deleted file mode 100644 index bb66e1b754ea..000000000000 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - -M4cs Keymap for dekuNukem/duckyPad QMK firmware - -Copyright (C) 2020 Max Bridgland - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define NO_ACTION_FUNCTION -#define NO_ACTION_ONESHOT - -#define OLED_TIMEOUT 90000 -#define RGB_MATRIX_TIMEOUT 90000 - -#define MT_0_0 " prev " -#define MT_0_1 " pl/pa" -#define MT_0_2 " next " -#define MT_0_3 " volx " -#define MT_0_4 " vol- " -#define MT_0_5 " vol+ " -#define MT_0_6 " spot " -#define MT_0_7 " ffox " -#define MT_0_8 " code " -#define MT_0_9 " term " -#define MT_0_10 " steam" -#define MT_0_11 " dscd " -#define MT_0_12 " " -#define MT_0_13 " micx " -#define MT_0_14 " " - -#define MT_1_0 " stat " -#define MT_1_1 " brth " -#define MT_1_2 " rbow " -#define MT_1_3 " swrl " -#define MT_1_4 " spd- " -#define MT_1_5 " spd+ " -#define MT_1_6 " eff- " -#define MT_1_7 " sat- " -#define MT_1_8 " sat+ " -#define MT_1_9 " eff+ " -#define MT_1_10 " hue- " -#define MT_1_11 " hue+ " -#define MT_1_12 " powr " -#define MT_1_13 " bri- " -#define MT_1_14 " bri+ " - -#define MT_2_0 " " -#define MT_2_1 " " -#define MT_2_2 " " -#define MT_2_3 " undo " -#define MT_2_4 " cut " -#define MT_2_5 " copy " -#define MT_2_6 " paste" -#define MT_2_7 " find " -#define MT_2_8 " pscr " -#define MT_2_9 " " -#define MT_2_10 " " -#define MT_2_11 " " -#define MT_2_12 " " -#define MT_2_13 " " -#define MT_2_14 " " diff --git a/keyboards/dekunukem/duckypad/keymaps/m4cs/keymap.c b/keyboards/dekunukem/duckypad/keymaps/m4cs/keymap.c deleted file mode 100644 index cd8a31473902..000000000000 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/keymap.c +++ /dev/null @@ -1,335 +0,0 @@ -/* - -M4cs Keymap for dekuNukem/duckyPad QMK firmware - -Copyright (C) 2020 Max Bridgland - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -#include "stdio.h" -#include "raw_hid.h" -#include -#include -#include - -#define LOGO_SIZE 384 - -bool rgbToggled = false; -bool altToggled = false; -bool sysToggled = false; - -enum layer_codes { - RGB_LAYER = SAFE_RANGE, - ALT_LAYER, - SYS_LAYER, - CLOCK_TOGGLE -}; - -#define MAC_1 LCTL(LALT(KC_MINS)) -#define MAC_2 LCTL(LALT(KC_EQL)) -#define MAC_3 LCTL(LALT(KC_LBRC)) -#define MAC_4 LCTL(LALT(KC_RBRC)) -#define MAC_5 LCTL(LALT(KC_BSLS)) -#define MAC_6 LCTL(LALT(KC_SCLN)) -#define MAC_7 LCTL(LALT(KC_QUOT)) -#define MAC_8 LCTL(LALT(KC_COMM)) -#define MAC_9 LCTL(LALT(KC_SLSH)) - -#define MAC_10 LCTL(LSFT(KC_MINS)) -#define MAC_11 LCTL(LSFT(KC_EQL)) -#define MAC_12 LCTL(LSFT(KC_SLSH)) -#define MAC_13 LCTL(LSFT(KC_LBRC)) -#define MAC_14 LCTL(LSFT(KC_RBRC)) -#define MAC_15 LCTL(LSFT(KC_BSLS)) -#define MAC_16 LCTL(LSFT(KC_SCLN)) -#define MAC_17 LCTL(LSFT(KC_QUOT)) -#define MAC_18 LCTL(LSFT(KC_COMM)) - -#define _DEFAULT 0 -#define _RGB 1 -#define _ALT 2 -#define _SYS 3 - -float cpuFreq = 0; -int memPerc = 0; -int gpuLoad = 0; -int temp = 0; -int hour = 0; -int minute = 0; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - ,=========================================. - | Media Prev. | Media Play | Media Next | - |=========================================| - | Mute Sound | Volume Do. | Volume Up | - |=========================================| - | Macro 1 | Macro 2 | Macro 3 | - |=========================================| - | Macro 4 | Macro 5 | Macro 6 | - |=========================================| ,---------------------. - | Macro 7 | Macro 8 | Sys. Info | | RGB Menu | Alt Menu | - `=========================================' `--------------------' - */ - [_DEFAULT] = LAYOUT( - KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, - KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, - MAC_1, MAC_2, MAC_3, - MAC_4, MAC_5, MAC_6, - CLOCK_TOGGLE, MAC_8, SYS_LAYER, - RGB_LAYER, ALT_LAYER - ), - /* - ,=========================================. - | Plain RGB | Breathe RGB | Rainbow RGB | - |=========================================| - | Swirl RGB | Speed Down | Speed Up | - |=========================================| - | Effect Up | Sat. Down | Sat. Up | - |=========================================| - | Effect Down | Hue Down | Hue Up | - |=========================================| ,----------------------. - | Toggle RGB | Brt. Down | Brt. Up | | Norm Menu | Alt Menu | - `=========================================' `---------------------' - */ - [_RGB] = LAYOUT( - RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, - RGB_MODE_SWIRL, RGB_SPD, RGB_SPI, - RGB_MOD, RGB_SAD, RGB_SAI, - RGB_RMOD, RGB_HUD, RGB_HUI, - RGB_TOG, RGB_VAD, RGB_VAI, - RGB_LAYER, ALT_LAYER - ), - /* - ,=========================================. - | Macro 10 | Macro 11 | Macro 12 | - |=========================================| - | Undo | Cut | Copy | - |=========================================| - | Paste | Find | Prnt Scrn. | - |=========================================| - | Macro 13 | Macro 14 | Macro 15 | - |=========================================| ,----------------------. - | Macro 16 | Macro 17 | Sys. Info | | Norm Menu | Alt Menu | - `=========================================' `---------------------' - */ - [_ALT] = LAYOUT( - MAC_10, MAC_11, MAC_12, - KC_UNDO, KC_CUT, KC_COPY, - KC_PASTE, KC_FIND, KC_PSCR, - MAC_13, MAC_14, MAC_15, - CLOCK_TOGGLE, MAC_17, SYS_LAYER, - RGB_LAYER, ALT_LAYER - ), - [_SYS] = 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, - CLOCK_TOGGLE, KC_NO, SYS_LAYER, - RGB_LAYER, ALT_LAYER - ) -}; - -static void render_logo(void) { - static const char PROGMEM raw_logo[] = { - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,192,240,240, 96, 48, 48, 0, 12, 12,134,198,230,126, 60, 0, 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, 12, 15, 7, 0, 0, 0, 12, 14, 15, 15, 13, 13, 12, 12, 0, 0, 0, 0, - }; - oled_write_raw_P(raw_logo, sizeof(raw_logo)); -} - -char* make_menu_text(void){ - char *s = malloc((30 * 4) * sizeof(*s)); - int width = 3; - snprintf(s, 120, "%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s", - width, MT_0_0, width, MT_0_1, width, MT_0_2, - width, MT_0_3, width, MT_0_4, width, MT_0_5, - width, MT_0_6, width, MT_0_7, width, MT_0_8, - width, MT_0_9, width, MT_0_10, width,MT_0_11, - width, MT_0_12, width, MT_0_13, width, MT_0_14 - ); - return s; -}; - -char* make_rgb_text(void){ - char *s = malloc((30 * 4) * sizeof(*s)); - int width = 3; - snprintf( - s, 120, "%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s", - width, MT_1_0, width, MT_1_1, width, MT_1_2, - width, MT_1_3, width, MT_1_4, width, MT_1_5, - width, MT_1_6, width, MT_1_7, width, MT_1_8, - width, MT_1_9, width, MT_1_10, width,MT_1_11, - width, MT_1_12, width, MT_1_13, width, MT_1_14 - ); - return s; -}; - -char* make_alt_text(void){ - char *s = malloc((30 * 4) * sizeof(*s)); - int width = 3; - snprintf( - s, 120, "%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s\n%-*s %-*s %-*s", - width, MT_2_0, width, MT_2_1, width, MT_2_2, - width, MT_2_3, width, MT_2_4, width, MT_2_5, - width, MT_2_6, width, MT_2_7, width, MT_2_8, - width, MT_2_9, width, MT_2_10, width,MT_2_11, - width, MT_2_12, width, MT_2_13, width, MT_2_14 - ); - return s; -}; - -char* make_sys_info_text(void) { - char *s = malloc((30 * 5) * sizeof(*s)); - snprintf(s, 150, " cpu: %.1fGHz\n mem: %d%%\n gpu: %d%%\n temp: %dC\n time: %d:%d", cpuFreq, memPerc, gpuLoad, temp, hour, minute); - return s; -}; - - -bool oled_task_user(void) { - if (!sysToggled) { - render_logo(); - oled_set_cursor(0,3); - if (rgbToggled) { - char *s = make_rgb_text(); - oled_write_ln(s, false); - free(s); - } else if (altToggled) { - char *s = make_alt_text(); - oled_write_ln(s, false); - free(s); - } else { - char *s = make_menu_text(); - oled_write_ln(s, false); - free(s); - } - } - return false; -}; - -int concat(int a, int b) { - char s1[20]; - char s2[20]; - sprintf(s1, "%d", a); - sprintf(s2, "%d", b); - strcat(s1, s2); - int c = atoi(s1); - - return c; -}; - -void raw_hid_receive(uint8_t *data, uint8_t length) { - if (sysToggled) { - oled_clear(); - render_logo(); - int i; - int stepper = 0; - int toWrite; - for (i=0; i < length; i++) { - if (data[i] != 13) { - toWrite = concat(toWrite, data[i]); - } else { - switch (stepper) { - case 0: - cpuFreq = floor(100*toWrite)/10000; - break; - case 1: - memPerc = toWrite / 10; - break; - case 2: - gpuLoad = toWrite; - break; - case 3: - temp = toWrite; - break; - case 4: - hour = toWrite; - break; - case 5: - minute = toWrite; - break; - default: - break; - } - toWrite = 0; - stepper++; - } - } - oled_set_cursor(0,3); - char *s = make_sys_info_text(); - oled_write_ln(s, false); - free(s); - } -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_LAYER: - if (record->event.pressed) { - if (rgbToggled) { - rgbToggled = false; - altToggled = false; - sysToggled = false; - oled_clear(); - layer_clear(); - } else { - rgbToggled = true; - altToggled = false; - sysToggled = false; - layer_on(_RGB); - } - } - return false; - case ALT_LAYER: - if (record->event.pressed) { - if (altToggled) { - rgbToggled = false; - altToggled = false; - sysToggled = false; - oled_clear(); - layer_clear(); - } else { - rgbToggled = false; - sysToggled = false; - altToggled = true; - layer_on(_ALT); - } - } - return false; - case SYS_LAYER: - if (record->event.pressed) { - if (sysToggled) { - rgbToggled = false; - altToggled = false; - sysToggled = false; - oled_clear(); - layer_clear(); - } else { - rgbToggled = false; - sysToggled = true; - altToggled = false; - layer_on(_SYS); - } - } - default: - return true; - } - return false; -}; diff --git a/keyboards/dekunukem/duckypad/keymaps/m4cs/readme.md b/keyboards/dekunukem/duckypad/keymaps/m4cs/readme.md deleted file mode 100644 index 50c06cf42fdf..000000000000 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -[M4cs'](https://github.com/M4cs) duckyPad Layout - -### Layers: - -0: Default Layer w/ Media Functionality and Macros - -1: RGB Menu that allows RGB customization - -2: Alternate Macro Menu - -### Configuration: - -To change the menu, edit the `MT_X_XX` values in `config.h`. The sytax is as follows: `MT_A_B`, where A equals the layer, and B equals the key from 0-14. - -### Misc. Info: - -The macros currently just map to Ctrl + Alt + (Different Keys) right now. I have them launching certain shortcuts. I recommend you change these and add your shortcuts to match your shortcut manager. - -To get sysinfo working, run `pip3 install psutil GPUtil` and then `python sysinfo.py`. Now when pressing the bottom right key, you will get an info screen with your updated system info. - -### Need Help? - -Contact me on discord: macs#0420 - -or join the duckyPad Discord and find me in there :) - -https://discord.gg/ADtrCjf diff --git a/keyboards/dekunukem/duckypad/keymaps/m4cs/rules.mk b/keyboards/dekunukem/duckypad/keymaps/m4cs/rules.mk deleted file mode 100644 index 87065466685e..000000000000 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -LTO_ENABLE = yes # Enable Link Time Optimization -NO_USB_STARTUP_CHECK = yes # Disables usb suspend check after keyboard startup diff --git a/keyboards/dekunukem/duckypad/keymaps/m4cs/sysinfo.py b/keyboards/dekunukem/duckypad/keymaps/m4cs/sysinfo.py deleted file mode 100644 index 4dfcd4d4d172..000000000000 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/sysinfo.py +++ /dev/null @@ -1,77 +0,0 @@ - -### -# M4cs Keymap for dekuNukem/duckyPad QMK firmware - -# Copyright (C) 2020 Max Bridgland - -# This program is free software: you can 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 . -### - - -import hid -import time -import psutil -import GPUtil -import datetime - -vendor_id = 0x444E -product_id = 0x4450 - -usage_page = 0xFF60 -usage = 0x61 - -device_interfaces = hid.enumerate(vendor_id, product_id) -raw_hid_interfaces = [i for i in device_interfaces if i['usage_page'] == usage_page and i['usage'] == usage] - -if len(raw_hid_interfaces) == 0: - print('Couldnt find any interfaces') - exit() - -interface = hid.device() -interface.open_path(raw_hid_interfaces[0]['path']) -print("Manufacturer: %s" % interface.get_manufacturer_string()) -print("Product: %s" % interface.get_product_string()) -time.sleep(0.05) -while True: - time.sleep(0.75) - cpufreq = psutil.cpu_freq() - currFreq = int(cpufreq.current) - svmem = psutil.virtual_memory() - memPerc = int(svmem.percent * 10) - gpus = GPUtil.getGPUs() - gpu = gpus[0] - load = int(gpu.load*100) - temp = int(gpu.temperature) - data = [0] - for x in str(currFreq): - data.append(int(x)) - data.append(13) - for x in str(memPerc): - data.append(int(x)) - data.append(13) - for x in str(load): - data.append(int(x)) - data.append(13) - for x in str(temp): - data.append(int(x)) - data.append(13) - now_hour = datetime.datetime.now().strftime("%I") - now_min = datetime.datetime.now().strftime("%M") - data.append(int(now_hour[0])) - data.append(int(now_hour[1])) - data.append(13) - data.append(int(now_min[0])) - data.append(int(now_min[1])) - data.append(13) - interface.write(data) diff --git a/keyboards/dekunukem/duckypad/keymaps/via/keymap.c b/keyboards/dekunukem/duckypad/keymaps/via/keymap.c index 01baaeb59377..c3bb88353fd1 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 5085d50a04fa..1e5b99807cb7 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 d9bd708a95ff..6e7633bfe015 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 545ce1fadb00..93fec1ee2daf 100644 --- a/keyboards/delikeeb/flatbread60/config.h +++ b/keyboards/delikeeb/flatbread60/config.h @@ -17,23 +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 -#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 - /* 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/delikeeb/flatbread60/info.json b/keyboards/delikeeb/flatbread60/info.json index e43a3458ea21..ac581c2d0e6a 100644 --- a/keyboards/delikeeb/flatbread60/info.json +++ b/keyboards/delikeeb/flatbread60/info.json @@ -8,6 +8,24 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 19, + "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 + } + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/delikeeb/vaguettelite/config.h b/keyboards/delikeeb/vaguettelite/config.h index b2c1315f3adb..93fec1ee2daf 100644 --- a/keyboards/delikeeb/vaguettelite/config.h +++ b/keyboards/delikeeb/vaguettelite/config.h @@ -17,21 +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 -// # 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 - /* 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/delikeeb/vaguettelite/info.json b/keyboards/delikeeb/vaguettelite/info.json index b6ddb96725a3..45e17c432a0d 100644 --- a/keyboards/delikeeb/vaguettelite/info.json +++ b/keyboards/delikeeb/vaguettelite/info.json @@ -19,6 +19,17 @@ {"pin_a": "F1", "pin_b": "F0"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "sleep": true, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c deleted file mode 100644 index ec6a99690066..000000000000 --- a/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c +++ /dev/null @@ -1,155 +0,0 @@ -/* Copyright 2020 noclew - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _LOWER, - _RAISE, - _ADJUST, - _MAC, - _GAME -}; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - BASE = SAFE_RANGE, - LOWER, - RAISE, - MAC, - GAME -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE - * --------------------------------------------------------------------------------------------------------- - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bspc | Mute | - * --------------------------------------------------------------------------------------------------------- - * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] | - *---------------------------------------------------------------------------------------------------------- - * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' | - *---------------------------------------------------------------------------------------------------------- - * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | DEL | - *---------------------------------------------------------------------------------------------------------- - * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right | - *---------------------------------------------------------------------------------------------------------- - */ - - [_BASE] = 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_AUDIO_MUTE, - 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_LBRC, KC_RBRC, - KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , KC_NO, KC_QUOT, - KC_NO , 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_QUOT), KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_MAC] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_GAME] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, MO(_LOWER), KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT_all( - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F12 , _______, - KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______, - KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______, _______, - KC_ENT , _______, KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_all( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DB_TOGG, - _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, TG(_GAME), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC), _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - - } - return true; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - /* With an if statement we can check which encoder was turned. */ - if (index == 0) { /* First encoder */ - /* And with another if statement we can check the direction. */ - if (clockwise) { - if (IS_LAYER_ON(_LOWER)){ - tap_code(KC_RIGHT); - } else { - tap_code(KC_VOLU); - } - } else { - if (IS_LAYER_ON(_LOWER)){ - tap_code(KC_LEFT); - } else { - tap_code(KC_VOLD); - } - } - - } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - } - return true; -} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md b/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md deleted file mode 100644 index bc2bbecb7ce8..000000000000 --- a/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The noclew's keymap for Vaguette LITE diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h index 984a14d94fd8..f5d10c1915f0 100644 --- a/keyboards/delikeeb/vanana/rev1/config.h +++ b/keyboards/delikeeb/vanana/rev1/config.h @@ -19,21 +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 -//# 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 - /* 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/delikeeb/vanana/rev1/info.json b/keyboards/delikeeb/vanana/rev1/info.json index 4a7d4c77180d..a4c101ec237c 100644 --- a/keyboards/delikeeb/vanana/rev1/info.json +++ b/keyboards/delikeeb/vanana/rev1/info.json @@ -3,6 +3,17 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h index 984a14d94fd8..f5d10c1915f0 100644 --- a/keyboards/delikeeb/vanana/rev2/config.h +++ b/keyboards/delikeeb/vanana/rev2/config.h @@ -19,21 +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 -//# 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 - /* 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/delikeeb/vanana/rev2/info.json b/keyboards/delikeeb/vanana/rev2/info.json index e8ff47d85529..252e111fb2aa 100644 --- a/keyboards/delikeeb/vanana/rev2/info.json +++ b/keyboards/delikeeb/vanana/rev2/info.json @@ -3,6 +3,17 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/delikeeb/waaffle/rev3/config.h b/keyboards/delikeeb/waaffle/rev3/config.h index 36ef7a27bf39..6450b251b795 100644 --- a/keyboards/delikeeb/waaffle/rev3/config.h +++ b/keyboards/delikeeb/waaffle/rev3/config.h @@ -17,21 +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 -// # 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 - /* 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/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json index b251334154a0..1201411d46b0 100644 --- a/keyboards/delikeeb/waaffle/rev3/info.json +++ b/keyboards/delikeeb/waaffle/rev3/info.json @@ -8,6 +8,17 @@ "pid": "0x0012", "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/deltasplit75/keymaps/itsaferbie/config.h b/keyboards/deltasplit75/keymaps/itsaferbie/config.h deleted file mode 100644 index 32605799a85f..000000000000 --- a/keyboards/deltasplit75/keymaps/itsaferbie/config.h +++ /dev/null @@ -1,37 +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 . -*/ - - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#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 -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c b/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c deleted file mode 100644 index a0c8f0426675..000000000000 --- a/keyboards/deltasplit75/keymaps/itsaferbie/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layer 0: Default Layer - *,-----------------------------------------------------------------------. - * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|Prnt|Ins|Del| - * |----------------------------------------------------------------------| - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backspace| Home| - * |----------------------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| PgUp| - * |----------------------------------------------------------------------| - * |Ctrl| A| S| D| F| G| H| J| K| L| ;| '|Enter | PgDown| - * |----------------------------------------------------------------------| - * |Shif| | Z| X| C| V| B| N| M| ,| .| /|Shift | Up| End| - * |----------------------------------------------------------------------| - * |CapsLo|Gui |Alt |Mod|Sp | Sp| Alt| Gui| Ctrl| | Lef| Dow| Rig| - * `----------------------------------------------------------------------' - */ - LAYOUT_v2( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS, KC_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_TRNS, KC_HOME, // KC_TRNS is the unneeded key in the split backspace. - KC_TAB, KC_Q, KC_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_LCTL, 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_PGDN, // KC_TRNS is unneeded ISO Enter key. - KC_LSFT, KC_TRNS, 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_END, // KC_TRNS is unneeded ISO layout key. - KC_CAPS, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - LAYOUT_v2( - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_STOP, KC_MNXT - ), - -}; diff --git a/keyboards/deltasplit75/keymaps/itsaferbie/rules.mk b/keyboards/deltasplit75/keymaps/itsaferbie/rules.mk deleted file mode 100644 index 92f24224c78b..000000000000 --- a/keyboards/deltasplit75/keymaps/itsaferbie/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -AUDIO_ENABLE = no # Audio disabled while using RGB underlight. -EXTRAKEY_ENABLE = yes - diff --git a/keyboards/deltasplit75/keymaps/mbsurfer/config.h b/keyboards/deltasplit75/keymaps/mbsurfer/config.h deleted file mode 100644 index 3e79f43ed065..000000000000 --- a/keyboards/deltasplit75/keymaps/mbsurfer/config.h +++ /dev/null @@ -1,21 +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 . -*/ - - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS diff --git a/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c b/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c deleted file mode 100644 index e5c9ecc5824c..000000000000 --- a/keyboards/deltasplit75/keymaps/mbsurfer/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layer 0: Default Layer - * ,---------------------------- ----------------------------------------. - * |Esc| F1| F2| F3| F4| F5| F6| |F7| F8| F9| F10| F11| F12|Prnt|Ins|Home| - * |---------------------------- ----------------------------------------| - * | `| 1| 2| 3| 4| 5| 6| | 7| 8| 9| 0| -| =| \| Del| End| - * |-------------------------- ------------------------------------------| - * |Tab | Q| W| E| R| T| | Y| U| I| O| P| [| ]| BkSp | PgUp| - * |-------------------------- ------------------------------------------| - * |Ctrl| A| S| D| F| G| | H| J| K| L| ;| '| Enter | PgDn| - * |---------------------------- -----------------------------------------| - * |Shift | Z| X| C| V| B| | N| M| ,| .| /| Shift | Up| FN1| - * |----------------------------- ----------------------------------------| - * |Ctrl |Gui |Alt |Space |FN1 | | Space | Alt| Gui| Ctrl| Lef | Dow |Rig| - * `---------------------------- ----------------------------------------' - */ - LAYOUT_v2( - 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_PAUSE, KC_HOME, - 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_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_BSPC, KC_PGUP, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, KC_PGDN, //modify _______ to enable ISO Support - 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, MO(1), //modify _______ to enable ISO Support - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Layer 1: FN1 Layer - * ,---------------------------- -------------------------------------. - * | | | | | | | | | | | | | | | |Reset| - * |---------------------------- -------------------------------------| - * | \ | | | | | | | | | | | | | | | | - * |---------------------------- ---------------------------------------| - * |Caps|VolUp| Up | | | | | | | | | Up| | | | - * |--------------------------- ---------------------------------------| - * | |Lft|Dwn|Rig| | | | | | |Lft|Rig| | | - * |---------------------------- -------------------------------------| - * | |VolDn|Mute| | | | | | | |Dwn| | | | - * |---------------------------- ----------------------------------------| - * | | | | | | | | | | | | | - * `--------------------------- ----------------------------------------' - */ - LAYOUT_v2( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, - M(1), KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, _______, - _______, _______, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -}; diff --git a/keyboards/deltasplit75/keymaps/mbsurfer/readme.md b/keyboards/deltasplit75/keymaps/mbsurfer/readme.md deleted file mode 100644 index b65c3a734e03..000000000000 --- a/keyboards/deltasplit75/keymaps/mbsurfer/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -![Mbsurfer Layout Image](https://i.imgur.com/Hz82zyh.png) - -# Mbsurfer's DeltaSplit75 Layout - -This layout features an ANSI layout with split backspace and a full bottom row with no gaps. The reset key on the FN layer is for quickly flashing a new firmware. diff --git a/keyboards/deltasplit75/keymaps/protosplit/config.h b/keyboards/deltasplit75/keymaps/protosplit/config.h deleted file mode 100644 index 3e79f43ed065..000000000000 --- a/keyboards/deltasplit75/keymaps/protosplit/config.h +++ /dev/null @@ -1,21 +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 . -*/ - - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS diff --git a/keyboards/deltasplit75/keymaps/protosplit/keymap.c b/keyboards/deltasplit75/keymaps/protosplit/keymap.c deleted file mode 100644 index 760a81f8fc4f..000000000000 --- a/keyboards/deltasplit75/keymaps/protosplit/keymap.c +++ /dev/null @@ -1,29 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_protosplit( - 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_HOME, KC_PGUP, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_END, KC_PGDN, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_SCRL, - 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_PAUS, - 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_LSFT, KC_UP, KC_PSCR, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - LAYOUT_protosplit( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_VOLU, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - M(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_VOLD, M(0), KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h index 4d2439ad3c1e..9b7700e0139b 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 857fa12e9a97..d583f3bb65b7 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 deleted file mode 100755 index 2d3108fae321..000000000000 --- a/keyboards/demiurge/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright 2021 ojthetiny - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLED_NUM 21 -#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 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT diff --git a/keyboards/demiurge/info.json b/keyboards/demiurge/info.json index 88c938131909..8fc707be2c22 100644 --- a/keyboards/demiurge/info.json +++ b/keyboards/demiurge/info.json @@ -17,7 +17,20 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 153 + "led_count": 21, + "max_brightness": 153, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/deng/djam/info.json b/keyboards/deng/djam/info.json index c78e814505d2..c7fe59ff0a4b 100644 --- a/keyboards/deng/djam/info.json +++ b/keyboards/deng/djam/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/deng/thirty/config.h b/keyboards/deng/thirty/config.h index d80983202fb0..9fcb90742fac 100644 --- a/keyboards/deng/thirty/config.h +++ b/keyboards/deng/thirty/config.h @@ -15,6 +15,9 @@ */ #pragma once +#define BACKLIGHT_PWM_DRIVER PWMD2 +#define BACKLIGHT_PWM_CHANNEL 4 + /* RGB Matrix */ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 30 @@ -23,10 +26,6 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -#define RGB_MATRIX_DEFAULT_HUE 0 -#define RGB_MATRIX_DEFAULT_SAT 255 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define RGB_MATRIX_DEFAULT_SPD 127 // Enable Effects // == Regular Effects == #define ENABLE_RGB_MATRIX_ALPHAS_MODS @@ -75,8 +74,3 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - -/* VIA */ -#ifdef VIA_ENABLE -#define DYNAMIC_KEYMAP_LAYER_COUNT 8 -#endif diff --git a/keyboards/deng/thirty/halconf.h b/keyboards/deng/thirty/halconf.h new file mode 100644 index 000000000000..b107a87e75af --- /dev/null +++ b/keyboards/deng/thirty/halconf.h @@ -0,0 +1,20 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/deng/thirty/info.json b/keyboards/deng/thirty/info.json index 1d9b018e6bbc..b93881c08668 100644 --- a/keyboards/deng/thirty/info.json +++ b/keyboards/deng/thirty/info.json @@ -9,15 +9,17 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B13", "B14", "B3", "A4", "A6"], "rows": ["B15", "A5", "A3", "A15", "B7", "B8"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 8 + }, "backlight": { - "driver": "software", "pin": "B11", "levels": 5, "on_state": 0 diff --git a/keyboards/deng/thirty/mcuconf.h b/keyboards/deng/thirty/mcuconf.h new file mode 100644 index 000000000000..8ff617051f0d --- /dev/null +++ b/keyboards/deng/thirty/mcuconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE diff --git a/keyboards/deng/thirty/rules.mk b/keyboards/deng/thirty/rules.mk index e8ce9e854be6..d1753c1e6c44 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/deng/thirty/thirty.c b/keyboards/deng/thirty/thirty.c index 2e582d68337a..7d49bc1b036f 100644 --- a/keyboards/deng/thirty/thirty.c +++ b/keyboards/deng/thirty/thirty.c @@ -46,3 +46,8 @@ led_config_t g_led_config = { }; #endif + +void board_init(void) { + // Remap B11 AF to TIM2_CH4 + AFIO->MAPR |= AFIO_MAPR_TIM2_REMAP_PARTIALREMAP2; +} diff --git a/keyboards/dichotomy/keymaps/alairock/keymap.c b/keyboards/dichotomy/keymaps/alairock/keymap.c deleted file mode 100644 index a7f9189a480a..000000000000 --- a/keyboards/dichotomy/keymaps/alairock/keymap.c +++ /dev/null @@ -1,196 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _MOUSE 8 -#define _ADJUST 16 - - -enum dichotomy_keycodes -{ - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - MOUKEY, - MS_BTN1, - MS_BTN2, - MS_BTN3 -}; - -#define RED_BRIGHTNESS 3 -#define GREEN_BRIGHTNESS 2 -#define BLUE_BRIGHTNESS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - -[_QWERTY] = LAYOUT( /* Base layout, nearly qwerty but with modifications because it's not a full keyboard. Obviously. */ - KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUKEY, - KC_LCTL, KC_LALT, MOUKEY, KC_RGUI, KC_RALT, KC_RCTL, - MS_BTN3, SFT_T(KC_ESCAPE), KC_LGUI, KC_BSPC, KC_SPC, RAISE, LOWER, MS_BTN3 -), - -[_RAISE] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */ - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_MFFD, KC_MUTE, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_GRV, _______, _______, KC_MRWD, _______, _______, _______, KC_BSLS, KC_QUOT, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, KC_LABK, _______, _______, KC_RABK, _______, _______ -), - -[_LOWER] = LAYOUT( /* Number layout, basically the main function layer */ - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_MFFD, KC_MUTE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_TILD, _______, _______, KC_MRWD, _______, _______, _______, KC_PIPE, KC_DQT, _______, - _______, _______, _______, _______, _______, _______, - _______, RAISE, _______, _______, _______, _______, _______, _______ -), - -[_ADJUST] = LAYOUT( /* Shifted number/function layout, for per-key control. Only active when shift is held, and number is toggled or held */ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, - KC_LGUI, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - KC_LSFT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MOUSE] = LAYOUT( /* Mouse layer, including buttons for clicking. */ - _______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______, - _______, _______, _______, _______, KC_UP, _______, - _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______ -) - -}; // end keymaps block - -static bool shift_held = false; -static bool shift_suspended = false; -report_mouse_t currentReport = {}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - grn_led_on(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - grn_led_off(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - //SHIFT is handled as LSHIFT in the general case - 'toggle' shoudl activate caps, while the layer is only active when shift is held. - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - red_led_on(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - red_led_off(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //MOUSE layer needs to be handled the same way as NUMKEY, but differently from shift - case MOUKEY: - if (record->event.pressed) { - layer_on(_MOUSE); - blu_led_on(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_MOUSE); - blu_led_off(); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - - //mouse buttons, for 1-3, to update the mouse report: - case MS_BTN1: - currentReport = pointing_device_get_report(); - if (record->event.pressed) { - if (shift_held && shift_suspended){ - register_code(KC_LSFT); - shift_suspended = false; - } - //update mouse report here - currentReport.buttons |= MOUSE_BTN1; //MOUSE_BTN1 is a const defined in report.h - } else { - //update mouse report here - currentReport.buttons &= ~MOUSE_BTN1; - } - pointing_device_set_report(currentReport); - return false; - break; - case MS_BTN2: - currentReport = pointing_device_get_report(); - if (record->event.pressed) { - if (shift_held && shift_suspended){ - register_code(KC_LSFT); - shift_suspended = false; - } - //update mouse report here - currentReport.buttons |= MOUSE_BTN2; //MOUSE_BTN2 is a const defined in report.h - } else { - //update mouse report here - currentReport.buttons &= ~MOUSE_BTN2; - } - pointing_device_set_report(currentReport); - return false; - break; - case MS_BTN3: - currentReport = pointing_device_get_report(); - if (record->event.pressed) { - if (shift_held && shift_suspended){ - register_code(KC_LSFT); - shift_suspended = false; - } - //update mouse report here - currentReport.buttons |= MOUSE_BTN3; //MOUSE_BTN3 is a const defined in report.h - } else { - //update mouse report here - currentReport.buttons &= ~MOUSE_BTN3; - } - pointing_device_set_report(currentReport); - return false; - break; - //Additionally, if NS_ keys are in use, then shift may be held (but is - //disabled for the unshifted keycodes to be send. Check the bool and - //register shift as necessary. - // default: - // if (shift_held){ - // register_code(KC_LSFT); - // } - // break; - } - return true; -}; diff --git a/keyboards/dichotomy/keymaps/beat/config.h b/keyboards/dichotomy/keymaps/beat/config.h deleted file mode 100644 index f31e7469f422..000000000000 --- a/keyboards/dichotomy/keymaps/beat/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TERM 200 -#define TAPPING_TOGGLE 2 diff --git a/keyboards/dichotomy/keymaps/beat/keymap.c b/keyboards/dichotomy/keymaps/beat/keymap.c deleted file mode 100644 index c686d77d6e8e..000000000000 --- a/keyboards/dichotomy/keymaps/beat/keymap.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer_names { - _QWERTY, - _LOWER, - _RAISE, - _MOUSE, - _ADJUST -}; - -enum dichotomy_keycodes { - MS_BTN1 = SAFE_RANGE, - MS_BTN2, - MS_BTN3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( /* Base layout, nearly qwerty but with modifications because it's not a full keyboard. Obviously. */ - KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TT(_MOUSE), - KC_LGUI, KC_LALT, KC_DEL, KC_RCTL, KC_RALT, KC_RGUI, - MS_BTN3, SFT_T(KC_ESCAPE), KC_LCTL, KC_SPC, KC_SPC, TT(_RAISE), TT(_LOWER), MS_BTN3 - ), - - [_RAISE] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */ - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, KC_MUTE, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_GRV, _______, _______, KC_MPRV, _______, KC_LABK, KC_RABK, KC_BSLS, KC_QUOT, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT( /* Number layout, basically the main function layer */ - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, KC_MUTE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_TILD, _______, _______, KC_MPRV, _______, _______, _______, KC_PIPE, KC_DQT, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT( /* Shifted number/function layout, for per-key control. Only active when shift is held, and number is toggled or held */ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, - _______, _______, _______, LGUI(KC_L), KC_PSCR, KC_APP, KC_PCMM, KC_P1, KC_P2, KC_P3, KC_PEQL, _______, - _______, _______, _______, _______, KC_P0, KC_PDOT, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_MOUSE] = LAYOUT( /* Mouse layer, including buttons for clicking. */ - _______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_WH_U, KC_PGUP, _______, _______, - _______, _______, MS_BTN2, MS_BTN3, MS_BTN1, _______, KC_VOLD, MS_BTN1, MS_BTN3, MS_BTN2, _______, _______, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_WH_D, KC_PGDN, _______, _______, - _______, KC_UP, _______, _______, KC_UP, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_DOWN, KC_RGHT, _______ - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - red_led(layer_state_cmp(state, _LOWER)); - grn_led(layer_state_cmp(state, _RAISE)); - blu_led(layer_state_cmp(state, _MOUSE)); - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -#define SetBitMask(variable, mask, on) if (on) variable |= mask; else variable &= ~mask - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - report_mouse_t currentReport; - switch (keycode) { - //mouse buttons, for 1-3, to update the mouse report: - //MOUSE_BTN1-3 are consts defined in report.h - case MS_BTN1: - currentReport = pointing_device_get_report(); - SetBitMask(currentReport.buttons, MOUSE_BTN1, record->event.pressed); - pointing_device_set_report(currentReport); - return false; - case MS_BTN2: - currentReport = pointing_device_get_report(); - SetBitMask(currentReport.buttons, MOUSE_BTN2, record->event.pressed); - pointing_device_set_report(currentReport); - return false; - case MS_BTN3: - currentReport = pointing_device_get_report(); - SetBitMask(currentReport.buttons, MOUSE_BTN3, record->event.pressed); - pointing_device_set_report(currentReport); - return false; - case KC_WH_U: - currentReport = pointing_device_get_report(); - if(record->event.pressed) { - currentReport.v += 1; - } - else { - currentReport.v = 0; - } - pointing_device_set_report(currentReport); - return false; - case KC_WH_D: - currentReport = pointing_device_get_report(); - if(record->event.pressed) { - currentReport.v -= 1; - } - else { - currentReport.v = 0; - } - pointing_device_set_report(currentReport); - return false; - } - return true; -} diff --git a/keyboards/dichotomy/rules.mk b/keyboards/dichotomy/rules.mk index 040710a460d9..bfa5252a0394 100755 --- a/keyboards/dichotomy/rules.mk +++ b/keyboards/dichotomy/rules.mk @@ -14,4 +14,4 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/dinofizz/fnrow/v1/rules.mk b/keyboards/dinofizz/fnrow/v1/rules.mk index 2f7ef9fbe89d..a1e56ea4862c 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 7ca2b8cded02..d1c1201a5488 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 1813baa24103..4f3b03b6f9e3 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/dm9records/lain/config.h b/keyboards/dm9records/lain/config.h index e34b4d34ab14..ddb4b6702fcd 100644 --- a/keyboards/dm9records/lain/config.h +++ b/keyboards/dm9records/lain/config.h @@ -12,5 +12,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/dm9records/lain/info.json b/keyboards/dm9records/lain/info.json index 8ae8a33b4445..250eb2ddafdf 100644 --- a/keyboards/dm9records/lain/info.json +++ b/keyboards/dm9records/lain/info.json @@ -13,6 +13,9 @@ "rows": ["C6", "D7", "D6", "D4"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/config.h b/keyboards/dm9records/plaid/keymaps/brickbots/config.h deleted file mode 100644 index 5733b9e4b046..000000000000 --- a/keyboards/dm9records/plaid/keymaps/brickbots/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Takuya Urakawa (dm9records.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 - -// place overrides here diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c deleted file mode 100644 index 975eacaebc6a..000000000000 --- a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c +++ /dev/null @@ -1,411 +0,0 @@ -/* Copyright 2019 Takuya Urakawa (dm9records.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 - -extern keymap_config_t keymap_config; - -enum plaid_layers { - _QWERTY, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _PLOVER, - _ADJUST -}; - -enum plaid_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - PLOVER, - EXT_PLV, - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0 -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -// array of keys considered modifiers for led purposes -const uint16_t modifiers[] = { - KC_LCTL, - KC_RCTL, - KC_LALT, - KC_RALT, - KC_LSFT, - KC_RSFT, - KC_LGUI, - KC_RGUI, - LOWER, - RAISE -}; - -//Setup consts for LED modes -#define LEDMODE_ON 1 //always on -#define LEDMODE_OFF 0 //always off -#define LEDMODE_MODS 2 //On with modifiers -#define LEDMODE_BLINKIN 3 //blinkinlights - % chance toggle on keypress -#define LEDMODE_KEY 4 //On with any keypress, off with key release -#define LEDMODE_ENTER 5 // On with enter key - -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 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ltrl | Rctl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_plaid_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_RCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_plaid_grid( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT_plaid_grid( - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, - KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_plaid_grid( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_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_plaid_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 -), - -/* Plover layer (http://opensteno.org) - * ,-----------------------------------------------------------------------------------. - * | # | # | # | # | # | # | # | # | # | # | # | # | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | S | T | P | H | * | * | F | P | L | T | D | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | S | K | W | R | * | * | R | B | G | S | Z | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Exit | | | A | O | | E | U | | | | - * `-----------------------------------------------------------------------------------' - */ - -[_PLOVER] = LAYOUT_plaid_grid( - KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , - XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * |Reset | | | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_plaid_grid( - QK_BOOT,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL , - _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - - -}; - -//Setup config struct for LED -typedef union { - uint32_t raw; - struct { - uint8_t red_mode :8; - uint8_t green_mode :8; - }; -} led_config_t; -led_config_t led_config; - -//Set leds to saved state during powerup -void keyboard_post_init_user(void) { - // Call the post init code. - led_config.raw = eeconfig_read_user(); - - if(led_config.red_mode == LEDMODE_ON) { - writePinHigh(LED_RED); - } - - if(led_config.green_mode == LEDMODE_ON) { - writePinHigh(LED_GREEN); - } -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - led_config.raw = 0; - led_config.red_mode = LEDMODE_ON; - led_config.green_mode = LEDMODE_MODS; - eeconfig_update_user(led_config.raw); - eeconfig_update_user(led_config.raw); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrecord_t *record) { - switch (led_mode) { - case LEDMODE_MODS: - for (int i=0;ievent.pressed) { - writePinHigh(led); - } - else { - writePinLow(led); - } - } - } - break; - case LEDMODE_BLINKIN: - if (record->event.pressed) { - if(rand() % 2 == 1) { - if(rand() % 2 == 0) { - writePinLow(led); - } - else { - writePinHigh(led); - } - } - } - break; - case LEDMODE_KEY: - if (record->event.pressed) { - writePinHigh(led); - return; - } - else { - writePinLow(led); - return; - } - break; - case LEDMODE_ENTER: - if (keycode==KC_ENT) { - writePinHigh(led); - } - else { - writePinLow(led); - } - break; - - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - /* If the either led mode is keypressed based, call the led updater - then let it fall through the keypress handlers. Just to keep - the logic out of this procedure */ - if (led_config.red_mode >= LEDMODE_MODS && led_config.red_mode <= LEDMODE_ENTER) { - led_keypress_update(LED_RED, led_config.red_mode, keycode, record); - } - if (led_config.green_mode >= LEDMODE_MODS && led_config.green_mode <= LEDMODE_ENTER) { - led_keypress_update(LED_GREEN, led_config.green_mode, keycode, record); - } - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case PLOVER: - if (record->event.pressed) { - layer_off(_RAISE); - layer_off(_LOWER); - layer_off(_ADJUST); - layer_on(_PLOVER); - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keymap_config.nkro = 1; - eeconfig_update_keymap(keymap_config.raw); - } - return false; - break; - case EXT_PLV: - if (record->event.pressed) { - layer_off(_PLOVER); - } - return false; - break; - case LED_1: - if (record->event.pressed) { - if (led_config.red_mode==LEDMODE_ON) { - led_config.red_mode=LEDMODE_OFF; - writePinLow(LED_RED); - } - else { - led_config.red_mode=LEDMODE_ON; - writePinHigh(LED_RED); - } - } - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_2: - if (record->event.pressed) { - if (led_config.green_mode==LEDMODE_ON) { - led_config.green_mode=LEDMODE_OFF; - writePinLow(LED_GREEN); - } - else { - led_config.green_mode=LEDMODE_ON; - writePinHigh(LED_GREEN); - } - } - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_3: - led_config.red_mode=LEDMODE_MODS; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_4: - led_config.green_mode=LEDMODE_MODS; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_5: - led_config.red_mode=LEDMODE_BLINKIN; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_6: - led_config.green_mode=LEDMODE_BLINKIN; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_7: - led_config.red_mode=LEDMODE_KEY; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_8: - led_config.green_mode=LEDMODE_KEY; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_9: - led_config.red_mode=LEDMODE_ENTER; - eeconfig_update_user(led_config.raw); - return false; - break; - case LED_0: - led_config.green_mode=LEDMODE_ENTER; - eeconfig_update_user(led_config.raw); - return false; - break; - } - return true; -} diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/readme.md b/keyboards/dm9records/plaid/keymaps/brickbots/readme.md deleted file mode 100644 index 48a12fa8bbe7..000000000000 --- a/keyboards/dm9records/plaid/keymaps/brickbots/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# Brickbots keymap for plaid -Original copyright 2019 Takuya Urakawa (dm9records.com) -LED Support added by Richard Sutherland (rich@brickbots.com) - -This layout is based on the Planck layout, with esc/tab swapped and an extra -ctrl key in the bottom left corner. It includes an adjust layer (6) -accessible by holding the lower and raise modifiers (MO3 and MO4) together. -The adjustment layer is used to set the behavior of the two LEDs: - -**Modifier Mode:** -Activates when any modifier (shift, alt, os, MO) key is held -down. LED turns off when key is release - -**Blinkinlights Mode:** -Random chance of state change on each keystroke. - -**Keypress Mode:** -On for any keypress as long as the key is pressed - -**Carriage Mode:** -Turns on when enter is pressed, turns off when any next key is pressed - -To set the behavior of an LED, and save it to eeprom, hold the -raise/lower keys together to access the adjust layer, then use -the keys indicated below to set the behaviors - -* q = Toggle Red LED state, deactivates any other modes -* w = Toggle Green LED state, deactivates any other modes -* e = Set RED LED to modifier mode -* r = Set GREEN LED to modifier mode -* t = Set RED LED to Blinkinlights mode -* y = set GREEN LED to Blinkinlights mode -* u = set RED LED to Keypress mode -* i = set GREEN LED to Keypress mode -* o = set RED LED to Carriage mode -* p = set GREEN LED to Carriage mode diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c deleted file mode 100644 index 0d1ec2b76261..000000000000 --- a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c +++ /dev/null @@ -1,215 +0,0 @@ -/* Copyright 2020 Benjamin Große - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "mousekey.h" - - -enum plaid_layers { - _QWERTY, - _XMONAD, - _RAISE, - _LOWER, -}; - -enum plaid_keycodes { - AUTOCLICK = SAFE_RANGE -}; - -static bool autoclick = false; -static bool autoclick_state = false; -static uint16_t autoclick_timer = 0; - -#define XMONAD LM(_XMONAD, MOD_LGUI) -#define SPC_LWR LT(_LOWER, KC_SPACE) -#define ENT_RSE LT(_RAISE, KC_ENT) -#define LOWER LT(_LOWER, KC_BSPC) - -#define LS_ESC LSFT_T(KC_ESC) -#define RS_QUOT RSFT_T(KC_QUOT) - -#define LCT_MINS LCTL_T(KC_MINS) -#define RCT_EQL RCTL_T(KC_EQL) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P |Bckspc| - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | - | Z | X | C | V | B | N | M | , | . | / | = | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI |XMONAD|LShift| Space |Ent/RA|RShift|LOWER | RAlt |RCtrl | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_plaid_grid( // Base QWERTY - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LS_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, RS_QUOT, - LCT_MINS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCT_EQL, - KC_LCTL, KC_LALT, KC_LGUI, XMONAD, SC_LSPO, KC_SPACE,_______, ENT_RSE, SC_RSPC, LOWER, KC_RALT, KC_RCTL -), - -[_XMONAD] = LAYOUT_plaid_grid( // Xmonad with MOD4 - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_P, _______, - KC_LSFT, _______, _______, _______, _______, _______, KC_H, KC_J, KC_K, KC_L, _______, _______, - KC_LSFT, _______, _______, KC_C, _______, KC_B, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______ -), - -/* Raised - * ,-----------------------------------------------------------------------------------. - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ~ | { | PgUp | PgDn | End | Home | Left | Down | Up | Right| } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | [ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ] | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | |VolDn |VolUp |Mute | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_plaid_grid( // Numbers, arrows, symbols - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TILD, KC_LCBR, KC_PGUP, KC_PGDN, KC_END, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCBR, KC_PIPE, - KC_LBRC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RBRC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE -), - -[_LOWER] = LAYOUT_plaid_grid( // F, media keys, reset - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, _______, MU_NEXT, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, QK_BOOT, - _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, AUTOCLICK -) -}; - -#define BLINKEN_RANDOM_STARTLE false -static uint16_t blinken_timer = 0; -static uint16_t next_timeout = 1000; -enum blinken_modes { - BLINK_HOLD, - BLINK_STARTLED, - BLINK_STARTLED_LAYER -}; -static uint16_t blinken_mode = BLINK_HOLD; -static uint16_t blinken_timer_startled = 0; -static uint16_t blinken_startled_state = 0; - -void matrix_init_user(void) { - // https://github.com/hsgw/plaid/issues/15#issuecomment-534677102 - eeconfig_init(); -} - -void keyboard_post_init_user(void) { - writePinHigh(LED_RED); - writePinHigh(LED_GREEN); - blinken_timer = timer_read(); -} - -void matrix_scan_user(void) { - if (blinken_mode != BLINK_STARTLED_LAYER && timer_elapsed(blinken_timer) > next_timeout) { - blinken_timer = timer_read(); - if (BLINKEN_RANDOM_STARTLE && rand() % 5 == 0) { - blinken_mode = BLINK_STARTLED; - blinken_timer_startled = timer_read(); - blinken_startled_state = 0; - } else { - blinken_mode = BLINK_HOLD; - - if(rand() % 2 == 0) { - next_timeout = 1000; - } else if(rand() % 2 == 0) { - next_timeout = 500; - } else { - next_timeout = 300; - } - - if(rand() % 2 == 0) { - writePinLow(LED_RED); - } else { - writePinHigh(LED_RED); - } - if(rand() % 2 == 0) { - writePinLow(LED_GREEN); - } else { - writePinHigh(LED_GREEN); - } - } - } else if ((blinken_mode == BLINK_STARTLED || blinken_mode == BLINK_STARTLED_LAYER) - && timer_elapsed(blinken_timer_startled) > 50) { - blinken_timer_startled = timer_read(); - switch (blinken_startled_state) { - case 0: - writePinLow(LED_GREEN); - blinken_startled_state += 1; - break; - case 1: - writePinHigh(LED_RED); - blinken_startled_state += 1; - break; - case 2: - writePinHigh(LED_GREEN); - blinken_startled_state += 1; - break; - case 3: - writePinLow(LED_RED); - blinken_startled_state = 0; - break; - } - } - if (autoclick && timer_elapsed(autoclick_timer) > (autoclick_state ? 20 : 100)) { - if (!autoclick_state) { - mousekey_on(KC_MS_BTN1); - } else { - mousekey_off(KC_MS_BTN1); - } - mousekey_send(); - autoclick_state = !autoclick_state; - autoclick_timer = timer_read(); - } -} - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _RAISE: - blinken_mode = BLINK_STARTLED_LAYER; - break; - case _XMONAD: - blinken_mode = BLINK_STARTLED_LAYER; - break; - case _LOWER: - blinken_mode = BLINK_STARTLED_LAYER; - break; - default: - blinken_mode = BLINK_HOLD; - break; - } - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case AUTOCLICK: - if (record->event.pressed) { - autoclick = !autoclick; - autoclick_timer = timer_read(); - } - break; - } - return true; -}; diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md b/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md deleted file mode 100644 index 999d92c84450..000000000000 --- a/keyboards/dm9records/plaid/keymaps/gipsy-king/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Gipsy keymap for plaid - -This layout is based on my corne layout: -* QWERTY with Tab, Backspace on top, dash and equals on the bottom. -* RAISE has numbers on top, arrows on hjkl, end/home on F/G, symbols on the - bottom and around. -* XMONAD has xmonad wm key bindings, should be used with Layer modifier LGUI -* LOWER has F keys and shouldn't be used much. -* Thumbs are: XMONAD, Left SC shift, Space, Enter/Raise, Right SC shift - -Does not have so many modtaps, basically just on enter. - -The LEDs of the plaid keep blinking in a soothing dance, reminiscent of some -old machine. - -When any layer is active, the LEDs are "startled". - -There is an autoclicker for minecraft. - diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h b/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h deleted file mode 100644 index 5733b9e4b046..000000000000 --- a/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Takuya Urakawa (dm9records.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 - -// place overrides here diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c b/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c deleted file mode 100644 index de9d6cc45bfc..000000000000 --- a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c +++ /dev/null @@ -1,356 +0,0 @@ -/* Copyright 2019 Takuya Urakawa (dm9records.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 plaid_layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -enum plaid_keycodes { - QWERTY = SAFE_RANGE, - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0 -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -// array of keys considered modifiers for led purposes -const uint16_t modifiers[] = { - KC_LCTL, - KC_RCTL, - KC_LALT, - KC_RALT, - KC_LSFT, - KC_RSFT, - KC_LGUI, - KC_RGUI, - LOWER, - RAISE -}; - -//Setup consts for LED modes -#define LEDMODE_ON 1 //always on -#define LEDMODE_OFF 0 //always off -#define LEDMODE_MODS 2 //On with modifiers -#define LEDMODE_BLINKIN 3 //blinkinlights - % chance toggle on keypress -#define LEDMODE_KEY 4 //On with any keypress, off with key release -#define LEDMODE_ENTER 5 // On with enter key - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * |Esc/hy| A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | fn | Alt | GUI |Lower | Space |Raise | GUI | Alt |Shift | Ctrl | - * `-----------------------------------------------------------------------------------' - * (karabiner remaps Caps lock -> fn) - */ -[_QWERTY] = LAYOUT_plaid_grid( - KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - HYPR_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_RSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - KC_RCTL , KC_CAPS, KC_RALT, KC_RGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_RGUI, KC_RALT, KC_RSFT, KC_RCTL -), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | Prev | Vol- | Play | - * `-----------------------------------------------------------------------------------' - * volume up key repeats randomly on mac, have to use mac specific volume - */ -[_LOWER] = LAYOUT_plaid_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_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_MPRV, KC_VOLD, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ~ | | | End | | | |Pg Up | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | Home | |Pg Dn | | | Left | Down | Up |Right | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | Copy |Paste | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | Next | Vol+ | Mute | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_plaid_grid( - KC_TILD, _______, _______, KC_END, _______, _______, _______, KC_PGUP, _______, _______, _______ , KC_DEL , - _______, KC_HOME, _______, KC_PGDN, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______ , _______, - _______, _______, _______, KC_COPY, KC_PSTE, KC_PGDN, _______, _______, _______, _______, _______ , _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLU, KC_MUTE -), - -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * |Reset | Red |Green | Rmod | Gmod |Rblink|Gblink| Rkey | Gkey | Rcar | Gcar | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | |Power |Sleep |Wake |Eject | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_plaid_grid( - QK_BOOT, LED_1 , LED_2 , LED_3 , LED_4 , LED_5 ,LED_6 , LED_7 , LED_8 , LED_9 , LED_0 , _______ , - _______, KC_PWR , KC_SLEP, KC_WAKE, KC_EJCT, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - - -}; - -//Setup config struct for LED -typedef union { - uint32_t raw; - struct { - uint8_t red_mode :8; - uint8_t green_mode :8; - }; -} led_config_t; -led_config_t led_config; - -//Set leds to saved state during powerup -void keyboard_post_init_user(void) { - // set LED pin modes - setPinOutput(LED_RED); - setPinOutput(LED_GREEN); - - // Call the post init code. - led_config.raw = eeconfig_read_user(); - - if(led_config.red_mode == LEDMODE_ON) { - writePinHigh(LED_RED); - } - - if(led_config.green_mode == LEDMODE_ON) { - writePinHigh(LED_GREEN); - } -} - -void eeconfig_init_user(void) { // EEPROM is getting reset! - led_config.raw = 0; - led_config.red_mode = LEDMODE_ON; - led_config.green_mode = LEDMODE_MODS; - eeconfig_update_user(led_config.raw); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrecord_t *record) { - switch (led_mode) { - case LEDMODE_MODS: - for (int i=0;ievent.pressed) { - writePinHigh(led); - } - else { - writePinLow(led); - } - } - } - break; - case LEDMODE_BLINKIN: - if (record->event.pressed) { - - /* Markov Chain - * - * 1 - x 1 - y - * /---\ /---\ - * v | v | - * /------\ x /------\ - * | |------>| | - * | on | y | off | - * | |<------| | - * \------/ \------/ - */ - - /* Non-homogeneous Markov Chain - * - * /-----\ 1 - x0 /-----\ 1 - x1 /-----\ - * |on 0|------->|on 1|------->|on 2|----> ... - * \-----/\ /\-----/\ /\-----/\ - * \ / \ / . - * x0\ / x1\ / . - * \/ \/ . - * /\ /\ - * y0/ \ y1/ \ . - * / \ / \ . - * / \ / \ . - * /-----\ 1 - y0 /-----\ 1 - y1 /-----\/ - * |off 0|------->|off 1|------->|off 2|----> ... - * \-----/ \-----/ \-----/ - * - * - * if x = 1/4 and y 1/4, behavior is equivalent to the original code - * and converges to a steady state at the rate of 1/2^k - * where k is the number of key presses - * (the distance from a given vector to the steady state, [1/2, 1/2], - * is cut in half every key press) - * - * if x = y, then it is guaranteed that the steady state is still - * [1/2, 1/2], but the rate at which it converges is variable - * - * if x != y, then there is no well-defined steady state - */ - - double x = (1.0*rand())/RAND_MAX; - double y = x; - - double p = (readPin(led)) ? x : y; - if (rand() < p*RAND_MAX) { - togglePin(led); - } - - /* following code is restriced to x + y <= 1 - * if(rand() % 2 == 1) { */ - /* if(rand() % 2 == 0) { */ - /* writePinLow(led); */ - /* } */ - /* else { */ - /* writePinHigh(led); */ - /* } */ - /* } */ - } - break; - case LEDMODE_KEY: - if (record->event.pressed) { - writePinHigh(led); - return; - } - else { - writePinLow(led); - return; - } - break; - case LEDMODE_ENTER: - if (keycode==KC_ENT) { - writePinHigh(led); - } - else { - writePinLow(led); - } - break; - - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - /* If the either led mode is keypressed based, call the led updater - then let it fall through the keypress handlers. Just to keep - the logic out of this procedure */ - if (led_config.red_mode >= LEDMODE_MODS && led_config.red_mode <= LEDMODE_ENTER) { - led_keypress_update(LED_RED, led_config.red_mode, keycode, record); - } - if (led_config.green_mode >= LEDMODE_MODS && led_config.green_mode <= LEDMODE_ENTER) { - led_keypress_update(LED_GREEN, led_config.green_mode, keycode, record); - } - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - print("mode just switched to qwerty and this is a huge string\n"); - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LED_1: - if (record->event.pressed) { - if (led_config.red_mode==LEDMODE_ON) { - led_config.red_mode=LEDMODE_OFF; - writePinLow(LED_RED); - } - else { - led_config.red_mode=LEDMODE_ON; - writePinHigh(LED_RED); - } - } - break; - case LED_2: - if (record->event.pressed) { - if (led_config.green_mode==LEDMODE_ON) { - led_config.green_mode=LEDMODE_OFF; - writePinLow(LED_GREEN); - } - else { - led_config.green_mode=LEDMODE_ON; - writePinHigh(LED_GREEN); - } - } - break; - case LED_3: - led_config.red_mode=LEDMODE_MODS; - break; - case LED_4: - led_config.green_mode=LEDMODE_MODS; - break; - case LED_5: - led_config.red_mode=LEDMODE_BLINKIN; - break; - case LED_6: - led_config.green_mode=LEDMODE_BLINKIN; - break; - case LED_7: - led_config.red_mode=LEDMODE_KEY; - break; - case LED_8: - led_config.green_mode=LEDMODE_KEY; - break; - case LED_9: - led_config.red_mode=LEDMODE_ENTER; - break; - case LED_0: - led_config.green_mode=LEDMODE_ENTER; - break; - } - - if (keycode >= LED_1 && keycode <= LED_0) { - eeconfig_update_user(led_config.raw); - } - - return true; -} diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/readme.md b/keyboards/dm9records/plaid/keymaps/stephen-huan/readme.md deleted file mode 100644 index e52d24c3dfd6..000000000000 --- a/keyboards/dm9records/plaid/keymaps/stephen-huan/readme.md +++ /dev/null @@ -1 +0,0 @@ -# stephen-huan's keymap for Plaid diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h deleted file mode 100644 index 4bcbc6f673a7..000000000000 --- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Ian Canino (ian@thecommittedbug.io) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c deleted file mode 100644 index 82494e40afb9..000000000000 --- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c +++ /dev/null @@ -1,182 +0,0 @@ -#include QMK_KEYBOARD_H - -enum plaid_layers { - _QWERTY, - _DVORAK, - _COLEMAK, - _LOWER, - _RAISE, - _FUNCTION, -}; - -enum plaid_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LED }; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -#define LED_ON 1 -#define LED_OFF 0 - -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 | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | LS/( | Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | LGUI | Alt | [ |Lower | Space |Raise | ] | RGUI | \ | RS/) | - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = 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, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, KC_LGUI, KC_LALT, KC_LBRC, LOWER, KC_SPC, RAISE, KC_RBRC, KC_RGUI, KC_BSLS, SC_RSPC), - - /* Colemak - * ,-----------------------------------------------------------------------------------. - * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Tab | A | R | S | T | D | H | N | E | I | O | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | LS/( | Z | X | C | V | B | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | LGUI | Alt | [ |Lower | Space |Raise | ] | RGUI | \ | RS/) | - * `-----------------------------------------------------------------------------------' - */ - - [_COLEMAK] = LAYOUT_planck_mit(KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, 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_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_RBRC, KC_RGUI, KC_BSLS, SC_RSPC), - - /* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Esc | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Tab | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | LGUI | Alt | [ |Lower | Space |Raise | ] | RGUI | \ | RS/) | - * `-----------------------------------------------------------------------------------' - */ - - [_DVORAK] = LAYOUT_planck_mit(KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, SC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_RBRC, KC_RGUI, KC_BSLS, SC_RSPC), - - /* LOWER - * ,----------------------------------------------------------------------------. - * | | | MPRV | MPLY | MNXT | | | | PGUP| UP | PGDN|PSCR | - * |------+------+------+------+------+-----+-----+-----+-----+-----------+-----+ - * | | | MUTE | VOLD | VOLU | | | | LEFT| DOWN|RIGHT| | - * |------+------+------+------+------+-----+-----+-----+-----+-----+-----+-----+ - * | | | MAIL | WBAK | WFWD | | | | HOME| | END | | - * |------+------+------+------+------+-----+-----+-----+-----+-----------+-----+ - * | | | | | | DEL | | | | | | - * `----------------------------------------------------------------------------' - */ - - [_LOWER] = LAYOUT_planck_mit(KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_MAIL, KC_WBAK, KC_WFWD, KC_NO, KC_NO, KC_NO, KC_HOME, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), - - /* RAISE - * ,--------------------------------------------------------------------------------. - * | NLCK | 1 | 2 | 3 | - | | | | ! | # | $ | + | - * |------+------+------+------+------+-----+-----+-----+------+------+------+------+ - * | / | 4 | 5 | 6 | + | | | | % | ! | ! | = | - * |------+------+------+------+------+-----+-----+-----+------+------+------+------+ - * | * | 7 | 8 | 9 | , | | | | _ | - | @ | ~ | - * |------+------+------+------+------+-----+-----+-----+------+------+------+------+ - * | | 0 | . | Ent | = | | | | | | ` | - * `--------------------------------------------------------------------------------' - */ - - [_RAISE] = LAYOUT_planck_mit(KC_NUM, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_NO, KC_NO, KC_NO, KC_EXLM, KC_HASH, KC_DLR, KC_PLUS, KC_PSLS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_PERC, KC_ASTR, KC_AMPR, KC_EQL, KC_PAST, KC_P7, KC_P8, KC_P9, KC_PCMM, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_MINS, KC_AT, KC_TILDE, KC_NO, KC_P0, KC_PDOT, KC_PENT, KC_PEQL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV), - - /* Function (Lower + Raise) - * ,-----------------------------------------------------------------------------------------------------------------------. - * | QK_BOOT| LCA_T(F1) | LCA_T(F2) | LCA_T(F3) | LCA_T(F4) | LCA_T(F5) | LCA_T(F6) | LCA_T(F7) | | | | | - * |------+------------+-----------+-----------+-----------+-----------+-----------+-----------+------+------+------+------+ - * | | | | | | QWERTY | DVORAK | COLEMAK | | | | | - * |------+------------+-----------+-----------+-----------+-----------+-----------+-----------+------+------+------+------+ - * | | | | | | | | | | | | | - * |------+------------+-----------+-----------+-----------+-----------+-----------+-----------+------+------+------+------+ - * | | | | | | LED | | | | | | - * `-----------------------------------------------------------------------------------------------------------------------' - */ - - [_FUNCTION] = LAYOUT_planck_mit(QK_BOOT, LCA_T(KC_F1), LCA_T(KC_F2), LCA_T(KC_F3), LCA_T(KC_F4), LCA_T(KC_F5), LCA_T(KC_F6), LCA_T(KC_F7), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QWERTY, DVORAK, COLEMAK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)}; - -// constants to toggle LED behavior - -// Setup config struct for LED -typedef union { - uint32_t raw; - struct { - bool red_mode : 1; - bool green_mode : 1; - }; -} led_config_t; -led_config_t led_config; - -void keyboard_post_init_user(void) { led_config.raw = eeconfig_read_user(); } - -void eeconfig_init_user(void) { // EEPROM is getting reset! - led_config.raw = 0; - led_config.red_mode = LED_ON; - led_config.green_mode = LED_ON; - eeconfig_update_user(led_config.raw); - eeconfig_update_user(led_config.raw); -} - -// When LOWER and RAISE are held together, go to the FUNCTION layer -layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FUNCTION); } - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - uint8_t layer = get_highest_layer(layer_state); - - switch (layer) { - case _LOWER: - writePinHigh(LED_RED); - break; - case _RAISE: - writePinHigh(LED_GREEN); - break; - default: - writePinLow(LED_GREEN); - writePinLow(LED_RED); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LED: - if (record->event.pressed) { - if (led_config.red_mode == LED_ON && led_config.green_mode == LED_ON) { - led_config.red_mode = LED_OFF; - led_config.green_mode = LED_OFF; - } else if (led_config.red_mode == LED_OFF && led_config.green_mode == LED_OFF) { - led_config.red_mode = LED_ON; - led_config.green_mode = LED_ON; - } - } - eeconfig_update_user(led_config.raw); - return false; - break; - } - return true; -} diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/readme.md b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/readme.md deleted file mode 100644 index bd09965b55e4..000000000000 --- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -![Plaid Layout Image](https://i.imgur.com/WnVnwEG.png) - -# The Half Deaf Chef Plaid Layout - -Opinionated keymaps optimized for programmers. The Left and Right Shift tap as parenthesis and the bracket keys are to either side of the layer keys (LOWER, RAISE). A 'right-side' up number pad in a layer with a complementary 'symbol' pad on the opposite side. An additional layer is provided to switch to virtual console on Linux based systems running xorg. These changes are propagated among all the layouts. diff --git a/keyboards/dmqdesign/spin/config.h b/keyboards/dmqdesign/spin/config.h index 2a1bafaacf7f..cc43876148bc 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 52fc9f40ea25..aeeb19299e21 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/dmqdesign/spin/keymaps/codecoffeecode/config.h b/keyboards/dmqdesign/spin/keymaps/codecoffeecode/config.h deleted file mode 100644 index d736cc309f0b..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/codecoffeecode/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2020 codecoffeecode - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_HUE_STEP 8 \ No newline at end of file diff --git a/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c b/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c deleted file mode 100644 index d6653691bb2b..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2020 codecoffeecode - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_HOME, KC_UP, KC_END, /*|*/ KC_TRNS, - KC_LEFT, KC_DOWN, KC_RIGHT, /*|*/ KC_TRNS, - KC_MPRV, KC_MPLY, KC_MNXT, /*|*/ KC_TRNS, - LCTL(LSFT(KC_ESC)), RGB_TOG, LGUI(KC_L) - ), -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - switch(index) { - case 0: - if (clockwise) { - tap_code(KC_VOLU); // Volume - } else { - tap_code(KC_VOLD); - } - break; - case 1: - if (clockwise) { - tap_code(KC_MS_WH_DOWN); // Scroll - } else { - tap_code(KC_MS_WH_UP); - } - break; - case 2: - if (clockwise) { - rgblight_increase_hue(); // RGB Hue - } else { - rgblight_decrease_hue(); - } - break; - } - return true; -} diff --git a/keyboards/dmqdesign/spin/keymaps/encoderlayers/config.h b/keyboards/dmqdesign/spin/keymaps/encoderlayers/config.h deleted file mode 100644 index 8b04e7dd318e..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/encoderlayers/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2019-2020 DMQ Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define MIDI_ADVANCED - diff --git a/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c b/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c deleted file mode 100644 index 100f821a6050..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright 2019-2020 DMQ Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "midi.h" -#include "qmk_midi.h" - -enum layers -{ - _BL, - _FL, - _TL -}; - -uint8_t currentLayer; - -//The below layers are intentionally empty in order to give a good starting point for how to configure multiple layers. -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT(/* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, TO(_BL), - KC_KP_4, KC_KP_5, KC_KP_6, TO(_FL), - KC_KP_1, KC_KP_2, KC_KP_3, TO(_TL), - KC_KP_0, RGB_TOG, RGB_MOD - ), - - [_FL] = LAYOUT(/* Base */ - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_MS_BTN1, KC_NO, KC_MS_BTN2 - ), - - [_TL] = LAYOUT(/* Base */ - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO - ) -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - switch (currentLayer) { //break each encoder update into a switch statement for the current layer - case _BL: - if (clockwise) { - rgblight_increase_hue(); - } else { - rgblight_decrease_hue(); - } - break; - case _FL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x14, 1); - } else { - midi_send_cc(&midi_device, 0, 0x15, 1); - } - break; - case _TL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x1A, 1); - } else { - midi_send_cc(&midi_device, 0, 0x1B, 1); - } - break; - } - } else if (index == 1) { /* Second encoder */ - switch (currentLayer) { - case _BL: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - case _FL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x16, 1); - } else { - midi_send_cc(&midi_device, 0, 0x17, 1); - } - break; - case _TL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x1C, 1); - } else { - midi_send_cc(&midi_device, 0, 0x1D, 1); - } - break; - } - } else if (index == 2) { /* Third encoder */ - switch (currentLayer) { - case _BL: - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } - break; - case _FL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x18, 1); - } else { - midi_send_cc(&midi_device, 0, 0x19, 1); - } - break; - case _TL: - if (clockwise) { - midi_send_cc(&midi_device, 0, 0x1E, 1); - } else { - midi_send_cc(&midi_device, 0, 0x1F, 1); - } - break; - } - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { //This will run every time the layer is updated - currentLayer = get_highest_layer(state); - - switch (currentLayer) { - case _BL: - setrgb(RGB_WHITE, &led[0]); //Set the top LED to white for the bottom layer - setrgb(0, 0, 0, &led[1]); - setrgb(0, 0, 0, &led[2]); - break; - case _FL: - setrgb(0, 0, 0, &led[0]); //Set the middle LED to white for the middle layer - setrgb(RGB_WHITE, &led[1]); - setrgb(0, 0, 0, &led[2]); - break; - case _TL: - setrgb(0, 0, 0, &led[0]); - setrgb(0, 0, 0, &led[1]); - setrgb(RGB_WHITE, &led[2]); //Set the bottom LED to white for the top layer - break; - } - rgblight_set(); - return state; -} diff --git a/keyboards/dmqdesign/spin/keymaps/encoderlayers/readme.md b/keyboards/dmqdesign/spin/keymaps/encoderlayers/readme.md deleted file mode 100644 index 256fb16d47ce..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/encoderlayers/readme.md +++ /dev/null @@ -1 +0,0 @@ -# This keymap is intended to demonstrate how to implement different encoder functions dependent on layer, and on how to implement MIDI control with encoders. \ No newline at end of file diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/config.h b/keyboards/dmqdesign/spin/keymaps/gorbachev/config.h deleted file mode 100644 index 72c553714186..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2019-2020 DMQ Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#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 -#define RGBLIGHT_HUE_STEP 8 - -// Use one or the other, determines the orientation of -// the OLED display -// #define RIGHT_HAND -#define LEFT_HAND diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c b/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c deleted file mode 100644 index b41359c5b60e..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c +++ /dev/null @@ -1,249 +0,0 @@ -/* Copyright 2019-2020 DMQ Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layers { - _NUMPAD, - _RGB, - _MACRO -}; - -enum custom_keycodes { - HELLO_WORLD = SAFE_RANGE, -}; - -//The below layers are intentionally empty in order to give a good starting point for how to configure multiple layers. -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_NUMPAD] = LAYOUT(/* Base */ - KC_7, KC_8, KC_9, TO(_NUMPAD), - KC_4, KC_5, KC_6, TO(_RGB), - KC_1, KC_2, KC_3, TO(_MACRO), - KC_0, KC_DOT, KC_ENTER - ), - - [_RGB] = LAYOUT(/* Base */ - RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, - RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - RGB_RMOD, RGB_TOG, RGB_MOD - ), - - [_MACRO] = LAYOUT(/* Base */ - HELLO_WORLD, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_NO, KC_NO, KC_NO - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case HELLO_WORLD: - if (record->event.pressed) { - SEND_STRING("Hello, world!"); - } - break; - } - - return true; -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - switch (get_highest_layer(layer_state)) { //break each encoder update into a switch statement for the current layer - case _NUMPAD: - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - break; - case _RGB: - if (clockwise) { - rgblight_increase_hue(); - } else { - rgblight_decrease_hue(); - } - break; - case _MACRO: - if (clockwise) { - break; - } else { - break; - } - break; - } - } else if (index == 1) { /* Second encoder */ - switch (get_highest_layer(layer_state)) { - case _NUMPAD: - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - break; - case _RGB: - if (clockwise) { - rgblight_increase_sat(); - } else { - rgblight_decrease_sat(); - } - break; - case _MACRO: - if (clockwise) { - break; - } else { - break; - } - break; - } - } else if (index == 2) { /* Third encoder */ - switch (get_highest_layer(layer_state)) { - case _NUMPAD: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - case _RGB: - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } - break; - case _MACRO: - if (clockwise) { - break; - } else { - break; - } - break; - } - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { //This will run every time the layer is updated - switch (get_highest_layer(state)) { - case _NUMPAD: - setrgb(RGB_WHITE, &led[0]); //Set the top LED to white for the bottom layer - setrgb(0, 0, 0, &led[1]); - setrgb(0, 0, 0, &led[2]); - break; - case _RGB: - setrgb(0, 0, 0, &led[0]); //Set the middle LED to white for the middle layer - setrgb(RGB_WHITE, &led[1]); - setrgb(0, 0, 0, &led[2]); - break; - case _MACRO: - setrgb(0, 0, 0, &led[0]); - setrgb(0, 0, 0, &led[1]); - setrgb(RGB_WHITE, &led[2]); //Set the bottom LED to white for the top layer - break; - } - rgblight_set(); - return state; -} - -#ifdef OLED_ENABLE - -static const char *ANIMATION_NAMES[] = { - "unknown", - "static", - "breathing I", - "breathing II", - "breathing III", - "breathing IV", - "rainbow mood I", - "rainbow mood II", - "rainbow mood III", - "rainbow swirl I", - "rainbow swirl II", - "rainbow swirl III", - "rainbow swirl IV", - "rainbow swirl V", - "rainbow swirl VI", - "snake I", - "snake II", - "snake III", - "snake IV", - "snake V", - "snake VI", - "knight I", - "knight II", - "knight III", - "christmas", - "static gradient I", - "static gradient II", - "static gradient III", - "static gradient IV", - "static gradient V", - "static gradient VI", - "static gradient VII", - "static gradient VIII", - "static gradient IX", - "static gradient X", - "rgb test", - "alternating", - "twinkle I", - "twinkle II", - "twinkle III", - "twinkle IV", - "twinkle V", - "twinkle VI" -}; - -void rgblight_get_mode_name(uint8_t mode, size_t bufsize, char *buf) { - snprintf(buf, bufsize, "%-25s", ANIMATION_NAMES[mode]); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { -#ifdef LEFT_HAND - return OLED_ROTATION_180; -#else - return OLED_ROTATION_0; -#endif -} - -bool oled_task_user(void) { - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _NUMPAD: - oled_write_P(PSTR("Numpad\n"), false); - break; - case _RGB: - oled_write_P(PSTR("RGB\n"), false); - break; - case _MACRO: - oled_write_P(PSTR("Macro\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); - } - - static char rgb_mode_name[30]; - rgblight_get_mode_name(rgblight_get_mode(), sizeof(rgb_mode_name), rgb_mode_name); - - oled_write_P(PSTR("Mode: "), false); - oled_write_ln(rgb_mode_name, false); - return false; -} -#endif diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/readme.md b/keyboards/dmqdesign/spin/keymaps/gorbachev/readme.md deleted file mode 100644 index 451dae7ef779..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Keymap for Spin - -* Encoder button push changes layers -* First layer is a number pad -* Second layer is RGB control layer -* Third layer is macro layer -* OLED support diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk b/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk deleted file mode 100644 index 6af3117b94fd..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -MOUSEKEY_ENABLE = no -MIDI_ENABLE = no diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h deleted file mode 100644 index 5aabd5e3ff1f..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2019-2020 DMQ Design - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RGBLIGHT_HUE_STEP 8 - -// place overrides here - -#define NO_ACTION_ONESHOT -#undef LOCKING_SUPPORT_ENABLE - -#define LAYER_STATE_8BIT -#define MAX_LAYER 5 - -#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_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLIGHT_SLEEP -#define RGBLIGHT_LAYERS -#define RGBLIGHT_LAYER_BLINK -#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c deleted file mode 100644 index dd452dae1a5f..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c +++ /dev/null @@ -1,221 +0,0 @@ -/* Copyright 2020 Joshua Moses Diamond - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -#include "version.h" -#include - -#define RGB_LAYER_ACK_DURATION 500 - -enum layers { _MACRO, _NUMPAD, _CURSOR, _RGB, _FN }; - -enum layer_base { - LAYER_BASE = _MACRO, - LAYER_BASE_END = _FN + 1, -}; - -enum custom_keycodes { - HELLO = SAFE_RANGE, - CH_SUSP, // Suspend -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MACRO] = LAYOUT( - A(S(KC_N)), HELLO, CH_SUSP, TO(_MACRO), - KC_MPRV, KC_MPLY, KC_MNXT, TO(_NUMPAD), - C(A(KC_COMM)), KC_F5, C(A(KC_DOT)), TO(_RGB), - MO(_FN), KC_ASST, KC_CPNL), - - [_NUMPAD] = LAYOUT( - KC_KP_7, KC_KP_8, KC_KP_9, KC_TRNS, - KC_KP_4, KC_KP_5, KC_KP_6, TO(_CURSOR), - KC_KP_1, KC_KP_2, KC_KP_3, KC_TRNS, - KC_KP_0, KC_PDOT, KC_PENT), - - [_CURSOR] = LAYOUT( - KC_HOME, KC_UP, KC_PGUP, KC_TRNS, - KC_LEFT, KC_NO, KC_RIGHT, TO(_NUMPAD), - KC_END, KC_DOWN, KC_PGDN, KC_TRNS, - KC_INS, KC_DEL, KC_PENT), - - [_RGB] = LAYOUT( - RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, - RGB_HUD, RGB_SAD, RGB_VAD, TO(_NUMPAD), - RGB_SPD, RGB_SPI, KC_NO, KC_TRNS, - RGB_RMOD, RGB_TOG, RGB_MOD), - - [_FN] = LAYOUT( - KC_NO, DB_TOGG, QK_BOOT, KC_TRNS, - KC_NO, KC_NO, EE_CLR, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_NO, KC_NO), -}; - -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_MACRO] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUMPAD] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_CURSOR] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_RGB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI ), ENCODER_CCW_CW(RGB_SAD, RGB_SAI ), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, - [_FN] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; - -// clang-format on - -typedef enum layer_ack { - ACK_NO = 0, - ACK_YES, - ACK_MEH, -} layer_ack_t; - -#define LAYER_OFFSET 0 -const rgblight_segment_t PROGMEM _macro_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_TEAL}); -const rgblight_segment_t PROGMEM _numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 1, HSV_TEAL}); -const rgblight_segment_t PROGMEM _cursor_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 1, HSV_BLUE}); -const rgblight_segment_t PROGMEM _rgb_layer[] = RGBLIGHT_LAYER_SEGMENTS({2, 1, HSV_TEAL}); -const rgblight_segment_t PROGMEM _fn_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_PURPLE}); - -#define ACK_OFFSET 4 -const rgblight_segment_t PROGMEM _no_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_RED}); -const rgblight_segment_t PROGMEM _yes_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_GREEN}); -const rgblight_segment_t PROGMEM _meh_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_YELLOW}); - -// clang-format on -const rgblight_segment_t *const PROGMEM _rgb_layers[] = { - [LAYER_OFFSET + 0] = _macro_layer, - [LAYER_OFFSET + 1] = _numpad_layer, - [LAYER_OFFSET + 2] = _cursor_layer, - [LAYER_OFFSET + 3] = _rgb_layer, - [LAYER_OFFSET + 4] = _fn_layer, - - [ACK_OFFSET + ACK_NO] = _no_layer, - [ACK_OFFSET + ACK_YES] = _yes_layer, - [ACK_OFFSET + ACK_MEH] = _meh_layer, - - [ACK_OFFSET + ACK_MEH + 1] = NULL -}; -// clang-format off - -const uint8_t PROGMEM _n_rgb_layers = ARRAY_SIZE(_rgb_layers) - 1; - -void clear_rgb_layers(void) { - dprint("clear_rgb_layers()\n"); - for (uint8_t i = 0; i < _n_rgb_layers; i++) { - rgblight_set_layer_state(i, false); - } -} - -void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { - dprintf("start=%u, end=%u, LAYER_OFFSET=%u\n", start, end, LAYER_OFFSET); - for (uint8_t i = start; i < end; i++) { - bool is_on = layer_state_cmp(state, i); - uint8_t rl = LAYER_OFFSET + i; - dprintf("layer[%u]=%u, rl=%u\n", i, is_on, rl); - rgblight_set_layer_state(rl, is_on); - } -} - -layer_state_t layer_state_set_user(layer_state_t state) { - do_rgb_layers(state, LAYER_BASE, LAYER_BASE_END); - return state; -} - -void rgb_layer_ack(layer_ack_t n) { - uint8_t layer = ACK_OFFSET + n; - dprintf("rgb_layer_ack(%u) ==> %u\n", n, layer); - rgblight_blink_layer(layer, RGB_LAYER_ACK_DURATION); -} - -void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); } - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = _rgb_layers; - do_rgb_layers(layer_state, LAYER_BASE, LAYER_BASE_END); -} - -void shutdown_user(void) { - clear_rgb_layers(); - rgblight_enable(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom(HSV_RED); -} - -void spidey_glow(void) { - rgblight_enable(); - rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD); - rgblight_sethsv(255, 230, 128); -} - -void eeconfig_init_user(void) { - spidey_glow(); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - dprintf("key event: kc: %02X, col: %02u, row: %02u, pressed: %u mods: %08b " -#if !defined(NO_ACTION_ONESHOT) - "os: %08b " -#endif - "weak: %08b\n", - keycode, record->event.key.col, record->event.key.row, record->event.pressed, bitrev(get_mods()), -#if !defined(NO_ACTION_ONESHOT) - bitrev(get_oneshot_mods()), -#endif - bitrev(get_weak_mods())); - - if (record->event.pressed) { - switch (keycode) { - // Re-implement this here, but fix the persistence! - case QK_DEBUG_TOGGLE: - if (!debug_enable) { - debug_enable = 1; - } else if (!debug_keyboard) { - debug_keyboard = 1; - } else if (!debug_matrix) { - debug_matrix = 1; - } else { - debug_enable = 0; - debug_keyboard = 0; - debug_matrix = 0; - } - uprintf("DEBUG: enable=%u, keyboard=%u, matrix=%u\n", debug_enable, debug_keyboard, debug_matrix); - uprintln(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE); - eeconfig_update_debug(debug_config.raw); - return false; - - // clang-format off - case CH_SUSP: tap_code16(LGUI(LSFT(KC_L))); return true; - case HELLO: SEND_STRING("Hello, world!"); return true; - // clang-format on - } - } - - return true; -}; - - -void post_process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // Acks follow... - case QK_DEBUG_TOGGLE: - rgb_layer_ack_yn(debug_enable); - break; - case RGB_TOG: - rgb_layer_ack_yn(rgblight_is_enabled()); - break; - } -} - diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/readme.md b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/readme.md deleted file mode 100644 index 1abca2748960..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/readme.md +++ /dev/null @@ -1 +0,0 @@ -spidey3 keymap for spin keypad diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk deleted file mode 100644 index 5d543e2c7ec3..000000000000 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -MOUSEKEY_ENABLE = no -MIDI_ENABLE = no -BOOTMAGIC_ENABLE = yes -LTO_ENABLE = yes -CONSOLE_ENABLE = yes -GRAVE_ESC_ENABLE = no -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dnworks/9973/config.h b/keyboards/dnworks/9973/config.h new file mode 100644 index 000000000000..77970ce4d344 --- /dev/null +++ b/keyboards/dnworks/9973/config.h @@ -0,0 +1,20 @@ +/* +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 . +*/ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/dnworks/9973/info.json b/keyboards/dnworks/9973/info.json new file mode 100644 index 000000000000..616960602623 --- /dev/null +++ b/keyboards/dnworks/9973/info.json @@ -0,0 +1,480 @@ +{ + "keyboard_name": "DN 997.3", + "maintainer": "itsme-zeix", + "manufacturer": "dnworks", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x4C23", + "pid": "0x2936", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP27", + "scroll_lock": "GP1", + "on_state": 1 + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["GP2", "GP3", "GP4", "GP29", "GP12", "GP13"], + "cols": ["GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP6", "GP5", "GP0"] + }, + "community_layouts": ["tkl_ansi_tsangan", "tkl_iso_tsangan"], + "layouts": { + "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.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], "w": 2, "x": 13, "y": 1.5 }, + { "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], "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, 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], "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": [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": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "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_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.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], "w": 2, "x": 13, "y": 1.5 }, + { "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], "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, 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], "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": [4, 0], "w": 2.25, "x": 0, "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": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "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_ansi_wkl": { + "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], "w": 2, "x": 13, "y": 1.5 }, + { "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], "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, 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], "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": [4, 0], "w": 2.25, "x": 0, "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": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "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_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.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], "w": 2, "x": 13, "y": 1.5 }, + { "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], "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, 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], "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": [2, 13], "x": 12.75, "y": 3.5 }, + { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + { "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": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "x": 1.5, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 11], "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "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_wkl": { + "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], "w": 2, "x": 13, "y": 1.5 }, + { "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], "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, 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], "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": [2, 13], "x": 12.75, "y": 3.5 }, + { "matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + { "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": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.5, "x": 13.5, "y": 5.5 }, + { "matrix": [5, 14], "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/dnworks/9973/keymaps/default/keymap.c b/keyboards/dnworks/9973/keymaps/default/keymap.c new file mode 100644 index 000000000000..8307bf9e7663 --- /dev/null +++ b/keyboards/dnworks/9973/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* +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_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_DEL, 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_INS, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) +}; diff --git a/keyboards/dnworks/9973/keymaps/via/keymap.c b/keyboards/dnworks/9973/keymaps/via/keymap.c new file mode 100644 index 000000000000..8307bf9e7663 --- /dev/null +++ b/keyboards/dnworks/9973/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* +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_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_DEL, 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_INS, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT) +}; diff --git a/keyboards/dnworks/9973/keymaps/via/rules.mk b/keyboards/dnworks/9973/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dnworks/9973/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dnworks/9973/readme.md b/keyboards/dnworks/9973/readme.md new file mode 100644 index 000000000000..790f236cb776 --- /dev/null +++ b/keyboards/dnworks/9973/readme.md @@ -0,0 +1,27 @@ +# 997.3 TKL + +![997.3 TKL](https://i.imgur.com/iPPLKg1h.jpeg) + +PCB that supports the 997.3 TKL designed by dnworks, including its variants. + +* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +* Hardware Supported: 997.3 Solder PCB rev1 +* Hardware Availability: dnworks.co + +Make example for this keyboard (after setting up your build environment): + + make dnworks/997pt3:default + +Flashing example for this keyboard: + + make dnworks/997pt3: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 top left key 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/9973/rules.mk b/keyboards/dnworks/9973/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/dnworks/9973/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dnworks/frltkl/info.json b/keyboards/dnworks/frltkl/info.json index dda394649b24..86796a6084c7 100644 --- a/keyboards/dnworks/frltkl/info.json +++ b/keyboards/dnworks/frltkl/info.json @@ -26,8 +26,15 @@ "rows": ["GP4","GP3","GP2","GP1","GP29","GP28","GP19","GP20","GP10","GP11"], "cols": ["GP26","GP25","GP24","GP23","GP22","GP21","GP6","GP5","GP0"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "tkl_nofrow_ansi", + "tkl_nofrow_iso" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ { "matrix": [1, 0], "x": 0, "y": 0 }, { "matrix": [0, 0], "x": 1, "y": 0 }, @@ -108,6 +115,956 @@ { "matrix": [9, 8], "x": 16.25, "y": 4 }, { "matrix": [8, 8], "x": 17.25, "y": 4 } ] - } + }, + "LAYOUT_tkl_nofrow_ansi": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": 2.75}, + {"matrix": [6, 8], "x": 16.25, "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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], "x": 13.5, "y": 1, "w": 1.5}, + {"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], "x": 0, "y": 2, "w": 1.75}, + {"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], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 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": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "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, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl": { + "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, "w": 2}, + {"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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift": { + "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], "x": 0, "y": 1, "w": 1.5}, + {"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": [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], "x": 0, "y": 2, "w": 1.75}, + {"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": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"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], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"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 index 295066696d4c..d761ce63a7a5 100644 --- a/keyboards/dnworks/frltkl/keymaps/default/keymap.c +++ b/keyboards/dnworks/frltkl/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_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( +[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, 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 index 295066696d4c..d761ce63a7a5 100644 --- a/keyboards/dnworks/frltkl/keymaps/via/keymap.c +++ b/keyboards/dnworks/frltkl/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_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( +[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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/dnworks/frltkl/matrix_diagram.md b/keyboards/dnworks/frltkl/matrix_diagram.md new file mode 100644 index 000000000000..6a0cbe43edae --- /dev/null +++ b/keyboards/dnworks/frltkl/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for dnworks DN FRLTKL + +``` +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ ┌───────┐ +│10 │00 │11 │01 │12 │02 │13 │03 │14 │04 │15 │05 │16 │06 │17 ││07 │18 │08 │ │06 │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī └─┮─────â”Ī +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │37 ││27 │38 │28 │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐46 │ ISO Enter +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │ │37 │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ └───â”ī────┘ +│60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │77 │ │68 │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ +│80 │90 │81 │93 │85 │95 │86 │97 ││87 │98 │88 │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ +┌────────┐ ┌──────────┐ +│60 │ 2.25u LShift 2.75u RShift │66 │ +└────────┘ └──────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│80 │90 │81 │93 │95 │86 │97 │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/do60/config.h b/keyboards/do60/config.h index 21160e0a8da0..5a870e5f7eeb 100644 --- a/keyboards/do60/config.h +++ b/keyboards/do60/config.h @@ -17,26 +17,7 @@ along with this program. If not, see . #pragma once -/* RGB Underglow - */ -#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 -#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 9267a9814129..e3cab833a045 100644 --- a/keyboards/do60/info.json +++ b/keyboards/do60/info.json @@ -21,6 +21,24 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 15, + "brightness_steps": 15, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/do60/keymaps/crd/keymap.c b/keyboards/do60/keymaps/crd/keymap.c deleted file mode 100644 index d1108ea2cf7c..000000000000 --- a/keyboards/do60/keymaps/crd/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL = 0, // Base Layer - _FL, // Function Layer - _CL // Control Layer -}; - -// Custom #defined keycodes (shorter macros for readability) -#define KC_CTES CTL_T(KC_ESC) -#define KC_RSUP RSFT_T(KC_UP) -#define KC_RGLT RCMD_T(KC_LEFT) -#define KC_RADN RALT_T(KC_DOWN) -#define KC_RCRT RCTL_T(KC_RIGHT) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_60_ansi_split_bs_rshift( - 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, XXXXXXX, 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_CTES, KC_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_RSUP, MO(_FL), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, XXXXXXX, KC_RGLT, KC_RADN, KC_RCRT - ), - [_FL] = LAYOUT_60_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_DEL, - _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - diff --git a/keyboards/doio/kb12/config.h b/keyboards/doio/kb12/config.h new file mode 100644 index 000000000000..d853409b8587 --- /dev/null +++ b/keyboards/doio/kb12/config.h @@ -0,0 +1,69 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 config */ +#define RGB_MATRIX_LED_COUNT 12 +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +/* RGB Matrix effect */ +#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_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#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_FRACTAL +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +#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/doio/kb12/info.json b/keyboards/doio/kb12/info.json new file mode 100644 index 000000000000..fc75fd8c0d93 --- /dev/null +++ b/keyboards/doio/kb12/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "KB12-01", + "manufacturer": "DOIO", + "url": "", + "maintainer": "DOIO2022", + "usb": { + "vid": "0xD010", + "pid": "0x1201", + "device_version": "0.0.1" + }, + "rgb_matrix": { + "driver": "ws2812" + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 32, "flags": 4}, + {"matrix": [1, 2], "x": 150, "y": 32, "flags": 4}, + {"matrix": [1, 3], "x": 224, "y": 32, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [2, 1], "x": 75, "y": 64, "flags": 4}, + {"matrix": [2, 2], "x": 150, "y": 64, "flags": 4}, + {"matrix": [2, 3], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 200 + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9"] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"} + ] + }, + "ws2812": { + "pin": "A10" + }, + "processor": "STM32F103", + "bootloader": "stm32duino", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "encoder": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 4], "x": 0, "y": 0 }, + { "matrix": [0, 0], "x": 3.25, "y": 0 }, + { "matrix": [0, 1], "x": 4.25, "y": 0 }, + { "matrix": [0, 2], "x": 5.25, "y": 0 }, + { "matrix": [0, 3], "x": 6.25, "y": 0 }, + + { "matrix": [1, 0], "x": 7.75, "y": 0 }, + { "matrix": [1, 1], "x": 8.75, "y": 0 }, + { "matrix": [1, 2], "x": 9.75, "y": 0 }, + { "matrix": [1, 3], "x": 10.75, "y": 0 }, + + { "matrix": [2, 0], "x": 12.25, "y": 0 }, + { "matrix": [2, 1], "x": 13.25, "y": 0 }, + { "matrix": [2, 2], "x": 14.25, "y": 0 }, + { "matrix": [2, 3], "x": 15.25, "y": 0 } + ] + } + } +} diff --git a/keyboards/doio/kb12/keymaps/default/keymap.c b/keyboards/doio/kb12/keymaps/default/keymap.c new file mode 100644 index 000000000000..72360f1a8b25 --- /dev/null +++ b/keyboards/doio/kb12/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 { + _LAY0, + _LAY1, + _LAY2, + _LAY3, + _LAY4, + _LAY5 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + TO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12), + [_LAY1] = LAYOUT( + 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), + [_LAY2] = LAYOUT( + 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), + [_LAY3] = LAYOUT( + TO(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY4] = LAYOUT( + TO(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY5] = LAYOUT( + TO(0), RGB_TOG, RGB_MOD, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS) + +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb12/keymaps/via/keymap.c b/keyboards/doio/kb12/keymaps/via/keymap.c new file mode 100644 index 000000000000..72360f1a8b25 --- /dev/null +++ b/keyboards/doio/kb12/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 { + _LAY0, + _LAY1, + _LAY2, + _LAY3, + _LAY4, + _LAY5 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + TO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12), + [_LAY1] = LAYOUT( + 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), + [_LAY2] = LAYOUT( + 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), + [_LAY3] = LAYOUT( + TO(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY4] = LAYOUT( + TO(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY5] = LAYOUT( + TO(0), RGB_TOG, RGB_MOD, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS) + +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb12/keymaps/via/rules.mk b/keyboards/doio/kb12/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/doio/kb12/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb12/readme.md b/keyboards/doio/kb12/readme.md new file mode 100644 index 000000000000..1dd7a310f168 --- /dev/null +++ b/keyboards/doio/kb12/readme.md @@ -0,0 +1,24 @@ +# doio/kb12 + +QMK for DOIO Knob 12% . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO Knob 12% + +Make example for this keyboard (after setting up your build environment): + + make doio/kb12:default + +Flashing example for this keyboard: + + make doio/kb12: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb12/rules.mk b/keyboards/doio/kb12/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/doio/kb12/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/doio/kb16/kb16.c b/keyboards/doio/kb16/kb16.c index 34b315a87b15..05f5792ea7e6 100644 --- a/keyboards/doio/kb16/kb16.c +++ b/keyboards/doio/kb16/kb16.c @@ -20,6 +20,11 @@ // OLED animation #include "./lib/logo.h" +// Default timeout for displaying boot logo. +#ifndef OLED_LOGO_TIMEOUT + #define OLED_LOGO_TIMEOUT 5000 +#endif + #ifdef OLED_ENABLE uint16_t startup_timer; @@ -32,16 +37,14 @@ bool oled_task_kb(void) { static bool finished_logo = false; - if ((timer_elapsed(startup_timer) < 5000) && !finished_logo) { + if ((timer_elapsed(startup_timer) < OLED_LOGO_TIMEOUT) && !finished_logo) { render_logo(); } else { finished_logo = true; - if (!oled_task_user()) { return false; } } - return true; } #endif diff --git a/keyboards/doio/kb16/rev1/config.h b/keyboards/doio/kb16/rev1/config.h index 460fa439f640..6d635d7557dd 100644 --- a/keyboards/doio/kb16/rev1/config.h +++ b/keyboards/doio/kb16/rev1/config.h @@ -24,7 +24,6 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/doio/kb16/rev1/info.json b/keyboards/doio/kb16/rev1/info.json index 4d2852fe0518..bcf2c2eb0ee6 100644 --- a/keyboards/doio/kb16/rev1/info.json +++ b/keyboards/doio/kb16/rev1/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F5", "F4", "F1", "F0", "B7"], diff --git a/keyboards/doio/kb16/rev1/keymaps/bongocat/config.h b/keyboards/doio/kb16/rev1/keymaps/bongocat/config.h deleted file mode 100644 index bb22eebb1bee..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/bongocat/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* Additional thing to reduce compiled size */ -#define NO_ACTION_ONESHOT -#define LAYER_STATE_8BIT - -#ifdef RGB_MATRIX_ENABLE - /* RGB Matrix config */ - #undef RGB_MATRIX_KEYPRESSES - - /* RGB Matrix effect */ - #undef ENABLE_RGB_MATRIX_ALPHAS_MODS - #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN - #undef ENABLE_RGB_MATRIX_BREATHING - #undef ENABLE_RGB_MATRIX_BAND_SAT - #undef ENABLE_RGB_MATRIX_BAND_VAL - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL - #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN - #undef ENABLE_RGB_MATRIX_DUAL_BEACON - #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS - #undef ENABLE_RGB_MATRIX_RAINDROPS - #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - #undef ENABLE_RGB_MATRIX_HUE_PENDULUM - #undef ENABLE_RGB_MATRIX_HUE_WAVE - #undef ENABLE_RGB_MATRIX_PIXEL_RAIN - #undef ENABLE_RGB_MATRIX_PIXEL_FLOW - #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#endif diff --git a/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c b/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c deleted file mode 100644 index ae24fc2755da..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/bongocat/keymap.c +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// OLED animation -#include "./lib/bongocat/bongocat.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, - _FN, - _FN1, - _FN2 -}; - -// enum layer_keycodes { }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ 5 │ 6 │ 7 │ 8 │ - ├───┾───┾───┾───â”Ī - │ 9 │ 0 │ ↑ │Ent│ ┌───┐ - ├───┾───┾───┾───â”Ī │Mut│ - │Fn2│ ← │ ↓ │ → │ └───┘ - └───â”ī───â”ī───â”ī───┘ - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ ! │ @ │ # │ $ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ % │ ^ │ & │ * │ - ├───┾───┾───┾───â”Ī - │ ( │ ) │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_BASE] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_MPLY, - KC_5, KC_6, KC_7, KC_8, TO(_FN), - KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE, - MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN] = LAYOUT( - _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN1), - _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN1] = LAYOUT( - _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN2), - _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │Spi│Spd│ │ │ │ │ │TO0│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │Sai│Sad│ │ │ - ├───┾───┾───┾───â”Ī - │Tog│Mod│Hui│ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │Vai│Hud│Vad│ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN2] = LAYOUT( - RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, - RGB_SAI, RGB_SAD, _______, _______, TO(_BASE), - RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, - _______, RGB_VAI, RGB_HUD, RGB_VAD - ), -}; - -#ifdef OLED_ENABLE - bool oled_task_user(void) { - led_t led_usb_state = host_keyboard_led_state(); - - render_bongocat(); - oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top) - oled_write_P(PSTR("WPM:"), false); - oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string - oled_set_cursor(17, 2); - oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_set_cursor(17, 3); - oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false); - - return true; - } -#endif - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, -}; -#endif diff --git a/keyboards/doio/kb16/rev1/keymaps/bongocat/rules.mk b/keyboards/doio/kb16/rev1/keymaps/bongocat/rules.mk deleted file mode 100644 index 78d071eab340..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/bongocat/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -SRC += ./lib/bongocat/bongocat.c - -# Build Options -# change yes to no to disable -# -MOUSEKEY_ENABLE = no # Mouse keys - -VIA_ENABLE = yes - -# Additional thing to reduce compiled size -GRAVE_ESC_ENABLE = no - -# OLED enabled -WPM_ENABLE = yes - -# Encoder enabled -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c b/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c deleted file mode 100644 index f9b34ece171e..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/pugmajere/keymap.c +++ /dev/null @@ -1,135 +0,0 @@ -/* Copyright 2022 DOIO - * Copyright 2022 HorrorTroll - * Copyright 2022 Ryan Anderson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// OLED animation -#include "lib/layer_status/layer_status.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 = 0, - _FN, - _FN1, - _FN2, -}; - -// enum layer_keycodes { }; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │C-D│C-E│M-D│M-E│ │Ply│ │TO1│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ 5 │ 6 │ 7 │ 8 │ - ├───┾───┾───┾───â”Ī - │ 9 │ 0 │ ↑ │Ent│ ┌───┐ - ├───┾───┾───┾───â”Ī │Mut│ - │Fn2│ ← │ ↓ │ → │ └───┘ - └───â”ī───â”ī───â”ī───┘ - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ ! │ @ │ # │ $ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ % │ ^ │ & │ * │ - ├───┾───┾───┾───â”Ī - │ ( │ ) │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ - */ - /* Row: 0 1 2 3 4 5 6 */ - [_BASE] = LAYOUT(C(KC_D), C(KC_E), LCMD(KC_D), LCMD(KC_E), KC_MPLY, - KC_5, KC_6, LCTL(LCMD(KC_H)), KC_8, TO(_FN), - KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE, - MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT), - - /* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ - */ - /* Row: 0 1 2 3 4 5 6 */ - [_FN] = LAYOUT(_______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN1), - _______, _______, _______, _______, _______, - _______, _______, _______, _______), - - /* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ - */ - /* Row: 0 1 2 3 4 5 6 */ - [_FN1] = LAYOUT(_______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN2), - _______, _______, _______, _______, _______, - _______, _______, _______, _______), - - /* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │Spi│Spd│ │ │ │ │ │TO0│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │Sai│Sad│ │ │ - ├───┾───┾───┾───â”Ī - │Tog│Mod│Hui│ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │Vai│Hud│Vad│ └───┘ - └───â”ī───â”ī───â”ī───┘ - */ - /* Row: 0 1 2 3 4 5 6 */ - [_FN2] = LAYOUT(RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, - RGB_SAI, RGB_SAD, _______, _______, TO(_BASE), - RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, - _______, RGB_VAI, RGB_HUD, RGB_VAD), -}; -// clang-format on - -#ifdef OLED_ENABLE -bool oled_task_user(void) { - render_layer_status(); - - return true; -} -#endif - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_FN2] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [_BASE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, -}; -#endif diff --git a/keyboards/doio/kb16/rev1/keymaps/pugmajere/readme.md b/keyboards/doio/kb16/rev1/keymaps/pugmajere/readme.md deleted file mode 100644 index f88901c6239b..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/pugmajere/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# pugmajere's Google Meet optimized version of the default keymap - -A lightly modified version of the default keymap. - -The top row is converted to keys used for muting audio and video in -Google Meet, in both Linux and MacOS. (Yes, they annoyingly have -different conventions.) - -The ASCII-art depiction uses "C-E" to mean "ctrl-e", and "M-E" to mean -CMD(GUI) and "e", roughly following Emacs naming conventions. diff --git a/keyboards/doio/kb16/rev1/keymaps/pugmajere/rules.mk b/keyboards/doio/kb16/rev1/keymaps/pugmajere/rules.mk deleted file mode 100644 index 00003ba11bd0..000000000000 --- a/keyboards/doio/kb16/rev1/keymaps/pugmajere/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Encoder enabled -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb16/rev1/rules.mk b/keyboards/doio/kb16/rev1/rules.mk index 5c5ad3de8c27..b234c1ca6a99 100644 --- a/keyboards/doio/kb16/rev1/rules.mk +++ b/keyboards/doio/kb16/rev1/rules.mk @@ -20,7 +20,6 @@ SPACE_CADET_ENABLE = no # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/doio/kb16/rev2/config.h b/keyboards/doio/kb16/rev2/config.h index cc8d0a6830f7..fc58b8518b80 100644 --- a/keyboards/doio/kb16/rev2/config.h +++ b/keyboards/doio/kb16/rev2/config.h @@ -31,7 +31,6 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/doio/kb16/rev2/info.json b/keyboards/doio/kb16/rev2/info.json index 1e83ca77cc4c..c3cf6b9a12ee 100644 --- a/keyboards/doio/kb16/rev2/info.json +++ b/keyboards/doio/kb16/rev2/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B14", "B13", "B12", "B0", "A7"], diff --git a/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c b/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c deleted file mode 100644 index ae24fc2755da..000000000000 --- a/keyboards/doio/kb16/rev2/keymaps/bongocat/keymap.c +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// OLED animation -#include "./lib/bongocat/bongocat.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, - _FN, - _FN1, - _FN2 -}; - -// enum layer_keycodes { }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ 5 │ 6 │ 7 │ 8 │ - ├───┾───┾───┾───â”Ī - │ 9 │ 0 │ ↑ │Ent│ ┌───┐ - ├───┾───┾───┾───â”Ī │Mut│ - │Fn2│ ← │ ↓ │ → │ └───┘ - └───â”ī───â”ī───â”ī───┘ - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ ! │ @ │ # │ $ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ % │ ^ │ & │ * │ - ├───┾───┾───┾───â”Ī - │ ( │ ) │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_BASE] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_MPLY, - KC_5, KC_6, KC_7, KC_8, TO(_FN), - KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE, - MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN] = LAYOUT( - _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN1), - _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │ │ │ │ │ │ │ │ │ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │ │ │ │ │ - ├───┾───┾───┾───â”Ī - │ │ │ │ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │ │ │ │ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN1] = LAYOUT( - _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(_FN2), - _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -/* - ┌───┮───┮───┮───┐ ┌───┐ ┌───┐ - │Spi│Spd│ │ │ │ │ │TO0│ - ├───┾───┾───┾───â”Ī └───┘ └───┘ - │Sai│Sad│ │ │ - ├───┾───┾───┾───â”Ī - │Tog│Mod│Hui│ │ ┌───┐ - ├───┾───┾───┾───â”Ī │ │ - │ │Vai│Hud│Vad│ └───┘ - └───â”ī───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 */ - [_FN2] = LAYOUT( - RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, - RGB_SAI, RGB_SAD, _______, _______, TO(_BASE), - RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, - _______, RGB_VAI, RGB_HUD, RGB_VAD - ), -}; - -#ifdef OLED_ENABLE - bool oled_task_user(void) { - led_t led_usb_state = host_keyboard_led_state(); - - render_bongocat(); - oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top) - oled_write_P(PSTR("WPM:"), false); - oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string - oled_set_cursor(17, 2); - oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_set_cursor(17, 3); - oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false); - - return true; - } -#endif - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, -}; -#endif diff --git a/keyboards/doio/kb16/rev2/keymaps/bongocat/rules.mk b/keyboards/doio/kb16/rev2/keymaps/bongocat/rules.mk deleted file mode 100644 index 822e06e17997..000000000000 --- a/keyboards/doio/kb16/rev2/keymaps/bongocat/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -SRC += ./lib/bongocat/bongocat.c - -VIA_ENABLE = yes - -# OLED enabled -WPM_ENABLE = yes - -# Encoder enabled -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb16/rev2/rules.mk b/keyboards/doio/kb16/rev2/rules.mk index f931af11e4f0..2145c9fbe103 100644 --- a/keyboards/doio/kb16/rev2/rules.mk +++ b/keyboards/doio/kb16/rev2/rules.mk @@ -19,14 +19,9 @@ AUDIO_ENABLE = no # Audio output # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # RGB Matrix enabled RGB_MATRIX_ENABLE = yes # Encoder enabled ENCODER_ENABLE = yes - -# Wear-levelling driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = embedded_flash diff --git a/keyboards/doio/kb19/info.json b/keyboards/doio/kb19/info.json new file mode 100644 index 000000000000..faaaedd36fdd --- /dev/null +++ b/keyboards/doio/kb19/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "KB19-01", + "manufacturer": "DOIO", + "url": "", + "maintainer": "DOIO2022", + "usb": { + "vid": "0xD010", + "pid": "0x1901", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "encoder": true, + "nkro": false, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9", "B8", "B1"] + }, + "ws2812": { + "pin": "A10" + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"} + ] + }, + "rgblight": { + "led_count": 19, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "processor": "STM32F103", + "bootloader": "stm32duino", + "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": 5, "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, "h": 2}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "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": [4, 0], "x": 0, "y": 4, "w": 2}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 5, "y": 4} + ] + } + } +} diff --git a/keyboards/doio/kb19/keymaps/default/keymap.c b/keyboards/doio/kb19/keymaps/default/keymap.c new file mode 100644 index 000000000000..ba44342b20aa --- /dev/null +++ b/keyboards/doio/kb19/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD, + KC_P7, KC_P8, KC_P9, KC_PPLS, RGB_TOG, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT, KC_MUTE + ) +}; + +#ifdef 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/doio/kb19/keymaps/default/rules.mk b/keyboards/doio/kb19/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/doio/kb19/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb19/keymaps/via/keymap.c b/keyboards/doio/kb19/keymaps/via/keymap.c new file mode 100644 index 000000000000..ba44342b20aa --- /dev/null +++ b/keyboards/doio/kb19/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_NUM, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD, + KC_P7, KC_P8, KC_P9, KC_PPLS, RGB_TOG, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT, KC_MUTE + ) +}; + +#ifdef 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/doio/kb19/keymaps/via/rules.mk b/keyboards/doio/kb19/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/doio/kb19/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb19/readme.md b/keyboards/doio/kb19/readme.md new file mode 100644 index 000000000000..ad9d0aaccd9f --- /dev/null +++ b/keyboards/doio/kb19/readme.md @@ -0,0 +1,24 @@ +# doio/kb19 + +QMK for DOIO Knob keypad . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO Knob keypad + +Make example for this keyboard (after setting up your build environment): + + make doio/kb19:default + +Flashing example for this keyboard: + + make doio/kb19: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb19/rules.mk b/keyboards/doio/kb19/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/doio/kb19/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/doio/kb30/config.h b/keyboards/doio/kb30/config.h index a87532c45973..586a61c7a09f 100644 --- a/keyboards/doio/kb30/config.h +++ b/keyboards/doio/kb30/config.h @@ -38,7 +38,6 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES @@ -89,9 +88,6 @@ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - - -// #define DYNAMIC_KEYMAP_LAYER_COUNT 4 /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/doio/kb30/info.json b/keyboards/doio/kb30/info.json index 71a300b9cd81..cd3c7729947c 100644 --- a/keyboards/doio/kb30/info.json +++ b/keyboards/doio/kb30/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B14", "B13", "B12", "B0", "A7", "A9", "A8"], diff --git a/keyboards/doio/kb30/rules.mk b/keyboards/doio/kb30/rules.mk index b12899890e44..1e48f891f280 100644 --- a/keyboards/doio/kb30/rules.mk +++ b/keyboards/doio/kb30/rules.mk @@ -12,8 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes 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/config.h b/keyboards/doio/kb38/config.h index ff90cbc8a74f..106ad4d651c4 100644 --- a/keyboards/doio/kb38/config.h +++ b/keyboards/doio/kb38/config.h @@ -13,7 +13,6 @@ #define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_CYCLE_ALL #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS /* * Feature disable options diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json index 0601ba881ca5..95d3be13d391 100644 --- a/keyboards/doio/kb38/info.json +++ b/keyboards/doio/kb38/info.json @@ -36,7 +36,7 @@ "pin": "F6" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0}, @@ -118,6 +118,10 @@ {"matrix": [2, 5], "label": "HOME", "x": 5.25, "y": 2.25}, {"matrix": [2, 6], "label": "PGUP", "x": 6.25, "y": 2.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": [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}, @@ -131,14 +135,13 @@ {"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, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3} + {"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} + {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25} ] } } diff --git a/keyboards/doio/kb38/keymaps/default/keymap.c b/keyboards/doio/kb38/keymaps/default/keymap.c index b2fd7d2273d7..96a548e512e2 100644 --- a/keyboards/doio/kb38/keymaps/default/keymap.c +++ b/keyboards/doio/kb38/keymaps/default/keymap.c @@ -27,31 +27,31 @@ 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 │┌───┾───┾───┐┌───┮───┮───┐ - * │ 0 │DEL│ T ││LFT│DWN│RHT││ O │ O │ O │ - * └───────â”ī───â”ī───┘└───â”ī───â”ī───┘└───â”ī───â”ī───┘ + * ├───┾───┾───┾───â”Ī├───┾───┾───â”Ī┌───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ ││INS│HOM│PGU││HOM│ │END│ + * ├───┾───┾───â”Ī + │├───┾───┾───â”Ī├───â”ī───â”ī───â”Ī + * │ 4 │ 5 │ 6 │ ││END│DEL│PGD││ │ + * ├───┾───┾───┾───â”Ī└───┾───┾───┘│ │ + * │ 1 │ 2 │ 3 │ E │ │UP │ │ B │ + * ├───â”ī───┾───â”Ī N │┌───┾───┾───┐│ │ + * │ 0 │DEL│ T ││LFT│DWN│RHT││ │ + * └───────â”ī───â”ī───┘└───â”ī───â”ī───┘└───────────┘ */ [_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_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, KC_HOME, KC_END, 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_P1, KC_P2, KC_P3, KC_PENT, KC_UP, KC_B, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT ), [_LAYERTWO] = LAYOUT( _______, 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_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, KC_HOME, KC_END, 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_P1, KC_P2, KC_P3, KC_PENT, KC_UP, KC_B, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/donutcables/budget96/config.h b/keyboards/donutcables/budget96/config.h deleted file mode 100644 index 398b0be3c84e..000000000000 --- a/keyboards/donutcables/budget96/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2020 DonutCables - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 18 - -#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/donutcables/budget96/info.json b/keyboards/donutcables/budget96/info.json index 98c878d12fca..a60281153530 100644 --- a/keyboards/donutcables/budget96/info.json +++ b/keyboards/donutcables/budget96/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, @@ -25,6 +40,7 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "community_layouts": ["96_ansi", "96_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -141,6 +157,225 @@ ] }, "LAYOUT_96_ansi": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 1, "y": 0}, + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [5, 5], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 10], "x": 6, "y": 0}, + {"matrix": [7, 10], "x": 7, "y": 0}, + {"matrix": [7, 0], "x": 8, "y": 0}, + {"matrix": [5, 11], "x": 9, "y": 0}, + {"matrix": [5, 12], "x": 10, "y": 0}, + {"matrix": [5, 13], "x": 11, "y": 0}, + {"matrix": [5, 14], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [7, 6], "x": 16, "y": 0}, + {"matrix": [7, 8], "x": 17, "y": 0}, + {"matrix": [7, 9], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [6, 1], "x": 6, "y": 1}, + {"matrix": [6, 11], "x": 7, "y": 1}, + {"matrix": [7, 11], "x": 8, "y": 1}, + {"matrix": [7, 1], "x": 9, "y": 1}, + {"matrix": [4, 10], "x": 10, "y": 1}, + {"matrix": [4, 11], "x": 11, "y": 1}, + {"matrix": [4, 12], "x": 12, "y": 1}, + {"matrix": [4, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [4, 6], "x": 15, "y": 1}, + {"matrix": [4, 7], "x": 16, "y": 1}, + {"matrix": [4, 8], "x": 17, "y": 1}, + {"matrix": [4, 9], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [6, 2], "x": 6.5, "y": 2}, + {"matrix": [6, 12], "x": 7.5, "y": 2}, + {"matrix": [7, 12], "x": 8.5, "y": 2}, + {"matrix": [7, 2], "x": 9.5, "y": 2}, + {"matrix": [3, 10], "x": 10.5, "y": 2}, + {"matrix": [3, 11], "x": 11.5, "y": 2}, + {"matrix": [3, 12], "x": 12.5, "y": 2}, + {"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [3, 6], "x": 15, "y": 2}, + {"matrix": [3, 7], "x": 16, "y": 2}, + {"matrix": [3, 8], "x": 17, "y": 2}, + {"matrix": [3, 9], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [6, 13], "x": 7.75, "y": 3}, + {"matrix": [7, 13], "x": 8.75, "y": 3}, + {"matrix": [7, 3], "x": 9.75, "y": 3}, + {"matrix": [2, 10], "x": 10.75, "y": 3}, + {"matrix": [2, 11], "x": 11.75, "y": 3}, + {"matrix": [2, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [2, 6], "x": 15, "y": 3}, + {"matrix": [2, 7], "x": 16, "y": 3}, + {"matrix": [2, 8], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 1], "x": 2.25, "y": 4}, + {"matrix": [1, 2], "x": 3.25, "y": 4}, + {"matrix": [1, 3], "x": 4.25, "y": 4}, + {"matrix": [1, 4], "x": 5.25, "y": 4}, + {"matrix": [1, 5], "x": 6.25, "y": 4}, + {"matrix": [6, 4], "x": 7.25, "y": 4}, + {"matrix": [6, 14], "x": 8.25, "y": 4}, + {"matrix": [7, 14], "x": 9.25, "y": 4}, + {"matrix": [7, 4], "x": 10.25, "y": 4}, + {"matrix": [1, 10], "x": 11.25, "y": 4}, + {"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [6, 8], "x": 14, "y": 4}, + {"matrix": [1, 6], "x": 15, "y": 4}, + {"matrix": [1, 7], "x": 16, "y": 4}, + {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [7, 5], "x": 10, "y": 5}, + {"matrix": [0, 10], "x": 11, "y": 5}, + {"matrix": [0, 11], "x": 12, "y": 5}, + {"matrix": [6, 6], "x": 13, "y": 5}, + {"matrix": [6, 7], "x": 14, "y": 5}, + {"matrix": [6, 9], "x": 15, "y": 5}, + {"matrix": [0, 6], "x": 16, "y": 5}, + {"matrix": [0, 8], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 1, "y": 0}, + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [5, 5], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 10], "x": 6, "y": 0}, + {"matrix": [7, 10], "x": 7, "y": 0}, + {"matrix": [7, 0], "x": 8, "y": 0}, + {"matrix": [5, 11], "x": 9, "y": 0}, + {"matrix": [5, 12], "x": 10, "y": 0}, + {"matrix": [5, 13], "x": 11, "y": 0}, + {"matrix": [5, 14], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [7, 6], "x": 16, "y": 0}, + {"matrix": [7, 8], "x": 17, "y": 0}, + {"matrix": [7, 9], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [6, 1], "x": 6, "y": 1}, + {"matrix": [6, 11], "x": 7, "y": 1}, + {"matrix": [7, 11], "x": 8, "y": 1}, + {"matrix": [7, 1], "x": 9, "y": 1}, + {"matrix": [4, 10], "x": 10, "y": 1}, + {"matrix": [4, 11], "x": 11, "y": 1}, + {"matrix": [4, 12], "x": 12, "y": 1}, + {"matrix": [4, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [4, 6], "x": 15, "y": 1}, + {"matrix": [4, 7], "x": 16, "y": 1}, + {"matrix": [4, 8], "x": 17, "y": 1}, + {"matrix": [4, 9], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [6, 2], "x": 6.5, "y": 2}, + {"matrix": [6, 12], "x": 7.5, "y": 2}, + {"matrix": [7, 12], "x": 8.5, "y": 2}, + {"matrix": [7, 2], "x": 9.5, "y": 2}, + {"matrix": [3, 10], "x": 10.5, "y": 2}, + {"matrix": [3, 11], "x": 11.5, "y": 2}, + {"matrix": [3, 12], "x": 12.5, "y": 2}, + {"matrix": [3, 6], "x": 15, "y": 2}, + {"matrix": [3, 7], "x": 16, "y": 2}, + {"matrix": [3, 8], "x": 17, "y": 2}, + {"matrix": [3, 9], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [6, 13], "x": 7.75, "y": 3}, + {"matrix": [7, 13], "x": 8.75, "y": 3}, + {"matrix": [7, 3], "x": 9.75, "y": 3}, + {"matrix": [2, 10], "x": 10.75, "y": 3}, + {"matrix": [2, 11], "x": 11.75, "y": 3}, + {"matrix": [2, 12], "x": 12.75, "y": 3}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [2, 6], "x": 15, "y": 3}, + {"matrix": [2, 7], "x": 16, "y": 3}, + {"matrix": [2, 8], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [0, 3], "x": 1.25, "y": 4}, + {"matrix": [1, 1], "x": 2.25, "y": 4}, + {"matrix": [1, 2], "x": 3.25, "y": 4}, + {"matrix": [1, 3], "x": 4.25, "y": 4}, + {"matrix": [1, 4], "x": 5.25, "y": 4}, + {"matrix": [1, 5], "x": 6.25, "y": 4}, + {"matrix": [6, 4], "x": 7.25, "y": 4}, + {"matrix": [6, 14], "x": 8.25, "y": 4}, + {"matrix": [7, 14], "x": 9.25, "y": 4}, + {"matrix": [7, 4], "x": 10.25, "y": 4}, + {"matrix": [1, 10], "x": 11.25, "y": 4}, + {"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [6, 8], "x": 14, "y": 4}, + {"matrix": [1, 6], "x": 15, "y": 4}, + {"matrix": [1, 7], "x": 16, "y": 4}, + {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [7, 5], "x": 10, "y": 5}, + {"matrix": [0, 10], "x": 11, "y": 5}, + {"matrix": [0, 11], "x": 12, "y": 5}, + {"matrix": [6, 6], "x": 13, "y": 5}, + {"matrix": [6, 7], "x": 14, "y": 5}, + {"matrix": [6, 9], "x": 15, "y": 5}, + {"matrix": [0, 6], "x": 16, "y": 5}, + {"matrix": [0, 8], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_ansi_2_right_mod": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, {"matrix": [5, 2], "x": 1, "y": 0}, @@ -234,6 +469,7 @@ {"matrix": [1, 6], "x": 15, "y": 4}, {"matrix": [1, 7], "x": 16, "y": 4}, {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, @@ -245,8 +481,7 @@ {"matrix": [6, 7], "x": 14, "y": 5}, {"matrix": [6, 9], "x": 15, "y": 5}, {"matrix": [0, 6], "x": 16, "y": 5}, - {"matrix": [0, 8], "x": 17, "y": 5}, - {"matrix": [0, 9], "x": 18, "y": 4, "h": 2} + {"matrix": [0, 8], "x": 17, "y": 5} ] } } diff --git a/keyboards/donutcables/budget96/keymaps/default/keymap.c b/keyboards/donutcables/budget96/keymaps/default/keymap.c index da335622d0fb..023c570e7f0d 100644 --- a/keyboards/donutcables/budget96/keymaps/default/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_96_ansi( +[0] = LAYOUT_96_ansi_2_right_mod( 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_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, 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_END, KC_PGDN, KC_PSLS, KC_PAST, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, @@ -24,21 +24,13 @@ 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_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), -[1] = LAYOUT_96_ansi( - QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_96_ansi_2_right_mod( + QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/donutcables/budget96/keymaps/donut/config.h b/keyboards/donutcables/budget96/keymaps/donut/config.h deleted file mode 100644 index 3da4a621c2e6..000000000000 --- a/keyboards/donutcables/budget96/keymaps/donut/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2020 DonutCables - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here - -#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 - -#define UNICODE_KEY_WINC KC_RGUI diff --git a/keyboards/donutcables/budget96/keymaps/donut/keymap.c b/keyboards/donutcables/budget96/keymaps/donut/keymap.c deleted file mode 100644 index d7e2bfd0d08e..000000000000 --- a/keyboards/donutcables/budget96/keymaps/donut/keymap.c +++ /dev/null @@ -1,171 +0,0 @@ -/* -Copyright 2020 DonutCables - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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, - _B, - _FN1, - _FN2, -}; - -enum custom_keycodes { - img = SAFE_RANGE, - xkcd, - CD, - AES, - /* Unicode strings maps */ - ALT0, - ALT1, - ALT2, - ALT3, - ALT4, - ALT5, - ALT6, - ALT7, - /* Discord emotes maps */ - B, - X, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT_96_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_HOME, KC_INS, KC_END, KC_MPRV, KC_MPLY, KC_MNXT, - 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_PSCR, KC_PSLS, KC_PAST, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, - MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, - KC_LCTL, MO(2), KC_RALT, KC_SPC, KC_CALC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), - - /* (1) Bmode layer */ - [_B] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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) Fn 1 */ - [_FN1] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU, - ALT0, KC_TRNS, KC_TRNS, ALT1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALT2, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, - KC_TRNS, CD, KC_TRNS, KC_TRNS, KC_TRNS, ALT3, KC_TRNS, KC_TRNS, KC_TRNS, ALT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, AES, xkcd, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_CAPS, KC_TRNS, X, KC_TRNS, img, B, KC_TRNS, ALT7, ALT5, ALT6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - /* (3) Fn 2 */ - [_FN2] = LAYOUT_96_ansi( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_WINC, EE_CLR, QK_BOOT, - VK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_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, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - 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 process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case xkcd: - if (record->event.pressed) { - SEND_STRING("https://xkcd.com/927/"); - } - return true; - case CD: - if (record->event.pressed) { - SEND_STRING("cd d:/keyboard_stuff/gits/qmk_firmware"); - } - return true; - case AES: - if (record->event.pressed) { - SEND_STRING("***A E S T H E T I C S***"); - } - return true; - case img: - if (record->event.pressed) { - SEND_STRING("[url=" SS_LCTL("v") "][img]" SS_LCTL("v") "[/img][/url]"); - } - return true; - case ALT0: - if (record->event.pressed) { - send_unicode_string("≈"); - } - return true; - case ALT1: - if (record->event.pressed) { - send_unicode_string("π"); - } - return true; - case ALT2: - if (record->event.pressed) { - send_unicode_string("Âą"); - } - return true; - case ALT3: - if (record->event.pressed) { - send_unicode_string("â„Ē"); - } - return true; - case ALT4: - if (record->event.pressed) { - send_unicode_string("ÎĐ"); - } - return true; - case ALT5: - if (record->event.pressed) { - send_unicode_string("â‰Ī"); - } - return true; - case ALT6: - if (record->event.pressed) { - send_unicode_string("â‰Ĩ"); - } - return true; - case ALT7: - if (record->event.pressed) { - send_unicode_string("ã‚ī"); - } - return true; - case B: - if (record->event.pressed) { - SEND_STRING(":b:"); - } - return true; - case X: - if (record->event.pressed) { - SEND_STRING(":x:"); - } - return true; - case KC_A ... KC_Z: - case KC_1 ... KC_0: - if (layer_state_is(1)) { - if (record->event.pressed) { - register_code(KC_F13); - tap_code(keycode); - unregister_code(KC_F13); - } - } else { - return true; - } - return false; - } - return true; -} diff --git a/keyboards/donutcables/budget96/keymaps/donut/readme.md b/keyboards/donutcables/budget96/keymaps/donut/readme.md deleted file mode 100644 index 3e1ca1361ac4..000000000000 --- a/keyboards/donutcables/budget96/keymaps/donut/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# My personal keymap for Budget96 - -My daily map for the Budget96. Includes unicode and masked characters for AHK pickup. \ No newline at end of file diff --git a/keyboards/donutcables/budget96/keymaps/donut/rules.mk b/keyboards/donutcables/budget96/keymaps/donut/rules.mk deleted file mode 100644 index 7d48394b23d3..000000000000 --- a/keyboards/donutcables/budget96/keymaps/donut/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -VELOCIKEY_ENABLE = yes -UNICODE_ENABLE = yes -BACKLIGHT_ENABLE = no -MOUSEKEY_ENABLE = no -COMMAND_ENABLE = no -SPACE_CADET_ENABLE = no -GRAVE_ESC_ENABLE = no diff --git a/keyboards/donutcables/budget96/keymaps/via/keymap.c b/keyboards/donutcables/budget96/keymaps/via/keymap.c index 26a3c7cf0c55..257dff57a4cc 100644 --- a/keyboards/donutcables/budget96/keymaps/via/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/via/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_96_ansi( +[0] = LAYOUT_96_ansi_2_right_mod( 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_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, 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_END, KC_PGDN, KC_PSLS, KC_PAST, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, @@ -24,19 +24,11 @@ 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_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), -[1] = LAYOUT_96_ansi( - QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_96_ansi_2_right_mod( + QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/donutcables/budget96/matrix_diagram.md b/keyboards/donutcables/budget96/matrix_diagram.md new file mode 100644 index 000000000000..1b6255c8c89c --- /dev/null +++ b/keyboards/donutcables/budget96/matrix_diagram.md @@ -0,0 +1,23 @@ +# Matrix Diagram for Donutcables Budget96 + +``` +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│50 │52 │53 │54 │55 │6A │7A │70 │5B │5C │5C │5D │5E │1D │2E │0D │76 │78 │79 │ +├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī ┌───────┐ +│40 │41 │42 │43 │44 │45 │61 │6B │7B │71 │4A │4B │4C │4D │4E │46 │47 │48 │49 │ │4D │ 2u Backpsace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───┾───┾───┾───â”Ī └─┮─────â”Ī ┌───┐ +│30 │31 │32 │33 │34 │35 │62 │6C │7C │72 │3A │3B │3C │3D │36 │37 │38 │39 │ │ │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───┾───┾───┾───â”Ī ┌──â”ī┐2D │ ISO Enter │39 │ Numpad "+" 2u +│20 │21 │22 │23 │24 │25 │63 │6D │7D │73 │2A │2B │2C │26 │27 │28 │29 │ │2C │ │ │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───┾───┾───┾───â”Ī └───â”ī────┘ ├───â”Ī +│10 │03 │11 │12 │13 │14 │15 │64 │6E │7E │74 │1A │1B │68 │16 │17 │18 │19 │ │ │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮───┾───┾───┾───┾───┾───â”Ī ┌───────┐ │19 │ Numpad Enter 2U +│00 │01 │02 │65 │75 │0A │0B │66 │67 │69 │06 │08 │09 │ Numpad 0 2u │06 │ │ │ +└────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───────┘ └───┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │1B │ +└────────┘ └──────────┘ +┌────┮────┮────┮────────────────────────┮─────┮─────┐ +│00 │01 │02 │65 │75 │0B │ 2x1.5u Right Mod +└────â”ī────â”ī────â”ī────────────────────────â”ī─────â”ī─────┘ +``` diff --git a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c b/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c deleted file mode 100644 index 70768007179f..000000000000 --- a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c +++ /dev/null @@ -1,62 +0,0 @@ -#include QMK_KEYBOARD_H -#include - -static uint16_t keystroke; -static bool shift_pressed; - -static int lower = (int) KC_A; -static int upper = (int) KC_Z; - -uint16_t random_keycode(void) { - return lower + (rand() % (upper - lower + 1)); -}; - -enum custom_keycodes { - RND_KEY = SAFE_RANGE -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case RND_KEY: - if (record->event.pressed) { - keystroke = random_keycode(); - if (rand() % 2 > 0) { - shift_pressed = 1; - register_code(KC_LSFT); - } - register_code(keystroke); - } else { - if (shift_pressed > 0) { - unregister_code(KC_LSFT); - } - unregister_code(keystroke); - } - - return false; - - default: - return true; - } - - return true; -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, QK_BOOT, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, - RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY -), -}; diff --git a/keyboards/donutcables/scrabblepad/keymaps/random/readme.md b/keyboards/donutcables/scrabblepad/keymaps/random/readme.md deleted file mode 100644 index e719adaeb8a2..000000000000 --- a/keyboards/donutcables/scrabblepad/keymaps/random/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Scrabblepad keymap with every key press random - -Every key produces a random key press, except the middle key, which is reserved for resetting the board. - -The random key press is selected between KC_A and KC_Z keycodes. diff --git a/keyboards/doodboard/duckboard/config.h b/keyboards/doodboard/duckboard/config.h deleted file mode 100644 index a73678faf255..000000000000 --- a/keyboards/doodboard/duckboard/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020-2021 doodboard - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* media key slowdown for windows */ -#define TAP_CODE_DELAY 20 - -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 8 // Number of LEDs -#endif diff --git a/keyboards/doodboard/duckboard/info.json b/keyboards/doodboard/duckboard/info.json index 367a9b7d72cc..3d4577011213 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/rules.mk b/keyboards/doodboard/duckboard/rules.mk index 4ddaccda461d..0551c8b37099 100644 --- a/keyboards/doodboard/duckboard/rules.mk +++ b/keyboards/doodboard/duckboard/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/doodboard/duckboard_r2/config.h b/keyboards/doodboard/duckboard_r2/config.h deleted file mode 100644 index a73678faf255..000000000000 --- a/keyboards/doodboard/duckboard_r2/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020-2021 doodboard - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* media key slowdown for windows */ -#define TAP_CODE_DELAY 20 - -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 8 // Number of LEDs -#endif diff --git a/keyboards/doodboard/duckboard_r2/info.json b/keyboards/doodboard/duckboard_r2/info.json index 00d0fc64521f..4c47e9a70ea4 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/doodboard/duckboard_r2/rules.mk b/keyboards/doodboard/duckboard_r2/rules.mk index 4ddaccda461d..0551c8b37099 100644 --- a/keyboards/doodboard/duckboard_r2/rules.mk +++ b/keyboards/doodboard/duckboard_r2/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h index bc64bd9001c0..a18b48474656 100644 --- a/keyboards/doppelganger/config.h +++ b/keyboards/doppelganger/config.h @@ -21,10 +21,6 @@ along with this program. If not, see . // #define USE_I2C -#define RGBLED_NUM 2 -#define RGBLIGHT_SPLIT -#define RGBLED_SPLIT { 1, 1 } - /* 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 83a3e68be750..ea53bfb9156c 100644 --- a/keyboards/doppelganger/info.json +++ b/keyboards/doppelganger/info.json @@ -22,6 +22,10 @@ } } }, + "rgblight": { + "led_count": 2, + "split_count": [1, 1] + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/doro67/multi/info.json b/keyboards/doro67/multi/info.json index db8da861c13f..10cd3bb652a9 100644 --- a/keyboards/doro67/multi/info.json +++ b/keyboards/doro67/multi/info.json @@ -24,6 +24,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT_ansi": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/doro67/multi/keymaps/konstantin/config.h b/keyboards/doro67/multi/keymaps/konstantin/config.h deleted file mode 100644 index 3c2583e2d46f..000000000000 --- a/keyboards/doro67/multi/keymaps/konstantin/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define LAYER_FN -#define LAYER_NUMPAD diff --git a/keyboards/doro67/multi/keymaps/konstantin/keymap.c b/keyboards/doro67/multi/keymaps/konstantin/keymap.c deleted file mode 100644 index 02687f82485e..000000000000 --- a/keyboards/doro67/multi/keymaps/konstantin/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include QMK_KEYBOARD_H -#include "konstantin.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │PSc│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │Del│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│ ↑ │PgD│ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │LCtl│LGui│LAlt│ Space │FnLk│ Fn │RAlG│RCtl│ │ ← │ ↓ │ → │ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ - */ - [L_BASE] = LAYOUT_multi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PSCR, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, - FN_CAPS, KC_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, RAL_RGU, 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, FNLK, FN, RAL_RGU, KC_RCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Fn layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Num│SLk│Pau│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───â”Ī - * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │UCM│ │Stp│Ply│Prv│Nxt│Clear│Ins│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │ │M← │M↓ │M→ │MW↑│ │ │ │ │ │ │ │ │Top│ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │ │ │MA0│MA2│MW←│MW→│ │ │App│Vo-│Vo+│Mut│ │PgU│Btm│ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │ │DtPR│DtNA│ MW↓ │ │ │ │ │ │Hom│PgD│End│ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ - */ - [L_FN] = LAYOUT_multi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, NUMPAD, KC_SCRL, KC_PAUS, - KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, KC_INS, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, TOP, - _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, BOTTOM, - _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END - ), - - /* Numpad layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │P7 │P8 │P9 │P- │ − │ = │Num│ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───â”Ī - * │ │ │ │ │ │ │ │P4 │P5 │P6 │P+ │ ( │ ) │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │ │ │ │ │ │ │ │P1 │P2 │P3 │P* │ × │ PEnter │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │ │ │ │ │ │ │ │P0 │P0 │ , │P. │P/ │ ÷ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ - */ - [L_NUMPAD] = LAYOUT_multi( - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, MINUS, EQUALS, NUMPAD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, L_PAREN, R_PAREN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PAST, TIMES, KC_PENT, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P0, COMMA, KC_PDOT, KC_PSLS, DIVIDE, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______ - ), -}; diff --git a/keyboards/doro67/multi/keymaps/konstantin/rules.mk b/keyboards/doro67/multi/keymaps/konstantin/rules.mk deleted file mode 100644 index 7bab7513ed3f..000000000000 --- a/keyboards/doro67/multi/keymaps/konstantin/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Generic features -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -COMMAND_ENABLE = yes -CONSOLE_ENABLE = yes -EXTRAKEY_ENABLE = yes -MOUSEKEY_ENABLE = yes -NKRO_ENABLE = yes -TAP_DANCE_ENABLE = yes -UNICODEMAP_ENABLE = yes - -# Keyboard-specific features -BACKLIGHT_ENABLE = no -VIA_ENABLE = yes - -# Firmware size reduction -GRAVE_ESC_ENABLE = no -MAGIC_ENABLE = no -SPACE_CADET_ENABLE = no diff --git a/keyboards/doro67/multi/keymaps/zyber/keymap.c b/keyboards/doro67/multi/keymaps/zyber/keymap.c deleted file mode 100644 index 05200e885582..000000000000 --- a/keyboards/doro67/multi/keymaps/zyber/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2019 ShadeDream - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "zyber.h" - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_multi( - 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_F2, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD(LBRC), KC_RBRC, KC_BSLS, KC_PGUP, - LCTL(KC_UP), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN), TD(QUOT), KC_ENT, KC_PGDN, - KC_LSFT, KC_GRV, 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_HOME, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_multi( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, , - BL_TOGG, BL_STEP, BL_DOWN, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - 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/doro67/regular/info.json b/keyboards/doro67/regular/info.json index 70997d3e1a3c..863d935b0a68 100644 --- a/keyboards/doro67/regular/info.json +++ b/keyboards/doro67/regular/info.json @@ -19,6 +19,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h index cca3e4d26fbd..e18a23138074 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/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json index f4a7d40dcef0..ad7661830a9c 100644 --- a/keyboards/doro67/rgb/info.json +++ b/keyboards/doro67/rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F5", "F6", "F7"], @@ -26,6 +26,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/dotmod/dymium65/info.json b/keyboards/dotmod/dymium65/info.json index 83e2951baa98..650260483c6b 100644 --- a/keyboards/dotmod/dymium65/info.json +++ b/keyboards/dotmod/dymium65/info.json @@ -38,7 +38,7 @@ "pin": "D7" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "animations": { "breathing": true, "band_val": true, diff --git a/keyboards/dp3000/dp3000.c b/keyboards/dp3000/dp3000.c index 3d99670fe36d..6daeaa56630e 100644 --- a/keyboards/dp3000/dp3000.c +++ b/keyboards/dp3000/dp3000.c @@ -15,20 +15,75 @@ */ #include "quantum.h" -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } +#define LOGO_TIMEOUT 3000 + +static uint32_t logo_timer = 0; +static bool display_logo = true; + +void dp3000_logo(void) { + static const char PROGMEM dp3000_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x60, 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, + 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x7c, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xff, 0xff, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf0, 0xe0, + 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0xff, 0xff, 0x86, 0x86, 0x86, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x98, 0x98, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, + 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 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, 0x61, 0x61, 0x61, 0xff, 0xff, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x0f, 0x07, + 0x00, 0x00, 0x1f, 0x1f, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x61, 0x61, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x19, 0x19, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, + 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 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, 0x00, 0x00, 0x00, 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, 0x06, 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, + 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x3e, 0x3e, 0x06, 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 + }; + oled_write_raw_P(dp3000_logo, sizeof(dp3000_logo)); +} + +void default_status(void) { + oled_set_cursor(0, 0); oled_write_P(PSTR("LAYER: "), false); oled_write_char('0' + get_highest_layer(layer_state), false); - + oled_advance_page(true); + oled_write_P(PSTR("LOCK: "), 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); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (display_logo && timer_elapsed32(logo_timer) > LOGO_TIMEOUT) { + display_logo = false; + oled_clear(); + logo_timer = 0; + } + if (display_logo) { + dp3000_logo(); + } else { + default_status(); + } return false; } diff --git a/keyboards/dp3000/info.json b/keyboards/dp3000/info.json index c7348c81a89f..442d6d6a66d7 100644 --- a/keyboards/dp3000/info.json +++ b/keyboards/dp3000/info.json @@ -1,6 +1,5 @@ { "manufacturer": "depermana12", - "keyboard_name": "dp3000", "maintainer": "depermana12", "diode_direction": "COL2ROW", "development_board": "promicro", @@ -10,7 +9,6 @@ "console": false, "extrakey": true, "encoder": true, - "rgb_matrix": true, "oled": true, "mousekey": false, "nkro": false @@ -20,64 +18,17 @@ }, "url": "https://github.com/depermana12", "usb": { - "device_version": "1.0.1", - "vid": "0x4450", - "pid": "0x6470" + "vid": "0x4450" }, "encoder": { "rotary": [ - { "pin_a": "B2", "pin_b": "B1"}, - { "pin_a": "F4", "pin_b": "F5"} + { "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"] + "cols": [ "D4", "D7", "B4", "C6" ], + "rows": [ "F6", "F7", "B3" ] }, "layouts": { "LAYOUT": { diff --git a/keyboards/dp3000/post_config.h b/keyboards/dp3000/post_config.h new file mode 100644 index 000000000000..ef2ce27e2190 --- /dev/null +++ b/keyboards/dp3000/post_config.h @@ -0,0 +1,22 @@ +/* + * 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 + +#if !defined(OLED_TIMEOUT) +# define OLED_TIMEOUT 30000 +#endif diff --git a/keyboards/dp3000/readme.md b/keyboards/dp3000/readme.md index 3844a66757d0..8e2c8871d9fd 100644 --- a/keyboards/dp3000/readme.md +++ b/keyboards/dp3000/readme.md @@ -3,18 +3,21 @@ ![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. - +* Rev. 1 Support RGB matrix +* Rev. 2 Support RGB light (underglow) * Keyboard Maintainer: [Deddia Permana](https://github.com/depermana12) -* Hardware Supported: DP3000 PCB, ATmega32u4 +* Hardware Supported: DP3000 PCB rev1 and rev2, 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 + make dp3000/rev1:default + make dp3000/rev2:default Flashing example for this keyboard: - make dp3000:default:flash + make dp3000/rev1:default:flash + make dp3000/rev2: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). @@ -22,6 +25,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to 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 +* Bootmagic reset: Hold down the key at (0,0) in the matrix (left rotary encoder push switch) 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/rev1/info.json b/keyboards/dp3000/rev1/info.json new file mode 100644 index 000000000000..7ea2d101c4fe --- /dev/null +++ b/keyboards/dp3000/rev1/info.json @@ -0,0 +1,59 @@ +{ + "keyboard_name": "dp3000", + "features": { + "rgb_matrix": true + }, + "usb": { + "device_version": "1.0.1", + "pid": "0x6470" + }, + "rgb_matrix": { + "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_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "rainbow_moving_chevron": true, + "raindrops": true, + "solid_color": true, + "solid_reactive": true, + "solid_reactive_multinexus": true, + "solid_reactive_simple": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "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} + ], + "max_brightness": 180, + "sat_steps": 8, + "speed_steps": 10, + "val_steps": 8 + }, + "ws2812": { + "pin": "B5" + } +} diff --git a/keyboards/dp3000/rev1/rules.mk b/keyboards/dp3000/rev1/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/dp3000/rev1/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dp3000/rev2/info.json b/keyboards/dp3000/rev2/info.json new file mode 100644 index 000000000000..f6f03eeb639c --- /dev/null +++ b/keyboards/dp3000/rev2/info.json @@ -0,0 +1,31 @@ +{ + "keyboard_name": "dp3000 rev2", + "features": { + "rgblight": true + }, + "usb": { + "device_version": "2.0.0", + "pid": "0x3132" + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 4, + "max_brightness": 180, + "saturation_steps": 8, + "sleep": true + }, + "ws2812": { + "pin": "B6" + } +} diff --git a/keyboards/dp3000/rev2/rules.mk b/keyboards/dp3000/rev2/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/dp3000/rev2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dp3000/rules.mk b/keyboards/dp3000/rules.mk index 6e7633bfe015..0f44aefd4458 100644 --- a/keyboards/dp3000/rules.mk +++ b/keyboards/dp3000/rules.mk @@ -1 +1 @@ -# This file intentionally left blank +DEFAULT_FOLDER = dp3000/rev1 diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h index b1518cb5fb25..3c65d9473637 100644 --- a/keyboards/dp60/config.h +++ b/keyboards/dp60/config.h @@ -32,26 +32,9 @@ /* disable print */ //#define NO_PRINT -//rgb light setting -#define RGBLED_NUM 18 -#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 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - //rgb matrix setting -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110111 -#define DRIVER_COUNT 2 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 36 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -88,18 +71,18 @@ #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 +// #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 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/dp60/dp60.c b/keyboards/dp60/dp60.c index 75e6649ad528..588acd591d10 100644 --- a/keyboards/dp60/dp60.c +++ b/keyboards/dp60/dp60.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json index 625ca2a23853..10af7cb6cac2 100644 --- a/keyboards/dp60/info.json +++ b/keyboards/dp60/info.json @@ -8,11 +8,28 @@ "pid": "0x00BE", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/dp60/keymaps/allleds/keymap.c b/keyboards/dp60/keymaps/allleds/keymap.c deleted file mode 100644 index 3d49bd268fe2..000000000000 --- a/keyboards/dp60/keymaps/allleds/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -/** - * keymap.c - * - Copyright 2020 astro - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi_split_bs_rshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, TG(1), KC_RCTL), - - [1] = LAYOUT_60_ansi_split_bs_rshift( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, - _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______, - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,TG(0),_______), -}; diff --git a/keyboards/dp60/keymaps/allleds/rules.mk b/keyboards/dp60/keymaps/allleds/rules.mk deleted file mode 100644 index 1e3cebb14515..000000000000 --- a/keyboards/dp60/keymaps/allleds/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/dp60/keymaps/indicator/config.h b/keyboards/dp60/keymaps/indicator/config.h deleted file mode 100644 index c7b52b27a5e1..000000000000 --- a/keyboards/dp60/keymaps/indicator/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * config.h - * - Copyright 2020 astro - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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_INDICATOR_NUM 8 -#undef RGBLED_NUM -#define RGBLED_NUM (18+RGB_INDICATOR_NUM) - -#define RGB_INDICATOR_PIN B1 -#define RGBLIGHT_LAYERS diff --git a/keyboards/dp60/keymaps/indicator/indicator.c b/keyboards/dp60/keymaps/indicator/indicator.c deleted file mode 100644 index 683ae3625aaf..000000000000 --- a/keyboards/dp60/keymaps/indicator/indicator.c +++ /dev/null @@ -1,96 +0,0 @@ -/** - * indicator.c - * - Copyright 2020 astro - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -#include "dp60.h" - -#include "rgblight.h" - - -// caps led -const rgblight_segment_t PROGMEM dp60_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {18, 1, HSV_RED} -); - -// scroll led -const rgblight_segment_t PROGMEM dp60_scrolllock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {19, 1, HSV_GREEN} -); - -// num led -const rgblight_segment_t PROGMEM dp60_numlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {20, 1, HSV_BLUE} -); - -// light 21 to 26 for layer 1-5 -const rgblight_segment_t PROGMEM dp60_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {21, 1, HSV_PURPLE} -); -const rgblight_segment_t PROGMEM dp60_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {22, 1, HSV_CYAN} -); -const rgblight_segment_t PROGMEM dp60_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {23, 1, HSV_YELLOW} -); -const rgblight_segment_t PROGMEM dp60_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {24, 1, HSV_PINK} -); -const rgblight_segment_t PROGMEM dp60_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {25, 1, HSV_ORANGE} -); - -// rgb light layers -const rgblight_segment_t* const PROGMEM dp60_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - dp60_capslock_layer, - dp60_scrolllock_layer, - dp60_numlock_layer, - dp60_layer1_layer, - dp60_layer2_layer, - dp60_layer3_layer, - dp60_layer4_layer, - dp60_layer5_layer -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = dp60_rgb_layers; -} - -extern rgblight_config_t rgblight_config; -extern void rgblight_layers_write(void); -extern void indicator_write(LED_TYPE *start_led, uint8_t num_leds); - -void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) -{ - ws2812_setleds(start_led, RGBLED_NUM-RGB_INDICATOR_NUM); - - indicator_write(start_led + (RGBLED_NUM - RGB_INDICATOR_NUM), RGB_INDICATOR_NUM); -} - -void led_update_ports(led_t led_state) { - rgblight_set_layer_state(0, led_state.caps_lock); - rgblight_set_layer_state(1, led_state.scroll_lock); - rgblight_set_layer_state(2, led_state.num_lock); -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - state = layer_state_set_user(state); - rgblight_set_layer_state(3, layer_state_cmp(state, 1)); - rgblight_set_layer_state(4, layer_state_cmp(state, 2)); - rgblight_set_layer_state(5, layer_state_cmp(state, 3)); - rgblight_set_layer_state(6, layer_state_cmp(state, 4)); - rgblight_set_layer_state(7, layer_state_cmp(state, 5)); - return state; -} diff --git a/keyboards/dp60/keymaps/indicator/keymap.c b/keyboards/dp60/keymaps/indicator/keymap.c deleted file mode 100644 index 0cfe07f3ae90..000000000000 --- a/keyboards/dp60/keymaps/indicator/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -/** - * keymap.c - * - Copyright 2020 astro - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT,KC_RGUI ), - - [1] = LAYOUT_60_hhkb( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR, - QK_BOOT, RGB_TOG,RGB_MOD,_______,KC_F13,KC_F14,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, - KC_CAPS, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME,KC_END,_______, - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______, _______, _______,_______), -}; diff --git a/keyboards/dp60/keymaps/indicator/led_driver.c b/keyboards/dp60/keymaps/indicator/led_driver.c deleted file mode 100644 index 677eb8af57f9..000000000000 --- a/keyboards/dp60/keymaps/indicator/led_driver.c +++ /dev/null @@ -1,26 +0,0 @@ -/** - * led_driver.c - * - Copyright 2020 astro - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#undef WS2812_DI_PIN -#define WS2812_DI_PIN RGB_INDICATOR_PIN -#define ws2812_setleds indicator_setleds -#define ws2812_setleds_pin indicator_setleds_pin -#include "ws2812_bitbang.c" - -void indicator_write(LED_TYPE *start_led, uint8_t num_leds) -{ - indicator_setleds(start_led, num_leds); -} diff --git a/keyboards/dp60/keymaps/indicator/readme.md b/keyboards/dp60/keymaps/indicator/readme.md deleted file mode 100644 index bb3fbbbe0b66..000000000000 --- a/keyboards/dp60/keymaps/indicator/readme.md +++ /dev/null @@ -1,10 +0,0 @@ - -Indicator RGB leds support for the open source viper/eagle fr4 [plate](https://github.com/yulei/viper_plate.git) - -Three wires need to be soldered: - -B1 pin (SCLK at the board) to the plate's D pin - -VCC to plate's V - -GND to plate's G diff --git a/keyboards/dp60/keymaps/indicator/rules.mk b/keyboards/dp60/keymaps/indicator/rules.mk deleted file mode 100644 index a8891659f72d..000000000000 --- a/keyboards/dp60/keymaps/indicator/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ - -RGBLIGHT_ENABLE = yes # Use RGB underglow light - -SRC += indicator.c led_driver.c diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h index a9f78283d0c8..aabdb63b8d18 100644 --- a/keyboards/draculad/config.h +++ b/keyboards/draculad/config.h @@ -22,17 +22,6 @@ along with this program. If not, see . #define OLED_TIMEOUT 30000 #endif -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#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 #define LAYER_STATE_8BIT diff --git a/keyboards/draculad/info.json b/keyboards/draculad/info.json index 57250d57efed..cd157a0ed58f 100644 --- a/keyboards/draculad/info.json +++ b/keyboards/draculad/info.json @@ -8,6 +8,19 @@ "pid": "0x1B1E", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, + "split": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h b/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index e49cb1539f38..000000000000 --- a/keyboards/draculad/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - -#pragma once - -#undef LAYER_STATE_8BIT - -#define XXX KC_NO - -#define LAYOUT_miryoku( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - XXX, XXX, \ - K32, K33, K34, K35, K36, K37 \ -) diff --git a/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/draculad/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/draculad/keymaps/pimoroni/config.h b/keyboards/draculad/keymaps/pimoroni/config.h deleted file mode 100644 index 378b9b8923e5..000000000000 --- a/keyboards/draculad/keymaps/pimoroni/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2021 @mangoiv - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 POINTING_DEVICE_ROTATION_90 - -//comment that out if your trackball is on the left side -#define TRACKBALL_RIGHT - -#ifdef TRACKBALL_RIGHT - #define POINTING_DEVICE_INVERT_X - #define POINTING_DEVICE_INVERT_Y -#endif - diff --git a/keyboards/draculad/keymaps/pimoroni/keymap.c b/keyboards/draculad/keymaps/pimoroni/keymap.c deleted file mode 100644 index f074a9d353d7..000000000000 --- a/keyboards/draculad/keymaps/pimoroni/keymap.c +++ /dev/null @@ -1,335 +0,0 @@ -/* -Copyright 2021 @mangoiv - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 { - _BASE, - _NUM, - _SYMB, - _MUS, - _ADJ -}; - -enum custom_keycodes { - BALL_HUI = SAFE_RANGE, //cycles hue - BALL_WHT, //cycles white - BALL_DEC, //decreased color - BALL_SCR, //scrolls - BALL_NCL, //left click - BALL_RCL, //right click - BALL_MCL, //middle click -}; - -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_SCLN, - LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_MUTE, TG(_ADJ), - KC_LCTL, LALT_T(KC_BSPC), LT(_MUS,KC_SPC), KC_NO, LT(_NUM,KC_ENT), LT(_SYMB,KC_DEL) - ), - [_NUM] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, QK_BOOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT, - XXXXXXX, KC_NO, - KC_LCTL, KC_LALT, XXXXXXX, KC_NO, _______, KC_ENT - ), - [_SYMB] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS, - XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX, KC_GRV, KC_BSLS, - KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, - XXXXXXX, KC_NO, - KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, KC_NO, _______ - ), - [_MUS] = LAYOUT( - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, BALL_SCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - [_ADJ] = LAYOUT( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX, - EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, - XXXXXXX, _______, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - - if (is_keyboard_master()) { - if(is_keyboard_left()){ - return OLED_ROTATION_270; - } - else { - return OLED_ROTATION_90; - } - } else { - return OLED_ROTATION_0; - } -} -static void render_logo(void) { - static const char PROGMEM drac_logo[] = { - // drac_logo, 128x64px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x80, 0x80, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0c, 0x18, 0x78, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0x3e, 0xfc, 0xf0, 0x00, 0x00, 0x00, - 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x30, 0x00, 0x00, 0xe0, 0xe0, 0x30, 0x30, 0x30, 0x30, 0x30, 0xe0, - 0xe0, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, - 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, - 0x80, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf0, 0x80, 0xc0, 0xe0, 0xf0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0x7c, 0x3f, 0x0f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xcc, 0x8c, 0x84, 0x86, 0x86, 0xc6, 0xff, - 0xff, 0x80, 0x80, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0x71, 0x00, 0x00, - 0x1f, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, - 0x7f, 0x7f, 0x3e, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xfc, - 0xfc, 0xfe, 0xfe, 0x7e, 0x7c, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 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, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x60, 0x60, - 0x60, 0x60, 0x60, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0xc0, - 0xc0, 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, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, - 0x0f, 0x3e, 0x7c, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, - 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf1, 0x99, 0x18, 0x08, - 0x0c, 0x0c, 0x8c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x80, - 0xc3, 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, 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, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, - 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(drac_logo, sizeof(drac_logo)); -} - -static void render_status(void) { - oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); - uint8_t n = get_current_wpm(); - char wpm_counter[4]; - wpm_counter[3] = '\0'; - wpm_counter[2] = '0' + n % 10; - wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; - wpm_counter[0] = n / 10 ? '0' + n / 10 : ' '; - oled_write_P(PSTR("WPM:"), false); - oled_write(wpm_counter, false); - led_t led_state = host_keyboard_led_state(); - oled_write_P(PSTR("\nCaps: "), false); - oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); - oled_write_P(PSTR("\n"), false); - switch (get_highest_layer(layer_state)) { - case _BASE: - oled_write_P(PSTR("Base "), false); - break; - case _NUM: - oled_write_P(PSTR("Numbers"), false); - break; - case _SYMB: - oled_write_P(PSTR("Symbols"), false); - break; - case _ADJ: - oled_write_P(PSTR("Adjust "), false); - break; - case _MUS: - oled_write_P(PSTR("Mouse "), false); - break; - default: - oled_write_P(PSTR("Unkn "), false); - break; - } -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_logo(); - } - return false; -} - -#endif //OLED_ENABLE - -uint8_t white = 0; -uint8_t red = 255; -uint8_t green = 0; -uint8_t blue = 0; - -bool set_scrolling = false; -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - if (set_scrolling) { - mouse_report.h = mouse_report.x; - mouse_report.v = mouse_report.y; - mouse_report.x = mouse_report.y = 0; - } - return mouse_report; -} - -void ball_increase_hue(void){ - if(red!=255&&green!=255&&blue!=255){ - red =255; - } - if (red==255&&green<255&&blue==0){ - green += 15; - } else if(green==255&&blue==0&&red>0){ - red-=15; - } else if(red==0&&blue<255&&green==255){ - blue+=15; - } else if(blue==255&&green>0&&red==0){ - green -= 15; - } else if(green == 0&&blue==255&&red<255){ - red +=15; - } else if(green ==0&&blue>0&&red==255){ - blue -=15; - } - pimoroni_trackball_set_rgbw(red,green,blue,white); -} - -void decrease_color(void){ - if (green>0){ - green-=15; - } - if (red>0){ - red-=15; - } - if (blue>0){ - blue-=15; - } - pimoroni_trackball_set_rgbw(red,green,blue,white); -} - -void cycle_white(void){ - if (white<255){ - white +=15; - } else{ - white=0; - } - pimoroni_trackball_set_rgbw(red,green,blue,white); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record){ - switch (keycode){ - case BALL_HUI: - if(record->event.pressed){ - ball_increase_hue(); - } - break; - - case BALL_WHT: - if(record-> event.pressed){ - cycle_white(); - } - break; - - case BALL_DEC: - if(record-> event.pressed){ - decrease_color(); - } - break; - - case BALL_SCR: - if(record->event.pressed){ - set_scrolling = true; - } else{ - set_scrolling = false; - } - break; - - case BALL_NCL: - record->event.pressed?register_code(KC_BTN1):unregister_code(KC_BTN1); - break; - case BALL_RCL: - record->event.pressed?register_code(KC_BTN2):unregister_code(KC_BTN2); - break; - case BALL_MCL: - record->event.pressed?register_code(KC_BTN3):unregister_code(KC_BTN3); - break; - } - return true; -} - -#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); - } - } - else if (index == 2) { - switch (get_highest_layer(layer_state)) { - case _ADJ: - clockwise?ball_increase_hue():cycle_white(); - break; - case _MUS: - clockwise?tap_code(KC_WH_U):tap_code(KC_WH_D); - break; - default: - clockwise?tap_code(KC_PGUP):tap_code(KC_PGDN); - break; - } - } - // I only have 2 encoders on the the pimoroni example board, just add else ifs for your other encoders... - // the missing ones are encoder 1 on the right side and encoder 3 on the left side - return true; -} -#endif // ENCODER_ENABLE diff --git a/keyboards/draculad/keymaps/pimoroni/rules.mk b/keyboards/draculad/keymaps/pimoroni/rules.mk deleted file mode 100644 index 66d3bf0e46b4..000000000000 --- a/keyboards/draculad/keymaps/pimoroni/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# only uncomment on the side you have your trackball on -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = pimoroni_trackball -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -MOUSEKEY_ENABLE = yes diff --git a/keyboards/draculad/rules.mk b/keyboards/draculad/rules.mk index 453d3b26b1de..5f5fd002a1a0 100644 --- a/keyboards/draculad/rules.mk +++ b/keyboards/draculad/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes ENCODER_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/draytronics/daisy/config.h b/keyboards/draytronics/daisy/config.h index 7b129153937b..96a439558477 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 */ @@ -37,21 +35,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#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 -#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/draytronics/daisy/info.json b/keyboards/draytronics/daisy/info.json index ae0579b66782..4597ca9d178d 100644 --- a/keyboards/draytronics/daisy/info.json +++ b/keyboards/draytronics/daisy/info.json @@ -19,6 +19,27 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/draytronics/elise/config.h b/keyboards/draytronics/elise/config.h index 9d350995526f..0df48812aa31 100644 --- a/keyboards/draytronics/elise/config.h +++ b/keyboards/draytronics/elise/config.h @@ -22,21 +22,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #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 -#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/draytronics/elise/info.json b/keyboards/draytronics/elise/info.json index 81be5cffd7c2..80f4fa69e534 100644 --- a/keyboards/draytronics/elise/info.json +++ b/keyboards/draytronics/elise/info.json @@ -13,6 +13,24 @@ "rows": ["B2", "B3", "B1", "F0", "F1"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "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 + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/draytronics/elise_v2/config.h b/keyboards/draytronics/elise_v2/config.h index fdbdb23ce427..0df48812aa31 100644 --- a/keyboards/draytronics/elise_v2/config.h +++ b/keyboards/draytronics/elise_v2/config.h @@ -22,21 +22,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #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 -#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/draytronics/elise_v2/info.json b/keyboards/draytronics/elise_v2/info.json index faef95cbee0a..966ca3faa42b 100644 --- a/keyboards/draytronics/elise_v2/info.json +++ b/keyboards/draytronics/elise_v2/info.json @@ -8,6 +8,24 @@ "pid": "0x454C", "device_version": "2.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/drewkeys/mercury65/info.json b/keyboards/drewkeys/mercury65/info.json new file mode 100644 index 000000000000..68fa52d8d375 --- /dev/null +++ b/keyboards/drewkeys/mercury65/info.json @@ -0,0 +1,406 @@ +{ + "keyboard_name": "mercury65", + "maintainer": "Drewkeys", + "manufacturer": "RocketKeyboards", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "url": "https://www.rocketkeyboards.com/collections/mercury65/products/gb-mercury65-keyboard", + "usb": { + "vid": "0xDE43", + "pid": "0x1034", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B3", "B7", "D1", "D2", "D3", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5"], + "rows": ["D5", "D4", "D6", "D0", "E6"] + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "label":"`", "x":0, "y":0}, + {"matrix": [0, 1], "label":"!", "x":1, "y":0}, + {"matrix": [0, 2], "label":"@", "x":2, "y":0}, + {"matrix": [0, 3], "label":"#", "x":3, "y":0}, + {"matrix": [0, 4], "label":"$", "x":4, "y":0}, + {"matrix": [0, 5], "label":"%", "x":5, "y":0}, + {"matrix": [0, 6], "label":"^", "x":6, "y":0}, + {"matrix": [0, 7], "label":"&", "x":7, "y":0}, + {"matrix": [0, 8], "label":"*", "x":8, "y":0}, + {"matrix": [0, 9], "label":"(", "x":9, "y":0}, + {"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":"Del", "x":13, "y":0}, + {"matrix": [0, 14], "label":"Bsp", "x":14, "y":0}, + + {"matrix": [1, 0], "label":"Tab", "x":0, "y":1, "w":1.5}, + {"matrix": [1, 2], "label":"Q", "x":1.5, "y":1}, + {"matrix": [1, 3], "label":"W", "x":2.5, "y":1}, + {"matrix": [1, 4], "label":"E", "x":3.5, "y":1}, + {"matrix": [1, 5], "label":"R", "x":4.5, "y":1}, + {"matrix": [1, 6], "label":"T", "x":5.5, "y":1}, + {"matrix": [1, 7], "label":"Y", "x":6.5, "y":1}, + {"matrix": [1, 8], "label":"U", "x":7.5, "y":1}, + {"matrix": [1, 9], "label":"I", "x":8.5, "y":1}, + {"matrix": [1, 10], "label":"O", "x":9.5, "y":1}, + {"matrix": [1, 11], "label":"P", "x":10.5, "y":1}, + {"matrix": [1, 12], "label":"{", "x":11.5, "y":1}, + {"matrix": [1, 13], "label":"}", "x":12.5, "y":1}, + {"matrix": [1, 14], "label":"|", "x":13.5, "y":1, "w":1.5}, + {"matrix": [1, 16], "label":"PgUp", "x":15.5, "y":1}, + + {"matrix": [2, 0], "label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"matrix": [2, 2], "label":"A", "x":1.75, "y":2}, + {"matrix": [2, 3], "label":"S", "x":2.75, "y":2}, + {"matrix": [2, 4], "label":"D", "x":3.75, "y":2}, + {"matrix": [2, 5], "label":"F", "x":4.75, "y":2}, + {"matrix": [2, 6], "label":"G", "x":5.75, "y":2}, + {"matrix": [2, 7], "label":"H", "x":6.75, "y":2}, + {"matrix": [2, 8], "label":"J", "x":7.75, "y":2}, + {"matrix": [2, 9], "label":"K", "x":8.75, "y":2}, + {"matrix": [2, 10], "label":"L", "x":9.75, "y":2}, + {"matrix": [2, 11], "label":":", "x":10.75, "y":2}, + {"matrix": [2, 12], "label":"@", "x":11.75, "y":2}, + {"matrix": [2, 13], "label":"ISO", "x":12.75, "y":2}, + {"matrix": [2, 14], "label":"Enter", "x":13.75, "y":2, "w":1.25}, + {"matrix": [2, 16], "label":"Home", "x":15.5, "y":2}, + + {"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}, + {"matrix": [3, 4], "label":"C", "x":4.25, "y":3}, + {"matrix": [3, 5], "label":"V", "x":5.25, "y":3}, + {"matrix": [3, 6], "label":"B", "x":6.25, "y":3}, + {"matrix": [3, 7], "label":"N", "x":7.25, "y":3}, + {"matrix": [3, 8], "label":"M", "x":8.25, "y":3}, + {"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, 13], "label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 14], "label":"\u2191", "x":14.25, "y":3.25}, + {"matrix": [3, 16], "label":"End", "x":15.5, "y":3}, + + {"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, 13], "label":"\u2190", "x":13.25, "y":4.25}, + {"matrix": [4, 14], "label":"\u2193", "x":14.25, "y":4.25}, + {"matrix": [4, 15], "label":"\u2192", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"label": "`", "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "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": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "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": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "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": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "`", "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "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": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "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": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"label": "`", "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "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": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "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": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "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": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label": "`", "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "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": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "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": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + } + } +} diff --git a/keyboards/drewkeys/mercury65/keymaps/default/keymap.c b/keyboards/drewkeys/mercury65/keymaps/default/keymap.c new file mode 100644 index 000000000000..c37dac5359c3 --- /dev/null +++ b/keyboards/drewkeys/mercury65/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2023 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base https://i.imgur.com/viQdtbB.png */ + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN] = 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_BSLS, KC_BSPC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/drewkeys/mercury65/keymaps/via/keymap.c b/keyboards/drewkeys/mercury65/keymaps/via/keymap.c new file mode 100644 index 000000000000..faa3cfc3ec0f --- /dev/null +++ b/keyboards/drewkeys/mercury65/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Drewkeys + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 https://i.imgur.com/viQdtbB.png */ + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_BSPC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drewkeys/mercury65/keymaps/via/rules.mk b/keyboards/drewkeys/mercury65/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drewkeys/mercury65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drewkeys/mercury65/matrix_diagram.md b/keyboards/drewkeys/mercury65/matrix_diagram.md new file mode 100644 index 000000000000..32fd838a3e47 --- /dev/null +++ b/keyboards/drewkeys/mercury65/matrix_diagram.md @@ -0,0 +1,25 @@ +# Matrix Diagram for RocketKeyboards mercury65 + +``` + ┌───────┐ + 2u Backspace │?? │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī ┌───┐ ┌─────┐ +│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │1G │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī ┌──â”ī┐2E │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │2G │ │2D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │┌───┐│3G │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─────┘│3E │└───┘ +│40 │41 │42 │46 │4A │4B │ ┌───┾───┾───┐ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ │4D │4E │4F │ + └───â”ī───â”ī───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────┘ +``` diff --git a/keyboards/drewkeys/mercury65/readme.md b/keyboards/drewkeys/mercury65/readme.md new file mode 100644 index 000000000000..be8f4c17843e --- /dev/null +++ b/keyboards/drewkeys/mercury65/readme.md @@ -0,0 +1,23 @@ +# Mercury65 + +![Mercury65](https://i.imgur.com/rjfARj3h.jpeg) + +*65% Form Factor with a Separated Arrow Cluster used for Mercury65* + + +* Keyboard Maintainer: [Drewkeys](https://github.com/drewpyun) +* Hardware Supported: Made specifically for Mercury65, 65% hotswap supported +* Hardware Availability: https://www.rocketkeyboards.com/collections/mercury65/products/gb-mercury65-keyboard + +Make example for this keyboard (after setting up your build environment): + + make drewkeys/mercury65:default + +Flashing example for this keyboard: + + make drewkeys/mercury65:default:flash +## Bootloader + +Resetting Board: Press the button on the PCB next to the spacebar to soft reset the board to reflash (bootloader mode). + +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/drewkeys/mercury65/rules.mk b/keyboards/drewkeys/mercury65/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/drewkeys/mercury65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/drhigsby/ogurec/keymaps/dack/config.h b/keyboards/drhigsby/ogurec/keymaps/dack/config.h deleted file mode 100644 index cadd53a97123..000000000000 --- a/keyboards/drhigsby/ogurec/keymaps/dack/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 drhigsby - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 230 -#define TAPPING_TERM_PER_KEY diff --git a/keyboards/drhigsby/ogurec/keymaps/dack/keymap.c b/keyboards/drhigsby/ogurec/keymaps/dack/keymap.c deleted file mode 100644 index 1f1edae03a5e..000000000000 --- a/keyboards/drhigsby/ogurec/keymaps/dack/keymap.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright 2021 drhigsby - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum custom_layers { - _BASE, - _CLOSE, - _FAR, - _FUNKY, -}; -#define CLS_SPC LT(_CLOSE, KC_SPC) -#define FAR_F LT(_FAR, KC_F) -#define FNK_D LT(_FUNKY, KC_D) -#define SFT_Z LSFT_T(KC_Z) -#define SFT_ENT RSFT_T(KC_ENT) -#define CTL_X LCTL_T(KC_X) -#define CTL_DOT RCTL_T(KC_DOT) -#define WIN_C LWIN_T(KC_C) -#define WIN_COMM RWIN_T(KC_COMM) -#define ALT_V LALT_T(KC_V) -#define ALT_M LALT_T(KC_M) -#define COPY LCTL(KC_C) -#define PASTE LCTL(KC_V) -#define CUT LCTL(KC_X) -#define UNDO LCTL(KC_Z) -#define RUS_TGL RALT(KC_LSFT) -#define LOCK LWIN(KC_L) -#define vvv KC_TRNS - -enum custom_keycodes { - TYPEDON = SAFE_RANGE -}; - -bool process_record_user(uint16_t keycode, keyrecord_t* record) { - if (record->event.pressed) { - switch (keycode) { - case TYPEDON: - SEND_STRING("[typed on an ogurec]"); - return false; - } - } - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_ortho_3x12( - 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_A, KC_S, FNK_D, FAR_F, KC_G, KC_GRAVE, KC_SCLN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, - SFT_Z, CTL_X, WIN_C, ALT_V, KC_B, KC_BSPC, CLS_SPC, KC_N, ALT_M, WIN_COMM, CTL_DOT, SFT_ENT - ), - - [_CLOSE] = LAYOUT_ortho_3x12( - KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_MINUS, KC_UNDS, KC_EQL, KC_PLUS, _______, _______, vvv, _______, KC_SCLN, KC_COLON, KC_SLSH, KC_QUES - ), - - [_FAR] = LAYOUT_ortho_3x12( - KC_ESC, TYPEDON, KC_BSLS, RUS_TGL,_______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, - KC_CAPS, KC_TAB, KC_PIPE, vvv, LOCK, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, - UNDO, CUT, COPY, PASTE, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, _______, _______, _______ - ), - [_FUNKY] = LAYOUT_ortho_3x12( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, vvv, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______ - ) - -}; - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { - case FAR_F: - return TAPPING_TERM - 50; - case CLS_SPC: - return TAPPING_TERM - 50; - case SFT_Z: - return TAPPING_TERM - 80; - case SFT_ENT: - return TAPPING_TERM - 75; - default: - return TAPPING_TERM; - } -} diff --git a/keyboards/drhigsby/ogurec/keymaps/dack/readme.md b/keyboards/drhigsby/ogurec/keymaps/dack/readme.md deleted file mode 100644 index adffe1797f21..000000000000 --- a/keyboards/drhigsby/ogurec/keymaps/dack/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Dack's Ogurec Keymap - -This is Dack's personal ogurec keymap and it is for left-sided PM placement diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/config.h b/keyboards/drhigsby/packrat/keymaps/3uc/config.h deleted file mode 100644 index 5d9acf020f4b..000000000000 --- a/keyboards/drhigsby/packrat/keymaps/3uc/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 drhigsby - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 COMBO_TERM 40 diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c b/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c deleted file mode 100644 index 110d76f2cd77..000000000000 --- a/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright 2021 drhigsby - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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, - _CODE, - _MATH, - _FUNC -}; - -enum combo_events { - combo_ESC, - combo_BACK, - combo_TAB, - combo_DELETE, - combo_ENTER, - combo_LPRN, - combo_RPRN, -}; - -const uint16_t PROGMEM esc_combo[] = {KC_Q, KC_W, COMBO_END}; -const uint16_t PROGMEM bspc_combo[] = {KC_O, KC_P, COMBO_END}; -const uint16_t PROGMEM tab_combo[] = {KC_A, KC_S, COMBO_END}; -const uint16_t PROGMEM del_combo[] = {KC_I, KC_O, COMBO_END}; -const uint16_t PROGMEM enter_combo[] = {KC_L, KC_SCLN, COMBO_END}; -const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END}; -const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END}; - - -combo_t key_combos[] = { - [combo_ESC] = COMBO(esc_combo, KC_ESC), - [combo_BACK] = COMBO(bspc_combo, KC_BSPC), - [combo_TAB] = COMBO(tab_combo, KC_TAB), - [combo_DELETE] = COMBO(del_combo, KC_DEL), - [combo_ENTER] = COMBO(enter_combo, KC_ENT), - [combo_LPRN] = COMBO(lprn_combo, KC_LPRN), - [combo_RPRN] = COMBO(rprn_combo, KC_RPRN), -}; - -#define BASE TO(_BASE) -#define CODE MO(_CODE) -#define MATH TG(_MATH) -#define FUNC MO(_FUNC) -#define xxx KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_3uc( - KC_Q, KC_W, KC_E, KC_R, KC_T, MATH, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_LALT, KC_LCTL, CODE, KC_SPC, CODE, KC_RGUI, FUNC - ), - - [_CODE] = LAYOUT_3uc( - KC_1, KC_2, KC_3, KC_4, KC_5, xxx, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PGUP, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, - KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, xxx, KC_PGDN, xxx, KC_PIPE, KC_BSLS, KC_DQUO, KC_QUOT, - xxx, xxx, xxx, xxx, xxx, KC_PGUP, KC_PGDN - ), - - [_MATH] = LAYOUT_3uc( - xxx, xxx, xxx, xxx, xxx, BASE, xxx, KC_P7, KC_P8, KC_P9, KC_PPLS, - xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_P4, KC_P5, KC_P6, KC_PCMM, - xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_P1, KC_P2, KC_P3, KC_PEQL, - xxx, xxx, xxx, xxx, KC_P0, KC_PDOT, KC_PENT - - ), - - [_FUNC] = LAYOUT_3uc( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, xxx, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_F11, KC_F12, - xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, - xxx, xxx, xxx, xxx, xxx, xxx, xxx - ) - -}; diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/readme.md b/keyboards/drhigsby/packrat/keymaps/3uc/readme.md deleted file mode 100644 index 603f82a812ad..000000000000 --- a/keyboards/drhigsby/packrat/keymaps/3uc/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Centered 3uC Packrat Keymap diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/rules.mk b/keyboards/drhigsby/packrat/keymaps/3uc/rules.mk deleted file mode 100644 index ab1e438182a3..000000000000 --- a/keyboards/drhigsby/packrat/keymaps/3uc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -COMBO_ENABLE = yes diff --git a/keyboards/drop/alt/keymaps/default/keymap.c b/keyboards/drop/alt/keymaps/default/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/alt/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// 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_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, MO(1), 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/alt/keymaps/via/config.h b/keyboards/drop/alt/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/alt/keymaps/via/keymap.c b/keyboards/drop/alt/keymaps/via/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// 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_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, MO(1), 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/alt/keymaps/via/rules.mk b/keyboards/drop/alt/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/alt/v2/board.h b/keyboards/drop/alt/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/alt/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/alt/v2/config.h b/keyboards/drop/alt/v2/config.h new file mode 100644 index 000000000000..2dfae36a49da --- /dev/null +++ b/keyboards/drop/alt/v2/config.h @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 30 diff --git a/keyboards/drop/alt/v2/halconf.h b/keyboards/drop/alt/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/alt/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/alt/v2/info.json b/keyboards/drop/alt/v2/info.json new file mode 100644 index 000000000000..8363aca5cf1f --- /dev/null +++ b/keyboards/drop/alt/v2/info.json @@ -0,0 +1,263 @@ +{ + "keyboard_name": "ALT v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "B4", "B3", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13", "C14"], + "rows": ["A0", "A1", "A2", "A3", "B10"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0006", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "label":"ESCAPE", "x":0, "y":0}, + {"matrix": [0, 1], "label":"1", "x":1, "y":0}, + {"matrix": [0, 2], "label":"2", "x":2, "y":0}, + {"matrix": [0, 3], "label":"3", "x":3, "y":0}, + {"matrix": [0, 4], "label":"4", "x":4, "y":0}, + {"matrix": [0, 5], "label":"5", "x":5, "y":0}, + {"matrix": [0, 6], "label":"6", "x":6, "y":0}, + {"matrix": [0, 7], "label":"7", "x":7, "y":0}, + {"matrix": [0, 8], "label":"8", "x":8, "y":0}, + {"matrix": [0, 9], "label":"9", "x":9, "y":0}, + {"matrix": [0, 10], "label":"0", "x":10, "y":0}, + {"matrix": [0, 11], "label":"MINUS", "x":11, "y":0}, + {"matrix": [0, 12], "label":"EQUALS", "x":12, "y":0}, + {"matrix": [0, 13], "label":"BACKSPACE", "x":13, "y":0, "w":2}, + {"matrix": [0, 14], "label":"DELETE", "x":15, "y":0}, + {"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}, + {"matrix": [1, 4], "label":"R", "x":4.5, "y":1}, + {"matrix": [1, 5], "label":"T", "x":5.5, "y":1}, + {"matrix": [1, 6], "label":"Y", "x":6.5, "y":1}, + {"matrix": [1, 7], "label":"U", "x":7.5, "y":1}, + {"matrix": [1, 8], "label":"I", "x":8.5, "y":1}, + {"matrix": [1, 9], "label":"O", "x":9.5, "y":1}, + {"matrix": [1, 10], "label":"P", "x":10.5, "y":1}, + {"matrix": [1, 11], "label":"LEFT BRACKET", "x":11.5, "y":1}, + {"matrix": [1, 12], "label":"RIGHT BRACKET", "x":12.5, "y":1}, + {"matrix": [1, 13], "label":"BACK SLASH", "x":13.5, "y":1, "w":1.5}, + {"matrix": [1, 14], "label":"HOME", "x":15, "y":1}, + {"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}, + {"matrix": [2, 4], "label":"F", "x":4.75, "y":2}, + {"matrix": [2, 5], "label":"G", "x":5.75, "y":2}, + {"matrix": [2, 6], "label":"H", "x":6.75, "y":2}, + {"matrix": [2, 7], "label":"J", "x":7.75, "y":2}, + {"matrix": [2, 8], "label":"K", "x":8.75, "y":2}, + {"matrix": [2, 9], "label":"L", "x":9.75, "y":2}, + {"matrix": [2, 10], "label":"SEMICOLON", "x":10.75, "y":2}, + {"matrix": [2, 11], "label":"SINGLE TICK", "x":11.75, "y":2}, + {"matrix": [2, 13], "label":"ENTER", "x":12.75, "y":2, "w":2.25}, + {"matrix": [2, 14], "label":"PAGE UP", "x":15, "y":2}, + {"matrix": [3, 0], "label":"LEFT 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}, + {"matrix": [3, 5], "label":"V", "x":5.25, "y":3}, + {"matrix": [3, 6], "label":"B", "x":6.25, "y":3}, + {"matrix": [3, 7], "label":"N", "x":7.25, "y":3}, + {"matrix": [3, 8], "label":"M", "x":8.25, "y":3}, + {"matrix": [3, 9], "label":"COMMA", "x":9.25, "y":3}, + {"matrix": [3, 10], "label":"PERIOD", "x":10.25, "y":3}, + {"matrix": [3, 11], "label":"FORWARD SLASH", "x":11.25, "y":3}, + {"matrix": [3, 12], "label":"RIGHT SHIFT", "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 13], "label":"UP ARROW", "x":14, "y":3}, + {"matrix": [3, 14], "label":"PAGE DOWN", "x":15, "y":3}, + {"matrix": [4, 0], "label":"LEFT CTRL", "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "label":"LEFT WIN", "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "label":"LEFT ALT", "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 6], "label":"SPACEBAR", "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 10], "label":"RIGHT ALT", "x":10, "y":4, "w":1.25}, + {"matrix": [4, 11], "label":"FN", "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 12], "label":"LEFT ARROW", "x":13, "y":4}, + {"matrix": [4, 13], "label":"DOWN ARROW", "x":14, "y":4}, + {"matrix": [4, 14], "label":"RIGHT ARROW", "x":15, "y":4} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "max_brightness": 191, + "sleep": true, + "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": 8, "y": 7 }, + { "flags": 4, "matrix": [0, 1], "x": 22, "y": 7 }, + { "flags": 4, "matrix": [0, 2], "x": 35, "y": 7 }, + { "flags": 4, "matrix": [0, 3], "x": 49, "y": 7 }, + { "flags": 4, "matrix": [0, 4], "x": 63, "y": 7 }, + { "flags": 4, "matrix": [0, 5], "x": 77, "y": 7 }, + { "flags": 4, "matrix": [0, 6], "x": 91, "y": 7 }, + { "flags": 4, "matrix": [0, 7], "x": 105, "y": 7 }, + { "flags": 4, "matrix": [0, 8], "x": 118, "y": 7 }, + { "flags": 4, "matrix": [0, 9], "x": 132, "y": 7 }, + { "flags": 4, "matrix": [0, 10], "x": 146, "y": 7 }, + { "flags": 4, "matrix": [0, 11], "x": 160, "y": 7 }, + { "flags": 4, "matrix": [0, 12], "x": 174, "y": 7 }, + { "flags": 4, "matrix": [0, 13], "x": 195, "y": 7 }, + { "flags": 4, "matrix": [0, 14], "x": 215, "y": 7 }, + { "flags": 4, "matrix": [1, 0], "x": 11, "y": 19 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 }, + { "flags": 4, "matrix": [1, 2], "x": 42, "y": 19 }, + { "flags": 4, "matrix": [1, 3], "x": 56, "y": 19 }, + { "flags": 4, "matrix": [1, 4], "x": 70, "y": 19 }, + { "flags": 4, "matrix": [1, 5], "x": 84, "y": 19 }, + { "flags": 4, "matrix": [1, 6], "x": 98, "y": 19 }, + { "flags": 4, "matrix": [1, 7], "x": 112, "y": 19 }, + { "flags": 4, "matrix": [1, 8], "x": 125, "y": 19 }, + { "flags": 4, "matrix": [1, 9], "x": 139, "y": 19 }, + { "flags": 4, "matrix": [1, 10], "x": 153, "y": 19 }, + { "flags": 4, "matrix": [1, 11], "x": 167, "y": 19 }, + { "flags": 4, "matrix": [1, 12], "x": 181, "y": 19 }, + { "flags": 4, "matrix": [1, 13], "x": 198, "y": 19 }, + { "flags": 4, "matrix": [1, 14], "x": 215, "y": 19 }, + { "flags": 4, "matrix": [2, 0], "x": 13, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 32, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 60, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 73, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 87, "y": 32 }, + { "flags": 4, "matrix": [2, 6], "x": 101, "y": 32 }, + { "flags": 4, "matrix": [2, 7], "x": 115, "y": 32 }, + { "flags": 4, "matrix": [2, 8], "x": 129, "y": 32 }, + { "flags": 4, "matrix": [2, 9], "x": 143, "y": 32 }, + { "flags": 4, "matrix": [2, 10], "x": 156, "y": 32 }, + { "flags": 4, "matrix": [2, 11], "x": 170, "y": 32 }, + { "flags": 4, "matrix": [2, 13], "x": 193, "y": 32 }, + { "flags": 4, "matrix": [2, 14], "x": 215, "y": 32 }, + { "flags": 4, "matrix": [3, 0], "x": 16, "y": 44 }, + { "flags": 4, "matrix": [3, 2], "x": 39, "y": 44 }, + { "flags": 4, "matrix": [3, 3], "x": 53, "y": 44 }, + { "flags": 4, "matrix": [3, 4], "x": 67, "y": 44 }, + { "flags": 4, "matrix": [3, 5], "x": 80, "y": 44 }, + { "flags": 4, "matrix": [3, 6], "x": 94, "y": 44 }, + { "flags": 4, "matrix": [3, 7], "x": 108, "y": 44 }, + { "flags": 4, "matrix": [3, 8], "x": 122, "y": 44 }, + { "flags": 4, "matrix": [3, 9], "x": 136, "y": 44 }, + { "flags": 4, "matrix": [3, 10], "x": 150, "y": 44 }, + { "flags": 4, "matrix": [3, 11], "x": 163, "y": 44 }, + { "flags": 4, "matrix": [3, 12], "x": 182, "y": 44 }, + { "flags": 4, "matrix": [3, 13], "x": 201, "y": 44 }, + { "flags": 4, "matrix": [3, 14], "x": 215, "y": 44 }, + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 56 }, + { "flags": 4, "matrix": [4, 1], "x": 27, "y": 56 }, + { "flags": 4, "matrix": [4, 2], "x": 44, "y": 56 }, + { "flags": 4, "matrix": [4, 6], "x": 96, "y": 56 }, + { "flags": 4, "matrix": [4, 10], "x": 148, "y": 56 }, + { "flags": 4, "matrix": [4, 11], "x": 165, "y": 56 }, + { "flags": 4, "matrix": [4, 12], "x": 188, "y": 56 }, + { "flags": 4, "matrix": [4, 13], "x": 201, "y": 56 }, + { "flags": 4, "matrix": [4, 14], "x": 215, "y": 56 }, + { "flags": 2, "x": 1, "y": 63 }, + { "flags": 2, "x": 15, "y": 64 }, + { "flags": 2, "x": 31, "y": 64 }, + { "flags": 2, "x": 47, "y": 64 }, + { "flags": 2, "x": 63, "y": 64 }, + { "flags": 2, "x": 79, "y": 64 }, + { "flags": 2, "x": 95, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 128, "y": 64 }, + { "flags": 2, "x": 144, "y": 64 }, + { "flags": 2, "x": 160, "y": 64 }, + { "flags": 2, "x": 176, "y": 64 }, + { "flags": 2, "x": 192, "y": 64 }, + { "flags": 2, "x": 208, "y": 64 }, + { "flags": 2, "x": 222, "y": 63 }, + { "flags": 2, "x": 224, "y": 50 }, + { "flags": 2, "x": 224, "y": 38 }, + { "flags": 2, "x": 224, "y": 25 }, + { "flags": 2, "x": 224, "y": 13 }, + { "flags": 2, "x": 222, "y": 1 }, + { "flags": 2, "x": 191, "y": 0 }, + { "flags": 2, "x": 179, "y": 0 }, + { "flags": 2, "x": 167, "y": 0 }, + { "flags": 2, "x": 153, "y": 0 }, + { "flags": 2, "x": 139, "y": 0 }, + { "flags": 2, "x": 125, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 98, "y": 0 }, + { "flags": 2, "x": 84, "y": 0 }, + { "flags": 2, "x": 70, "y": 0 }, + { "flags": 2, "x": 56, "y": 0 }, + { "flags": 2, "x": 42, "y": 0 }, + { "flags": 2, "x": 28, "y": 0 }, + { "flags": 2, "x": 1, "y": 1 }, + { "flags": 2, "x": 0, "y": 13 }, + { "flags": 2, "x": 0, "y": 25 }, + { "flags": 2, "x": 0, "y": 38 }, + { "flags": 2, "x": 0, "y": 50 } + ] + } +} diff --git a/keyboards/drop/alt/v2/mcuconf.h b/keyboards/drop/alt/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/alt/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/alt/v2/readme.md b/keyboards/drop/alt/v2/readme.md new file mode 100644 index 000000000000..bf69d4b28967 --- /dev/null +++ b/keyboards/drop/alt/v2/readme.md @@ -0,0 +1,24 @@ +# ALT v2 + +The Drop ALT v2 is a 65% mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop ALT Mechanical Keyboard](https://drop.com/buy/drop-alt-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/alt/v2:default + +Flashing example for this keyboard: + + make drop/alt/v2: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/alt/v2/rules.mk b/keyboards/drop/alt/v2/rules.mk new file mode 100644 index 000000000000..3c300442da71 --- /dev/null +++ b/keyboards/drop/alt/v2/rules.mk @@ -0,0 +1,6 @@ +UF2_DEVICE_TYPE_ID = 0x35446147 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/alt/v2/v2.c b/keyboards/drop/alt/v2/v2.c new file mode 100644 index 000000000000..fcdad7f2df94 --- /dev/null +++ b/keyboards/drop/alt/v2/v2.c @@ -0,0 +1,114 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { + { 1, B_2, A_2, C_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 1, B_13, A_13, C_13 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, B_7, A_7, C_7 }, + { 1, E_2, D_2, F_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, K_11, J_11, L_11 }, + { 0, H_6, G_6, I_6 }, + { 0, E_7, D_7, F_7 }, + { 1, H_2, G_2, I_2 }, + { 1, K_3, J_3, L_3 }, + { 1, K_4, J_4, L_4 }, + { 1, K_5, J_5, L_5 }, + { 1, K_6, J_6, L_6 }, + { 1, K_7, J_7, L_7 }, + { 1, K_8, J_8, L_8 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, H_7, G_7, I_7 }, + { 1, K_2, J_2, L_2 }, + { 1, E_9, D_9, F_9 }, + { 1, B_9, A_9, C_9 }, + { 1, K_9, J_9, L_9 }, + { 1, H_9, G_9, I_9 }, + { 1, K_12, J_12, L_12 }, + { 1, K_13, J_13, L_13 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 }, + { 0, H_10, G_10, I_10 }, + { 0, H_11, G_11, I_11 }, + { 0, B_11, A_11, C_11 }, + { 0, E_11, D_11, F_11 }, + { 0, K_7, J_7, L_7 }, + { 1, H_10, G_10, I_10 }, + { 1, E_10, D_10, F_10 }, + { 1, B_10, A_10, C_10 }, + { 1, H_12, G_12, I_12 }, + { 0, E_10, D_10, F_10 }, + { 0, B_10, A_10, C_10 }, + { 0, B_12, A_12, C_12 }, + { 0, H_12, G_12, I_12 }, + { 0, E_12, D_12, F_12 }, + { 1, K_11, J_11, L_11 }, + { 1, H_11, G_11, I_11 }, + { 1, E_11, D_11, F_11 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, H_13, G_13, I_13 }, + { 0, H_9, G_9, I_9 }, + { 0, E_9, D_9, F_9 }, + { 0, B_9, A_9, C_9 }, + { 0, B_13, A_13, C_13 }, + { 0, H_13, G_13, I_13 }, + { 0, E_13, D_13, F_13 }, + { 0, K_13, J_13, L_13 }, + { 0, K_12, J_12, L_12 }, + { 0, K_8, J_8, L_8 }, + { 0, H_8, G_8, I_8 }, + { 0, E_8, D_8, F_8 }, + { 0, B_8, A_8, C_8 }, + { 0, B_6, A_6, C_6 }, + { 0, B_5, A_5, C_5 }, + { 0, B_4, A_4, C_4 }, + { 0, B_3, A_3, C_3 }, + { 0, B_2, A_2, C_2 }, + { 0, B_1, A_1, C_1 }, + { 0, B_14, A_14, C_14 }, + { 1, B_8, A_8, C_8 }, + { 1, B_7, A_7, C_7 }, + { 1, B_6, A_6, C_6 }, + { 1, B_5, A_5, C_5 }, + { 1, B_4, A_4, C_4 }, + { 1, B_3, A_3, C_3 }, + { 1, B_1, A_1, C_1 }, + { 1, E_1, D_1, F_1 }, + { 1, H_1, G_1, I_1 }, + { 1, K_1, J_1, L_1 }, + { 1, K_10, J_10, L_10 }, +}; + +#endif diff --git a/keyboards/drop/cstm65/board.h b/keyboards/drop/cstm65/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/cstm65/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/cstm65/config.h b/keyboards/drop/cstm65/config.h new file mode 100644 index 000000000000..302fc1677ff4 --- /dev/null +++ b/keyboards/drop/cstm65/config.h @@ -0,0 +1,16 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B7 +#define EEPROM_I2C_24LC256 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CAPS_LOCK_INDEX 30 diff --git a/keyboards/drop/cstm65/cstm65.c b/keyboards/drop/cstm65/cstm65.c new file mode 100644 index 000000000000..ccb86f1d3e9b --- /dev/null +++ b/keyboards/drop/cstm65/cstm65.c @@ -0,0 +1,79 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_4, A_4, C_4 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_7, A_7, C_7 }, + { 0, B_8, A_8, C_8 }, + { 0, B_9, A_9, C_9 }, + { 0, B_10, A_10, C_10 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, B_14, A_14, C_14 }, + { 0, B_15, A_15, C_15 }, + + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 0, E_11, D_11, F_11 }, + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 0, E_15, D_15, F_15 }, + + { 1, B_1, A_1, C_1 }, + { 1, B_2, A_2, C_2 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_6, A_6, C_6 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 1, E_9, D_9, F_9 }, + { 1, E_10, D_10, F_10 }, + { 1, E_11, D_11, F_11 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, E_14, D_14, F_14 }, + + { 1, H_1, G_1, I_1 }, + { 1, H_2, G_2, I_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_8, G_8, I_8 }, + { 1, H_9, G_9, I_9 }, + { 1, H_10, G_10, I_10 }, + { 1, H_11, G_11, I_11 }, +}; +#endif diff --git a/keyboards/drop/cstm65/halconf.h b/keyboards/drop/cstm65/halconf.h new file mode 100644 index 000000000000..2677c2a654c8 --- /dev/null +++ b/keyboards/drop/cstm65/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/cstm65/info.json b/keyboards/drop/cstm65/info.json new file mode 100644 index 000000000000..708649966e0f --- /dev/null +++ b/keyboards/drop/cstm65/info.json @@ -0,0 +1,221 @@ +{ + "keyboard_name": "CSTM65", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C15", "C14", "C13", "C12", "C11", "C10", "C9", "C8", "C7", "C6", "C5", "C4", "C3", "C2", "C1"], + "rows": ["B15", "B14", "B13", "B12", "B11"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0010", + "device_version": "1.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["65_ansi_blocker"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "label":"ESCAPE", "x":0, "y":0}, + {"matrix": [0, 1], "label":"1", "x":1, "y":0}, + {"matrix": [0, 2], "label":"2", "x":2, "y":0}, + {"matrix": [0, 3], "label":"3", "x":3, "y":0}, + {"matrix": [0, 4], "label":"4", "x":4, "y":0}, + {"matrix": [0, 5], "label":"5", "x":5, "y":0}, + {"matrix": [0, 6], "label":"6", "x":6, "y":0}, + {"matrix": [0, 7], "label":"7", "x":7, "y":0}, + {"matrix": [0, 8], "label":"8", "x":8, "y":0}, + {"matrix": [0, 9], "label":"9", "x":9, "y":0}, + {"matrix": [0, 10], "label":"0", "x":10, "y":0}, + {"matrix": [0, 11], "label":"MINUS", "x":11, "y":0}, + {"matrix": [0, 12], "label":"EQUALS", "x":12, "y":0}, + {"matrix": [0, 13], "label":"BACKSPACE", "x":13, "y":0, "w":2}, + {"matrix": [0, 14], "label":"DELETE", "x":15, "y":0}, + {"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}, + {"matrix": [1, 4], "label":"R", "x":4.5, "y":1}, + {"matrix": [1, 5], "label":"T", "x":5.5, "y":1}, + {"matrix": [1, 6], "label":"Y", "x":6.5, "y":1}, + {"matrix": [1, 7], "label":"U", "x":7.5, "y":1}, + {"matrix": [1, 8], "label":"I", "x":8.5, "y":1}, + {"matrix": [1, 9], "label":"O", "x":9.5, "y":1}, + {"matrix": [1, 10], "label":"P", "x":10.5, "y":1}, + {"matrix": [1, 11], "label":"LEFT BRACKET", "x":11.5, "y":1}, + {"matrix": [1, 12], "label":"RIGHT BRACKET", "x":12.5, "y":1}, + {"matrix": [1, 13], "label":"BACK SLASH", "x":13.5, "y":1, "w":1.5}, + {"matrix": [1, 14], "label":"HOME", "x":15, "y":1}, + {"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}, + {"matrix": [2, 4], "label":"F", "x":4.75, "y":2}, + {"matrix": [2, 5], "label":"G", "x":5.75, "y":2}, + {"matrix": [2, 6], "label":"H", "x":6.75, "y":2}, + {"matrix": [2, 7], "label":"J", "x":7.75, "y":2}, + {"matrix": [2, 8], "label":"K", "x":8.75, "y":2}, + {"matrix": [2, 9], "label":"L", "x":9.75, "y":2}, + {"matrix": [2, 10], "label":"SEMICOLON", "x":10.75, "y":2}, + {"matrix": [2, 11], "label":"SINGLE TICK", "x":11.75, "y":2}, + {"matrix": [2, 13], "label":"ENTER", "x":12.75, "y":2, "w":2.25}, + {"matrix": [2, 14], "label":"PAGE UP", "x":15, "y":2}, + {"matrix": [3, 0], "label":"LEFT SHIFT", "x":0, "y":3, "w":2.25}, + {"matrix": [3, 1], "label":"Z", "x":2.25, "y":3}, + {"matrix": [3, 2], "label":"X", "x":3.25, "y":3}, + {"matrix": [3, 3], "label":"C", "x":4.25, "y":3}, + {"matrix": [3, 4], "label":"V", "x":5.25, "y":3}, + {"matrix": [3, 5], "label":"B", "x":6.25, "y":3}, + {"matrix": [3, 6], "label":"N", "x":7.25, "y":3}, + {"matrix": [3, 7], "label":"M", "x":8.25, "y":3}, + {"matrix": [3, 8], "label":"COMMA", "x":9.25, "y":3}, + {"matrix": [3, 9], "label":"PERIOD", "x":10.25, "y":3}, + {"matrix": [3, 10], "label":"FORWARD SLASH", "x":11.25, "y":3}, + {"matrix": [3, 12], "label":"RIGHT SHIFT", "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 13], "label":"UP ARROW", "x":14, "y":3}, + {"matrix": [3, 14], "label":"PAGE DOWN", "x":15, "y":3}, + {"matrix": [4, 0], "label":"LEFT CTRL", "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "label":"LEFT WIN", "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "label":"LEFT ALT", "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 6], "label":"SPACEBAR", "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 10], "label":"RIGHT ALT", "x":10, "y":4, "w":1.25}, + {"matrix": [4, 11], "label":"FN", "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 12], "label":"LEFT ARROW", "x":13, "y":4}, + {"matrix": [4, 13], "label":"DOWN ARROW", "x":14, "y":4}, + {"matrix": [4, 14], "label":"RIGHT ARROW", "x":15, "y":4} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "sleep": true, + "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": 8, "y": 7 }, + { "flags": 4, "matrix": [0, 1], "x": 22, "y": 7 }, + { "flags": 4, "matrix": [0, 2], "x": 35, "y": 7 }, + { "flags": 4, "matrix": [0, 3], "x": 49, "y": 7 }, + { "flags": 4, "matrix": [0, 4], "x": 63, "y": 7 }, + { "flags": 4, "matrix": [0, 5], "x": 77, "y": 7 }, + { "flags": 4, "matrix": [0, 6], "x": 91, "y": 7 }, + { "flags": 4, "matrix": [0, 7], "x": 105, "y": 7 }, + { "flags": 4, "matrix": [0, 8], "x": 118, "y": 7 }, + { "flags": 4, "matrix": [0, 9], "x": 132, "y": 7 }, + { "flags": 4, "matrix": [0, 10], "x": 146, "y": 7 }, + { "flags": 4, "matrix": [0, 11], "x": 160, "y": 7 }, + { "flags": 4, "matrix": [0, 12], "x": 174, "y": 7 }, + { "flags": 4, "matrix": [0, 13], "x": 195, "y": 7 }, + { "flags": 4, "matrix": [0, 14], "x": 215, "y": 7 }, + { "flags": 4, "matrix": [1, 0], "x": 11, "y": 19 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 }, + { "flags": 4, "matrix": [1, 2], "x": 42, "y": 19 }, + { "flags": 4, "matrix": [1, 3], "x": 56, "y": 19 }, + { "flags": 4, "matrix": [1, 4], "x": 70, "y": 19 }, + { "flags": 4, "matrix": [1, 5], "x": 84, "y": 19 }, + { "flags": 4, "matrix": [1, 6], "x": 98, "y": 19 }, + { "flags": 4, "matrix": [1, 7], "x": 112, "y": 19 }, + { "flags": 4, "matrix": [1, 8], "x": 125, "y": 19 }, + { "flags": 4, "matrix": [1, 9], "x": 139, "y": 19 }, + { "flags": 4, "matrix": [1, 10], "x": 153, "y": 19 }, + { "flags": 4, "matrix": [1, 11], "x": 167, "y": 19 }, + { "flags": 4, "matrix": [1, 12], "x": 181, "y": 19 }, + { "flags": 4, "matrix": [1, 13], "x": 198, "y": 19 }, + { "flags": 4, "matrix": [1, 14], "x": 215, "y": 19 }, + { "flags": 4, "matrix": [2, 0], "x": 13, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 32, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 60, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 73, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 87, "y": 32 }, + { "flags": 4, "matrix": [2, 6], "x": 101, "y": 32 }, + { "flags": 4, "matrix": [2, 7], "x": 115, "y": 32 }, + { "flags": 4, "matrix": [2, 8], "x": 129, "y": 32 }, + { "flags": 4, "matrix": [2, 9], "x": 143, "y": 32 }, + { "flags": 4, "matrix": [2, 10], "x": 156, "y": 32 }, + { "flags": 4, "matrix": [2, 11], "x": 170, "y": 32 }, + { "flags": 4, "matrix": [2, 13], "x": 193, "y": 32 }, + { "flags": 4, "matrix": [2, 14], "x": 215, "y": 32 }, + { "flags": 4, "matrix": [3, 0], "x": 16, "y": 44 }, + { "flags": 4, "matrix": [3, 1], "x": 39, "y": 44 }, + { "flags": 4, "matrix": [3, 2], "x": 53, "y": 44 }, + { "flags": 4, "matrix": [3, 3], "x": 67, "y": 44 }, + { "flags": 4, "matrix": [3, 4], "x": 80, "y": 44 }, + { "flags": 4, "matrix": [3, 5], "x": 94, "y": 44 }, + { "flags": 4, "matrix": [3, 6], "x": 108, "y": 44 }, + { "flags": 4, "matrix": [3, 7], "x": 122, "y": 44 }, + { "flags": 4, "matrix": [3, 8], "x": 136, "y": 44 }, + { "flags": 4, "matrix": [3, 9], "x": 150, "y": 44 }, + { "flags": 4, "matrix": [3, 10], "x": 163, "y": 44 }, + { "flags": 4, "matrix": [3, 12], "x": 182, "y": 44 }, + { "flags": 4, "matrix": [3, 13], "x": 201, "y": 44 }, + { "flags": 4, "matrix": [3, 14], "x": 215, "y": 44 }, + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 56 }, + { "flags": 4, "matrix": [4, 1], "x": 27, "y": 56 }, + { "flags": 4, "matrix": [4, 2], "x": 44, "y": 56 }, + { "flags": 4, "matrix": [4, 6], "x": 96, "y": 56 }, + { "flags": 4, "matrix": [4, 10], "x": 148, "y": 56 }, + { "flags": 4, "matrix": [4, 11], "x": 165, "y": 56 }, + { "flags": 4, "matrix": [4, 12], "x": 188, "y": 56 }, + { "flags": 4, "matrix": [4, 13], "x": 201, "y": 56 }, + { "flags": 4, "matrix": [4, 14], "x": 215, "y": 56 } + ] + } +} diff --git a/keyboards/drop/cstm65/keymaps/default/keymap.c b/keyboards/drop/cstm65/keymaps/default/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/cstm65/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// 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_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, MO(1), 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/cstm65/keymaps/via/config.h b/keyboards/drop/cstm65/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/cstm65/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/cstm65/keymaps/via/keymap.c b/keyboards/drop/cstm65/keymaps/via/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/cstm65/keymaps/via/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// 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_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, MO(1), 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/cstm65/keymaps/via/rules.mk b/keyboards/drop/cstm65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/drop/cstm65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/drop/cstm65/mcuconf.h b/keyboards/drop/cstm65/mcuconf.h new file mode 100644 index 000000000000..819aa70bf7fa --- /dev/null +++ b/keyboards/drop/cstm65/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/drop/cstm65/readme.md b/keyboards/drop/cstm65/readme.md new file mode 100644 index 000000000000..97520212362a --- /dev/null +++ b/keyboards/drop/cstm65/readme.md @@ -0,0 +1,24 @@ +# CSTM65 + +The CSTM65 is a 65% keyboard with customizable switch plates and weights, as well as a magnetically attached top case. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop CSTM65 Mechanical Keyboard](https://drop.com/buy/drop-cstm65-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/cstm65:default + +Flashing example for this keyboard: + + make drop/cstm65: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/cstm65/rules.mk b/keyboards/drop/cstm65/rules.mk new file mode 100644 index 000000000000..cd74a0c770f2 --- /dev/null +++ b/keyboards/drop/cstm65/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x216d9c07 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c diff --git a/keyboards/drop/cstm80/board.h b/keyboards/drop/cstm80/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/cstm80/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/cstm80/config.h b/keyboards/drop/cstm80/config.h new file mode 100644 index 000000000000..3b3f6ae6b7e3 --- /dev/null +++ b/keyboards/drop/cstm80/config.h @@ -0,0 +1,16 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B7 +#define EEPROM_I2C_24LC256 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CAPS_LOCK_INDEX 48 diff --git a/keyboards/drop/cstm80/cstm80.c b/keyboards/drop/cstm80/cstm80.c new file mode 100644 index 000000000000..75e7049c2007 --- /dev/null +++ b/keyboards/drop/cstm80/cstm80.c @@ -0,0 +1,96 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 0, E_11, D_11, F_11 }, + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 0, E_15, D_15, F_15 }, + { 0, E_16, D_16, F_16 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 0, H_10, G_10, I_10 }, + { 0, H_11, G_11, I_11 }, + { 0, H_12, G_12, I_12 }, + { 0, H_13, G_13, I_13 }, + { 0, H_14, G_14, I_14 }, + { 0, H_15, G_15, I_15 }, + { 0, H_16, G_16, I_16 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 }, + { 0, K_11, J_11, L_11 }, + { 0, K_12, J_12, L_12 }, + { 0, K_13, J_13, L_13 }, + { 0, K_14, J_14, L_14 }, + { 0, K_15, J_15, L_15 }, + { 0, K_16, J_16, L_16 }, + { 1, B_1, A_1, C_1 }, + { 1, B_2, A_2, C_2 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_6, A_6, C_6 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, B_16, A_16, C_16 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 1, E_9, D_9, F_9 }, + { 1, E_10, D_10, F_10 }, + { 1, E_11, D_11, F_11 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, H_1, G_1, I_1 }, + { 1, H_2, G_2, I_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 1, H_9, G_9, I_9 }, + { 1, H_10, G_10, I_10 }, + { 1, H_11, G_11, I_11 }, +}; +#endif diff --git a/keyboards/drop/cstm80/halconf.h b/keyboards/drop/cstm80/halconf.h new file mode 100644 index 000000000000..2677c2a654c8 --- /dev/null +++ b/keyboards/drop/cstm80/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/cstm80/info.json b/keyboards/drop/cstm80/info.json new file mode 100644 index 000000000000..5ce4e666b176 --- /dev/null +++ b/keyboards/drop/cstm80/info.json @@ -0,0 +1,273 @@ +{ + "keyboard_name": "CSTM80", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C15", "C14", "C13", "C12", "C11", "C10", "C9", "C8", "C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0", "D2"], + "rows": ["B15", "B14", "B13", "B12", "B11", "B10"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0004", + "device_version": "1.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["tkl_f13_ansi"], + "layouts": { + "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":"ScrLk", "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":"Bksp", "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":"Page Up", "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":"Page Dn", "x":17.25, "y":2.25}, + + { "matrix": [3, 0], "label":"CapsLk", "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":"\"", "x":11.75, "y":3.25}, + { "matrix": [3, 13], "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, 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":"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, 6], "label":" ", "x":3.75, "y":5.25, "w":6.25}, + { "matrix": [5, 10], "label":"Alt", "x":10, "y":5.25, "w":1.25}, + { "matrix": [5, 11], "label":"Fn", "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} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "sleep": true, + "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": 6, "y": 8 }, + { "flags": 4, "matrix": [0, 1], "x": 21, "y": 8 }, + { "flags": 4, "matrix": [0, 2], "x": 33, "y": 8 }, + { "flags": 4, "matrix": [0, 3], "x": 45, "y": 8 }, + { "flags": 4, "matrix": [0, 4], "x": 57, "y": 8 }, + { "flags": 4, "matrix": [0, 5], "x": 74, "y": 8 }, + { "flags": 4, "matrix": [0, 6], "x": 86, "y": 8 }, + { "flags": 4, "matrix": [0, 7], "x": 98, "y": 8 }, + { "flags": 4, "matrix": [0, 8], "x": 110, "y": 8 }, + { "flags": 4, "matrix": [0, 9], "x": 125, "y": 8 }, + { "flags": 4, "matrix": [0, 10], "x": 137, "y": 8 }, + { "flags": 4, "matrix": [0, 11], "x": 150, "y": 8 }, + { "flags": 4, "matrix": [0, 12], "x": 161, "y": 8 }, + { "flags": 4, "matrix": [0, 13], "x": 176, "y": 8 }, + { "flags": 4, "matrix": [0, 14], "x": 192, "y": 8 }, + { "flags": 4, "matrix": [0, 15], "x": 204, "y": 8 }, + + { "flags": 4, "matrix": [1, 0], "x": 6, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 18, "y": 21 }, + { "flags": 4, "matrix": [1, 2], "x": 30, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 43, "y": 21 }, + { "flags": 4, "matrix": [1, 4], "x": 55, "y": 21 }, + { "flags": 4, "matrix": [1, 5], "x": 67, "y": 21 }, + { "flags": 4, "matrix": [1, 6], "x": 79, "y": 21 }, + { "flags": 4, "matrix": [1, 7], "x": 92, "y": 21 }, + { "flags": 4, "matrix": [1, 8], "x": 104, "y": 21 }, + { "flags": 4, "matrix": [1, 9], "x": 116, "y": 21 }, + { "flags": 4, "matrix": [1, 10], "x": 128, "y": 21 }, + { "flags": 4, "matrix": [1, 11], "x": 141, "y": 21 }, + { "flags": 4, "matrix": [1, 12], "x": 153, "y": 21 }, + { "flags": 4, "matrix": [1, 13], "x": 171, "y": 21 }, + { "flags": 4, "matrix": [1, 14], "x": 192, "y": 21 }, + { "flags": 4, "matrix": [1, 15], "x": 204, "y": 21 }, + + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 31 }, + { "flags": 4, "matrix": [2, 1], "x": 24, "y": 31 }, + { "flags": 4, "matrix": [2, 2], "x": 36, "y": 31 }, + { "flags": 4, "matrix": [2, 3], "x": 48, "y": 31 }, + { "flags": 4, "matrix": [2, 4], "x": 61, "y": 31 }, + { "flags": 4, "matrix": [2, 5], "x": 73, "y": 31 }, + { "flags": 4, "matrix": [2, 6], "x": 86, "y": 31 }, + { "flags": 4, "matrix": [2, 7], "x": 98, "y": 31 }, + { "flags": 4, "matrix": [2, 8], "x": 110, "y": 31 }, + { "flags": 4, "matrix": [2, 9], "x": 122, "y": 31 }, + { "flags": 4, "matrix": [2, 10], "x": 134, "y": 31 }, + { "flags": 4, "matrix": [2, 11], "x": 146, "y": 31 }, + { "flags": 4, "matrix": [2, 12], "x": 159, "y": 31 }, + { "flags": 4, "matrix": [2, 13], "x": 174, "y": 31 }, + { "flags": 4, "matrix": [2, 14], "x": 192, "y": 31 }, + { "flags": 4, "matrix": [2, 15], "x": 204, "y": 31 }, + + { "flags": 4, "matrix": [3, 0], "x": 11, "y": 41 }, + { "flags": 4, "matrix": [3, 1], "x": 27, "y": 41 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 41 }, + { "flags": 4, "matrix": [3, 3], "x": 52, "y": 41 }, + { "flags": 4, "matrix": [3, 4], "x": 64, "y": 41 }, + { "flags": 4, "matrix": [3, 5], "x": 76, "y": 41 }, + { "flags": 4, "matrix": [3, 6], "x": 88, "y": 41 }, + { "flags": 4, "matrix": [3, 7], "x": 100, "y": 41 }, + { "flags": 4, "matrix": [3, 8], "x": 113, "y": 41 }, + { "flags": 4, "matrix": [3, 9], "x": 124, "y": 41 }, + { "flags": 4, "matrix": [3, 10], "x": 137, "y": 41 }, + { "flags": 4, "matrix": [3, 11], "x": 150, "y": 41 }, + { "flags": 4, "matrix": [3, 13], "x": 170, "y": 41 }, + { "flags": 4, "matrix": [0, 16], "x": 217, "y": 8 }, + { "flags": 4, "matrix": [1, 16], "x": 217, "y": 21 }, + { "flags": 4, "matrix": [2, 16], "x": 217, "y": 31 }, + + { "flags": 4, "matrix": [4, 0], "x": 13, "y": 51 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 51 }, + { "flags": 4, "matrix": [4, 2], "x": 45, "y": 51 }, + { "flags": 4, "matrix": [4, 3], "x": 58, "y": 51 }, + { "flags": 4, "matrix": [4, 4], "x": 70, "y": 51 }, + { "flags": 4, "matrix": [4, 5], "x": 82, "y": 51 }, + { "flags": 4, "matrix": [4, 6], "x": 94, "y": 51 }, + { "flags": 4, "matrix": [4, 7], "x": 107, "y": 51 }, + { "flags": 4, "matrix": [4, 8], "x": 119, "y": 51 }, + { "flags": 4, "matrix": [4, 9], "x": 131, "y": 51 }, + { "flags": 4, "matrix": [4, 10], "x": 143, "y": 51 }, + { "flags": 4, "matrix": [4, 12], "x": 166, "y": 51 }, + { "flags": 4, "matrix": [4, 15], "x": 204, "y": 51 }, + + { "flags": 4, "matrix": [5, 0], "x": 8, "y": 61 }, + { "flags": 4, "matrix": [5, 1], "x": 23, "y": 61 }, + { "flags": 4, "matrix": [5, 2], "x": 38, "y": 61 }, + { "flags": 4, "matrix": [5, 6], "x": 84, "y": 61 }, + { "flags": 4, "matrix": [5, 10], "x": 129, "y": 61 }, + { "flags": 4, "matrix": [5, 11], "x": 144, "y": 61 }, + { "flags": 4, "matrix": [5, 12], "x": 160, "y": 61 }, + { "flags": 4, "matrix": [5, 13], "x": 175, "y": 61 }, + { "flags": 4, "matrix": [5, 14], "x": 192, "y": 61 }, + { "flags": 4, "matrix": [5, 15], "x": 204, "y": 61 }, + { "flags": 4, "matrix": [5, 16], "x": 217, "y": 61 } + ] + } +} diff --git a/keyboards/drop/cstm80/keymaps/default/keymap.c b/keyboards/drop/cstm80/keymaps/default/keymap.c new file mode 100644 index 000000000000..e820a0a74358 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2023 Massdrop, Inc. +// 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│ + * └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ + * │ ` │ 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_f13_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/cstm80/keymaps/via/config.h b/keyboards/drop/cstm80/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/cstm80/keymaps/via/keymap.c b/keyboards/drop/cstm80/keymaps/via/keymap.c new file mode 100644 index 000000000000..e820a0a74358 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2023 Massdrop, Inc. +// 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│ + * └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ + * │ ` │ 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_f13_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/cstm80/keymaps/via/rules.mk b/keyboards/drop/cstm80/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/drop/cstm80/mcuconf.h b/keyboards/drop/cstm80/mcuconf.h new file mode 100644 index 000000000000..819aa70bf7fa --- /dev/null +++ b/keyboards/drop/cstm80/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/drop/cstm80/readme.md b/keyboards/drop/cstm80/readme.md new file mode 100644 index 000000000000..f0851cc045bf --- /dev/null +++ b/keyboards/drop/cstm80/readme.md @@ -0,0 +1,24 @@ +# CSTM80 + +The CSTM80 is a tenkeyless keyboard with customizable switch plates and weights, as well as a magnetically attached top case. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop CSTM80 Mechanical Keyboard](https://drop.com/buy/drop-cstm80-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/cstm80:default + +Flashing example for this keyboard: + + make drop/cstm80: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/cstm80/rules.mk b/keyboards/drop/cstm80/rules.mk new file mode 100644 index 000000000000..21d76468cf59 --- /dev/null +++ b/keyboards/drop/cstm80/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x8bfa7750 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c diff --git a/keyboards/drop/ctrl/keymaps/default/keymap.c b/keyboards/drop/ctrl/keymaps/default/keymap.c new file mode 100644 index 000000000000..82b108892175 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// 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( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/ctrl/keymaps/via/config.h b/keyboards/drop/ctrl/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/ctrl/keymaps/via/keymap.c b/keyboards/drop/ctrl/keymaps/via/keymap.c new file mode 100644 index 000000000000..82b108892175 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// 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( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/ctrl/keymaps/via/rules.mk b/keyboards/drop/ctrl/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/ctrl/v2/board.h b/keyboards/drop/ctrl/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/ctrl/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/ctrl/v2/config.h b/keyboards/drop/ctrl/v2/config.h new file mode 100644 index 000000000000..c0a259492ba0 --- /dev/null +++ b/keyboards/drop/ctrl/v2/config.h @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 50 diff --git a/keyboards/drop/ctrl/v2/halconf.h b/keyboards/drop/ctrl/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/ctrl/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/ctrl/v2/info.json b/keyboards/drop/ctrl/v2/info.json new file mode 100644 index 000000000000..f461800dde4d --- /dev/null +++ b/keyboards/drop/ctrl/v2/info.json @@ -0,0 +1,297 @@ +{ + "keyboard_name": "CTRL v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "C6", "C7", "C8", "C9"], + "rows": ["A0", "A1", "A2", "A3", "C10", "C11", "C12", "B3", "C14", "C13", "C15"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0009", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["tkl_ansi"], + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_ansi" + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "label":"ESCAPE", "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": [6, 0], "label":"F8", "x":9.5, "y":0}, + {"matrix": [6, 1], "label":"F9", "x":11, "y":0}, + {"matrix": [6, 2], "label":"F10", "x":12, "y":0}, + {"matrix": [6, 3], "label":"F11", "x":13, "y":0}, + {"matrix": [6, 4], "label":"F12", "x":14, "y":0}, + {"matrix": [6, 5], "label":"PRINT SCREEN", "x":15.5, "y":0}, + {"matrix": [6, 6], "label":"SCROLL LOCK", "x":16.5, "y":0}, + {"matrix": [6, 7], "label":"PAUSE BREAK", "x":17.5, "y":0}, + {"matrix": [1, 0], "label":"BACKTICK", "x":0, "y":1.5}, + {"matrix": [1, 1], "label":"1", "x":1, "y":1.5}, + {"matrix": [1, 2], "label":"2", "x":2, "y":1.5}, + {"matrix": [1, 3], "label":"3", "x":3, "y":1.5}, + {"matrix": [1, 4], "label":"4", "x":4, "y":1.5}, + {"matrix": [1, 5], "label":"5", "x":5, "y":1.5}, + {"matrix": [1, 6], "label":"6", "x":6, "y":1.5}, + {"matrix": [1, 7], "label":"7", "x":7, "y":1.5}, + {"matrix": [7, 0], "label":"8", "x":8, "y":1.5}, + {"matrix": [7, 1], "label":"9", "x":9, "y":1.5}, + {"matrix": [7, 2], "label":"0", "x":10, "y":1.5}, + {"matrix": [7, 3], "label":"MINUS", "x":11, "y":1.5}, + {"matrix": [7, 4], "label":"EQUALS", "x":12, "y":1.5}, + {"matrix": [7, 5], "label":"BACKSPACE", "x":13, "y":1.5, "w":2}, + {"matrix": [7, 6], "label":"INSERT", "x":15.5, "y":1.5}, + {"matrix": [7, 7], "label":"HOME", "x":16.5, "y":1.5}, + {"matrix": [9, 7], "label":"PAGE UP", "x":17.5, "y":1.5}, + {"matrix": [2, 0], "label":"TAB", "x":0, "y":2.5, "w":1.5}, + {"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.5}, + {"matrix": [2, 2], "label":"W", "x":2.5, "y":2.5}, + {"matrix": [2, 3], "label":"E", "x":3.5, "y":2.5}, + {"matrix": [2, 4], "label":"R", "x":4.5, "y":2.5}, + {"matrix": [2, 5], "label":"T", "x":5.5, "y":2.5}, + {"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.5}, + {"matrix": [2, 7], "label":"U", "x":7.5, "y":2.5}, + {"matrix": [8, 0], "label":"I", "x":8.5, "y":2.5}, + {"matrix": [8, 1], "label":"O", "x":9.5, "y":2.5}, + {"matrix": [8, 2], "label":"P", "x":10.5, "y":2.5}, + {"matrix": [8, 3], "label":"LEFT BRACKET", "x":11.5, "y":2.5}, + {"matrix": [8, 4], "label":"RIGHT BRACKET", "x":12.5, "y":2.5}, + {"matrix": [8, 5], "label":"BACK SLASH", "x":13.5, "y":2.5, "w":1.5}, + {"matrix": [8, 6], "label":"DELETE", "x":15.5, "y":2.5}, + {"matrix": [8, 7], "label":"END", "x":16.5, "y":2.5}, + {"matrix": [9, 6], "label":"PAGE DOWN", "x":17.5, "y":2.5}, + {"matrix": [3, 0], "label":"CAPS LOCK", "x":0, "y":3.5, "w":1.75}, + {"matrix": [3, 1], "label":"A", "x":1.75, "y":3.5}, + {"matrix": [3, 2], "label":"S", "x":2.75, "y":3.5}, + {"matrix": [3, 3], "label":"D", "x":3.75, "y":3.5}, + {"matrix": [3, 4], "label":"F", "x":4.75, "y":3.5}, + {"matrix": [3, 5], "label":"G", "x":5.75, "y":3.5}, + {"matrix": [3, 6], "label":"H", "x":6.75, "y":3.5}, + {"matrix": [3, 7], "label":"J", "x":7.75, "y":3.5}, + {"matrix": [9, 0], "label":"K", "x":8.75, "y":3.5}, + {"matrix": [9, 1], "label":"L", "x":9.75, "y":3.5}, + {"matrix": [9, 2], "label":"SEMICOLON", "x":10.75, "y":3.5}, + {"matrix": [9, 3], "label":"SINGLE TICK", "x":11.75, "y":3.5}, + {"matrix": [9, 4], "label":"ENTER", "x":12.75, "y":3.5, "w":2.25}, + {"matrix": [4, 0], "label":"LEFT SHIFT", "x":0, "y":4.5, "w":2.25}, + {"matrix": [4, 1], "label":"Z", "x":2.25, "y":4.5}, + {"matrix": [4, 2], "label":"X", "x":3.25, "y":4.5}, + {"matrix": [4, 3], "label":"C", "x":4.25, "y":4.5}, + {"matrix": [4, 4], "label":"V", "x":5.25, "y":4.5}, + {"matrix": [4, 5], "label":"B", "x":6.25, "y":4.5}, + {"matrix": [4, 6], "label":"N", "x":7.25, "y":4.5}, + {"matrix": [4, 7], "label":"M", "x":8.25, "y":4.5}, + {"matrix": [10, 0], "label":"COMMA", "x":9.25, "y":4.5}, + {"matrix": [10, 1], "label":"PERIOD", "x":10.25, "y":4.5}, + {"matrix": [10, 2], "label":"FORWARD SLASH", "x":11.25, "y":4.5}, + {"matrix": [10, 3], "label":"RIGHT SHIFT", "x":12.25, "y":4.5, "w":2.75}, + {"matrix": [9, 5], "label":"UP ARROW", "x":16.5, "y":4.5}, + {"matrix": [5, 0], "label":"LEFT CTRL", "x":0, "y":5.5, "w":1.25}, + {"matrix": [5, 1], "label":"LEFT WIN", "x":1.25, "y":5.5, "w":1.25}, + {"matrix": [5, 2], "label":"LEFT ALT", "x":2.5, "y":5.5, "w":1.25}, + {"matrix": [5, 3], "label":"SPACEBAR", "x":3.75, "y":5.5, "w":6.25}, + {"matrix": [5, 4], "label":"RIGHT ALT", "x":10, "y":5.5, "w":1.25}, + {"matrix": [5, 5], "label":"FN", "x":11.25, "y":5.5, "w":1.25}, + {"matrix": [5, 6], "label":"MENU", "x":12.5, "y":5.5, "w":1.25}, + {"matrix": [5, 7], "label":"RIGHT CTRL", "x":13.75, "y":5.5, "w":1.25}, + {"matrix": [10, 4], "label":"LEFT ARROW", "x":15.5, "y":5.5}, + {"matrix": [10, 5], "label":"DOWN ARROW", "x":16.5, "y":5.5}, + {"matrix": [10, 6], "label":"RIGHT ARROW", "x":17.5, "y":5.5} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "max_brightness": 191, + "sleep": true, + "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": 1, "matrix": [0, 0], "x": 7, "y": 5 }, + { "flags": 4, "matrix": [0, 1], "x": 31, "y": 5 }, + { "flags": 4, "matrix": [0, 2], "x": 43, "y": 5 }, + { "flags": 4, "matrix": [0, 3], "x": 55, "y": 5 }, + { "flags": 4, "matrix": [0, 4], "x": 67, "y": 5 }, + { "flags": 1, "matrix": [0, 5], "x": 85, "y": 5 }, + { "flags": 1, "matrix": [0, 6], "x": 97, "y": 5 }, + { "flags": 1, "matrix": [0, 7], "x": 109, "y": 5 }, + { "flags": 1, "matrix": [6, 0], "x": 121, "y": 5 }, + { "flags": 4, "matrix": [6, 1], "x": 139, "y": 5 }, + { "flags": 4, "matrix": [6, 2], "x": 151, "y": 5 }, + { "flags": 4, "matrix": [6, 3], "x": 163, "y": 5 }, + { "flags": 4, "matrix": [6, 4], "x": 175, "y": 5 }, + { "flags": 1, "matrix": [6, 5], "x": 193, "y": 5 }, + { "flags": 9, "matrix": [6, 6], "x": 205, "y": 5 }, + { "flags": 1, "matrix": [6, 7], "x": 217, "y": 5 }, + { "flags": 4, "matrix": [1, 0], "x": 7, "y": 20 }, + { "flags": 4, "matrix": [1, 1], "x": 19, "y": 20 }, + { "flags": 4, "matrix": [1, 2], "x": 31, "y": 20 }, + { "flags": 4, "matrix": [1, 3], "x": 43, "y": 20 }, + { "flags": 4, "matrix": [1, 4], "x": 55, "y": 20 }, + { "flags": 4, "matrix": [1, 5], "x": 67, "y": 20 }, + { "flags": 4, "matrix": [1, 6], "x": 79, "y": 20 }, + { "flags": 4, "matrix": [1, 7], "x": 91, "y": 20 }, + { "flags": 4, "matrix": [7, 0], "x": 103, "y": 20 }, + { "flags": 4, "matrix": [7, 1], "x": 115, "y": 20 }, + { "flags": 4, "matrix": [7, 2], "x": 127, "y": 20 }, + { "flags": 4, "matrix": [7, 3], "x": 139, "y": 20 }, + { "flags": 4, "matrix": [7, 4], "x": 151, "y": 20 }, + { "flags": 1, "matrix": [7, 5], "x": 169, "y": 20 }, + { "flags": 1, "matrix": [7, 6], "x": 193, "y": 20 }, + { "flags": 1, "matrix": [7, 7], "x": 205, "y": 20 }, + { "flags": 1, "matrix": [9, 7], "x": 217, "y": 20 }, + { "flags": 1, "matrix": [2, 0], "x": 10, "y": 30 }, + { "flags": 4, "matrix": [2, 1], "x": 25, "y": 30 }, + { "flags": 4, "matrix": [2, 2], "x": 37, "y": 30 }, + { "flags": 4, "matrix": [2, 3], "x": 49, "y": 30 }, + { "flags": 4, "matrix": [2, 4], "x": 61, "y": 30 }, + { "flags": 4, "matrix": [2, 5], "x": 73, "y": 30 }, + { "flags": 4, "matrix": [2, 6], "x": 85, "y": 30 }, + { "flags": 4, "matrix": [2, 7], "x": 97, "y": 30 }, + { "flags": 4, "matrix": [8, 0], "x": 109, "y": 30 }, + { "flags": 4, "matrix": [8, 1], "x": 121, "y": 30 }, + { "flags": 4, "matrix": [8, 2], "x": 133, "y": 30 }, + { "flags": 4, "matrix": [8, 3], "x": 145, "y": 30 }, + { "flags": 4, "matrix": [8, 4], "x": 157, "y": 30 }, + { "flags": 4, "matrix": [8, 5], "x": 172, "y": 30 }, + { "flags": 1, "matrix": [8, 6], "x": 193, "y": 30 }, + { "flags": 1, "matrix": [8, 7], "x": 205, "y": 30 }, + { "flags": 1, "matrix": [9, 6], "x": 217, "y": 30 }, + { "flags": 9, "matrix": [3, 0], "x": 11, "y": 39 }, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 39 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 39 }, + { "flags": 4, "matrix": [3, 3], "x": 52, "y": 39 }, + { "flags": 4, "matrix": [3, 4], "x": 64, "y": 39 }, + { "flags": 4, "matrix": [3, 5], "x": 76, "y": 39 }, + { "flags": 4, "matrix": [3, 6], "x": 88, "y": 39 }, + { "flags": 4, "matrix": [3, 7], "x": 100, "y": 39 }, + { "flags": 4, "matrix": [9, 0], "x": 112, "y": 39 }, + { "flags": 4, "matrix": [9, 1], "x": 124, "y": 39 }, + { "flags": 4, "matrix": [9, 2], "x": 136, "y": 39 }, + { "flags": 4, "matrix": [9, 3], "x": 148, "y": 39 }, + { "flags": 1, "matrix": [9, 4], "x": 168, "y": 39 }, + { "flags": 1, "matrix": [4, 0], "x": 14, "y": 49 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 49 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 49 }, + { "flags": 4, "matrix": [4, 3], "x": 58, "y": 49 }, + { "flags": 4, "matrix": [4, 4], "x": 70, "y": 49 }, + { "flags": 4, "matrix": [4, 5], "x": 82, "y": 49 }, + { "flags": 4, "matrix": [4, 6], "x": 94, "y": 49 }, + { "flags": 4, "matrix": [4, 7], "x": 106, "y": 49 }, + { "flags": 4, "matrix": [10, 0], "x": 118, "y": 49 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 49 }, + { "flags": 4, "matrix": [10, 2], "x": 142, "y": 49 }, + { "flags": 1, "matrix": [10, 3], "x": 165, "y": 49 }, + { "flags": 1, "matrix": [9, 5], "x": 205, "y": 49 }, + { "flags": 1, "matrix": [5, 0], "x": 8, "y": 59 }, + { "flags": 1, "matrix": [5, 1], "x": 23, "y": 59 }, + { "flags": 1, "matrix": [5, 2], "x": 38, "y": 59 }, + { "flags": 4, "matrix": [5, 3], "x": 83, "y": 59 }, + { "flags": 1, "matrix": [5, 4], "x": 129, "y": 59 }, + { "flags": 1, "matrix": [5, 5], "x": 144, "y": 59 }, + { "flags": 1, "matrix": [5, 6], "x": 159, "y": 59 }, + { "flags": 1, "matrix": [5, 7], "x": 174, "y": 59 }, + { "flags": 1, "matrix": [10, 4], "x": 193, "y": 59 }, + { "flags": 1, "matrix": [10, 5], "x": 205, "y": 59 }, + { "flags": 1, "matrix": [10, 6], "x": 217, "y": 59 }, + { "flags": 2, "x": 224, "y": 64 }, + { "flags": 2, "x": 204, "y": 64 }, + { "flags": 2, "x": 186, "y": 64 }, + { "flags": 2, "x": 167, "y": 64 }, + { "flags": 2, "x": 149, "y": 64 }, + { "flags": 2, "x": 130, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 94, "y": 64 }, + { "flags": 2, "x": 75, "y": 64 }, + { "flags": 2, "x": 57, "y": 64 }, + { "flags": 2, "x": 38, "y": 64 }, + { "flags": 2, "x": 20, "y": 64 }, + { "flags": 2, "x": 0, "y": 64 }, + { "flags": 2, "x": 0, "y": 47 }, + { "flags": 2, "x": 0, "y": 32 }, + { "flags": 2, "x": 0, "y": 17 }, + { "flags": 2, "x": 0, "y": 0 }, + { "flags": 2, "x": 20, "y": 0 }, + { "flags": 2, "x": 38, "y": 0 }, + { "flags": 2, "x": 57, "y": 0 }, + { "flags": 2, "x": 75, "y": 0 }, + { "flags": 2, "x": 94, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 130, "y": 0 }, + { "flags": 2, "x": 149, "y": 0 }, + { "flags": 2, "x": 167, "y": 0 }, + { "flags": 2, "x": 186, "y": 0 }, + { "flags": 2, "x": 204, "y": 0 }, + { "flags": 2, "x": 224, "y": 0 }, + { "flags": 2, "x": 224, "y": 17 }, + { "flags": 2, "x": 224, "y": 32 }, + { "flags": 2, "x": 224, "y": 47 } + ] + } +} diff --git a/keyboards/drop/ctrl/v2/mcuconf.h b/keyboards/drop/ctrl/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/ctrl/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/ctrl/v2/readme.md b/keyboards/drop/ctrl/v2/readme.md new file mode 100644 index 000000000000..8e5be108b6dd --- /dev/null +++ b/keyboards/drop/ctrl/v2/readme.md @@ -0,0 +1,24 @@ +# CTRL v2 + +The Drop CTRL v2 is a TKL mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop CTRL Mechanical Keyboard](https://drop.com/buy/drop-ctrl-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/ctrl/v2:default + +Flashing example for this keyboard: + + make drop/ctrl/v2: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/ctrl/v2/rules.mk b/keyboards/drop/ctrl/v2/rules.mk new file mode 100644 index 000000000000..02a766b5c317 --- /dev/null +++ b/keyboards/drop/ctrl/v2/rules.mk @@ -0,0 +1,6 @@ +UF2_DEVICE_TYPE_ID = 0x27b9a6ea +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/ctrl/v2/v2.c b/keyboards/drop/ctrl/v2/v2.c new file mode 100644 index 000000000000..6b565efbe1bd --- /dev/null +++ b/keyboards/drop/ctrl/v2/v2.c @@ -0,0 +1,128 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { + { 1, B_2, A_2, C_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, B_6, A_6, C_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 1, H_1, G_1, I_1 }, + { 1, H_2, G_2, I_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 1, K_1, J_1, L_1 }, + { 1, K_2, J_2, L_2 }, + { 1, K_3, J_3, L_3 }, + { 1, K_4, J_4, L_4 }, + { 1, K_5, J_5, L_5 }, + { 1, K_6, J_6, L_6 }, + { 1, K_7, J_7, L_7 }, + { 1, K_8, J_8, L_8 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, K_13, J_13, L_13 }, + { 1, K_12, J_12, L_12 }, + { 1, K_11, J_11, L_11 }, + { 1, E_6, D_6, F_6 }, + { 1, K_10, J_10, L_10 }, + { 1, K_9, J_9, L_9 }, + { 0, K_16, J_16, L_16 }, + { 0, K_15, J_15, L_15 }, + { 0, K_14, J_14, L_14 }, + { 0, K_13, J_13, L_13 }, + { 0, K_12, J_12, L_12 }, + { 1, E_14, D_14, F_14 }, + { 1, E_13, D_13, F_13 }, + { 1, H_12, G_12, I_12 }, + { 1, E_12, D_12, F_12 }, + { 1, E_11, D_11, F_11 }, + { 1, E_10, D_10, F_10 }, + { 1, E_9, D_9, F_9 }, + { 1, H_9, G_9, I_9 }, + { 0, H_16, G_16, I_16 }, + { 0, H_15, G_15, I_15 }, + { 0, H_14, G_14, I_14 }, + { 0, H_13, G_13, I_13 }, + { 0, H_11, G_11, I_11 }, + { 1, K_14, J_14, L_14 }, + { 1, H_14, G_14, I_14 }, + { 1, H_13, G_13, I_13 }, + { 1, H_10, G_10, I_10 }, + { 0, E_16, D_16, F_16 }, + { 0, E_15, D_15, F_15 }, + { 0, E_14, D_14, F_14 }, + { 0, E_13, D_13, F_13 }, + { 0, H_12, G_12, I_12 }, + { 0, E_12, D_12, F_12 }, + { 0, E_11, D_11, F_11 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, B_14, A_14, C_14 }, + { 0, B_15, A_15, C_15 }, + { 0, B_16, A_16, C_16 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, K_15, J_15, L_15 }, + { 1, E_15, D_15, F_15 }, + { 1, H_15, G_15, I_15 }, + { 1, B_1, A_1, C_1 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_8, A_8, C_8 }, + { 0, B_10, A_10, C_10 }, + { 0, H_10, G_10, I_10 }, + { 0, K_10, J_10, L_10 }, + { 0, E_10, D_10, F_10 }, +}; + +#endif diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c new file mode 100644 index 000000000000..04845ed17a00 --- /dev/null +++ b/keyboards/drop/lib/common.c @@ -0,0 +1,53 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "host.h" +# include "quantum.h" +# include "rgb_matrix.h" + +# ifdef RGB_MATRIX_CAPS_LOCK_INDEX +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock && (rgb_matrix_get_flags() != LED_FLAG_NONE)) { + rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_WHITE); + } else if (rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { + rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_OFF); + } + return true; +} +# endif + +# ifdef RGB_MATRIX_CYCLE_ZONES_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + + if (!record->event.pressed) { + switch (keycode) { + case RGB_TOG: + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + break; + case LED_FLAG_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_NONE); + break; + default: + rgb_matrix_set_flags(LED_FLAG_ALL); + break; + } + return false; + } + } + return true; +}; +# endif + +#endif diff --git a/keyboards/drop/lib/mux.c b/keyboards/drop/lib/mux.c new file mode 100644 index 000000000000..85a657544f65 --- /dev/null +++ b/keyboards/drop/lib/mux.c @@ -0,0 +1,94 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include "keyboard.h" +#include "analog.h" +#include "gpio.h" +#include "wait.h" + +#define S_UP B12 +#define E_UP_N B13 +#define S_DN1 B14 +#define E_DN1_N B15 +#define E_VBUS_1 A8 +#define E_VBUS_2 A15 +#define SRC_1 B8 +#define SRC_2 B9 +#define HUB_RESET_N D2 +#define IRST B1 +#define SDB_N B2 +#define C1_A5_SENSE A4 +#define C1_B5_SENSE A7 +#define C2_A5_SENSE C4 +#define C2_B5_SENSE B0 + +static inline void digital_write(pin_t pin, uint8_t level) { + setPinOutput(pin); + writePin(pin, level); +} + +uint16_t v_con_1 = 0; +uint16_t v_con_2 = 0; +uint16_t v_con_3 = 0; +uint16_t v_con_4 = 0; + +void keyboard_USB_enable(void) { + // initial state + digital_write(S_UP, 0); + digital_write(E_UP_N, 1); + digital_write(S_DN1, 1); + digital_write(E_DN1_N, 1); + digital_write(E_VBUS_1, 0); + digital_write(E_VBUS_2, 0); + digital_write(SRC_1, 1); + digital_write(SRC_2, 1); + + setPinInput(C1_A5_SENSE); + setPinInput(C1_B5_SENSE); + setPinInput(C2_A5_SENSE); + setPinInput(C2_B5_SENSE); + + // reset hub + digital_write(HUB_RESET_N, 0); + wait_ms(100); + digital_write(HUB_RESET_N, 1); + + wait_ms(500); // Allow power dissipation time on CC lines + + v_con_1 = analogReadPin(C1_A5_SENSE); + v_con_2 = analogReadPin(C1_B5_SENSE); + v_con_3 = analogReadPin(C2_A5_SENSE); + v_con_4 = analogReadPin(C2_B5_SENSE); + + // TODO: dynamic port port configure logic? + digital_write(E_UP_N, 0); // HOST enable + digital_write(E_DN1_N, 0); // EXTRA enable + digital_write(E_VBUS_1, 1); // USBC-1 enable full power I/O + digital_write(E_VBUS_2, 1); // USBC-2 enable full power I/O + + if ((v_con_1 + v_con_2) > (v_con_3 + v_con_4)) { + digital_write(S_UP, 0); // HOST to USBC-1 + digital_write(S_DN1, 1); // EXTRA to USBC-2 + digital_write(SRC_1, 1); // HOST on USBC-1 + digital_write(SRC_2, 0); // EXTRA available on USBC-2 + } else { + digital_write(S_UP, 1); // EXTRA to USBC-1 + digital_write(S_DN1, 0); // HOST to USBC-2 + digital_write(SRC_1, 0); // EXTRA available on USBC-1 + digital_write(SRC_2, 1); // HOST on USBC-2 + } +} + +void keyboard_ISSI_enable(void) { +#ifdef RGB_MATRIX_ENABLE + digital_write(IRST, 0); + digital_write(SDB_N, 1); +#endif +} + + +void keyboard_pre_init_kb(void) { + keyboard_USB_enable(); + keyboard_ISSI_enable(); + + keyboard_pre_init_user(); +} diff --git a/keyboards/drop/sense75/config.h b/keyboards/drop/sense75/config.h index 13b8257fbba2..448d223d4893 100644 --- a/keyboards/drop/sense75/config.h +++ b/keyboards/drop/sense75/config.h @@ -9,58 +9,9 @@ #define EXTERNAL_EEPROM_WP_PIN B7 #define EEPROM_I2C_24LC256 -#ifdef RGB_MATRIX_ENABLE -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_ADDR_2 0b1011111 -# define DRIVER_COUNT 2 -# define RGB_MATRIX_LED_COUNT (58 + 53) -# define ISSI_PWM_FREQUENCY 0b010 // 26k +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ -# define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -# define RGB_MATRIX_KEYPRESSES -# define RGB_MATRIX_FRAMEBUFFER_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_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_HUE_PENDULUM -# define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# 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 RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 62 diff --git a/keyboards/drop/sense75/info.json b/keyboards/drop/sense75/info.json index f5df3d61524b..052b494375ef 100644 --- a/keyboards/drop/sense75/info.json +++ b/keyboards/drop/sense75/info.json @@ -14,6 +14,9 @@ "pid": "0x0001", "device_version": "1.0.0" }, + "eeprom": { + "driver": "i2c" + }, "features": { "rgb_matrix": true, "encoder": true, @@ -41,7 +44,7 @@ {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, {"matrix": [0, 13], "label": "PrtSc", "x": 14, "y": 0}, - {"matrix": [0, 14], "label": "Mute", "x": 15.25, "y": 0}, + {"matrix": [0, 14], "encoder":0, "label": "Mute", "x": 15.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}, @@ -113,7 +116,53 @@ } }, "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", + "sleep": true, + "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": 2, "x": 2, "y": 0}, {"flags": 2, "x": 22, "y": 0}, diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c index 44d58b052103..36b17d967ea5 100644 --- a/keyboards/drop/sense75/keymaps/default/keymap.c +++ b/keyboards/drop/sense75/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ) }; @@ -44,10 +44,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } }; #endif - -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, RGB_WHITE); - } - return false; -} diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c index 871cdb2b6dca..fb81be272134 100644 --- a/keyboards/drop/sense75/keymaps/default_md/keymap.c +++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + MO(2), _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -86,22 +86,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { rgb_matrix_sethsv_noeeprom(HSV_WHITE); test_mode = true; break; - case RGB_TOG: - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - break; - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - break; - case LED_FLAG_UNDERGLOW: - rgb_matrix_set_flags(LED_FLAG_NONE); - break; - default: - rgb_matrix_set_flags(LED_FLAG_ALL); - break; - } - return false; } } return true; diff --git a/keyboards/drop/sense75/keymaps/via/keymap.c b/keyboards/drop/sense75/keymaps/via/keymap.c index 7304ec42d539..12328cc1482d 100644 --- a/keyboards/drop/sense75/keymaps/via/keymap.c +++ b/keyboards/drop/sense75/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + MO(2), _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -53,27 +53,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [2] = { ENCODER_CCW_CW(_______, _______) } }; #endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!record->event.pressed) { - switch (keycode) { - case RGB_TOG: - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - break; - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - break; - case LED_FLAG_UNDERGLOW: - rgb_matrix_set_flags(LED_FLAG_NONE); - break; - default: - rgb_matrix_set_flags(LED_FLAG_ALL); - break; - } - return false; - } - } - return true; -}; diff --git a/keyboards/drop/sense75/rules.mk b/keyboards/drop/sense75/rules.mk index 44adba039b51..ed0ad9a493cb 100644 --- a/keyboards/drop/sense75/rules.mk +++ b/keyboards/drop/sense75/rules.mk @@ -1 +1 @@ -EEPROM_DRIVER = i2c +SRC += lib/common.c diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c index cbc194ee8fbc..057e31074892 100644 --- a/keyboards/drop/sense75/sense75.c +++ b/keyboards/drop/sense75/sense75.c @@ -1,9 +1,9 @@ // Copyright 2022 Massdrop, Inc. // SPDX-License-Identifier: GPL-2.0-or-later -#include "rgb_matrix.h" - #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { // top underglow sd2-sd17 { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/drop/shift/keymaps/default/keymap.c b/keyboards/drop/shift/keymaps/default/keymap.c new file mode 100644 index 000000000000..371908bb482a --- /dev/null +++ b/keyboards/drop/shift/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_1800_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, 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_P7, KC_P8, KC_P9, KC_PMNS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + [1] = LAYOUT_1800_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_MPLY, KC_MSTP, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_SCRL, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/shift/keymaps/via/config.h b/keyboards/drop/shift/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/shift/keymaps/via/keymap.c b/keyboards/drop/shift/keymaps/via/keymap.c new file mode 100644 index 000000000000..371908bb482a --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_1800_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, 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_P7, KC_P8, KC_P9, KC_PMNS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + [1] = LAYOUT_1800_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_MPLY, KC_MSTP, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_SCRL, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/shift/keymaps/via/rules.mk b/keyboards/drop/shift/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/shift/v2/board.h b/keyboards/drop/shift/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/shift/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/shift/v2/config.h b/keyboards/drop/shift/v2/config.h new file mode 100644 index 000000000000..e912e3805f82 --- /dev/null +++ b/keyboards/drop/shift/v2/config.h @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_VCC +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC +#define IS31FL3733_I2C_ADDRESS_3 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE diff --git a/keyboards/drop/shift/v2/halconf.h b/keyboards/drop/shift/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/shift/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/shift/v2/info.json b/keyboards/drop/shift/v2/info.json new file mode 100644 index 000000000000..212263d71c57 --- /dev/null +++ b/keyboards/drop/shift/v2/info.json @@ -0,0 +1,352 @@ +{ + "keyboard_name": "SHIFT v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "C6", "C7", "C8", "C9", "B3", "B4", "C13", "C14", "C15"], + "rows": ["A0", "A1", "A2", "A3", "B10", "C10", "C11", "C12"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x000C", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "layouts": { + "LAYOUT_1800_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": [1, 2], "x":3.25, "y":0}, + {"matrix": [0, 3], "x":4.25, "y":0}, + {"matrix": [0, 4], "x":5.5, "y":0}, + {"matrix": [0, 5], "x":6.5, "y":0}, + {"matrix": [0, 6], "x":7.5, "y":0}, + {"matrix": [1, 6], "x":8.5, "y":0}, + {"matrix": [0, 7], "x":9.75, "y":0}, + {"matrix": [1, 7], "x":10.75, "y":0}, + {"matrix": [0, 8], "x":11.75, "y":0}, + {"matrix": [1, 8], "x":12.75, "y":0}, + {"matrix": [1, 9], "x":14, "y":0}, + {"matrix": [0, 10], "x":15.5, "y":0}, + {"matrix": [1, 10], "x":16.5, "y":0}, + {"matrix": [0, 11], "x":17.5, "y":0}, + {"matrix": [1, 11], "x":18.5, "y":0}, + {"matrix": [1, 0], "x":0, "y":1.25}, + {"matrix": [1, 1], "x":1, "y":1.25}, + {"matrix": [2, 1], "x":2, "y":1.25}, + {"matrix": [2, 2], "x":3, "y":1.25}, + {"matrix": [3, 2], "x":4, "y":1.25}, + {"matrix": [1, 3], "x":5, "y":1.25}, + {"matrix": [2, 3], "x":6, "y":1.25}, + {"matrix": [1, 4], "x":7, "y":1.25}, + {"matrix": [1, 5], "x":8, "y":1.25}, + {"matrix": [2, 5], "x":9, "y":1.25}, + {"matrix": [2, 6], "x":10, "y":1.25}, + {"matrix": [3, 6], "x":11, "y":1.25}, + {"matrix": [2, 7], "x":12, "y":1.25}, + {"matrix": [2, 8], "x":13, "y":1.25, "w":2}, + {"matrix": [2, 9], "x":15.5, "y":1.25}, + {"matrix": [2, 10], "x":16.5, "y":1.25}, + {"matrix": [2, 11], "x":17.5, "y":1.25}, + {"matrix": [2, 12], "x":18.5, "y":1.25}, + {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, + {"matrix": [3, 1], "x":1.5, "y":2.25}, + {"matrix": [4, 1], "x":2.5, "y":2.25}, + {"matrix": [4, 2], "x":3.5, "y":2.25}, + {"matrix": [3, 3], "x":4.5, "y":2.25}, + {"matrix": [4, 3], "x":5.5, "y":2.25}, + {"matrix": [2, 4], "x":6.5, "y":2.25}, + {"matrix": [3, 4], "x":7.5, "y":2.25}, + {"matrix": [3, 5], "x":8.5, "y":2.25}, + {"matrix": [4, 5], "x":9.5, "y":2.25}, + {"matrix": [4, 6], "x":10.5, "y":2.25}, + {"matrix": [3, 7], "x":11.5, "y":2.25}, + {"matrix": [3, 8], "x":12.5, "y":2.25}, + {"matrix": [4, 8], "x":13.5, "y":2.25, "w":1.5}, + {"matrix": [3, 9], "x":15.5, "y":2.25}, + {"matrix": [3, 10], "x":16.5, "y":2.25}, + {"matrix": [3, 11], "x":17.5, "y":2.25}, + {"matrix": [3, 12], "x":18.5, "y":2.25}, + {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, + {"matrix": [5, 1], "x":1.75, "y":3.25}, + {"matrix": [6, 1], "x":2.75, "y":3.25}, + {"matrix": [5, 2], "x":3.75, "y":3.25}, + {"matrix": [5, 3], "x":4.75, "y":3.25}, + {"matrix": [6, 3], "x":5.75, "y":3.25}, + {"matrix": [4, 4], "x":6.75, "y":3.25}, + {"matrix": [5, 4], "x":7.75, "y":3.25}, + {"matrix": [5, 5], "x":8.75, "y":3.25}, + {"matrix": [5, 6], "x":9.75, "y":3.25}, + {"matrix": [4, 7], "x":10.75, "y":3.25}, + {"matrix": [5, 8], "x":11.75, "y":3.25}, + {"matrix": [6, 8], "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [4, 9], "x":15.5, "y":3.25}, + {"matrix": [4, 10], "x":16.5, "y":3.25}, + {"matrix": [4, 11], "x":17.5, "y":3.25}, + {"matrix": [4, 12], "x":18.5, "y":3.25}, + {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, + {"matrix": [7, 1], "x":2.25, "y":4.25}, + {"matrix": [6, 2], "x":3.25, "y":4.25}, + {"matrix": [7, 2], "x":4.25, "y":4.25}, + {"matrix": [7, 3], "x":5.25, "y":4.25}, + {"matrix": [6, 4], "x":6.25, "y":4.25}, + {"matrix": [7, 5], "x":7.25, "y":4.25}, + {"matrix": [6, 5], "x":8.25, "y":4.25}, + {"matrix": [6, 6], "x":9.25, "y":4.25}, + {"matrix": [5, 7], "x":10.25, "y":4.25}, + {"matrix": [6, 7], "x":11.25, "y":4.25}, + {"matrix": [7, 8], "x":12.25, "y":4.25, "w":1.75}, + {"matrix": [6, 9], "x":14.25, "y":4.5}, + {"matrix": [5, 9], "x":15.5, "y":4.25}, + {"matrix": [5, 10], "x":16.5, "y":4.25}, + {"matrix": [5, 11], "x":17.5, "y":4.25}, + {"matrix": [5, 12], "x":18.5, "y":4.25, "h":2}, + {"matrix": [5, 0], "x":0, "y":5.25, "w":1.25}, + {"matrix": [6, 0], "x":1.25, "y":5.25, "w":1.25}, + {"matrix": [7, 0], "x":2.5, "y":5.25, "w":1.25}, + {"matrix": [7, 4], "x":3.75, "y":5.25, "w":6.25}, + {"matrix": [7, 6], "x":10, "y":5.25, "w":1.5}, + {"matrix": [7, 7], "x":11.5, "y":5.25, "w":1.5}, + {"matrix": [7, 9], "x":13.25, "y":5.5}, + {"matrix": [7, 10], "x":14.25, "y":5.5}, + {"matrix": [6, 10], "x":15.25, "y":5.5}, + {"matrix": [6, 11], "x":16.5, "y":5.25}, + {"matrix": [6, 12], "x":17.5, "y":5.25} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "max_brightness": 191, + "sleep": true, + "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": 6, "y": 7 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 7 }, + { "flags": 4, "matrix": [0, 2], "x": 31, "y": 7 }, + { "flags": 4, "matrix": [1, 2], "x": 43, "y": 7 }, + { "flags": 4, "matrix": [0, 3], "x": 54, "y": 7 }, + { "flags": 4, "matrix": [0, 4], "x": 69, "y": 7 }, + { "flags": 4, "matrix": [0, 5], "x": 80, "y": 7 }, + { "flags": 4, "matrix": [0, 6], "x": 91, "y": 7 }, + { "flags": 4, "matrix": [1, 6], "x": 103, "y": 7 }, + { "flags": 4, "matrix": [0, 7], "x": 117, "y": 7 }, + { "flags": 4, "matrix": [1, 7], "x": 129, "y": 7 }, + { "flags": 4, "matrix": [0, 8], "x": 140, "y": 7 }, + { "flags": 4, "matrix": [1, 8], "x": 152, "y": 7 }, + { "flags": 4, "matrix": [1, 9], "x": 166, "y": 7 }, + { "flags": 4, "matrix": [0, 10], "x": 183, "y": 7 }, + { "flags": 4, "matrix": [1, 10], "x": 194, "y": 7 }, + { "flags": 4, "matrix": [0, 11], "x": 206, "y": 7 }, + { "flags": 4, "matrix": [1, 11], "x": 217, "y": 7 }, + { "flags": 4, "matrix": [1, 0], "x": 6, "y": 18 }, + { "flags": 4, "matrix": [1, 1], "x": 17, "y": 18 }, + { "flags": 4, "matrix": [2, 1], "x": 29, "y": 18 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y": 18 }, + { "flags": 4, "matrix": [3, 2], "x": 51, "y": 18 }, + { "flags": 4, "matrix": [1, 3], "x": 63, "y": 18 }, + { "flags": 4, "matrix": [2, 3], "x": 74, "y": 18 }, + { "flags": 4, "matrix": [1, 4], "x": 86, "y": 18 }, + { "flags": 4, "matrix": [1, 5], "x": 97, "y": 18 }, + { "flags": 4, "matrix": [2, 5], "x": 109, "y": 18 }, + { "flags": 4, "matrix": [2, 6], "x": 120, "y": 18 }, + { "flags": 4, "matrix": [3, 6], "x": 132, "y": 18 }, + { "flags": 4, "matrix": [2, 7], "x": 143, "y": 18 }, + { "flags": 4, "matrix": [2, 8], "x": 160, "y": 18 }, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 18 }, + { "flags": 4, "matrix": [2, 10], "x": 194, "y": 18 }, + { "flags": 4, "matrix": [2, 11], "x": 206, "y": 18 }, + { "flags": 4, "matrix": [2, 12], "x": 217, "y": 18 }, + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 27 }, + { "flags": 4, "matrix": [3, 1], "x": 23, "y": 27 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 27 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 27 }, + { "flags": 4, "matrix": [3, 3], "x": 57, "y": 27 }, + { "flags": 4, "matrix": [4, 3], "x": 69, "y": 27 }, + { "flags": 4, "matrix": [2, 4], "x": 80, "y": 27 }, + { "flags": 4, "matrix": [3, 4], "x": 91, "y": 27 }, + { "flags": 4, "matrix": [3, 5], "x": 103, "y": 27 }, + { "flags": 4, "matrix": [4, 5], "x": 114, "y": 27 }, + { "flags": 4, "matrix": [4, 6], "x": 126, "y": 27 }, + { "flags": 4, "matrix": [3, 7], "x": 137, "y": 27 }, + { "flags": 4, "matrix": [3, 8], "x": 149, "y": 27 }, + { "flags": 4, "matrix": [4, 8], "x": 163, "y": 27 }, + { "flags": 4, "matrix": [3, 9], "x": 183, "y": 27 }, + { "flags": 4, "matrix": [3, 10], "x": 194, "y": 27 }, + { "flags": 4, "matrix": [3, 11], "x": 206, "y": 27 }, + { "flags": 4, "matrix": [3, 12], "x": 217, "y": 27 }, + { "flags": 4, "matrix": [3, 0], "x": 10, "y": 36 }, + { "flags": 4, "matrix": [5, 1], "x": 26, "y": 36 }, + { "flags": 4, "matrix": [6, 1], "x": 37, "y": 36 }, + { "flags": 4, "matrix": [5, 2], "x": 49, "y": 36 }, + { "flags": 4, "matrix": [5, 3], "x": 60, "y": 36 }, + { "flags": 4, "matrix": [6, 3], "x": 71, "y": 36 }, + { "flags": 4, "matrix": [4, 4], "x": 83, "y": 36 }, + { "flags": 4, "matrix": [5, 4], "x": 94, "y": 36 }, + { "flags": 4, "matrix": [5, 5], "x": 106, "y": 36 }, + { "flags": 4, "matrix": [5, 6], "x": 117, "y": 36 }, + { "flags": 4, "matrix": [4, 7], "x": 129, "y": 36 }, + { "flags": 4, "matrix": [5, 8], "x": 140, "y": 36 }, + { "flags": 4, "matrix": [6, 8], "x": 159, "y": 36 }, + { "flags": 4, "matrix": [4, 9], "x": 183, "y": 36 }, + { "flags": 4, "matrix": [4, 10], "x": 194, "y": 36 }, + { "flags": 4, "matrix": [4, 11], "x": 206, "y": 36 }, + { "flags": 4, "matrix": [4, 12], "x": 217, "y": 36 }, + { "flags": 4, "matrix": [4, 0], "x": 13, "y": 46 }, + { "flags": 4, "matrix": [7, 1], "x": 31, "y": 46 }, + { "flags": 4, "matrix": [6, 2], "x": 43, "y": 46 }, + { "flags": 4, "matrix": [7, 2], "x": 54, "y": 46 }, + { "flags": 4, "matrix": [7, 3], "x": 66, "y": 46 }, + { "flags": 4, "matrix": [6, 4], "x": 77, "y": 46 }, + { "flags": 4, "matrix": [7, 5], "x": 89, "y": 46 }, + { "flags": 4, "matrix": [6, 5], "x": 100, "y": 46 }, + { "flags": 4, "matrix": [6, 6], "x": 112, "y": 46 }, + { "flags": 4, "matrix": [5, 7], "x": 123, "y": 46 }, + { "flags": 4, "matrix": [6, 7], "x": 134, "y": 46 }, + { "flags": 4, "matrix": [7, 8], "x": 150, "y": 46 }, + { "flags": 4, "matrix": [6, 9], "x": 169, "y": 48 }, + { "flags": 4, "matrix": [5, 9], "x": 183, "y": 46 }, + { "flags": 4, "matrix": [5, 10], "x": 194, "y": 46 }, + { "flags": 4, "matrix": [5, 11], "x": 206, "y": 46 }, + { "flags": 4, "matrix": [5, 12], "x": 214, "y": 50 }, + { "flags": 4, "matrix": [5, 0], "x": 7, "y": 55 }, + { "flags": 4, "matrix": [6, 0], "x": 21, "y": 55 }, + { "flags": 4, "matrix": [7, 0], "x": 36, "y": 55 }, + { "flags": 4, "matrix": [7, 4], "x": 79, "y": 55 }, + { "flags": 4, "matrix": [7, 6], "x": 123, "y": 55 }, + { "flags": 4, "matrix": [7, 7], "x": 140, "y": 55 }, + { "flags": 4, "matrix": [7, 9], "x": 157, "y": 58 }, + { "flags": 4, "matrix": [7, 10], "x": 169, "y": 58 }, + { "flags": 4, "matrix": [6, 10], "x": 180, "y": 58 }, + { "flags": 4, "matrix": [6, 11], "x": 194, "y": 55 }, + { "flags": 4, "matrix": [6, 12], "x": 206, "y": 55 }, + { "flags": 2, "x": 1, "y": 1 }, + { "flags": 2, "x": 6, "y": 0 }, + { "flags": 2, "x": 26, "y": 0 }, + { "flags": 2, "x": 35, "y": 0 }, + { "flags": 2, "x": 45, "y": 0 }, + { "flags": 2, "x": 54, "y": 0 }, + { "flags": 2, "x": 64, "y": 0 }, + { "flags": 2, "x": 74, "y": 0 }, + { "flags": 2, "x": 83, "y": 0 }, + { "flags": 2, "x": 93, "y": 0 }, + { "flags": 2, "x": 102, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 122, "y": 0 }, + { "flags": 2, "x": 131, "y": 0 }, + { "flags": 2, "x": 141, "y": 0 }, + { "flags": 2, "x": 150, "y": 0 }, + { "flags": 2, "x": 160, "y": 0 }, + { "flags": 2, "x": 170, "y": 0 }, + { "flags": 2, "x": 179, "y": 0 }, + { "flags": 2, "x": 189, "y": 0 }, + { "flags": 2, "x": 198, "y": 0 }, + { "flags": 2, "x": 218, "y": 0 }, + { "flags": 2, "x": 222, "y": 1 }, + { "flags": 2, "x": 224, "y": 5 }, + { "flags": 2, "x": 224, "y": 12 }, + { "flags": 2, "x": 224, "y": 20 }, + { "flags": 2, "x": 224, "y": 28 }, + { "flags": 2, "x": 224, "y": 35 }, + { "flags": 2, "x": 224, "y": 43 }, + { "flags": 2, "x": 224, "y": 51 }, + { "flags": 2, "x": 224, "y": 58 }, + { "flags": 2, "x": 222, "y": 64 }, + { "flags": 2, "x": 218, "y": 64 }, + { "flags": 2, "x": 208, "y": 64 }, + { "flags": 2, "x": 198, "y": 64 }, + { "flags": 2, "x": 189, "y": 64 }, + { "flags": 2, "x": 179, "y": 64 }, + { "flags": 2, "x": 170, "y": 64 }, + { "flags": 2, "x": 160, "y": 64 }, + { "flags": 2, "x": 150, "y": 64 }, + { "flags": 2, "x": 141, "y": 64 }, + { "flags": 2, "x": 131, "y": 64 }, + { "flags": 2, "x": 122, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 102, "y": 64 }, + { "flags": 2, "x": 93, "y": 64 }, + { "flags": 2, "x": 83, "y": 64 }, + { "flags": 2, "x": 74, "y": 64 }, + { "flags": 2, "x": 64, "y": 64 }, + { "flags": 2, "x": 54, "y": 64 }, + { "flags": 2, "x": 45, "y": 64 }, + { "flags": 2, "x": 35, "y": 64 }, + { "flags": 2, "x": 26, "y": 64 }, + { "flags": 2, "x": 16, "y": 64 }, + { "flags": 2, "x": 6, "y": 64 }, + { "flags": 2, "x": 1, "y": 64 }, + { "flags": 2, "x": 0, "y": 58 }, + { "flags": 2, "x": 0, "y": 51 }, + { "flags": 2, "x": 0, "y": 43 }, + { "flags": 2, "x": 0, "y": 35 }, + { "flags": 2, "x": 0, "y": 28 }, + { "flags": 2, "x": 0, "y": 20 }, + { "flags": 2, "x": 0, "y": 12 }, + { "flags": 2, "x": 0, "y": 5 }, + { "flags": 8, "x": 174, "y": 5 }, + { "flags": 8, "x": 174, "y": 10 }, + { "flags": 8, "x": 174, "y": 15 } + ] + } +} diff --git a/keyboards/drop/shift/v2/mcuconf.h b/keyboards/drop/shift/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/shift/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/shift/v2/readme.md b/keyboards/drop/shift/v2/readme.md new file mode 100644 index 000000000000..c9ebc63468f6 --- /dev/null +++ b/keyboards/drop/shift/v2/readme.md @@ -0,0 +1,24 @@ +# SHIFT v2 + +The Drop SHIFT v2 is a compact 1800 layout mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop SHIFT Mechanical Keyboard](https://drop.com/buy/drop-shift-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/shift/v2:default + +Flashing example for this keyboard: + + make drop/shift/v2: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/shift/v2/rules.mk b/keyboards/drop/shift/v2/rules.mk new file mode 100644 index 000000000000..f4f3ce149874 --- /dev/null +++ b/keyboards/drop/shift/v2/rules.mk @@ -0,0 +1,6 @@ +UF2_DEVICE_TYPE_ID = 0x9bc1e968 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c lib/mux.c + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/drop/shift/v2/v2.c b/keyboards/drop/shift/v2/v2.c new file mode 100644 index 000000000000..8565a0cb269b --- /dev/null +++ b/keyboards/drop/shift/v2/v2.c @@ -0,0 +1,190 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "host.h" +# include "rgb_matrix.h" + +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { + { 0, K_1, J_1, L_1 },// LED1 + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 },// LED9 + { 1, K_1, J_1, L_1 },// LED10 + { 1, K_2, J_2, L_2 },// LED11 + { 1, K_3, J_3, L_3 },// LED12 + { 1, K_4, J_4, L_4 },// LED13 + { 1, K_9, J_9, L_9 },// LED18 + { 1, K_5, J_5, L_5 },// LED15 + { 1, K_6, J_6, L_6 },// LED19 + { 1, K_7, J_7, L_7 },// LED16 + { 1, K_8, J_8, L_8 },// LED20 + { 0, H_1, G_1, I_1 },//start2 + { 0, H_11, G_11, I_11 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 0, H_10, G_10, I_10 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 1, B_1, A_1, C_1 }, + { 1, B_2, A_2, C_2 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_6, A_6, C_6 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_4, A_4, C_4 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_7, A_7, C_7 }, + { 0, B_8, A_8, C_8 }, + { 0, B_9, A_9, C_9 }, + { 0, B_10, A_10, C_10 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, B_16, A_16, C_16 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, H_13, G_13, I_13 }, + { 0, H_14, G_14, I_14 }, + { 0, B_14, A_14, C_14 }, + { 0, E_15, D_15, F_15 }, + { 0, B_15, A_15, C_15 }, + { 0, B_16, A_16, C_16 }, + { 1, E_9, D_9, F_9 }, + { 1, E_10, D_10, F_10 }, + { 1, E_11, D_11, F_11 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, E_14, D_14, F_14 }, + { 1, E_15, D_15, F_15 }, + { 1, H_16, G_16, I_16 }, + { 0, E_11, D_11, F_11 },//start6 + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 1, H_9, G_9, I_9 }, + { 1, H_10, G_10, I_10 }, + { 1, H_11, G_11, I_11 }, + { 1, H_12, G_12, I_12 }, + { 1, H_13, G_13, I_13 }, + { 1, H_14, G_14, I_14 }, + { 1, H_15, G_15, I_15 }, + { 2, H_1, G_1, I_1 },//start underglow + { 2, K_1, J_1, L_1 }, + { 2, B_1, A_1, C_1 }, + { 2, E_1, D_1, F_1 }, + { 2, E_2, D_2, F_2 }, + { 2, B_2, A_2, C_2 }, + { 2, B_3, A_3, C_3 }, + { 2, E_3, D_3, F_3 }, + { 2, E_4, D_4, F_4 }, + { 2, B_4, A_4, C_4 }, + { 2, B_5, A_5, C_5 }, + { 2, E_5, D_5, F_5 }, + { 2, E_6, D_6, F_6 }, + { 2, B_6, A_6, C_6 }, + { 2, B_7, A_7, C_7 }, + { 2, E_7, D_7, F_7 }, + { 2, E_8, D_8, F_8 }, + { 2, B_8, A_8, C_8 }, + { 2, B_9, A_9, C_9 }, + { 2, E_9, D_9, F_9 }, + { 2, E_10, D_10, F_10 }, + { 2, B_10, A_10, C_10 }, + { 2, B_11, A_11, C_11 },//125 + { 2, E_11, D_11, F_11 }, + { 2, E_12, D_12, F_12 }, + { 2, B_12, A_12, C_12 }, + { 2, B_13, A_13, C_13 }, + { 2, E_13, D_13, F_13 }, + { 2, E_14, D_14, F_14 }, + { 2, B_14, A_14, C_14 }, + { 2, B_15, A_15, C_15 }, + { 2, E_15, D_15, F_15 }, + { 2, E_16, D_16, F_16 }, + { 2, B_16, A_16, C_16 }, + { 2, H_16, G_16, I_16 }, + { 2, K_16, J_16, L_16 }, + { 2, K_15, J_15, L_15 }, + { 2, H_15, G_15, I_15 }, + { 2, H_14, G_14, I_14 }, + { 2, K_14, J_14, L_14 }, + { 2, K_13, J_13, L_13 }, + { 2, H_13, G_13, I_13 }, + { 2, H_12, G_12, I_12 }, + { 2, K_12, J_12, L_12 }, + { 2, K_11, J_11, L_11 }, + { 2, H_11, G_11, I_11 }, + { 2, H_10, G_10, I_10 }, + { 2, K_10, J_10, L_10 }, + { 2, K_9, J_9, L_9 }, + { 2, H_9, G_9, I_9 }, + { 2, H_8, G_8, I_8 }, + { 2, K_8, J_8, L_8 }, + { 2, K_7, J_7, L_7 }, + { 2, H_7, G_7, I_7 }, + { 2, H_6, G_6, I_6 }, + { 2, K_6, J_6, L_6 }, + { 2, K_5, J_5, L_5 }, + { 2, H_5, G_5, I_5 }, + { 2, H_4, G_4, I_4 }, + { 2, K_4, J_4, L_4 }, + { 2, K_3, J_3, L_3 }, + { 2, H_3, G_3, I_3 }, + { 2, H_2, G_2, I_2 }, + { 2, K_2, J_2, L_2 }, + { 1, K_10, J_10, L_10 }, + { 1, K_11, J_11, L_11 }, + { 1, E_3, D_3, F_3 }, +}; + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + uint8_t num_state = host_keyboard_led_state().num_lock ? 0xFF : 0; + uint8_t caps_state = host_keyboard_led_state().caps_lock ? 0xFF : 0; + uint8_t scroll_state = host_keyboard_led_state().scroll_lock ? 0xFF : 0; + + rgb_matrix_set_color(163, num_state, num_state, num_state); + rgb_matrix_set_color(164, caps_state, caps_state, caps_state); + rgb_matrix_set_color(165, scroll_state, scroll_state, scroll_state); + return true; +} + +#endif diff --git a/keyboards/drop/thekey/keymaps/url-copy-paste-bepo/keymap.c b/keyboards/drop/thekey/keymaps/url-copy-paste-bepo/keymap.c deleted file mode 100644 index feafa02ac2c6..000000000000 --- a/keyboards/drop/thekey/keymaps/url-copy-paste-bepo/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2022 Benjamin Collet - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H -#include "sendstring_bepo.h" - -enum custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, C(BP_C), C(BP_V)), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/drop/thekey/keymaps/url-copy-paste-macos/keymap.c b/keyboards/drop/thekey/keymaps/url-copy-paste-macos/keymap.c deleted file mode 100644 index 57382dfc5f8d..000000000000 --- a/keyboards/drop/thekey/keymaps/url-copy-paste-macos/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 Joe Maples - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, G(KC_C), G(KC_V)), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/\n"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/drop/thekey/keymaps/url-copy-paste/keymap.c b/keyboards/drop/thekey/keymaps/url-copy-paste/keymap.c deleted file mode 100644 index 18778d19468e..000000000000 --- a/keyboards/drop/thekey/keymaps/url-copy-paste/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2021 Joe Maples - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, C(KC_C), C(KC_V)), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/drop/thekey/v2/config.h b/keyboards/drop/thekey/v2/config.h deleted file mode 100644 index ca6944c2c9a0..000000000000 --- 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 7870599fe181..ced9901bea0b 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/dtisaac/dosa40rgb/info.json b/keyboards/dtisaac/dosa40rgb/info.json index 35a731111289..e90d21725a5e 100644 --- a/keyboards/dtisaac/dosa40rgb/info.json +++ b/keyboards/dtisaac/dosa40rgb/info.json @@ -8,11 +8,14 @@ "pid": "0x4973", "device_version": "0.0.4" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "ws2812": { "pin": "D0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D1", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], diff --git a/keyboards/dtisaac/dosa40rgb/rules.mk b/keyboards/dtisaac/dosa40rgb/rules.mk index 5cc9ef68e40e..265652de509a 100644 --- a/keyboards/dtisaac/dosa40rgb/rules.mk +++ b/keyboards/dtisaac/dosa40rgb/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes # Enable Bluetooth -BLUETOOTH_DRIVER = BluefruitLE RGB_MATRIX_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/dtisaac/dtisaac01/info.json b/keyboards/dtisaac/dtisaac01/info.json index 68f7221d31ed..3d16da6d222e 100644 --- a/keyboards/dtisaac/dtisaac01/info.json +++ b/keyboards/dtisaac/dtisaac01/info.json @@ -24,8 +24,224 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_ansi" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { + "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": [5, 8], "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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [6, 8], "x": 9, "y": 1.25}, + {"matrix": [6, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 4], "x": 15.25, "y": 1.25}, + {"matrix": [7, 5], "x": 16.25, "y": 1.25}, + {"matrix": [7, 6], "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": [7, 8], "x": 9.5, "y": 2.25}, + {"matrix": [7, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.25, "y": 2.25}, + {"matrix": [8, 5], "x": 16.25, "y": 2.25}, + {"matrix": [8, 6], "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": [8, 8], "x": 9.75, "y": 3.25}, + {"matrix": [8, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 3], "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": [9, 8], "x": 9.25, "y": 4.25}, + {"matrix": [9, 0], "x": 10.25, "y": 4.25}, + {"matrix": [10, 1], "x": 11.25, "y": 4.25}, + {"matrix": [10, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [10, 5], "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": [10, 0], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [11, 2], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 4], "x": 15.25, "y": 5.25}, + {"matrix": [11, 5], "x": 16.25, "y": 5.25}, + {"matrix": [11, 6], "x": 17.25, "y": 5.25} + ] + }, + "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": [5, 8], "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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [6, 8], "x": 9, "y": 1.25}, + {"matrix": [6, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 4], "x": 15.25, "y": 1.25}, + {"matrix": [7, 5], "x": 16.25, "y": 1.25}, + {"matrix": [7, 6], "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": [7, 8], "x": 9.5, "y": 2.25}, + {"matrix": [7, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.25, "y": 2.25}, + {"matrix": [8, 5], "x": 16.25, "y": 2.25}, + {"matrix": [8, 6], "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": [8, 8], "x": 9.75, "y": 3.25}, + {"matrix": [8, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 3], "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": [9, 8], "x": 9.25, "y": 4.25}, + {"matrix": [9, 0], "x": 10.25, "y": 4.25}, + {"matrix": [10, 1], "x": 11.25, "y": 4.25}, + {"matrix": [10, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [10, 5], "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": [10, 0], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 1], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [11, 2], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 4], "x": 15.25, "y": 5.25}, + {"matrix": [11, 5], "x": 16.25, "y": 5.25}, + {"matrix": [11, 6], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -48,85 +264,185 @@ {"matrix": [6, 5], "x": 16.25, "y": 0}, {"matrix": [6, 6], "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": [6, 8], "x": 9, "y": 1.5}, - {"matrix": [6, 0], "x": 10, "y": 1.5}, - {"matrix": [7, 1], "x": 11, "y": 1.5}, - {"matrix": [7, 2], "x": 12, "y": 1.5}, - {"matrix": [7, 3], "x": 13, "y": 1.5, "w": 2}, - - {"matrix": [7, 4], "x": 15.25, "y": 1.5}, - {"matrix": [7, 5], "x": 16.25, "y": 1.5}, - {"matrix": [7, 6], "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": [7, 8], "x": 9.5, "y": 2.5}, - {"matrix": [7, 0], "x": 10.5, "y": 2.5}, - {"matrix": [8, 1], "x": 11.5, "y": 2.5}, - {"matrix": [8, 2], "x": 12.5, "y": 2.5}, - {"matrix": [8, 3], "x": 13.5, "y": 2.5, "w": 1.5}, - - {"matrix": [8, 4], "x": 15.25, "y": 2.5}, - {"matrix": [8, 5], "x": 16.25, "y": 2.5}, - {"matrix": [8, 6], "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": [8, 8], "x": 9.75, "y": 3.5}, - {"matrix": [8, 0], "x": 10.75, "y": 3.5}, - {"matrix": [9, 1], "x": 11.75, "y": 3.5}, - {"matrix": [9, 3], "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": [9, 8], "x": 9.25, "y": 4.5}, - {"matrix": [9, 0], "x": 10.25, "y": 4.5}, - {"matrix": [10, 1], "x": 11.25, "y": 4.5}, - {"matrix": [10, 3], "x": 12.25, "y": 4.5, "w": 2.75}, - - {"matrix": [10, 5], "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, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [10, 0], "x": 10, "y": 5.5, "w": 1.25}, - {"matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25}, - {"matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25}, - {"matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25}, - - {"matrix": [11, 4], "x": 15.25, "y": 5.5}, - {"matrix": [11, 5], "x": 16.25, "y": 5.5}, - {"matrix": [11, 6], "x": 17.25, "y": 5.5} + {"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": [6, 8], "x": 9, "y": 1.25}, + {"matrix": [6, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 4], "x": 15.25, "y": 1.25}, + {"matrix": [7, 5], "x": 16.25, "y": 1.25}, + {"matrix": [7, 6], "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": [7, 8], "x": 9.5, "y": 2.25}, + {"matrix": [7, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.25, "y": 2.25}, + {"matrix": [8, 5], "x": 16.25, "y": 2.25}, + {"matrix": [8, 6], "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": [8, 8], "x": 9.75, "y": 3.25}, + {"matrix": [8, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 3], "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": [9, 8], "x": 9.25, "y": 4.25}, + {"matrix": [9, 0], "x": 10.25, "y": 4.25}, + {"matrix": [10, 1], "x": 11.25, "y": 4.25}, + {"matrix": [10, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [10, 5], "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": [11, 1], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [11, 2], "x": 12.5, "y": 5.25}, + {"matrix": [11, 3], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [11, 4], "x": 15.25, "y": 5.25}, + {"matrix": [11, 5], "x": 16.25, "y": 5.25}, + {"matrix": [11, 6], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "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": [5, 8], "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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [6, 8], "x": 9, "y": 1.25}, + {"matrix": [6, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 4], "x": 15.25, "y": 1.25}, + {"matrix": [7, 5], "x": 16.25, "y": 1.25}, + {"matrix": [7, 6], "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": [7, 8], "x": 9.5, "y": 2.25}, + {"matrix": [7, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.25, "y": 2.25}, + {"matrix": [8, 5], "x": 16.25, "y": 2.25}, + {"matrix": [8, 6], "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": [8, 8], "x": 9.75, "y": 3.25}, + {"matrix": [8, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 3], "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": [9, 8], "x": 9.25, "y": 4.25}, + {"matrix": [9, 0], "x": 10.25, "y": 4.25}, + {"matrix": [10, 1], "x": 11.25, "y": 4.25}, + {"matrix": [10, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [10, 5], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [11, 1], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [11, 3], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [11, 4], "x": 15.25, "y": 5.25}, + {"matrix": [11, 5], "x": 16.25, "y": 5.25}, + {"matrix": [11, 6], "x": 17.25, "y": 5.25} ] } } diff --git a/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c b/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c index 52cf6ef97cf1..3e87ebb2b35b 100644 --- a/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c +++ b/keyboards/dtisaac/dtisaac01/keymaps/default/keymap.c @@ -22,26 +22,20 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, LT(1, KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_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_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, LT(1,KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN] = LAYOUT( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_FN] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; \ No newline at end of file +}; diff --git a/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c b/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c index b976dd03ad4c..e22205e0bd00 100644 --- a/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c +++ b/keyboards/dtisaac/dtisaac01/keymaps/via/keymap.c @@ -19,41 +19,41 @@ enum layers { _LAYER0, _LAYER1, - _LAYER2, - _LAYER3, + _LAYER2, + _LAYER3, }; 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_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, LT(1, KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = 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, LT(1,KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP, KC_WAKE, KC_PWR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_ON, BL_UP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_OFF, BL_DOWN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + [_LAYER1] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP, KC_WAKE, KC_PWR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_ON, BL_UP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_OFF, BL_DOWN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), - [_LAYER2] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [_LAYER2] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [_LAYER3] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [_LAYER3] = LAYOUT_tkl_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; \ No newline at end of file +}; diff --git a/keyboards/dtisaac/dtisaac01/keymaps/via/readme.md b/keyboards/dtisaac/dtisaac01/keymaps/via/readme.md index 0407ae2339fe..aa2ec3fa2254 100644 --- a/keyboards/dtisaac/dtisaac01/keymaps/via/readme.md +++ b/keyboards/dtisaac/dtisaac01/keymaps/via/readme.md @@ -1 +1 @@ -# The default keymap for dtisaac01 +# The via keymap for dtisaac01 diff --git a/keyboards/dtisaac/dtisaac01/matrix_diagram.md b/keyboards/dtisaac/dtisaac01/matrix_diagram.md new file mode 100644 index 000000000000..e1034cb589b8 --- /dev/null +++ b/keyboards/dtisaac/dtisaac01/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for DTIsaac dtisaac01 + +``` +┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ +│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │58 │61 │62 │63 ││64 │65 │66 │ +└───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │68 │60 │71 │72 │73 ││74 │75 │76 │ +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī +│20 │21 │22 │23 │24 │25 │26 │27 │28 │78 │70 │81 │82 │83 ││84 │85 │86 │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │88 │80 │91 │93 │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │98 │90 │A1 │A3 │ │A5 │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ +│50 │51 │52 │56 │A0 │B1 │B2 │B3 ││B4 │B5 │B6 │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│50 │51 │52 │56 │B1 │B2 │B3 │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/duck/eagle_viper/v2/config.h b/keyboards/duck/eagle_viper/v2/config.h index e39099ef56f2..94b38574fa7f 100644 --- a/keyboards/duck/eagle_viper/v2/config.h +++ b/keyboards/duck/eagle_viper/v2/config.h @@ -23,17 +23,3 @@ along with this program. If not, see . #define MATRIX_COLS 15 #define DIODE_DIRECTION COL2ROW - -#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 -#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 4d6019ddba09..c2acc3b0d95c 100644 --- a/keyboards/duck/eagle_viper/v2/info.json +++ b/keyboards/duck/eagle_viper/v2/info.json @@ -12,6 +12,21 @@ "bootmagic": { "matrix": [4, 10] }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c b/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c deleted file mode 100644 index f6e3ae8a1cd7..000000000000 --- a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2017 MechMerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* layer 0: qwerty */ - [0] = LAYOUT_viper( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI - ), - - [1] = LAYOUT_viper( - _______, KC_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, RGB_TOG, RGB_MOD, RGB_VAI, QK_BOOT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_BSPC, - _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT, - _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/readme.md b/keyboards/duck/eagle_viper/v2/keymaps/profanum429/readme.md deleted file mode 100644 index 0f993559eaec..000000000000 --- a/keyboards/duck/eagle_viper/v2/keymaps/profanum429/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Profanum429 Duck Viper V2 Layout -TODO - -## Features -TODO diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h index 95459e67b1ac..ec1826db3378 100644 --- a/keyboards/duck/jetfire/config.h +++ b/keyboards/duck/jetfire/config.h @@ -25,18 +25,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#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 -#define RGBLED_NUM 23 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/duck/jetfire/info.json b/keyboards/duck/jetfire/info.json index 287ab0ac4ab6..fbd5d8cb1405 100644 --- a/keyboards/duck/jetfire/info.json +++ b/keyboards/duck/jetfire/info.json @@ -15,6 +15,21 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 23, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/lightsaver/config.h b/keyboards/duck/lightsaver/config.h index cb5a419f566d..88a728942f2d 100644 --- a/keyboards/duck/lightsaver/config.h +++ b/keyboards/duck/lightsaver/config.h @@ -23,17 +23,3 @@ along with this program. If not, see . #define MATRIX_COLS 19 #define DIODE_DIRECTION COL2ROW - -#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 -#define RGBLED_NUM 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/lightsaver/info.json b/keyboards/duck/lightsaver/info.json index 296820d7caf2..06d0d59ed197 100644 --- a/keyboards/duck/lightsaver/info.json +++ b/keyboards/duck/lightsaver/info.json @@ -15,6 +15,21 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/octagon/v1/config.h b/keyboards/duck/octagon/v1/config.h index 9b557edaba3f..bee7675b0c40 100644 --- a/keyboards/duck/octagon/v1/config.h +++ b/keyboards/duck/octagon/v1/config.h @@ -23,17 +23,3 @@ along with this program. If not, see . #define MATRIX_COLS 16 #define DIODE_DIRECTION COL2ROW - -#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 -#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 8186ce878ef8..fbbae2723a8b 100644 --- a/keyboards/duck/octagon/v1/info.json +++ b/keyboards/duck/octagon/v1/info.json @@ -15,6 +15,21 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/octagon/v1/v1.c b/keyboards/duck/octagon/v1/v1.c index dc3b7fc7286f..35aea54456f2 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 MATRIX_COLS 17 #define DIODE_DIRECTION COL2ROW - -#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 -#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 f3bd30fbe579..be552c7b57aa 100644 --- a/keyboards/duck/octagon/v2/info.json +++ b/keyboards/duck/octagon/v2/info.json @@ -15,14 +15,32 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["75_ansi"], + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -208,7 +226,101 @@ {"matrix": [5, 13], "x": 13, "y": 5}, {"matrix": [5, 14], "x": 14, "y": 5}, {"matrix": [5, 15], "x": 15, "y": 5} - ] + ] + }, + "LAYOUT_75_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}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 16], "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "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, 15], "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, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"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, 12], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "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, 8], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] } } } diff --git a/keyboards/duck/octagon/v2/v2.c b/keyboards/duck/octagon/v2/v2.c index 612df9aa3e23..7a3ad76027fc 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 MATRIX_COLS 18 #define DIODE_DIRECTION COL2ROW - -#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 -#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 eff1e5f88cf5..97885c091020 100644 --- a/keyboards/duck/orion/v3/info.json +++ b/keyboards/duck/orion/v3/info.json @@ -16,6 +16,21 @@ "bootmagic": { "matrix": [4, 10] }, + "rgblight": { + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/tcv3/config.h b/keyboards/duck/tcv3/config.h index 13f2d7613988..2f67da17bfc5 100644 --- a/keyboards/duck/tcv3/config.h +++ b/keyboards/duck/tcv3/config.h @@ -23,15 +23,3 @@ along with this program. If not, see . #define MATRIX_COLS 20 #define DIODE_DIRECTION COL2ROW - -#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 -#define RGBLED_NUM 17 diff --git a/keyboards/duck/tcv3/info.json b/keyboards/duck/tcv3/info.json index 69f1033d222d..cee675229d9c 100644 --- a/keyboards/duck/tcv3/info.json +++ b/keyboards/duck/tcv3/info.json @@ -11,6 +11,21 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/tcv3/tcv3.c b/keyboards/duck/tcv3/tcv3.c index ab89e180c0fe..87b22443e471 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 -#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} } - #define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L) diff --git a/keyboards/ducky/one2mini/1861st/info.json b/keyboards/ducky/one2mini/1861st/info.json index 1f1783f635d5..4eb7c4941ed4 100644 --- a/keyboards/ducky/one2mini/1861st/info.json +++ b/keyboards/ducky/one2mini/1861st/info.json @@ -12,6 +12,9 @@ "rows": ["D11", "B4", "B5", "B6", "B7"] }, "diode_direction": "COL2ROW", + "dip_switch": { + "matrix_grid": [ [0,14], [1,14], [2,14], [3,14] ] + }, "layout_aliases": { "LAYOUT_iso": "LAYOUT_60_iso" }, diff --git a/keyboards/ducky/one2mini/1861st/rules.mk b/keyboards/ducky/one2mini/1861st/rules.mk index a5b4708b26f4..b7db490c11ec 100644 --- a/keyboards/ducky/one2mini/1861st/rules.mk +++ b/keyboards/ducky/one2mini/1861st/rules.mk @@ -30,5 +30,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output DIP_SWITCH_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ducky/one2sf/1967st/config.h b/keyboards/ducky/one2sf/1967st/config.h index 92448f54d167..1bb511107db3 100644 --- a/keyboards/ducky/one2sf/1967st/config.h +++ b/keyboards/ducky/one2sf/1967st/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} } - #define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L) diff --git a/keyboards/ducky/one2sf/1967st/info.json b/keyboards/ducky/one2sf/1967st/info.json index 72ba3c8ae856..3774be1bc060 100644 --- a/keyboards/ducky/one2sf/1967st/info.json +++ b/keyboards/ducky/one2sf/1967st/info.json @@ -13,6 +13,9 @@ "rows": ["D11", "B4", "B5", "B6", "B7"] }, "diode_direction": "COL2ROW", + "dip_switch": { + "matrix_grid": [ [0,14], [1,14], [2,14], [3,14] ] + }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/ducky/one2sf/1967st/rules.mk b/keyboards/ducky/one2sf/1967st/rules.mk index a5b4708b26f4..b7db490c11ec 100644 --- a/keyboards/ducky/one2sf/1967st/rules.mk +++ b/keyboards/ducky/one2sf/1967st/rules.mk @@ -30,5 +30,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output DIP_SWITCH_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/dumbo/keymaps/default/rules.mk b/keyboards/dumbo/keymaps/default/rules.mk index a2d6e788f985..0f4dda264784 100644 --- a/keyboards/dumbo/keymaps/default/rules.mk +++ b/keyboards/dumbo/keymaps/default/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders diff --git a/keyboards/dumbo/keymaps/trip-trap/config.h b/keyboards/dumbo/keymaps/trip-trap/config.h deleted file mode 100644 index 15b6ce7c0d31..000000000000 --- a/keyboards/dumbo/keymaps/trip-trap/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 Adam Naldal - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -// Tapping term is ever so slightly lowered from the 200ms default to make layer and mod usage more snappy. -#define TAPPING_TERM 200 - -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK diff --git a/keyboards/dumbo/keymaps/trip-trap/keymap.c b/keyboards/dumbo/keymaps/trip-trap/keymap.c deleted file mode 100644 index 6e6a909e7e0c..000000000000 --- a/keyboards/dumbo/keymaps/trip-trap/keymap.c +++ /dev/null @@ -1,430 +0,0 @@ -/* Copyright 2020 Adam Naldal - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_danish.h" -#include - -enum layers { - _QWERTY = 0, - _COLEMAK, - _NN, - _MS, - _SP -}; - -// Default layer switching -#define QWERT DF(_QWERTY) -#define COLEM DF(_COLEMAK) - -// Layer tap codes -#define LT_SPC LT(_NN, KC_SPC) -#define LT_TAB LT(_MS, KC_TAB) -#define LT_ENT LT(_MS, KC_ENT) -#define LT_BSPC LT(_NN, KC_BSPC) - -// Qwerty homerow mods -#define A_CTL LCTL_T(KC_A) -#define S_ALT LALT_T(KC_S) -#define D_GUI LGUI_T(KC_D) -#define F_SFT LSFT_T(KC_F) -#define J_SFT RSFT_T(KC_J) -#define K_GUI RGUI_T(KC_K) -#define L_ALT RALT_T(KC_L) -#define AE_CTL RCTL_T(DK_AE) - -// Colemak homerow mods -#define R_ALT LALT_T(KC_R) -#define S_GUI LGUI_T(KC_S) -#define T_SFT LSFT_T(KC_T) -#define N_SFT RSFT_T(KC_N) -#define E_GUI RGUI_T(KC_E) -#define I_ALT RALT_T(KC_I) -#define O_CTL RCTL_T(KC_O) - -// Navigation and numbers homerow mods -#define RGHT_SFT LSFT_T(KC_RGHT) -#define DOWN_GUI LGUI_T(KC_DOWN) -#define LEFT_ALT LALT_T(KC_LEFT) -#define N4_SFT RSFT_T(KC_4) -#define N5_GUI RGUI_T(KC_5) -#define N6_ALT RALT_T(KC_6) -#define OE_CTL RCTL_T(DK_OSTR) - -// Undefined or wrong symbols (homebrew) -#define HB_LCBR S(A(KC_8)) // { -#define HB_RCBR S(A(KC_9)) // } -#define HB_LABR KC_GRV // < -#define HB_RABR S(KC_GRV) // > -#define HB_USD KC_NUBS // $ -#define HB_PRGF S(KC_NUBS) // § -#define HB_AT A(KC_NUHS) // @ -#define HB_EUR S(KC_4) // ₮ - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Base Layer: 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 | , ; | . : | - _ | | - * `------------------------âŦŸ------âŦŸ------âŦŸ------âŦŸ------. ,-----âŦŸ------âŦŸ------âŦŸ------âŦŸ-------------------------' - * | MUTE | Esc | Space| Tab | | Enter| Bksp | Caps| PLAY| - * |(enc) | | _NN | _MS | | _MS | _NN | |(enc)| - * `---------------------------' `---------------------------' - */ - [_QWERTY] = LAYOUT_split_3x6_4( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, DK_ARNG, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, A_CTL, S_ALT, D_GUI, F_SFT, KC_G, KC_H, J_SFT, K_GUI, L_ALT, AE_CTL, DK_OSTR, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DK_MINS, XXXXXXX, - //|--------+--------+-----------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ--------. .--------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ-----------+--------+--------| - KC_MUTE, KC_ESC, LT_SPC, LT_TAB, LT_ENT, LT_BSPC, KC_CAPS, KC_MPLY - //`------------------------------------' '------------------------------------' - ), -/* - * Base Layer: COLEMAK - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | Q | W | F | P | B | | J | L | U | Y | Å | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | A | R | S | T | G | | M | N | E | I | O | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | Z | X | C | D | V | | K | H | , ; | . : | Æ | | - * `------------------------âŦŸ------âŦŸ------âŦŸ------âŦŸ------. ,-----âŦŸ------âŦŸ------âŦŸ------âŦŸ-------------------------' - * | MUTE | Esc | Space| Tab | | Enter| Bksp | Caps | PLAY| - * |(enc) | | _NN | _MS | | _MS | _NN | | (enc)| - * `---------------------------' `---------------------------' - */ - [_COLEMAK] = LAYOUT_split_3x6_4( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, DK_ARNG, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, A_CTL, R_ALT, S_GUI, T_SFT, KC_G, KC_M, N_SFT, E_GUI, I_ALT, O_CTL, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, DK_AE, XXXXXXX, - //|--------+--------+-----------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ--------. .--------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ-----------+--------+--------| - KC_MUTE, KC_ESC, LT_SPC, LT_TAB, LT_ENT, LT_BSPC, KC_CAPS, KC_MPLY - //`------------------------------------' '------------------------------------' - ), - /* - * Navigation and Numbers: _NN - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | Home | Up | End | pgUp | | * | 7 | 8 | 9 | + | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | Left | Down | Right| pgDwn| | / | 4 | 5 | 6 | Ø | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | Cut | Copy | | Paste| | = | 1 | 2 | 3 | - | | - * `------------------------âŦŸ------âŦŸ------âŦŸ------âŦŸ------. ,-----âŦŸ------âŦŸ------âŦŸ------âŦŸ-------------------------' - * | MUTE | Del | Space| Tab | | Enter| Bksp | 0 | PLAY | - * |(enc) | | _NN | _MS | | _MS | _NN | |(enc) | - * `---------------------------' `---------------------------' - */ - [_NN] = LAYOUT_split_3x6_4( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, DK_ASTR, KC_7, KC_8, KC_9, DK_PLUS, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, KC_LCTL,LEFT_ALT,DOWN_GUI,RGHT_SFT, KC_PGDN, DK_SLSH, N4_SFT, N5_GUI, N6_ALT, OE_CTL, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, G(KC_X), G(KC_C), XXXXXXX, G(KC_V), DK_EQL, KC_1, KC_2, KC_3, DK_MINS, XXXXXXX, - //|--------+--------+-----------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ--------. .--------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ-----------+--------+--------| - KC_MUTE, KC_DEL, _______, _______, _______, _______, KC_0, KC_MPLY - //`------------------------------------' '------------------------------------' - ), - /* - * Media and Symbols: _MS - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | [ | ] | F1 | | $ | / | ( | ) | ? | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | |brght-|brght+| { | } | F2 | | @ | ₮ | % | & | ' | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | | < | > | F3 | | § | ! | " | # | _ | | - * `------------------------âŦŸ------âŦŸ------âŦŸ------âŦŸ------. ,-----âŦŸ------âŦŸ------âŦŸ------âŦŸ-------------------------' - * | MUTE | Esc | Space| Tab | | Enter| Bksp | Caps | PLAY| - * |(enc) | | _NN | _MS | | _MS | _NN | | (enc)| - * `---------------------------' `---------------------------' - */ - [_MS] = LAYOUT_split_3x6_4( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, DK_LBRC, DK_RBRC, KC_F1, HB_USD, DK_SLSH, DK_LPRN, DK_RPRN, DK_QUES, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, KC_BRID, KC_BRIU, HB_LCBR, HB_RCBR, KC_F2, HB_AT, HB_EUR, DK_PERC, DK_AMPR, DK_QUOT, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, HB_LABR, HB_RABR, KC_F3, HB_PRGF, DK_EXLM, DK_DQUO, DK_HASH, DK_UNDS, XXXXXXX, - //|--------+--------+-----------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ--------. .--------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ-----------+--------+--------| - KC_MUTE, KC_ESC, _______, _______, _______, _______, KC_CAPS, KC_MPLY - //`------------------------------------' '------------------------------------' - ), -/* - * Special functions: _SP - * - * ,-------------------------------------------. ,-------------------------------------------. - * | |QWERTY| | | QK_BOOT| | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | | Debug| | | | | | | | | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | |COLEMK| | | | | | | | | | - * `------------------------âŦŸ------âŦŸ------âŦŸ------âŦŸ------. ,-----âŦŸ------âŦŸ------âŦŸ------âŦŸ-------------------------' - * | GUI | Del | Space| Nav +| |Media+| Bksp | Enter| AltGr| - * | | | |Number| |symbol| | | | - * `---------------------------' `---------------------------' - */ - [_SP] = LAYOUT_split_3x6_4( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, QWERT, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, COLEM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+-----------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ--------. .--------âŦŸ--------âŦŸ--------âŦŸ--------âŦŸ-----------+--------+--------| - KC_MUTE, KC_ESC, _______, _______, _______, _______, KC_CAPS, KC_MPLY - //`------------------------------------' '------------------------------------' - ), - -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _NN, _MS, _SP); -} - -#ifdef OLED_ENABLE -char wpm_str[10]; - -// static void render_logo(void) { -// static const char PROGMEM qmk_logo[] = { -// 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, -// 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, -// 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 -// }; -// -// oled_write_P(qmk_logo, false); -// } - -static void print_status_narrow(void) { - // Print current mode - oled_write_P(PSTR("\n"), false); - oled_write_ln_P(PSTR("MODE"), false); - oled_write_ln_P(PSTR(""), false); - - switch (get_highest_layer(default_layer_state)) { - case _QWERTY: - oled_write_ln_P(PSTR("Qwrt"), false); - break; - case _COLEMAK: - oled_write_ln_P(PSTR("Clmk"), false); - break; - default: - oled_write_P(PSTR("Undef"), false); - } - oled_write_P(PSTR("\n\n"), false); - // Print current layer - oled_write_ln_P(PSTR("LAYER"), false); - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("Base\n"), false); - break; - case _NN: - oled_write_P(PSTR("Nums\n"), false); - break; - case _MS: - oled_write_P(PSTR("Sym\n"), false); - break; - case _SP: - oled_write_P(PSTR("Spec\n"), false); - break; - default: - oled_write_ln_P(PSTR("Undef\n"), false); - } - oled_write_P(PSTR("\n\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); -} - -#define ANIM_NUM_FRAMES 2 // number of frames in the animation -#define MAX_DURATION 10000 -#define ANIM_BEGIN 30 -uint16_t anim_frame_duration = 100; // how long each frame lasts -// #define ANIM_REVERSE // define this if you want the animation to run backwards at the end - -#ifdef ANIM_REVERSE -#define ANIM_TOTAL_FRAMES (2*((ANIM_NUM_FRAMES)-1)) -#else -#define ANIM_TOTAL_FRAMES ANIM_NUM_FRAMES -#endif - -uint16_t anim_timer = 0; -uint8_t current_anim_frame = 0; - -static void render_anim(void) { - static const char PROGMEM frame[ANIM_NUM_FRAMES][512] = { - { - // 'pokemon experiment frame 1', 32x128px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x60, 0x10, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x3c, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0xf2, 0x3a, 0x1c, 0x3c, 0xf8, 0xe0, 0x00, 0x00, 0x01, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x70, 0x8c, 0x03, 0x41, 0x82, 0x02, 0x03, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x04, 0x84, 0x84, 0xc7, 0x63, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x1c, 0x28, 0x58, 0xa4, 0xa4, 0x44, 0x42, 0x42, - 0x23, 0x97, 0x91, 0x48, 0x24, 0x23, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x70, 0x08, 0x04, 0x04, 0x08, 0x08, 0x50, 0x20, 0x10, 0x10, 0x10, 0x90, 0x90, - 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x20, 0x10, 0x08, 0x08, 0x04, 0x04, 0x08, 0xf0, 0x00, 0x00, - 0x80, 0x78, 0x1f, 0x3a, 0xf2, 0xc4, 0x00, 0x00, 0x30, 0x60, 0x00, 0x06, 0x8f, 0xcf, 0xe7, 0x03, - 0x01, 0x00, 0x04, 0xf2, 0x3a, 0x1c, 0x1c, 0x78, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, - 0x1f, 0x64, 0xb4, 0x64, 0xa7, 0x23, 0x40, 0x48, 0x50, 0x40, 0x80, 0x80, 0x91, 0x89, 0x80, 0x80, - 0x80, 0x40, 0x40, 0x47, 0x44, 0x44, 0xa4, 0x64, 0x27, 0x13, 0x08, 0x00, 0x00, 0x80, 0x60, 0x1f, - 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x04, 0x0c, 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x0c, - 0x0c, 0x0c, 0x0a, 0x0a, 0x09, 0x05, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 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, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xfc, 0x1b, 0x3c, 0xfc, 0xf9, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0xf1, 0x39, 0x1c, 0x3c, 0xfc, 0xf8, 0xf0, 0x00, 0x00, 0x03, 0x0c, 0xf0, - 0x00, 0xf8, 0x06, 0x01, 0x32, 0x02, 0x03, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x84, 0x84, 0x47, 0xe3, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x3f, - 0x00, 0x00, 0x01, 0x02, 0x06, 0x0a, 0x14, 0x28, 0x48, 0x44, 0x44, 0xc2, 0xc2, 0xc2, 0xa2, 0xa2, - 0xa1, 0x91, 0x91, 0x89, 0x49, 0x45, 0x44, 0x22, 0x21, 0x10, 0x10, 0x08, 0x04, 0x02, 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, - - }, - { - // 'pokemon experiment frame 2', 32x128px - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x84, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x80, 0x00, 0x01, 0x01, 0x01, 0x02, 0x0c, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, 0x87, 0x8f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0xfc, 0x0e, 0x07, 0x0f, 0xfe, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1c, 0x63, 0x80, 0x10, 0x20, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x81, 0x81, 0x41, 0x41, 0x21, 0x10, 0x00, 0x80, 0x60, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x06, 0x04, 0x04, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, - 0x05, 0x07, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0x10, 0x10, 0xa0, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x00, - 0x00, 0xf0, 0x3f, 0x72, 0xe2, 0x80, 0x00, 0x00, 0x60, 0xc0, 0x00, 0x0c, 0x1e, 0x9e, 0xcf, 0x07, - 0x03, 0x00, 0x00, 0xe2, 0x72, 0x38, 0x38, 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x01, 0x1e, 0xe0, - 0x3f, 0xc8, 0x68, 0x48, 0x8f, 0x87, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x43, 0x23, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x0f, 0x08, 0x88, 0x88, 0x48, 0x4f, 0x27, 0x10, 0x00, 0x00, 0x00, 0xc0, 0x3f, - 0x00, 0x00, 0x01, 0x02, 0x02, 0x06, 0x05, 0x09, 0x09, 0x09, 0x12, 0x12, 0x12, 0x12, 0x11, 0x11, - 0x11, 0x11, 0x11, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 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, 0x80, 0x40, 0x20, 0x90, 0x88, 0x88, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x82, 0x82, 0x84, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xfe, 0x0d, 0x1e, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1c, 0x0e, 0x1e, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x01, 0x06, 0xf8, - 0x00, 0x78, 0x87, 0x00, 0x31, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x82, 0x82, 0x43, 0x61, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, - 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x0c, 0x08, 0x14, 0x12, 0x12, 0x12, 0x22, 0x22, 0x22, - 0x21, 0x21, 0x21, 0x21, 0x11, 0x11, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 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 - } - }; - - if (get_current_wpm() > ANIM_BEGIN){ - if(timer_elapsed(anim_timer) > anim_frame_duration) { - anim_timer = timer_read(); - current_anim_frame = (current_anim_frame + 1) % ANIM_TOTAL_FRAMES; - oled_clear(); - oled_write_raw_P(frame[abs((ANIM_NUM_FRAMES-1)-current_anim_frame)], 512); - if (get_current_wpm() > ANIM_BEGIN){ - anim_frame_duration = MAX_DURATION/get_current_wpm(); - } - } - } else { - oled_write_raw_P(frame[0],512); - } -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } - if (is_keyboard_master() != true){ - return OLED_ROTATION_270; - } - return rotation; -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - print_status_narrow(); - sprintf(wpm_str, "%03d", get_current_wpm()); - oled_write(wpm_str, false); - } else { - render_anim(); - } - return false; -} -#endif - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - // master side thumb encoder - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - else if (index == 1) { - // master side pinky encoder - // Page down / Page up - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - else if (index == 2) { - // minion side thumb encoder - // Next track / Previous track - if (clockwise) { - tap_code(KC_MFFD); - } else { - tap_code(KC_MRWD); - } - } - else if (index == 3) { - // minion side pinky encoder - // Page end / Page home - if (clockwise) { - tap_code(KC_END); - } else { - tap_code(KC_HOME); - } - } - return true; -} -#endif diff --git a/keyboards/dumbo/keymaps/trip-trap/rules.mk b/keyboards/dumbo/keymaps/trip-trap/rules.mk deleted file mode 100644 index 1913e10c490b..000000000000 --- a/keyboards/dumbo/keymaps/trip-trap/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = yes # Enables the use of one or more encoders -WPM_ENABLE = yes diff --git a/keyboards/dumbpad/config.h b/keyboards/dumbpad/config.h deleted file mode 100644 index 879046ea07ae..000000000000 --- a/keyboards/dumbpad/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 imchipwood - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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/dumbpad/info.json b/keyboards/dumbpad/info.json index 341a1bcf8b7c..605d90fbb486 100644 --- a/keyboards/dumbpad/info.json +++ b/keyboards/dumbpad/info.json @@ -6,5 +6,8 @@ "usb": { "vid": "0xDEAF", "pid": "0x0913" + }, + "tapping": { + "toggle": 2 } } diff --git a/keyboards/dumbpad/v0x/v0x.c b/keyboards/dumbpad/v0x/v0x.c index 6c89edaa110c..d7e3841d760b 100644 --- a/keyboards/dumbpad/v0x/v0x.c +++ b/keyboards/dumbpad/v0x/v0x.c @@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c index 6c89edaa110c..d7e3841d760b 100644 --- a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c +++ b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c @@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v0x_right/v0x_right.c b/keyboards/dumbpad/v0x_right/v0x_right.c index 6c89edaa110c..d7e3841d760b 100644 --- a/keyboards/dumbpad/v0x_right/v0x_right.c +++ b/keyboards/dumbpad/v0x_right/v0x_right.c @@ -22,10 +22,14 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c b/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c deleted file mode 100644 index 96a98b11c5a7..000000000000 --- a/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 2020 imchipwood - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "imchipwood.h" - -enum custom_layers { - _BASE, - _SUB, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - BASE LAYER - /-----------------------------------------------------` - | | 7 | 8 | 9 | Bkspc | - | |---------|---------|---------|---------| - | | 4 | 5 | 6 | + | - | |---------|---------|---------|---------| - | | 1 | 2 | 3 | * | - |-------------|---------|---------|---------|---------| - | Play/Pause | TT(SUB) | 0 | . | Enter | - \-----------------------------------------------------' - */ - [_BASE] = LAYOUT( - KC_P7, KC_P8, KC_P9, KC_BSPC, - KC_P4, KC_P5, KC_P6, KC_KP_PLUS, - KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, - MEH_T(KC_MPLY), TT(_SUB), KC_P0, KC_PDOT, KC_KP_ENTER - ), - /* - SUB LAYER - /-----------------------------------------------------` - | | F7 | F8 | F9 | Del/NLK | - | |---------|---------|---------|---------| - | | F4 | F5 | F6 | - | - | |---------|---------|---------|---------| - | | F1 | F2 | F3 | / | - |-------------|---------|---------|---------|---------| - | MUTE | | LSFT | LCTL | = | - \-----------------------------------------------------' - */ - [_SUB] = LAYOUT( - TD(ALT_F7), KC_F8, KC_F9, TD(DEL_NLCK), - KC_F4, TD(CTL_F5), KC_F6, KC_KP_MINUS, - KC_F1, TD(ALT_F2), KC_F3, KC_KP_SLASH, - KC_MUTE, _______, OSM(MOD_LSFT), OSM(MOD_LCTL), KC_KP_EQUAL - ) -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - switch (get_highest_layer(layer_state)) { - case _BASE: - // main layer - volume up/down - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - case _SUB: - // sub layer - next/previous track - if (clockwise) { - tap_code(KC_MNXT); - } else { - tap_code(KC_MPRV); - } - break; - - default: - // default - volume up/down - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - } - } - return true; -} diff --git a/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c b/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c deleted file mode 100644 index 334c72596ad9..000000000000 --- a/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright 2020 imchipwood - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - BASE LAYER - /-----------------------------------------------------` - | | 7 | 8 | 9 | Bkspc | - | |---------|---------|---------|---------| - | | 4 | 5 | 6 | + | - | |---------|---------|---------|---------| - | | 1 | 2 | 3 | * | - |-------------|---------|---------|---------|---------| - | Play/pause | TT(1) | 0 | . | Enter | - \-----------------------------------------------------' - */ - [0] = LAYOUT( - KC_P7, KC_P8, KC_P9, KC_BSPC, - KC_P4, KC_P5, KC_P6, KC_KP_PLUS, - KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, - KC_MPLY, TT(1), KC_P0, KC_PDOT, KC_KP_ENTER - ), - /* - SUB LAYER - /-----------------------------------------------------` - | | | | | Numlock | - | |---------|---------|---------|---------| - | | | | | - | - | |---------|---------|---------|---------| - | | | | | / | - |-------------|---------|---------|---------|---------| - | MUTE | | | | = | - \-----------------------------------------------------' - */ - [1] = LAYOUT( - _______, _______, _______, KC_NUM, - _______, _______, _______, KC_KP_MINUS, - _______, _______, _______, KC_KP_SLASH, - KC_MUTE, _______, _______, _______, KC_KP_EQUAL - ), -}; - -void encoder_update_user(uint8_t index, bool clockwise) { - /* Custom encoder control - handles CW/CCW turning of encoder - * Default behavior: - * main layer: - * CW: volume up - * CCW: volume down - * other layers: - * CW: next track - * CCW: previous track - */ - if (index == 0) { - switch (get_highest_layer(layer_state)) { - case 0: - // main layer - volume up (CW) and volume down (CCW) - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - default: - // other layers - media next (CW) and media previous (CCW) - if (clockwise) { - tap_code(KC_MNXT); - } else { - tap_code(KC_MPRV); - } - break; - } - } -} diff --git a/keyboards/dumbpad/v1x/v1x.c b/keyboards/dumbpad/v1x/v1x.c index f1b1d66c7ff7..1022ad060534 100644 --- a/keyboards/dumbpad/v1x/v1x.c +++ b/keyboards/dumbpad/v1x/v1x.c @@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); writePinLow(LED_02); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c index f1b1d66c7ff7..1022ad060534 100644 --- a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c +++ b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c @@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); writePinLow(LED_02); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v1x_oled/config.h b/keyboards/dumbpad/v1x_oled/config.h deleted file mode 100644 index 1293e859792e..000000000000 --- a/keyboards/dumbpad/v1x_oled/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* -Copyright 2020 imchipwood -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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/dumbpad/v1x_oled/rules.mk b/keyboards/dumbpad/v1x_oled/rules.mk index 073a351a03c2..53db407bc362 100644 --- a/keyboards/dumbpad/v1x_oled/rules.mk +++ b/keyboards/dumbpad/v1x_oled/rules.mk @@ -13,5 +13,4 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/dumbpad/v1x_right/v1x_right.c b/keyboards/dumbpad/v1x_right/v1x_right.c index f1b1d66c7ff7..1022ad060534 100644 --- a/keyboards/dumbpad/v1x_right/v1x_right.c +++ b/keyboards/dumbpad/v1x_right/v1x_right.c @@ -23,11 +23,15 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); writePinLow(LED_02); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/dumbpad/v3x/config.h b/keyboards/dumbpad/v3x/config.h index 1944244c3bd3..7667bb39d06a 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 5be344c17b02..24c16ac0afb4 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/dumbpad/v3x/keymaps/deveth0/keymap.c b/keyboards/dumbpad/v3x/keymaps/deveth0/keymap.c deleted file mode 100644 index 3d0fd20ecfef..000000000000 --- a/keyboards/dumbpad/v3x/keymaps/deveth0/keymap.c +++ /dev/null @@ -1,104 +0,0 @@ -/* -Copyright 2022 imchipwood && deveth0 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 MUTE_HOLD_DELAY 400 -static uint16_t mute_hold_timer = 0; - -enum custom_keycodes { - MUTE_TEAMS = SAFE_RANGE, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - BASE LAYER - Media Controls - /------------------------------------------------------------------------------------` - | | Media Prev | Media Pause | Media Next | | - | |--------------------|-------------------|------------------|---------| - | | Teams - Mute | | | | - | |--------------------|-------------------|------------------|---------| - | | | | | | - |-------------|--------------------|-------------------|------------------|---------| - | Mute | TT(1) | | | Enter | - \------------------------------------------------------------------------------------' - */ - [0] = LAYOUT( - KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, - MUTE_TEAMS, KC_NO, KC_NO, KC_NO, - KC_MUTE, TT(1), KC_NO, KC_NO, KC_NO - ), - /* - SUB LAYER - RGB controls, Modes on encoder - /-----------------------------------------------------` - | | On/Off | Bright- | Bright+ | Reset | - | |---------|---------|---------|---------| - | | | Hue- | Hue+ | | - | |---------|---------|---------|---------| - | | | Sat- | Sat+ | | - |-------------|---------|---------|---------|---------| - | | TT(1) | Effect- | Effect+ | | - \-----------------------------------------------------' - */ - [1] = LAYOUT( - RGB_TOG, RGB_VAD, RGB_VAI, QK_BOOT, - KC_NO, RGB_HUD, RGB_HUI, KC_NO, - KC_NO, RGB_SAD, RGB_SAI, KC_NO, - KC_NO, _______, RGB_SPD, RGB_SPI, KC_NO - ), -}; -// clang-format on - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // props to https://www.reddit.com/r/olkb/comments/oewbr2/comment/h49z38r - switch (keycode) { - case MUTE_TEAMS: - if (record->event.pressed) { // when keycode MUTE_TEAMS is pressed - mute_hold_timer = timer_read(); // mark the time the key was pressed - tap_code16(LCTL(LSFT(KC_M))); // tap Ctrl + Shift + M (mute shortcut) - } else { // when keycode MUTE_TEAMS is released - if (timer_elapsed(mute_hold_timer) > MUTE_HOLD_DELAY) // if held longer than MUTE_HOLD_DELAY - tap_code16(LCTL(LSFT(KC_M))); // tap the mute shortcut again - } // otherwise do nothing - break; - } - return true; -}; - -bool encoder_update_user(uint8_t index, bool clockwise) { - switch (get_highest_layer(layer_state)) { - case 0: - // main layer, volume - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - default: - // rgb control layer, effects - if (clockwise) { - rgblight_step(); - } else { - rgblight_step_reverse(); - } - break; - } - return false; -} diff --git a/keyboards/dumbpad/v3x/v3x.c b/keyboards/dumbpad/v3x/v3x.c index d0acca1947fd..89f13684f264 100644 --- a/keyboards/dumbpad/v3x/v3x.c +++ b/keyboards/dumbpad/v3x/v3x.c @@ -54,11 +54,15 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } -void shutdown_user(void) { +bool shutdown_kb(bool jump_to_bootloader) { + if (!shutdown_user(jump_to_bootloader)) { + return false; + } // Shutdown LEDs writePinLow(LED_00); writePinLow(LED_01); writePinLow(LED_02); + return true; } layer_state_t layer_state_set_kb(layer_state_t state) { diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index beb580a58818..7c85f977ba89 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -34,21 +34,9 @@ #define LED_MR_LOCK_PIN LED_SCROLL_LOCK_PIN #ifdef RGB_MATRIX_ENABLE -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010011 - -#define DRIVER_COUNT 2 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) /* I2C Alternate function settings */ diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c index 9d0d25f82371..aa903c3a0a0f 100644 --- a/keyboards/durgod/dgk6x/galaxy/galaxy.c +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c index fb54c95667b0..2d1907f4dbb0 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c +++ b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json index 6be76652800a..e3b969149ac9 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/dgk6x/hades", + "keyboard": "durgod/dgk6x/hades_ansi", "keymap": "default", "layout": "LAYOUT_65_ansi", "layers": [ diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json index 0cef377c841a..7c25f6efb07b 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/dgk6x/hades", + "keyboard": "durgod/dgk6x/hades_ansi", "keymap": "via", "layout": "LAYOUT_65_ansi", "layers": [ diff --git a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c index 5f7a724aea81..42f43645f580 100644 --- a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c +++ b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/info.json b/keyboards/durgod/dgk6x/info.json index df4c004ab5f8..a52d0a9b8f71 100644 --- a/keyboards/durgod/dgk6x/info.json +++ b/keyboards/durgod/dgk6x/info.json @@ -5,7 +5,7 @@ "on_state": 0 }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "processor": "STM32F072", // F070 "bootloader": "stm32-dfu", diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c index 8c5ba712b1c1..d48e95fb212a 100644 --- a/keyboards/durgod/dgk6x/venus/venus.c +++ b/keyboards/durgod/dgk6x/venus/venus.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/k310/keymaps/chimera/keymap.c b/keyboards/durgod/k310/keymaps/chimera/keymap.c deleted file mode 100644 index 9caf40781375..000000000000 --- a/keyboards/durgod/k310/keymaps/chimera/keymap.c +++ /dev/null @@ -1,373 +0,0 @@ -/* Copyright 2021 Don Kjer and Tyler Tidman - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _WBL, - _WFL, - _WSL, - _MBL, - _MFL, - _MSL -}; - -#ifndef DEFAULT_LAYOUT -# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout. -#endif -#ifndef ALT_LAYOUT -# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active. -#endif - -static bool win_key_locked = false; -static bool mac_media_locked = false; -static bool win_appkey_pressed = false; -static bool mac_fnkey_pressed = false; - - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows) - KC_TMED, // Toggle between Fx keys or Media keys (Mac) - KC_WFN, // Windows function key - KC_MFN, // Mac function key - MO_WSL, // Windows system key - MO_MSL, // Mac system key - DF_W2MBL, // Change layout from Windows to Mac - DF_M2WBL // Change layout from Mac to Windows -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _WBL: Windows Base Layer (Default Layer) - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │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 │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”ĪEnt│ - * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WBL] = LAYOUT_all( /* Windows Base Layer */ - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - /* Keymap _WFL: Windows Function Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │Mut│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WFL] = LAYOUT_all( /* Windows Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______ - ), - /* Keymap _WSL: Windows System Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WSL] = LAYOUT_all( /* Windows Second / System Layer */ - QK_BOOT, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, 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, DB_TOGG, 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 - ), - - /* Keymap _MBL: Mac Base Layer (Alternate Layout) - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │F13│F14│F15│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │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 │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”ĪEnt│ - * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MBL] = LAYOUT_all( /* Mac Base Layer */ - 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_F14, KC_F15, - 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - /* Keymap _MFL: Mac Function Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │ │ │Br-│Br+│ │ │ │ │ │Prv│Ply│ │Nxt│Mut│Vo-│Vo+│ │TMd│ │Mut│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MFL] = LAYOUT_all( /* Mac Function Layer */ - _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______ - ), - /* Keymap _MSL: Mac System Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MSL] = LAYOUT_all( /* Mac Second / System Layer */ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, 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, DB_TOGG, 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 - ) -}; - -void unlock_win_key(void) { - win_key_locked = false; - mac_media_locked = false; - writePinHigh(LED_WIN_LOCK_PIN); -} - -void toggle_lock_win_key(void) { - win_key_locked = !win_key_locked; - writePin(LED_WIN_LOCK_PIN, !win_key_locked); -} - -void toggle_lock_media_key(void) { - mac_media_locked = !mac_media_locked; - writePin(LED_WIN_LOCK_PIN, !mac_media_locked); -} - -#ifdef CONSOLE_ENABLE -void dprint_global_layers(void) { - dprint("Global Layers:"); - if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} - -void dprint_layers(layer_state_t state) { - dprint("Layers:"); - if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} -#endif - -layer_state_t default_layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("default_layer_state_set_user: 0x%x\n", state); - dprint_global_layers(); -#endif - // Disable windows key lock on default layer transition. - unlock_win_key(); - win_appkey_pressed = false; - mac_fnkey_pressed = false; - writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT)); - return state; -} - -layer_state_t layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("layer_state_set_user: 0x%x\n", state); - dprint_layers(state); -#endif - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_TGUI: - if (!record->event.pressed) { - // Toggle GUI lock on key release - toggle_lock_win_key(); - } - break; - case KC_TMED: - // Only trigger when Fn key is also held down, to avoid accidental unlock. - if (!mac_fnkey_pressed) { return false; } - if (!record->event.pressed) { - // Toggle Media Lock on key release - toggle_lock_media_key(); - } - break; - case KC_LGUI: - if (win_key_locked) { return false; } - break; - case KC_WFN: - // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down. - if (record->event.pressed) { - layer_on(_WFL); - if (win_appkey_pressed) { - // Also enable Secondary layer if App key is being held down. - win_appkey_pressed = false; - layer_on(_WSL); - } - } else { - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - } - break; - case KC_APP: - if (record->event.pressed) { - // Don't actually press down the app menu key - win_appkey_pressed = true; - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (win_appkey_pressed) { - win_appkey_pressed = false; - // Tap the KC_APP key on key release. - tap_code(KC_APP); - } - } - return false; - break; - case KC_MFN: - // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN. - if (record->event.pressed) { - mac_fnkey_pressed = true; - layer_on(_MFL); - // Also enable Secondary layer if Right-Alt key is being held down. - if (get_mods() & MOD_BIT(KC_RALT)) { - layer_on(_MSL); - } - } else { - mac_fnkey_pressed = false; - if (!mac_media_locked) { - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - } - } - break; - case KC_RALT: - // Disable MSL/WFL layer on key-up. - if (!record->event.pressed) { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case MO_WSL: - if (record->event.pressed) { - layer_on(_WSL); - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - } - break; - case MO_MSL: - if (record->event.pressed) { - layer_on(_MSL); - } else { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case DF_W2MBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_MBL); - layer_state_set(1UL<<_MFL | 1UL<<_MSL); - } - break; - case DF_M2WBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_WBL); - layer_state_set(1UL<<_WFL | 1UL<<_WSL); - } - break; - case QK_BOOT: - if (record->event.pressed) { - // Flash LEDs to indicate bootloader mode is enabled. - on_all_leds(); - } - break; - } - return true; -} - -void keyboard_post_init_user(void) { - default_layer_set(1UL<. - */ - -#include QMK_KEYBOARD_H - -// Layer shorthand -enum _layer { - _WBL, - _WFL, - _WSL, - _MBL, - _MFL, - _MSL -}; - -#ifndef DEFAULT_LAYOUT -# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout. -#endif -#ifndef ALT_LAYOUT -# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active. -#endif - -static bool win_key_locked = false; -static bool mac_media_locked = false; -static bool win_appkey_pressed = false; -static bool mac_fnkey_pressed = false; - - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows) - KC_TMED, // Toggle between Fx keys or Media keys (Mac) - KC_WFN, // Windows function key - KC_MFN, // Mac function key - MO_WSL, // Windows system key - MO_MSL, // Mac system key - DF_W2MBL, // Change layout from Windows to Mac - DF_M2WBL // Change layout from Mac to Windows -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _WBL: Windows Base Layer (Default Layer) - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │PSc│Slk│Pse│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │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 │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”ĪEnt│ - * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WBL] = LAYOUT_all( /* Windows Base Layer */ - KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - /* Keymap _WFL: Windows Function Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │ │ │Mut│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WFL] = LAYOUT_all( /* Windows Function Layer */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______ - ), - /* Keymap _WSL: Windows System Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_WSL] = LAYOUT_all( /* Windows Second / System Layer */ - QK_BOOT, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, 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, DB_TOGG, 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 - ), - - /* Keymap _MBL: Mac Base Layer (Alternate Layout) - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │F13│F14│F15│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │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 │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”ĪEnt│ - * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MBL] = LAYOUT_all( /* Mac Base Layer */ - KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_F13, KC_F14, KC_F15, - 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - /* Keymap _MFL: Mac Function Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │TMd│ │Mut│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MFL] = LAYOUT_all( /* Mac Function Layer */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TMED, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______ - ), - /* Keymap _MSL: Mac System Layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮┈┈┈┈â”Ī └───â”ī───â”ī───┘ ├───┾───┾───â”Ī │ - * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ ├───┾───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī ┌───┾───┾───┐ ├───â”ī───┾───â”Ī │ - * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───────â”ī───â”ī───┘ - */ - [_MSL] = LAYOUT_all( /* Mac Second / System Layer */ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, 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, DB_TOGG, 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 - ) -}; - -void unlock_win_key(void) { - win_key_locked = false; - mac_media_locked = false; - writePinHigh(LED_WIN_LOCK_PIN); -} - -void toggle_lock_win_key(void) { - win_key_locked = !win_key_locked; - writePin(LED_WIN_LOCK_PIN, !win_key_locked); -} - -void toggle_lock_media_key(void) { - mac_media_locked = !mac_media_locked; - writePin(LED_WIN_LOCK_PIN, !mac_media_locked); -} - -#ifdef CONSOLE_ENABLE -void dprint_global_layers(void) { - dprint("Global Layers:"); - if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} - -void dprint_layers(layer_state_t state) { - dprint("Layers:"); - if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} -#endif - -layer_state_t default_layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("default_layer_state_set_user: 0x%x\n", state); - dprint_global_layers(); -#endif - // Disable windows key lock on default layer transition. - unlock_win_key(); - win_appkey_pressed = false; - mac_fnkey_pressed = false; - writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT)); - return state; -} - -layer_state_t layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("layer_state_set_user: 0x%x\n", state); - dprint_layers(state); -#endif - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_TGUI: - if (!record->event.pressed) { - // Toggle GUI lock on key release - toggle_lock_win_key(); - } - break; - case KC_TMED: - // Only trigger when Fn key is also held down, to avoid accidental unlock. - if (!mac_fnkey_pressed) { return false; } - if (!record->event.pressed) { - // Toggle Media Lock on key release - toggle_lock_media_key(); - } - break; - case KC_LGUI: - if (win_key_locked) { return false; } - break; - case KC_WFN: - // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down. - if (record->event.pressed) { - layer_on(_WFL); - if (win_appkey_pressed) { - // Also enable Secondary layer if App key is being held down. - win_appkey_pressed = false; - layer_on(_WSL); - } - } else { - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - } - break; - case KC_APP: - if (record->event.pressed) { - // Don't actually press down the app menu key - win_appkey_pressed = true; - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (win_appkey_pressed) { - win_appkey_pressed = false; - // Tap the KC_APP key on key release. - tap_code(KC_APP); - } - } - return false; - break; - case KC_MFN: - // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN. - if (record->event.pressed) { - mac_fnkey_pressed = true; - layer_on(_MFL); - // Also enable Secondary layer if Right-Alt key is being held down. - if (get_mods() & MOD_BIT(KC_RALT)) { - layer_on(_MSL); - } - } else { - mac_fnkey_pressed = false; - if (!mac_media_locked) { - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - } - } - break; - case KC_RALT: - // Disable MSL/WFL layer on key-up. - if (!record->event.pressed) { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case MO_WSL: - if (record->event.pressed) { - layer_on(_WSL); - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - } - break; - case MO_MSL: - if (record->event.pressed) { - layer_on(_MSL); - } else { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case DF_W2MBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_MBL); - layer_state_set(1UL<<_MFL | 1UL<<_MSL); - } - break; - case DF_M2WBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_WBL); - layer_state_set(1UL<<_WFL | 1UL<<_WSL); - } - break; - case QK_BOOT: - if (record->event.pressed) { - // Flash LEDs to indicate bootloader mode is enabled. - on_all_leds(); - } - break; - } - return true; -} - -void keyboard_post_init_user(void) { - default_layer_set(1UL<. - */ -#include QMK_KEYBOARD_H - -// Layer shorthand -#define _BL 0u -#define _FL 1u // Multimedia Related, Virtual Desktop control -#define _SL 2u // Just for System Related -#define _UL 3u // Unicode Map - -#define KC_ADTP LGUI(LCTL(KC_D)) // Adding New Virtual Desktop -#define KC_DDTP LGUI(LCTL(KC_F4)) // Deleting / Removing Current Virtual Desktop -#define KC_NDTP LGUI(LCTL(KC_RGHT)) // Navigate to the Next Virtual Desktop -#define KC_PDTP LGUI(LCTL(KC_LEFT)) // Navigate to the Previous Virtual Desktop -#define KC_WINL LGUI(KC_LEFT) // Snap Windows to Left -#define KC_WINR LGUI(KC_RGHT) // Snap Windows to Right -#define KC_WINU LGUI(KC_UP) // Maximize the Window -#define KC_WIND LGUI(KC_DOWN) // Minimize the desktop window -#define KC_TASK LCTL(LSFT(KC_ESC)) // Launch Task Manager - -#define KC_FIND LCTL(LSFT(KC_F)) // Find In Files -#define KC_STOP LCTL(LSFT(KC_HOME)) // Select from Cursor to Home -#define KC_SEND LCTL(LSFT(KC_END)) // Select from Cursor to End - -// °¹ÂēÂģÂĩÂĐÎĐÎļâ„Ķ√∞∆≈≠→↓←↑≡■□●○âˆīÂŦÂŧ÷â‰Īâ‰ĨÎĢ -// Defines the Enumeration for Unicode Map -enum unicode_names { - DEGR, - PONE, - POW2, - POW3, - MYU, - COPY, - THET, - OHM, - SQRT, - INFI, - DELT, - APPR, - NEQU, - RARR, - DARR, - LARR, - UARR, - SAME, - BSQR, - WSQR, - BDOT, - WDOT, - THFR, - DIV, - LTOE, - MTOE, - DLAR, - DRAR, - SUM, -}; - -const uint32_t unicode_map[] PROGMEM = { - [DEGR] = 0x00B0, // ° - [PONE] = 0x00B1, // Âą - [POW2] = 0x00B2, // Âē - [POW3] = 0x00B3, // Âģ - [MYU] = 0x00B5, // Âĩ - [COPY] = 0x00A9, // ÂĐ - [THET] = 0x03B8, // Îļ - [OHM] = 0x2126, // â„Ķ - [SQRT] = 0x221A, // √ - [INFI] = 0x221E, // ∞ - [DELT] = 0x0394, // ∆ - [APPR] = 0x2248, // ≈ - [NEQU] = 0x2260, // ≠ - [RARR] = 0x2192, // → - [DARR] = 0x2193, // ↓ - [LARR] = 0x2190, // ← - [UARR] = 0x2191, // ↑ - [SAME] = 0x2261, // ≡ - [BSQR] = 0x25A0, // ■ - [WSQR] = 0x25A1, // □ - [BDOT] = 0x25CF, // ● - [WDOT] = 0x25CB, // ○ - [THFR] = 0x2234, // âˆī - [DIV] = 0x00F7, // ÷ - [LTOE] = 0x2264, // â‰Ī - [MTOE] = 0x2265, // â‰Ĩ - [DLAR] = 0x00AB, // ÂŦ - [DRAR] = 0x00BB, // Âŧ - [SUM] = 0x03A3 // ÎĢ -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_tkl_ansi( /* Base Layer */ - 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(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FL] = LAYOUT_tkl_ansi( /* First Layer */ - KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, KC_PDTP, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, KC_WINU, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, KC_WINR - ), - - [_SL] = LAYOUT_tkl_ansi( /* Second Layer */ - XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, 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, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - [_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, X(UARR), - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), X(RARR) - ) -}; - -void matrix_init_user(void) { - set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); -} diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/readme.md b/keyboards/durgod/k320/keymaps/kuenhlee/readme.md deleted file mode 100644 index 60925e61cf12..000000000000 --- a/keyboards/durgod/k320/keymaps/kuenhlee/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# The kuenhlee keymap for Durgod Taurus K320. - -Layer 0 : Standard ANSI 87 Keys TKL layout ------------------------------------------- - -Layer 1 : Media control and Key Modifier for Virtual Desktop navagation ------------------------------------------------------------------------ -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 - - Fn + F12 Remapped to Launch Calculator - - Fn + M To Launch Media Player - - Fn + P To Mail Client - - Fn + G To Launch Web Browswer / Nagivate to Homepage - - Fn + C To Launch My Computer - - Fn + T Launch Task Manager - - Fn + F Find in Files ( Notepad ++ ) - -- Windows's Virtual Desktop Navigation - - Fn + Ins To add New Virtual Desktop - - Fn + Del To Delete / Remove Current Virtual Desktop - - Fn + PgUp Navigate to the Next Virtual Desktop - - Fn + PgDn Navigate to the Previous Virtual Desktop - -- Windows ShortKeys - - Fn + Left Snap Windows to Left - - Fn + Right Snap Windows to Right - - Fn + Up Maximize the Window - - Fn + Down Minimize the desktop window - - Fn + Home Select from Cursor to Home - - Fn + End Select from Cursor to End - -Layer 2 : Mainly for Windows Sleep and Shutdown ------------------------------------------------ -- Fn + R-ALT + F1 : System Sleep -- Fn + R-ALT + F4 : Turning Off System - -Layer Unicode : Mainly for Predefined Unicode code to work with WinCompose --------------------------------------------------------------------------- -- °¹ÂēÂģÂĩÂĐÎĐÎļâ„Ķ√∞∆≈≠→↓←↑≡■□●○âˆīÂŦÂŧ÷â‰Īâ‰ĨÎĢ \ No newline at end of file diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk b/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk deleted file mode 100644 index b6a7e51c1041..000000000000 --- a/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Build Options -# change yes to no to disable -# -UNICODEMAP_ENABLE = yes # Enable Unicode Map diff --git a/keyboards/durgod/k320/keymaps/moults31/config.h b/keyboards/durgod/k320/keymaps/moults31/config.h deleted file mode 100644 index 01f47b8c1096..000000000000 --- a/keyboards/durgod/k320/keymaps/moults31/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2021 moults31 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/durgod/k320/keymaps/moults31/keymap.c b/keyboards/durgod/k320/keymaps/moults31/keymap.c deleted file mode 100644 index cdda3964e8ce..000000000000 --- a/keyboards/durgod/k320/keymaps/moults31/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright 2021 moults31 - * Adapted from kuenhlee and Don Kjer and Coirault - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "moults31.h" - -// Layer shorthand -enum _layer { - _BASE, - _FUNC, - _LAYER3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BASE: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn| - * |------------------------------------------------------ Ret | `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| | - * |-----------------------------------------------------------| ,----. - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */ - 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(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |------------------------------------------------------- | `--------------' - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Func | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_MVEDTRPRVGRP, _______, M_VSC_MVEDTRNXTGRP - ), - [_LAYER3] = LAYOUT_tkl_ansi( /* Function Layer */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - diff --git a/keyboards/durgod/k320/keymaps/moults31/readme.md b/keyboards/durgod/k320/keymaps/moults31/readme.md deleted file mode 100644 index e3a3f150f3a2..000000000000 --- a/keyboards/durgod/k320/keymaps/moults31/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# The default keymap for Durgod Taurus K320. - -Layer 0 : Standard Keys TKL layout - -Layer 1 : Media control and VScode navigation -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 - -## Supported PCBs - -This keymap intended for use on Durgod K320 ANSI diff --git a/keyboards/dyz/dyz40/config.h b/keyboards/dyz/dyz40/config.h deleted file mode 100644 index 87e057133dcb..000000000000 --- a/keyboards/dyz/dyz40/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // 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 bb54647fedc3..fdd14a7c428b 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 deleted file mode 100644 index 87e057133dcb..000000000000 --- a/keyboards/dyz/dyz60/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // 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 05e0a2dae718..28300d791437 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 deleted file mode 100644 index 4dd98dcbdfe9..000000000000 --- a/keyboards/dyz/dyz60_hs/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // 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 c23b0dca6a54..598f236980b6 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 deleted file mode 100644 index 87e057133dcb..000000000000 --- a/keyboards/dyz/dyz_tkl/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // 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 c44e9b585cd8..298611a742f2 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 deleted file mode 100644 index 87e057133dcb..000000000000 --- a/keyboards/dyz/selka40/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // 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 8fe32e5071c6..95ac00a88318 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/dyz/synthesis60/config.h b/keyboards/dyz/synthesis60/config.h deleted file mode 100644 index d70ad316b63d..000000000000 --- a/keyboards/dyz/synthesis60/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2022 dayatz - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dz60/config.h b/keyboards/dz60/config.h index 98673bdef015..bec7fcc3dcd7 100644 --- a/keyboards/dz60/config.h +++ b/keyboards/dz60/config.h @@ -1,21 +1,5 @@ #pragma once -# 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 -# 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 /* Locking resynchronize hack */ diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json index 4c5fb59d2e66..a46b1564ec56 100644 --- a/keyboards/dz60/info.json +++ b/keyboards/dz60/info.json @@ -21,6 +21,24 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/dz60/keymaps/256k_HHKB/README.md b/keyboards/dz60/keymaps/256k_HHKB/README.md deleted file mode 100644 index 4241ca1ba7cf..000000000000 --- a/keyboards/dz60/keymaps/256k_HHKB/README.md +++ /dev/null @@ -1,128 +0,0 @@ -256k HHKB Layout: -=== - -this is my personal layer that i use on my Tina-C HHKB layout board with a DZ60 PCB. ---- -UPDATE (4-20-2018): -=== -after a week of using this layout i reazlied that having the ALT button on the right side and the ALTFN layer trigger on the left isn't ideal...i still wanted to change the default HHKB style CROSS arrow cluster into a reversed T cluster since im more used to that so i swapped the ALTFN layer to the right side and the normal ALT layer is back on the left side. so now i can use the arrow cluster (which i shifted one key over to the right) with 1 hand. - -it feels more nataural to me this way. - -also i decided to change the mouse scroll keys on the mouse layer to mouse movement keys... the scrolling wasn't working out as well as i'd hoped. again, this is merely an experimental layer just to play around with mouse control. - - - - ---- - -Walkthrough: ---- - -there is 1 base layer and 4 modifyer layers: - -BASE: ---- - -``` - /* BASE LAYER - * - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \| | ~ ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * | Win | Alt | Space | ALTFN | LIGHTS | - * `-----------------------------------------------------------------------------------------' - */ - ``` - - LAYER 1 (ALTFN): - --- - - this layer is my main function layer, i changed the default HHKB function layer to suit my need and also changed the placement of the modifyer key to the left alt since i want to control the layer activation with one hand and have the other hand control the keys on that layer freely. perhaps this is due to me being left handed but it feels more natural to me this way. - - ``` - /* ALTFN LAYER - * - * ,--------------------------------------------------------------------------------------------------------------------- - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CAPS | _ | _ | _ | _ | _ | _ | _ | _ | _ | UP | V_DEC | V_INC | DEL | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CTRL | _ | _ | _ | _ | _ | _ | HOME | END | LEFT | DOWN | RIGHT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | PREV | NEXT | PLAY | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `---------------------------------------------------------------------------------------------------------------------' - */ - ``` - - -MOUSE LAYER (MOUSEFN): ---- - -*To access this layer you need to enter the ALTFN layer first then hit ESC button which will switch to the MOUSEFN layer* - -this is the second *hidden* layer that controls the mouse scroll wheel directions. i find it's useful to have these controls on the keyboard for certain applications that require scrolling in all 4 directions (Simple example: expanding an image preview to full size that overflows outside of the default monitor size and using the scroll wheel to mouve the image around.) - -also another benefit is that a lot of mice do not have horizontal control buttons for the scrolling - -(This layer is still experimental so i might change it later or modify it but so far i enjoy it) - -``` - /* MOUSEFN LAYER - * - * ,--------------------------------------------------------------------------------------------------------------------- - * | | ACC_1 | ACC_2 | ACC_3 | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CAPS | _ | _ | _ | _ | _ | _ | _ | _ | _ | WHEEL_UP | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CTRL | _ | _ | _ | _ | _ | _ | _ | _ | WH_LEFT | WH_DOWN | WH_RIGHT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `---------------------------------------------------------------------------------------------------------------------' - */ - ``` - - - STANDARD HHKB FN LAYER (FN): - --- - - this is the default HHKB function layer (mostly)... I have left it there on the same button and everything for 2 reasons: 1. for backup incase i forget where something was or if it contains a button that i did not include in my ALTFN layer. 2. as a reference for anyone else. - - *this layer will probably get removed once i get comfortable with my ALTFN layer.* - - - - LIGHTS LAYER: - --- - - this is the basic lights layer used to control the RBG backlight on the DZ60... i have removed the 3 backlight controls since i do not use any key LED Backlight. - - - ``` - /* LIGHTS LAYER - * - * ,---------------------------------------------------------------------------------------------------------------------+ - * | RGB_TOGGLE | STATIC | BREATHE | RAINBOW | SWIRL | SNAKE | KNIGHTRIDER | XMAS | STATIC_GRAD | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | RBG_MOD | HUE_INC | SATURATION_INC | BRIGHT_INC | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | CTRL | HUE_DEC | SATURATION_DEC | BRIGHT_DEC | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `----------------------------------------------------------------------------------------------------------------------' - */ - ``` - - diff --git a/keyboards/dz60/keymaps/256k_HHKB/keymap.c b/keyboards/dz60/keymaps/256k_HHKB/keymap.c deleted file mode 100644 index 051437792eb6..000000000000 --- a/keyboards/dz60/keymaps/256k_HHKB/keymap.c +++ /dev/null @@ -1,240 +0,0 @@ -#include QMK_KEYBOARD_H - -// My layout is practically the default HHKB layout. -#define _DEFAULT 0 -#define _ALTFN 1 -#define _MOUSEFN 2 -#define _FN 3 -#define _LIGHTS 4 - - -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - - /* BASE LAYER - * - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \| | ~ ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * | Win | Alt | Space | Alt | LIGHTS | - * `-----------------------------------------------------------------------------------------' - */ - - - [_DEFAULT] = LAYOUT_60_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LGUI, KC_LALT, KC_SPC, MO(_ALTFN), MO(_LIGHTS)), - - - - - -/* ALTFN LAYER - * - * ,--------------------------------------------------------------------------------------------------------------------- - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CAPS | _ | _ | _ | _ | _ | _ | _ | _ | _ | UP | V_DEC | V_INC | DEL | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CTRL | _ | _ | _ | _ | _ | _ | HOME | END | LEFT | DOWN | RIGHT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | PREV | NEXT | PLAY | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `---------------------------------------------------------------------------------------------------------------------' - */ - - [_ALTFN] = LAYOUT_60_hhkb( - - MO(_MOUSEFN), KC_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_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_UP, KC_VOLD, KC_VOLU, KC_DEL, - ______, ______, ______, ______, ______, ______, ______, KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RIGHT, ______, - ______, ______, ______, ______, ______, ______, ______, ______, KC_MPRV, KC_MNXT, KC_MPLY, ______, ______, - ______, ______, ______, ______, ______), - - - - - - - -/* MOUSEFN LAYER - * - * ,--------------------------------------------------------------------------------------------------------------------- - * | | ACC_1 | ACC_2 | ACC_3 | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CAPS | _ | _ | _ | _ | _ | _ | _ | _ | _ | WHEEL_UP | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | CTRL | _ | _ | _ | _ | _ | _ | _ | _ | WH_LEFT | WH_DOWN | WH_RIGHT | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |---------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `---------------------------------------------------------------------------------------------------------------------' - */ - - - [_MOUSEFN] = LAYOUT_60_hhkb( - - ______, KC_ACL0, KC_ACL1, KC_ACL2, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_UP, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______), - - - - - - - -/* FN LAYER - * - * ,------------------------------------------------------------------------------------------------------ - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |INSERT | _ | - * |------------------------------------------------------------------------------------------------------+ - * | CAPS | _ | _ | _ | _ | _ | _ | _ | PRSC | SLOCK | PAUSE | UP | _ | DEL | - * |------------------------------------------------------------------------------------------------------+ - * | CTRL | _ | VOLDOWN | VOLUP | VOLMUTE | _ | _ | _ | HOME | PGUP | LEFT | IGHT | _ | - * |------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | END | PGDN | DOWN | _ | _ | - * |------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `------------------------------------------------------------------------------------------------------' - */ - - - - [_FN] = LAYOUT_60_hhkb( - ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, ______, - KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, KC_DEL, - ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, - ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, - ______, ______, ______, ______, ______), - - - - - - - -/* LIGHTS LAYER - * - * ,---------------------------------------------------------------------------------------------------------------------+ - * | RGB_TOGGLE | STATIC | BREATHE | RAINBOW | SWIRL | SNAKE | KNIGHTRIDER | XMAS | STATIC_GRAD | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | RBG_MOD | HUE_INC | SATURATION_INC | BRIGHT_INC | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | CTRL | HUE_DEC | SATURATION_DEC | BRIGHT_DEC | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `----------------------------------------------------------------------------------------------------------------------' - */ - - - - [_LIGHTS] = LAYOUT_60_hhkb( - RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, ______, ______, ______, ______, ______, ______, - RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_HUD, RGB_SAD, RGB_VAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______), - -}; - - -/* - -RGB controls - -Key -> Description -========================= - -RGB_TOG -> Toggle RGB lighting on or off - -RGB_MOD -> Cycle through modes, reverse direction when Shift is held - -RGB_RMOD -> Cycle through modes in reverse, forward direction when Shift is held - -RGB_HUI -> Increase hue - -RGB_HUD -> Decrease hue - -RGB_SAI -> Increase saturation - -RGB_SAD -> Decrease saturation - -RGB_VAI -> Increase value (brightness) - -RGB_VAD -> Decrease value (brightness) - -RGB_M_P -> Static (no animation) mode - -RGB_M_B -> Breathing animation mode - -RGB_M_R -> Rainbow animation mode - -RGB_M_SW -> Swirl animation mode - -RGB_M_SN -> Snake animation mode - -RGB_M_K -> "Knight Rider" animation mode - -RGB_M_X -> Christmas animation mode - -RGB_M_G -> Static gradient animation mode - -*/ - -/* - Mouse controls: - - Key -> Aliases -> Description - ================================================== - - KC_MS_UP -> KC_MS_U -> Mouse Cursor Up - - KC_MS_DOWN -> KC_MS_D -> Mouse Cursor Down - - KC_MS_LEFT -> KC_MS_L -> Mouse Cursor Left - - KC_MS_RIGHT -> KC_MS_R -> Mouse Cursor Right - - KC_MS_BTN1 -> KC_BTN1 -> Mouse Button 1 - - KC_MS_BTN2 -> KC_BTN2 -> Mouse Button 2 - - KC_MS_BTN3 -> KC_BTN3 -> Mouse Button 3 - - KC_MS_BTN4 -> KC_BTN4 -> Mouse Button 4 - - KC_MS_BTN5 -> KC_BTN5 -> Mouse Button 5 - -KC_MS_WH_UP -> KC_WH_U -> Mouse Wheel Up - -KC_MS_WH_DOWN -> KC_WH_D -> Mouse Wheel Down - -KC_MS_WH_LEFT -> KC_WH_L -> Mouse Wheel Left - -KC_MS_WH_RIGHT -> KC_WH_R -> Mouse Wheel Right - -KC_MS_ACCEL0 -> KC_ACL0 -> Set mouse acceleration to 0 - -KC_MS_ACCEL1 -> KC_ACL1 -> Set mouse acceleration to 1 - -KC_MS_ACCEL2 -> KC_ACL2 -> Set mouse acceleration to 2 - -*/ diff --git a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/config.h b/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/config.h deleted file mode 100644 index 9560d51a6f94..000000000000 --- a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/config.h +++ /dev/null @@ -1 +0,0 @@ -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c b/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c deleted file mode 100644 index a7b77d423a95..000000000000 --- a/keyboards/dz60/keymaps/Ansi_plus_fn_arrows/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RALT, KC_LGUI, KC_RCTL), - - 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_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, BL_DOWN,BL_TOGG, BL_UP, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT), - - LAYOUT( - KC_TRNS, M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), M(12), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h deleted file mode 100644 index bb6c5c55e413..000000000000 --- a/keyboards/dz60/keymaps/LEdiodes/config.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -/* sets 'Auto Shift' timeouts */ -#define AUTO_SHIFT_TIMEOUT 150 -#define NO_AUTO_SHIFT_SPECIAL diff --git a/keyboards/dz60/keymaps/LEdiodes/keymap.c b/keyboards/dz60/keymaps/LEdiodes/keymap.c deleted file mode 100644 index 1e8c1b0d8000..000000000000 --- a/keyboards/dz60/keymaps/LEdiodes/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _L0 0 -#define _L1 1 -#define _L2 2 -#define _L3 3 -#define _L4 4 - -enum { - TD_SPC_ENT = 0, - TD_KC_LSFT_CAPS, - TD_KC_RSFT_CAPS -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - * template - * [_L1] = LAYOUT( - * _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - * _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, - * _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, - * _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - * _______,_______,_______, _______,_______,_______, _______,_______,_______,_______,_______, - * - * - * Keymap _L0: (Layer 0 - Base Layer) This is the default layer - * This layer has a key set to MO(_L1) which means when held down Layer 1 will become active, If Layer 1 does not have anything set for tat key is will revert to uing the key set at layer 0. - * LT(_L1, KC_1) means that when the "1" key is long touched then it will activate the layer _L1 key(F1) but if the key is just tapped it will activate the "1" key. - * QK_GESC = Escape when tapped, ` when pressed with Shift or GUI - * SC_LSPO = Left Shift when held, ( when tapped - * TD(LT(_L3,KC_SPACE)) = This is a test... hoping it will tap dance if double tapped it does enter if single tap it does space if long hold down it does _L3(Layer 3). - * LT(_L3,KC_SPACE) = if tapped it does space, is long touch it does _L3(Layer 3) - * BL_TOGG = Toggles the LEDs. - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bkspc| Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | _L4 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | _L1 | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Win | Alt | _L3[Space] |LEdiodes| Space |Win | _L2| L | D | R | - * `-----------------------------------------------------------------------------------------' - */ -[_L0] = LAYOUT( - QK_GESC, LT(_L1, KC_1),LT(_L1, KC_2),LT(_L1, KC_3),LT(_L1, KC_4),LT(_L1, KC_5),LT(_L1, KC_6),LT(_L1, KC_7),LT(_L1, KC_8),LT(_L1, KC_9),LT(_L1, KC_0),LT(_L1, KC_MINS),LT(_L1, KC_EQL),KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(_L1), - KC_LCTL, KC_LGUI, KC_LALT, LT(_L3,KC_SPACE),BL_TOGG,TD(TD_SPC_ENT), KC_RGUI, TO(_L2), KC_LEFT, KC_DOWN, KC_RIGHT), - -/* Keymap _L1: (Layer 1) This is function layer 1 - * This layer is activated while the Fn key is being held down. - * ,-----------------------------------------------------------------------------------------. - * | Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13| F14| - * |-----------------------------------------------------------------------------------------+ - * | | WhUp| U | WhDn | | | | | | PrtScr | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | L | D | R | | | Home | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | End | VolDn|VolUp|Mute | | | PgUp| | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | Home| PgDn| End | - * `-----------------------------------------------------------------------------------------' - */ -[_L1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, - _______, KC_WH_U, KC_UP, KC_WH_D, _______, _______,_______, _______, _______, _______, KC_PSCR, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_HOME, _______, _______, _______, KC_HOME, _______, _______, - _______, _______, KC_APP, BL_STEP,_______, KC_END, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______,_______,_______, _______, _______, KC_HOME, KC_PGDN, KC_END), - -/* Keymap _L2: (Layer 2) This is function layer 2 - * This layer is activated while the Fn2 key is being held down. - * LCA(KC_TAB) = Hold Left Control and Alt and press kc_tab which cycles trough open apps. - * MEH(KC_TAB) = Hold Left Control, Shift and Alt and press kc_TAB to cycle backwards through apps. - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | LCA(KC_TAB)| - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | |MEH(KC_TAB) - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | || | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ -[_L2] = LAYOUT( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,LCA(KC_TAB), - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, MEH(KC_TAB), - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MS_BTN1,KC_MS_UP,KC_MS_BTN2, - _______,_______,_______, _______,_______,_______, _______,_______,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT) - -}; - -//Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - - //Tap once for space, tap twice for enter - [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT), - //Tap once for Left Shift, twice for Caps Lock - [TD_KC_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), - //Tap once for Right Shift, twice for Caps Lock - [TD_KC_RSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_RSFT, KC_CAPS) - -// Other declarations would go here, separated by commas, if you have them - -}; diff --git a/keyboards/dz60/keymaps/LEdiodes/readme.md b/keyboards/dz60/keymaps/LEdiodes/readme.md deleted file mode 100644 index db83b2494d03..000000000000 --- a/keyboards/dz60/keymaps/LEdiodes/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# LEdiodes Keymap for XD60 60% PCB - -![LEdiodes Layer 0 Keymap for XD60](https://i.imgur.com/pDneawX.jpg) - -## Additional Notes -Layer 0(default) Keymap for LEdiodes XD60. - -## Build -To build the default keymap, simply run `make xd60:LEdiodes`. diff --git a/keyboards/dz60/keymaps/LEdiodes/rules.mk b/keyboards/dz60/keymaps/LEdiodes/rules.mk deleted file mode 100644 index 2f6622e587e5..000000000000 --- a/keyboards/dz60/keymaps/LEdiodes/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes -AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted -TAP_DANCE_ENABLE = yes diff --git a/keyboards/dz60/keymaps/_bonfire/README.md b/keyboards/dz60/keymaps/_bonfire/README.md deleted file mode 100644 index 9fe4c5a2da4a..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Docs - -1. https://docs.qmk.fm/#/ -2. To build, run: `make dz60:_bonfire` - -## Map of Layers - -http://www.keyboard-layout-editor.com/#/gists/b19ee1c251c908d9b5ef76965d588937 - -![Visual Keymap](https://i.imgur.com/DuiUo0W.jpg) - -### Todo -- lighting effects based on layer in use - - https://github.com/DanDobrick/qmk_firmware/blob/danDobrick-v60r-layout/keyboards/v60_type_r/keymaps/danDobrick/keymap.c#L140 - -- rewrite the mod-tap functions to use the non-deprecated way of instancing them diff --git a/keyboards/dz60/keymaps/_bonfire/dz60-v6-1-0.json b/keyboards/dz60/keymaps/_bonfire/dz60-v6-1-0.json deleted file mode 100644 index 42625f7e2c0f..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/dz60-v6-1-0.json +++ /dev/null @@ -1,1160 +0,0 @@ -[ - { - "name": "DZ60 v6.1.0", - "author": "Bonf1re" - }, - [ - { - "c": "#454545", - "a": 7, - "f": 2, - "w": 1.75 - }, - "NOTHING", - { - "c": "#fc8e28", - "w": 1.25 - }, - "HELD", - { - "c": "#7afff6", - "w2": 2 - }, - "Function Layer", - { - "x": 1, - "c": "#c47aff", - "w2": 2 - }, - "Keyboard Layer" - ], - [ - { - "y": 0.75, - "c": "#cccccc", - "f": 3, - "w": 3 - }, - "[BASE]" - ], - [ - { - "a": 5 - }, - "~\n`", - "!\n1", - "@\n2", - "#\n3", - "$\n4", - "%\n5", - "^\n6", - "&\n7", - "*\n8", - "(\n9", - ")\n0", - "_\n-", - "+\n=", - { - "a": 7, - "w": 2 - }, - "Backspace" - ], - [ - { - "w": 1.5 - }, - "Tab", - "Q", - "W", - "E", - "R", - "T", - "Y", - "U", - "I", - "O", - "P", - { - "a": 5 - }, - "{\n[", - "}\n]", - { - "w": 1.5 - }, - "|\n\\" - ], - [ - { - "a": 7, - "w": 1.75 - }, - "Escape", - "A", - "S", - "D", - { - "n": true - }, - "F", - "G", - "H", - { - "n": true - }, - "J", - "K", - "L", - { - "a": 5 - }, - ":\n;", - "\"\n'", - { - "a": 7, - "w": 2.25 - }, - "Enter" - ], - [ - { - "w": 2.25 - }, - "Shift", - "Z", - "X", - "C", - "V", - "B", - "N", - "M", - { - "a": 5 - }, - "<\n,", - ">\n.", - "?\n/", - { - "w": 1.75 - }, - "Up\nShift", - { - "c": "#7afff6", - "a": 7, - "fa": [ - 2 - ] - }, - "HACK" - ], - [ - { - "c": "#cccccc", - "f": 3, - "w": 1.25 - }, - "Ctrl", - { - "f": 3, - "w": 1.25 - }, - "Sys", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "w": 6.25 - }, - "", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "a": 5, - "f": 3, - "w": 1.25 - }, - "Left\nSys", - { - "f": 3, - "w": 1.25 - }, - "Down\nCtrl", - { - "f": 3, - "w": 1.25 - }, - "Right\nHYPER" - ], - [ - { - "y": 0.25, - "a": 7, - "f": 3, - "w": 3 - }, - "[NRMN]" - ], - [ - { - "c": "#aaaaaa", - "g": true, - "a": 5, - "f": 3 - }, - "~\n`", - { - "f": 3 - }, - "!\n1", - { - "f": 3 - }, - "@\n2", - { - "f": 3 - }, - "#\n3", - { - "f": 3 - }, - "$\n4", - { - "f": 3 - }, - "%\n5", - { - "f": 3 - }, - "^\n6", - { - "f": 3 - }, - "&\n7", - { - "f": 3 - }, - "*\n8", - { - "f": 3 - }, - "(\n9", - { - "f": 3 - }, - ")\n0", - { - "f": 3 - }, - "_\n-", - { - "f": 3 - }, - "+\n=", - { - "a": 7, - "f": 3, - "w": 2 - }, - "Backspace" - ], - [ - { - "f": 3, - "w": 1.5 - }, - "Tab", - { - "c": "#cccccc", - "g": false, - "f": 3 - }, - "Q", - { - "f": 3 - }, - "W", - { - "f": 3 - }, - "D", - { - "f": 3 - }, - "F", - { - "f": 3 - }, - "K", - { - "f": 3 - }, - "J", - { - "f": 3 - }, - "U", - { - "f": 3 - }, - "R", - { - "f": 3 - }, - "L", - { - "a": 5, - "f": 3 - }, - ":\n;", - { - "c": "#aaaaaa", - "g": true, - "f": 3 - }, - "{\n[", - { - "f": 3 - }, - "}\n]", - { - "f": 3, - "w": 1.5 - }, - "|\n\\" - ], - [ - { - "a": 7, - "f": 3, - "w": 1.75 - }, - "Escape", - { - "c": "#cccccc", - "g": false, - "f": 3 - }, - "A", - { - "f": 3 - }, - "S", - { - "f": 3 - }, - "E", - { - "f": 3, - "n": true - }, - "T", - { - "f": 3 - }, - "G", - { - "f": 3 - }, - "Y", - { - "f": 3, - "n": true - }, - "N", - { - "f": 3 - }, - "I", - { - "f": 3 - }, - "O", - { - "f": 3 - }, - "H", - { - "c": "#aaaaaa", - "g": true, - "a": 5 - }, - "\n'\n\n\n\n\n\"", - { - "a": 7, - "f": 3, - "w": 2.25 - }, - "Enter" - ], - [ - { - "f": 3, - "w": 2.25 - }, - "Shift", - { - "c": "#cccccc", - "g": false, - "f": 3 - }, - "Z", - { - "f": 3 - }, - "X", - { - "f": 3 - }, - "C", - { - "f": 3 - }, - "V", - { - "f": 3 - }, - "B", - { - "f": 3 - }, - "P", - { - "f": 3 - }, - "M", - { - "c": "#aaaaaa", - "g": true, - "a": 5, - "f": 3 - }, - "<\n,", - { - "f": 3 - }, - ">\n.", - { - "f": 3 - }, - "?\n/", - { - "f": 3, - "w": 1.75 - }, - "Up\nShift", - { - "a": 7, - "f": 3 - }, - "HACK" - ], - [ - { - "f": 3, - "w": 1.25 - }, - "Ctrl", - { - "f": 3, - "w": 1.25 - }, - "Sys", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "w": 6.25 - }, - "", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "a": 5, - "f": 3, - "w": 1.25 - }, - "Left\nSys", - { - "f": 3, - "w": 1.25 - }, - "Down\nCtrl", - { - "f": 3, - "w": 1.25 - }, - "Right\nHYPER" - ], - [ - { - "y": 0.25, - "c": "#cccccc", - "g": false, - "a": 7, - "f": 3, - "w": 3 - }, - "[GAME]" - ], - [ - { - "c": "#aaaaaa", - "g": true - }, - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - { - "w": 2 - }, - "" - ], - [ - { - "w": 1.5 - }, - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - { - "w": 1.5 - }, - "" - ], - [ - { - "c": "#cccccc", - "g": false, - "f": 3, - "w": 1.75 - }, - "Held Esc", - { - "c": "#aaaaaa", - "g": true - }, - "", - "", - "", - { - "n": true - }, - "", - "", - "", - { - "n": true - }, - "", - "", - "", - "", - "", - { - "w": 2.25 - }, - "" - ], - [ - { - "w": 2.25 - }, - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - { - "w": 1.75 - }, - "", - "" - ], - [ - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 6.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "" - ], - [ - { - "y": 0.25, - "c": "#cccccc", - "g": false, - "a": 5, - "fa": [ - 2, - 1 - ], - "w": 3 - }, - "\nHACK is held\n\n\n\n\n[FCTN]" - ], - [ - { - "c": "#7afff6", - "a": 7, - "f": 3 - }, - "ESC", - { - "f": 3 - }, - "F1", - { - "f": 3 - }, - "F2", - { - "f": 3 - }, - "F3", - { - "f": 3 - }, - "F4", - { - "f": 3 - }, - "F5", - { - "f": 3 - }, - "F6", - { - "f": 3 - }, - "F7", - { - "f": 3 - }, - "F8", - { - "f": 3 - }, - "F9", - { - "f": 3 - }, - "F10", - { - "f": 3 - }, - "F11", - { - "f": 3 - }, - "F12", - { - "c": "#aaaaaa", - "g": true, - "f": 3, - "w": 2 - }, - "Backspace" - ], - [ - { - "f": 3, - "w": 1.5 - }, - "Tab", - { - "c": "#7afff6", - "g": false, - "f": 3 - }, - "Mute", - { - "a": 5, - "f": 3 - }, - "\nDown\n\n\n\n\nVolume", - { - "f": 3 - }, - "\nUp\n\n\n\n\nVolume", - { - "c": "#aaaaaa", - "g": true, - "a": 7, - "f": 3 - }, - "R", - { - "f": 3 - }, - "T", - { - "f": 3 - }, - "Y", - { - "f": 3 - }, - "U", - { - "f": 3 - }, - "I", - { - "f": 3 - }, - "O", - { - "c": "#7afff6", - "g": false, - "a": 5, - "f": 3 - }, - "\nScreen\n\n\n\n\nPrint", - { - "f": 3 - }, - "\nLock\n\n\n\n\nScroll", - { - "a": 7, - "f": 3 - }, - "Pause", - { - "c": "#aaaaaa", - "g": true, - "a": 5, - "f": 3, - "w": 1.5 - }, - "|\n\\" - ], - [ - { - "c": "#7afff6", - "g": false, - "a": 7, - "f": 3, - "w": 1.75 - }, - "Caps Lock", - { - "a": 5, - "f": 3 - }, - "\nPrev\n\n\n\n\nMedia", - { - "f": 3 - }, - "\nPlay\n\n\n\n\nMedia", - { - "f": 3 - }, - "\nNext\n\n\n\n\nMedia", - { - "c": "#aaaaaa", - "g": true, - "a": 7, - "f": 3, - "n": true - }, - "F", - { - "f": 3 - }, - "G", - { - "f": 3 - }, - "H", - { - "f": 3, - "n": true - }, - "J", - { - "f": 3 - }, - "K", - { - "c": "#7afff6", - "g": false, - "f": 3 - }, - "Insert", - { - "f": 3 - }, - "Home", - { - "a": 5, - "f": 3 - }, - "\nUp\n\n\n\n\nPage", - { - "c": "#aaaaaa", - "g": true, - "a": 7, - "f": 3, - "w": 2.25 - }, - "Enter" - ], - [ - { - "f": 3, - "w": 2.25 - }, - "Shift", - { - "c": "#7afff6", - "g": false, - "f": 3 - }, - "Sleep", - { - "f": 3 - }, - "Wake", - { - "c": "#aaaaaa", - "g": true, - "f": 3 - }, - "C", - { - "f": 3 - }, - "V", - { - "f": 3 - }, - "B", - { - "f": 3 - }, - "N", - { - "f": 3 - }, - "M", - { - "c": "#7afff6", - "g": false, - "f": 3 - }, - "Delete", - { - "f": 3 - }, - "End", - { - "a": 5, - "f": 3 - }, - "\nDown\n\n\n\n\nPage", - { - "c": "#aaaaaa", - "g": true, - "f": 3, - "w": 1.75 - }, - "Up\nShift", - { - "c": "#fc8e28", - "g": false, - "a": 7, - "f": 3 - }, - "HACK" - ], - [ - { - "c": "#aaaaaa", - "g": true, - "f": 3, - "w": 1.25 - }, - "Ctrl", - { - "f": 3, - "w": 1.25 - }, - "Sys", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "w": 6.25 - }, - "", - { - "f": 3, - "w": 1.25 - }, - "Alt", - { - "c": "#c47aff", - "g": false, - "a": 5, - "f": 3, - "w": 1.25 - }, - "\n[KEYB]\n\n\n\n\nTo", - { - "c": "#aaaaaa", - "g": true, - "f": 3, - "w": 1.25 - }, - "Down\nCtrl", - { - "f": 3, - "w": 1.25 - }, - "Right\nHYPER" - ], - [ - { - "y": 0.25, - "c": "#cccccc", - "g": false, - "f": 3, - "w": 3 - }, - "\nHACK + SYS Held\n\n\n\n\n[KEYB]" - ], - [ - { - "c": "#c47aff", - "f": 2 - }, - "\n[BASE]\n\n\n\n\nReset", - { - "a": 7 - }, - "[NRMN]", - "[GAME]", - { - "c": "#454545", - "f": 3 - }, - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - { - "c": "#c47aff", - "f": 2, - "w": 2 - }, - "QMK FLASH" - ], - [ - { - "c": "#454545", - "f": 3, - "w": 1.5 - }, - "", - { - "c": "#c47aff", - "a": 5, - "f": 2 - }, - "\nToggle\n\n\n\n\nRGB", - "\nMode\n\n\n\n\nRGB", - "RGB\nUp\n\n\n\n\nHue", - "RGB\nDown\n\n\n\n\nHue", - "RGB\nDown\n\n\n\n\nSat", - "RGB\nUp\n\n\n\n\nSat", - "RGB\nDown\n\n\n\n\nValue", - "RGB\nUp\n\n\n\n\nValue", - { - "c": "#454545", - "a": 7, - "f": 3 - }, - "", - "", - "", - "", - { - "w": 1.5 - }, - "" - ], - [ - { - "w": 1.75 - }, - "", - { - "c": "#c47aff", - "a": 5, - "f": 2 - }, - "\nDown\n\n\n\n\nBacklight", - "\nToggle\n\n\n\n\nBacklight", - "\nUp\n\n\n\n\nBacklight", - { - "n": true - }, - "\nStep\n\n\n\n\nBacklight", - { - "c": "#454545", - "a": 7, - "f": 3 - }, - "", - "", - { - "n": true - }, - "", - "", - "", - "", - "", - { - "w": 2.25 - }, - "" - ], - [ - { - "w": 2.25 - }, - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - { - "w": 1.75 - }, - "", - { - "c": "#fc8e28", - "fa": [ - 2 - ] - }, - "HACK" - ], - [ - { - "c": "#454545", - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "w": 6.25 - }, - "", - { - "w": 1.25 - }, - "", - { - "c": "#fc8e28", - "a": 5, - "w": 1.25 - }, - "\n[KEYB]\n\n\n\n\nTo", - { - "c": "#454545", - "a": 7, - "w": 1.25 - }, - "", - { - "w": 1.25 - }, - "" - ] -] diff --git a/keyboards/dz60/keymaps/_bonfire/keymap-parts/defs.c b/keyboards/dz60/keymaps/_bonfire/keymap-parts/defs.c deleted file mode 100644 index 95351b43ba37..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/keymap-parts/defs.c +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Variables - * - */ -int held_esc_threshold = 230; -bool is_esc_held = false; -uint16_t held_esc_timer = 0; - -/** - * Define Layers - */ -enum layers { - BASE = 0, - NRMN, - GAME, - FCTN, - KEYB -}; - -/** - * Define Custom Keycodes - */ -enum custom_keycodes { - HLD_ESC = SAFE_RANGE, - MOD_UP = MT(MOD_RSFT, KC_UP), - MOD_RT = MT(MOD_HYPR, KC_RIGHT), - MOD_DN = MT(MOD_RCTL, KC_DOWN), - MOD_LT = MT(MOD_RGUI, KC_LEFT) -}; diff --git a/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c b/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c deleted file mode 100644 index fd4d168227b4..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Custom Keycodes - * https://beta.docs.qmk.fm/detailed-guides/custom_quantum_functions#custom-keycodes - * - */ - -// Called on every keyup and keydown -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - switch (keycode) { - case HLD_ESC: - if(record->event.pressed) { - is_esc_held = true; - held_esc_timer = timer_read(); - } else { - is_esc_held = false; - unregister_code(KC_ESC); - } - return true; - break; - - default: - return true; - break; - } -} - -// checking the held escape timer -void matrix_scan_user(void) -{ - if(is_esc_held && timer_elapsed(held_esc_timer) > held_esc_threshold) { - register_code(KC_ESC); - } -} diff --git a/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c b/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c deleted file mode 100644 index 1c0c7f907811..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/keymap-parts/layers.c +++ /dev/null @@ -1,115 +0,0 @@ -#pragma once -#include "quantum.h" - -/* - * LAYOUT_bonfire Row Keys - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │ 0e │ 14 - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ 14 - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ 13 - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │ 13 - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │40 │41 │43 │ 46 │4a │4b │4d │4e │ 8 - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ - * -*/ -#define LAYOUT_bonfire( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \ - k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \ - k40, k41, k43, k46, k4a, k4b, k4d, k4e \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \ - { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ - { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \ - { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \ -} - -/** - * XXXXXXX = Key does nothing. - * _______ = Key that allows the uppermost exposed key in a layer below it. - * - */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /** - * Layer 0 - * - * QWERTY and basic modifiers. - * Upper layers are toggled or accessed through the "HACK" key: last key on fourth row. - */ - [BASE] = LAYOUT_bonfire( - 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_ESC, KC_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, MOD_UP, MO(FCTN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MOD_LT, MOD_DN, MOD_RT - ), - - /** - * Layer 1 - * - * NORMAN Key layout. - * All that's changed is the position of A-Z and a few punctuation keys. - */ - [NRMN] = LAYOUT_bonfire( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, _______, _______, _______, - _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, _______, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /** - * Layer 2 - * - * Moves the escape key from the left to the right side of the keyboard for gaming. - */ - [GAME] = LAYOUT_bonfire( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - HLD_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /** - * Layer 3 - * - * Function layer. - * This layer is accessed when "HACK" is held down. - * Modifiers and such to basic keys, but with basic key functions. - */ - [FCTN] = LAYOUT_bonfire( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, - _______, KC_SLEP, KC_WAKE, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, MO(KEYB), _______, _______ - ), - - /** - * Layer 4 - * - * This is the KEYB/System layer. - * Other keymaps call this a NAV layer, but it's more than just NAV-ing the board's layers. - * This Layer currently handles RGB and puts the board into QK_BOOT for flashing. - * - * ~ key resets board to [BASE]. - * 1 key toggles [NRMN]. - * 2 key toggles [GAME]. - * BACKSPACE puts board into reset. - */ - [KEYB] = LAYOUT_bonfire( - TO(BASE), TG(NRMN), TO(GAME), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, 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 - ) -}; diff --git a/keyboards/dz60/keymaps/_bonfire/keymap.c b/keyboards/dz60/keymaps/_bonfire/keymap.c deleted file mode 100644 index a6b55105c2fd..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/keymap.c +++ /dev/null @@ -1,12 +0,0 @@ -#include QMK_KEYBOARD_H - -/** - * Bonfire Layout - * v6.1.0 - * - * @author Ethan Beyer - * - */ -#include "keymap-parts/defs.c" -#include "keymap-parts/layers.c" -#include "keymap-parts/functions.c" diff --git a/keyboards/dz60/keymaps/_bonfire/not-in-use/super-alt-tab.c b/keyboards/dz60/keymaps/_bonfire/not-in-use/super-alt-tab.c deleted file mode 100644 index 1d951b1bcf7d..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/not-in-use/super-alt-tab.c +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Cool Function where a single key does ALT+TAB - * From: https://beta.docs.qmk.fm/features/feature_macros#super-alt-tab - */ -bool is_alt_tab_active = false; // ADD this near the begining of keymap.c -uint16_t alt_tab_timer = 0; // we will be using them soon. - -enum custom_keycodes { // Make sure have the awesome keycode ready - ALT_TAB = SAFE_RANGE, -}; - -// key processing -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { // This will do most of the grunt work with the keycodes. - case ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - break; - } - return true; -} - -// The very important timer. -void matrix_scan_user(void) { - if (is_alt_tab_active && timer_elapsed(alt_tab_timer) > 1000) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } -} \ No newline at end of file diff --git a/keyboards/dz60/keymaps/_bonfire/rules.mk b/keyboards/dz60/keymaps/_bonfire/rules.mk deleted file mode 100644 index 84550c22bfbf..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -MOUSEKEY_ENABLE = no - -# CONSOLE_ENABLE = yes diff --git a/keyboards/dz60/keymaps/_bonfire/scratchpad.txt b/keyboards/dz60/keymaps/_bonfire/scratchpad.txt deleted file mode 100644 index 48ed72c55066..000000000000 --- a/keyboards/dz60/keymaps/_bonfire/scratchpad.txt +++ /dev/null @@ -1,7 +0,0 @@ -[NAME] = LAYOUT_bonfire( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ -) diff --git a/keyboards/dz60/keymaps/atlacat/keymap.c b/keyboards/dz60/keymaps/atlacat/keymap.c deleted file mode 100644 index fa4c382f76b7..000000000000 --- a/keyboards/dz60/keymaps/atlacat/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -#include QMK_KEYBOARD_H - -#define RGB_STA RGB_M_P //rgb static -#define RGB_BRE RGB_M_B //rgb breathe -#define RGB_RAI RGB_M_R //rgb rainbow -#define RGB_SWI RGB_M_SW //rgb swirl -#define RGB_SNA RGB_M_SN //rgb snake -#define RGB_KNI RGB_M_K //rgb knight -#define RGB_GRA RGB_M_G //rgb gradient - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Keymap: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | - * |-----------------------------------------------------------| - * |CAPS/MO| A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Gui |MO |Ctrl | - * `-----------------------------------------------------------' - */ - 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 , XXXXXXX, KC_BSPC, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, - LT(MO(1), KC_CAPS),KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , - KC_LSFT, XXXXXXX, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, XXXXXXX, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, XXXXXXX, MO(2) , KC_RCTL), - - /* Keymap : Second Layer (WASD and Media) - * ,-----------------------------------------------------------. - * |ESC| F1| F2| F3 | | | | | | | | | | DEL | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' - */ - - LAYOUT( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, KC_DEL , - _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE,_______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_INS , KC_HOME, KC_PGUP, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* Keymap : Third Layer (RGB / Reset) - * ,-----------------------------------------------------------. - * | ` | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' - */ - - 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_SLEP, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, - _______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, - _______, _______, BL_DOWN, BL_TOGG, BL_UP , BL_STEP, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -}; diff --git a/keyboards/dz60/keymaps/atlacat/readme.md b/keyboards/dz60/keymaps/atlacat/readme.md deleted file mode 100644 index c4c8702b7c1f..000000000000 --- a/keyboards/dz60/keymaps/atlacat/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -// Template made by Atlacat for DZ 60% keyboard - -The design of the keyboard is coppied from other makers but change to be more dynamic. -The main difference is the switching between layers to keep things simple for me diff --git a/keyboards/dz60/keymaps/billiams/keymap.c b/keyboards/dz60/keymaps/billiams/keymap.c deleted file mode 100644 index ed562fd96fb1..000000000000 --- a/keyboards/dz60/keymaps/billiams/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . |Tap(/) Shft| U | ESC | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Alt | Fn | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_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, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, _______, RSFT_T(KC_SLSH) , KC_UP, KC_ESCAPE, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| Mute | Vol-| Vol+| Prev | Next | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Left| Down| Up |Right| | | Play/Pause | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | |Scr- |Scr+ | |PG_UP|QK_BOOT| - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | HOME|PG_DN| END | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, - KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; diff --git a/keyboards/dz60/keymaps/billiams/readme.md b/keyboards/dz60/keymaps/billiams/readme.md deleted file mode 100644 index 0f917bf4153a..000000000000 --- a/keyboards/dz60/keymaps/billiams/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -## Billiam's DZ60 layout - -This layout is optimized for MacOS and is for a Build 4 DZ60 with a 2U left shift, 2U right shift and an arrow -cluster in the bottom right. Don't use this layout if you didn't get Build 4, you will enter a world of pain Donny. - -Settings: - -* The `CAPS LOCK` key is replaced with a second function key. -* The `ALT` and `CMD` keys are swapped to replicate the Mac layout. -* Del is available as `Fn` + `Backspace` -* `/ ?` are available when you tap the right shift. Otherwise RShift is shift when held down -* RESET is available as `Fn`+ ` ESC` -* Underglow toggle is available as `Fn` + `Q`. Yes your keyboard has lights even if you didn't get the LEDs. Bonus! -* vim-style arrow key bindings H J K L in layer 1 -* The `Bkspc` and `\` keys have been swapped, the reach was too great to have backspace on the top row - -### Initial Installation - -I found the instructions to be longer than they had to be, and I ended up having to Google some steps anyway. These are the steps I took to get my keyboard setup, in case you are new to the process. - -1. Clone the qmk_firmware repo locally -``` -# Choose one: -git clone git@github.com:qmk/qmk_firmware.git # OR -git clone https://github.com/qmk/qmk_firmware.git -``` -2. Customize your layout by starting with a [keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps). I copied [StephenGrier](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps/stephengrier)'s and modified it for DZ60 Build 4 and changed a few things, like the `grave` key, `ESC` and `/`. - -3. Build your hex file -``` -make dz60:billiams # be in the qmk_firmware directory to do this -``` -A hex file `dz60_billiams.hex` will be created in the base qmk_firmware directory - -4. Before plugging in your keyboard into your computer, hold `SPACE` and `B` keys down -5. Holding those keys down, plug the keyboard into your computer, which will put the keyboard in bootlegger mode -6. If you are using [QMK toolbox](https://github.com/qmk/qmk_toolbox/releases), upload the .hex file you made above, select it and hit the flash button. For the love of all that is good and holy on Earth, don't hit the load button, that will load the default keymap and that's not what you want! Unless it is, in which case click away. - -Note: If you didn't follow my instructions in 4 and accidentally loaded the default keymap, then to `RESET` the keyboard and kick it into bootleg mode again, hold the `down arrow` key and `\`. The default layout is Build 1 and sets the `MENU` key on that build to `Fn`. `MENU` corresponds to `down arrow` in build 4. Note that you don't have to unplug the keyboard. - -Hope this helps! - -### 0 Qwerty -``` -,-----------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | -|-----------------------------------------------------------------------------------------+ -| Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | Tap:/ RSh | U | ESC | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Alt | Fn | L | D | R | -`-----------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -FN Layer -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | -|-----------------------------------------------------------------------------------------+ -| |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| Mute | Vol-| Vol+| Prev | Next | -|-----------------------------------------------------------------------------------------+ -| | | | | | | Left| Down| Up |Right| | | Play/Pause | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | |Scr- |Scr+ | | PG_UP |RESET| -|-----------------------------------------------------------------------------------------+ -| | | | | | | HOME | PG_DN | END | -`-----------------------------------------------------------------------------------------' -``` diff --git a/keyboards/dz60/keymaps/billiams_layout2/config.h b/keyboards/dz60/keymaps/billiams_layout2/config.h deleted file mode 100644 index 9560d51a6f94..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout2/config.h +++ /dev/null @@ -1 +0,0 @@ -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/billiams_layout2/keymap.c b/keyboards/dz60/keymaps/billiams_layout2/keymap.c deleted file mode 100644 index 0f9d5e9c0b9a..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout2/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | ESC | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Cmd | Alt | Ctrl | Fn | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_60_2_function( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ESCAPE, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(1) - ), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| | | Mute| Prev | Next | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Left| Down| Up |Right| | | Play/Pause | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | |Scr- |Scr+ | | | |QK_BOOT| - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_60_2_function( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_VOLU, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, KC_MUTE, KC_MRWD, KC_MFFD, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/dz60/keymaps/billiams_layout2/readme.md b/keyboards/dz60/keymaps/billiams_layout2/readme.md deleted file mode 100644 index bef96f4671d5..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout2/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -## Billiam's DZ60 60_2 layout (KBDFANS Layout 2 with split backspace and split right shift) - -This layout is optimized for MacOS and is for a Build 2 DZ60 with a 2U left shift, 1.75U right shift and no arrow cluster. Don't use this layout if you didn't get Build 2, you will enter a world of pain Donny. - -Settings: - -* The `CAPS LOCK` key is a function key. -* The `ALT` and `CMD` keys are swapped to replicate the Mac layout. -* RESET is available as `Fn`+ ` ESC` -* Underglow toggle is available as `Fn` + `Q`. Yes your keyboard has lights even if you didn't get the LEDs. Bonus! -* vim-style arrow key bindings H J K L in layer 1 - -### Initial Installation - -I found the instructions to be longer than they had to be, and I ended up having to Google some steps anyway. These are the steps I took to get my keyboard setup, in case you are new to the process. - -1. Clone the qmk_firmware repo locally -``` -# Choose one: -git clone git@github.com:qmk/qmk_firmware.git # OR -git clone https://github.com/qmk/qmk_firmware.git -``` -2. Customize your layout by starting with a [keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps). I copied [StephenGrier](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps/stephengrier)'s and modified it for DZ60 Build 4 and changed a few things, like the `grave` key, `ESC` and `/`. - -3. Build your hex file -``` -make dz60:billiams_layout2 # be in the qmk_firmware directory to do this -``` -A hex file `dz60_billiams_layout2.hex` will be created in the base qmk_firmware directory - -4. Before plugging in your keyboard into your computer, hold `SPACE` and `B` keys down -5. Holding those keys down, plug the keyboard into your computer, which will put the keyboard in bootlegger mode -6. If you are using [QMK toolbox](https://github.com/qmk/qmk_toolbox/releases), upload the .hex file you made above, select it and hit the flash button. For the love of all that is good and holy on Earth, don't hit the load button, that will load the default keymap and that's not what you want! Unless it is, in which case click away. - -Note: If you didn't follow my instructions in 4 and accidentally loaded the default keymap, then to `RESET` the keyboard and kick it into bootleg mode again, hold the `down arrow` key and `\`. The default layout is Build 1 and sets the `MENU` key on that build to `Fn`. `MENU` corresponds to `down arrow` in build 4. Note that you don't have to unplug the keyboard. - -Hope this helps! - -### 0 Qwerty -``` -,-----------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | DEL | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | ESC | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Cmd | Alt | Ctrl | Fn | -`-----------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -FN Layer -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | -|-----------------------------------------------------------------------------------------+ -| |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| | | Mute | Prev | Next | -|-----------------------------------------------------------------------------------------+ -| | | | | | | Left| Down| Up |Right| | | Play/Pause | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | |Scr- |Scr+ | | | | RESET | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` diff --git a/keyboards/dz60/keymaps/billiams_layout4/config.h b/keyboards/dz60/keymaps/billiams_layout4/config.h deleted file mode 100644 index 9560d51a6f94..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout4/config.h +++ /dev/null @@ -1 +0,0 @@ -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/billiams_layout4/keymap.c b/keyboards/dz60/keymaps/billiams_layout4/keymap.c deleted file mode 100644 index 4f21ccb83eae..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout4/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . |Tap(/) Shft| U | ESC | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Alt | Fn | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, _______, RSFT_T(KC_SLSH) , KC_UP, KC_ESCAPE, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| Mute | Vol-| Vol+| Prev | Next | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Left| Down| Up |Right| | | Play/Pause | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | |Scr- |Scr+ | |PG_UP|QK_BOOT| - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | HOME|PG_DN| END | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, - KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, KC_PGUP, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; diff --git a/keyboards/dz60/keymaps/billiams_layout4/readme.md b/keyboards/dz60/keymaps/billiams_layout4/readme.md deleted file mode 100644 index 37bbd6a65d1e..000000000000 --- a/keyboards/dz60/keymaps/billiams_layout4/readme.md +++ /dev/null @@ -1,71 +0,0 @@ -## Billiam's DZ60 Directional layout - -This layout is optimized for MacOS and is for a Build 4 DZ60 with a 2U left shift, 2U right shift and an arrow -cluster in the bottom right. Don't use this layout if you didn't get Build 4, you will enter a world of pain Donny. - -Settings: - -* The `CAPS LOCK` key is replaced with a second function key. -* The `ALT` and `CMD` keys are swapped to replicate the Mac layout. -* Del is available as `Fn` + `Backspace` -* `/ ?` are available when you tap the right shift. Otherwise RShift is shift when held down -* RESET is available as `Fn`+ ` ESC` -* Underglow toggle is available as `Fn` + `Q`. Yes your keyboard has lights even if you didn't get the LEDs. Bonus! -* vim-style arrow key bindings H J K L in layer 1 - -### Initial Installation - -I found the instructions to be longer than they had to be, and I ended up having to Google some steps anyway. These are the steps I took to get my keyboard setup, in case you are new to the process. - -1. Clone the qmk_firmware repo locally -``` -# Choose one: -git clone git@github.com:qmk/qmk_firmware.git # OR -git clone https://github.com/qmk/qmk_firmware.git -``` -2. Customize your layout by starting with a [keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps). I copied [StephenGrier](https://github.com/qmk/qmk_firmware/tree/master/keyboards/dz60/keymaps/stephengrier)'s and modified it for DZ60 Build 4 and changed a few things, like the `grave` key, `ESC` and `/`. - -3. Build your hex file -``` -make dz60:billiams_layout4 # be in the qmk_firmware directory to do this -``` -A hex file `dz60_billiams_layout4.hex` will be created in the base qmk_firmware directory - -4. Before plugging in your keyboard into your computer, hold `SPACE` and `B` keys down -5. Holding those keys down, plug the keyboard into your computer, which will put the keyboard in bootlegger mode -6. If you are using [QMK toolbox](https://github.com/qmk/qmk_toolbox/releases), upload the .hex file you made above, select it and hit the flash button. For the love of all that is good and holy on Earth, don't hit the load button, that will load the default keymap and that's not what you want! Unless it is, in which case click away. - -Note: If you didn't follow my instructions in 4 and accidentally loaded the default keymap, then to `RESET` the keyboard and kick it into bootleg mode again, hold the `down arrow` key and `\`. The default layout is Build 1 and sets the `MENU` key on that build to `Fn`. `MENU` corresponds to `down arrow` in build 4. Note that you don't have to unplug the keyboard. - -Hope this helps! - -### 0 Qwerty -``` -,-----------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | Tap:/ RSh | U | ESC | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Alt | Fn | L | D | R | -`-----------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -FN Layer -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | -|-----------------------------------------------------------------------------------------+ -| |RBB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| Mute | Vol-| Vol+| Prev | Next | -|-----------------------------------------------------------------------------------------+ -| | | | | | | Left| Down| Up |Right| | | Play/Pause | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | |Scr- |Scr+ | | PG_UP |RESET| -|-----------------------------------------------------------------------------------------+ -| | | | | | | HOME | PG_DN | END | -`-----------------------------------------------------------------------------------------' -``` diff --git a/keyboards/dz60/keymaps/billypython/config.h b/keyboards/dz60/keymaps/billypython/config.h deleted file mode 100644 index 4b511eb8484f..000000000000 --- a/keyboards/dz60/keymaps/billypython/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define LAYER_FN diff --git a/keyboards/dz60/keymaps/billypython/keymap.c b/keyboards/dz60/keymaps/billypython/keymap.c deleted file mode 100644 index 66ce559c1a21..000000000000 --- a/keyboards/dz60/keymaps/billypython/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -#include QMK_KEYBOARD_H -#include "billypython.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮───┮───â”Ī - * │LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSC│ ↑ │Del│ - * ├────┮──â”ī─┮─â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───┾───┾───┾───┾───â”Ī - * │LCtl│LGui│LAlt│ Space │RAl│FnL│ ← │ ↓ │ → │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - [L_BASE] = LAYOUT_directional( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - FN_CAPS, KC_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, RSF_RCT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC, XXXXXXX, KC_RALT, FN_FNLK, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Function layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │PSc│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │PgU│ ↑ │PgD│Ply│Prv│Nxt│Clear│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ │M← │M↓ │M→ │MW↑│ │Hom│ ← │ ↓ │ → │End│ │ │ - * ├──────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮───┮───â”Ī - * │ │MA0│MA2│MW←│MW→│ │ │ │Vo-│Vo+│Mut│App│PgU│Ins│ - * ├────┮──â”ī─┮─â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───┾───┾───┾───┾───â”Ī - * │ │ │ │ MW↓ │ │ │Hom│PgD│End│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - [L_FN] = LAYOUT_directional( - _______, KC_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_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, KC_PGUP, KC_UP, KC_PGDN, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, - _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_APP, KC_PGUP, KC_INS, - _______, _______, _______, XXXXXXX, KC_WH_D, XXXXXXX, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; diff --git a/keyboards/dz60/keymaps/billypython/rules.mk b/keyboards/dz60/keymaps/billypython/rules.mk deleted file mode 100644 index 3b7016f57007..000000000000 --- a/keyboards/dz60/keymaps/billypython/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -COMMAND_ENABLE = yes -CONSOLE_ENABLE = yes -EXTRAKEY_ENABLE = yes -MOUSEKEY_ENABLE = yes -RGBLIGHT_ENABLE = no -TAP_DANCE_ENABLE = yes diff --git a/keyboards/dz60/keymaps/bingocaller/config.h b/keyboards/dz60/keymaps/bingocaller/config.h deleted file mode 100644 index b04b47a30bc2..000000000000 --- a/keyboards/dz60/keymaps/bingocaller/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_TIME_TO_MAX 15 diff --git a/keyboards/dz60/keymaps/bingocaller/keymap.c b/keyboards/dz60/keymaps/bingocaller/keymap.c deleted file mode 100644 index 6e1bb29481a0..000000000000 --- a/keyboards/dz60/keymaps/bingocaller/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -#include QMK_KEYBOARD_H - -#define WORD_BACK A(KC_LEFT) -#define WORD_FORWARD A(KC_RIGHT) -#define DELETE_WORD_BACK A(KC_BACKSPACE) -#define DELETE_WORD_FORWARD A(KC_DELETE) -#define FINE_VOLUP S(A(KC_VOLU)) -#define FINE_VOLDOWN S(A(KC_VOLD)) - -enum layers { - _BASE, - _ARROWS, - _HDUE, // Home, PgDown, PgUp, End - _MOUSE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default layer: - * Space Cadet shifts (parentheses on tap) - * Caps Lock is Control on hold, Esc on tap - * Hyper/Caps Lock on Control - * Hold D to activate layer 1 - * Hold Space to activate layer 3 (Mouse keys) - * Hold FN to activate layer 4 - */ - [_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_MINS, KC_EQL, KC_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - LCTL_T(KC_ESC), KC_A, KC_S, LT(_ARROWS, KC_D), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - SC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_NO, - ALL_T(KC_CAPS), KC_LALT, KC_LGUI, KC_NO, LT(_MOUSE, KC_SPC), KC_NO, KC_RGUI, KC_RALT, KC_NO, MO(_FN), ALL_T(KC_CAPS)), - - /* Layer 1: - * Vim arrows (HJKL) - * Vim-like move across words with W(ord), and B(eginning) - * Media controls (fine volume controls using Option+Shift) - * Backspace/Del on N/M - * Hold F to activate layer 2 - */ - [_ARROWS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, WORD_FORWARD, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, FINE_VOLDOWN, FINE_VOLUP, _______, - _______, _______, _______, _______, LT(_HDUE, _______), _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, WORD_BACK, KC_BSPC, KC_DEL, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* Layer 2: - * Home, End, Page Up, Page Down - * Delete word forward/back on W/B - */ - [_HDUE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, DELETE_WORD_FORWARD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, - _______, _______, _______, _______, _______, _______, DELETE_WORD_BACK, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* Layer 3: - * Mouse keys - * Cursor movement: HJKL - * MB 1, 2, and 3 on F, D, and S, respectively - * Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) - */ - [_MOUSE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN3, KC_BTN2, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, - _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* Layer 4: - * F1-12 - * Del on backspace - * RGB (underglow) controls - * QK_BOOT firmware on backslash - * Screen brightness: Z (decrease), X (increase) - */ - [_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, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - // TEMPLATE - // LAYOUT( - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; diff --git a/keyboards/dz60/keymaps/bingocaller/readme.md b/keyboards/dz60/keymaps/bingocaller/readme.md deleted file mode 100644 index d32dc626749a..000000000000 --- a/keyboards/dz60/keymaps/bingocaller/readme.md +++ /dev/null @@ -1,114 +0,0 @@ -# MacOS standard 60% keymap with Vim-like arrows - -This is a MacOS-specific keymap for DZ60 configured in a standard 60% ANSI layout, with a stepped Caps Lock: - -[![](https://i.imgur.com/lFP2O41.png)](http://www.keyboard-layout-editor.com/#/gists/4b156fdf2c1426bffc82fadd2b1c5634) - -**[Fully assembled 60% keyboard from KBDfans](https://kbdfans.cn/collections/fully-assembled-keyboard/products/fully-assembled-plastic-case-mechanical-keyboard)** - -## Base Layer - -``` -,-----------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Ctrl/Esc | A | S | D/L1 | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift/( | Z | X | C | V | B | N | M | , | . | / | Shift/) | -|-----------------------------------------------------------------------------------------+ -| Hyper | Alt | Cmd | Space/L3 | Cmd | Alt | L4 | Hyper | -`-----------------------------------------------------------------------------------------' -``` - -* Space Cadet shifts (parentheses on tap) -* Caps Lock is Control on hold, Esc on tap -* Hyper/Caps Lock on Control -* Hold D to activate layer 1 -* Hold Space to activate layer 3 (Mouse keys) -* Hold FN to activate layer 4 - -## `L1` - -``` -,-----------------------------------------------------------------------------------------. -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | W→ | | | | | âŪ | âŊ | ⏭ | 🔇 | 🔉 | 🔊 | | -|-----------------------------------------------------------------------------------------+ -| | | | | L2 | | ← | ↓ | ↑ | → | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | W← | âŒŦ | âŒĶ | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -* Vim arrows (HJKL) -* Vim-like move across words with W(ord), and B(eginning) -* Media controls (fine volume controls using Option+Shift) -* Backspace/Del on N/M -* Hold F to activate layer 2 - -## `L2` - -``` -,-----------------------------------------------------------------------------------------. -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | WâŒĶ | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | ↖ | ⇞ | ⇟ | ↘ïļŽ | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | WâŒŦ | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -* Home, End, Page Up, Page Down -* Delete word forward/back on W/B - -## `L3` - -``` -,-----------------------------------------------------------------------------------------. -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | MWU | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | M3 | M2 | M1 | | M← | M↓ | M↑ | M→ | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | MWD | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -* Mouse keys - * Cursor movement: HJKL - * MB 1, 2, and 3 on F, D, and S, respectively - * Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) - -## `L4` - -``` -,-----------------------------------------------------------------------------------------. -| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | âŒĶ | -|-----------------------------------------------------------------------------------------+ -| |RGB_T|RGB_M|RGB_H+|RGB_H-|RGB_S+|RGB_S-|RGB_V+|RGB_V-| | | | | RESET | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | 🔅 | 🔆 | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -* F1-12 -* Del on backspace -* RGB (underglow) controls -* RESET firmware on backspace -* Screen brightness: Z (decrease), X (increase) diff --git a/keyboards/dz60/keymaps/boris_burger/README.md b/keyboards/dz60/keymaps/boris_burger/README.md deleted file mode 100644 index 64062f823a05..000000000000 --- a/keyboards/dz60/keymaps/boris_burger/README.md +++ /dev/null @@ -1,52 +0,0 @@ -### boris_burger's DZ60 layout - -This layout is for a DZ60 with a 2U left shift, 1U right shift and an arrow cluster in -the bottom right. - -It is based off stephengrier's layout adding support for Home/End/PgUp/PgDn using Fn+arrows -as used on macOS and Microsoft Surface. It has Insert instead of Fn near the arrow cluster -and other smaller tweaks: -- CapsLock is the only Fn key (CapsLock by itself is not available) -- Del is available as Fn+Backspace -- Ctrl+Del is available as Ctrl+Backspace (e.g. deleting word to the right of the cursor) -- Shift+Del is available as Shift+Backspace (e.g. permanently deleting file or e-mail) -- PgUp = Fn+Up -- PgDn = Fn+Down -- Home = Fn+Left -- End = Fn+Right -- Tilde = Shift+Esc -- Backtick = Fn+Esc -- Underglow toggle and mode selection are available as Fn+Q and Fn+W -- Reset (bootloader mode) = Fn+B - -### 0 Qwerty -``` -,-----------------------------------------------------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | Ins | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Win | Alt | Space | Alt | Menu | L | D | R | -`-----------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -FN Layer -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | -|-----------------------------------------------------------------------------------------+ -| |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | -|-----------------------------------------------------------------------------------------+ -| | BL T| BL M| BL+ | BL- | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | |RESET| | | | | | | PgUp| | -|-----------------------------------------------------------------------------------------+ -| | | | | | | Home| PgDn| End | -`-----------------------------------------------------------------------------------------' -``` - diff --git a/keyboards/dz60/keymaps/boris_burger/config.h b/keyboards/dz60/keymaps/boris_burger/config.h deleted file mode 100644 index 9560d51a6f94..000000000000 --- a/keyboards/dz60/keymaps/boris_burger/config.h +++ /dev/null @@ -1 +0,0 @@ -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/boris_burger/keymap.c b/keyboards/dz60/keymaps/boris_burger/keymap.c deleted file mode 100644 index b29c76ee1259..000000000000 --- a/keyboards/dz60/keymaps/boris_burger/keymap.c +++ /dev/null @@ -1,87 +0,0 @@ -#include QMK_KEYBOARD_H - -/* Holds state of modifiers when Backspace was pressed. - * Used to ensure that the correct keycode is unregistered when Backspace is released. - */ -static uint8_t bspc_mods = 0; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | Ins | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Win | Alt | Space | Alt | Menu | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - LAYOUT_directional( - 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, - MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_INS , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL T| BL M| BL+ | BL- | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | |QK_BOOT| | | | | | | PgUp| | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | Home| PgDn| End | - * `-----------------------------------------------------------------------------------------' - */ - LAYOUT_directional( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, KC_DEL , - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, BL_TOGG, BL_STEP, BL_UP , BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case KC_BSPC: { - if (record->event.pressed) { - const uint8_t current_mods = get_mods(); - const uint8_t shift = current_mods & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)); - const uint8_t ctrl = current_mods & (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTL)); - bspc_mods = current_mods; - if(shift || ctrl) { - add_key(KC_DEL); - add_mods(current_mods); - send_keyboard_report(); - } else { - return true; - } - } - else { - if(bspc_mods & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)|MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTL))) { - // if Shift or Ctrl was pressed with Backspace, than that was intepreted as Del, so we need - // to unregister the Del key - del_key(KC_DEL); - } else { - // Either Backspace was pressed without mods, or with a modifier other than Shift or Ctrl - // so it is simply taken as Backspace - del_key(KC_BSPC); - } - send_keyboard_report(); - } - return false; - } - default: - return true; - } -} diff --git a/keyboards/dz60/keymaps/calbatr0ss/keymap.c b/keyboards/dz60/keymaps/calbatr0ss/keymap.c deleted file mode 100644 index 7c4921a36c47..000000000000 --- a/keyboards/dz60/keymaps/calbatr0ss/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* LAYER 0 - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ BKSP│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ CTRL │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │ SHIFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ SHIFT│LYR│ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │CAPS│ ALT│ OS │ SPACE │ FN │ SPACE │ OS │ ALT│MENU│CTRL│ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────â”ī────â”ī────┘ - */ - LAYOUT_60_calbatr0ss( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(3), - KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, MO(2), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_RCTL), - -/* LAYER 1 - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ESC│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ BKSP│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ CTRL │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │ SHIFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ SHIFT│LYR│ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │CAPS│ OS │ ALT│ SPACE │ FN │ SPACE │ ALT│ OS │MENU│CTRL│ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────â”ī────â”ī────┘ - */ - LAYOUT_60_calbatr0ss( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(3), - KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), - -/* LAYER 2 - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ │RGB│ │ │ │ │ │PDN│ UP│PUP│ │ │ │ DEL │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ │ │ │ │ │ │HOM│LFT│DWN│RHT│END│ │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │ │ │ │ │ │VDN│VUP│MUT│PRV│NXT│PLY│ │ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │RSET│ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────â”ī────â”ī────┘ - */ - LAYOUT_60_calbatr0ss( - 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, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -/* LAYER 3 - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ │ │WIN│ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │ │ │ │ │ │ │ │MAC│ │ │ │ │ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī──────────â”ī────â”ī────────â”ī────â”ī────â”ī────â”ī────┘ - */ - LAYOUT_60_calbatr0ss( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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), KC_TRNS, KC_TRNS, KC_TRNS, 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/dz60/keymaps/chrisae9/config.h b/keyboards/dz60/keymaps/chrisae9/config.h deleted file mode 100644 index 4daf8ee9b5b6..000000000000 --- a/keyboards/dz60/keymaps/chrisae9/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* chrisae9 Config */ -#pragma once - -/* Light Config */ -#undef RGBLIGHT_HUE_STEP -#define RGBLIGHT_HUE_STEP 1 -#undef RGBLIGHT_SAT_STEP -#define RGBLIGHT_SAT_STEP 8 -#undef RGBLIGHT_VAL_STEP -#define RGBLIGHT_VAL_STEP 16 - -/* In order */ -#define RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_CHRISTMAS -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE - - -/* Mouse Config */ -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 15 -#define MOUSEKEY_TIME_TO_MAX 10 -#define MOUSEKEY_MAX_SPEED 2.5 diff --git a/keyboards/dz60/keymaps/chrisae9/keymap.c b/keyboards/dz60/keymaps/chrisae9/keymap.c deleted file mode 100644 index 689f9f228df5..000000000000 --- a/keyboards/dz60/keymaps/chrisae9/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - LAYOUT_directional( - 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - QK_GESC, KC_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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_MINS, KC_BSPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RIGHT), - - LAYOUT_directional( - 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_NO, 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, - TG(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, - KC_TRNS, 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, MO(2), KC_HOME, KC_PGDN, KC_END), - - LAYOUT_directional( - KC_PWR, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO, KC_PSCR, - KC_TRNS, KC_PGUP, KC_MS_U, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, - KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, - KC_TRNS, RGB_RMOD, RGB_MOD, KC_BTN3, KC_BTN4, KC_BTN5, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, RGB_TOG, RGB_SAI, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN1, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI), - - LAYOUT_directional( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - TG(3), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), - -}; diff --git a/keyboards/dz60/keymaps/chrisae9/readme.md b/keyboards/dz60/keymaps/chrisae9/readme.md deleted file mode 100644 index 9e85864fa582..000000000000 --- a/keyboards/dz60/keymaps/chrisae9/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# Chris' DZ60 Layout - -This is a custom keymap for the layout of the DZ60. - -## Keyboard Picture - -![Keyboard](https://i.imgur.com/qyWgShY.png) - -## Keyboard Layout - -![Chris DZ60](https://i.imgur.com/6mwsEOl.png) - -## Setup - -[QMK Toolbox Download](https://github.com/qmk/qmk_toolbox/releases/tag/0.0.13) - -[MYSYS2 for Windows](http://www.msys2.org/) - -``` bash -#After downloading -pacman -Syu -#Close and re-open -pacman -Su -pacman -S git - -#Clone this repo and run this command in directory -util/qmk_install.sh -``` - -``` bash -#From the qmk_firware directory run -make dz60:chrisae9 -``` diff --git a/keyboards/dz60/keymaps/coppertop/keymap.c b/keyboards/dz60/keymaps/coppertop/keymap.c deleted file mode 100644 index 3d733bfad20c..000000000000 --- a/keyboards/dz60/keymaps/coppertop/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ - /* Copyright 2020 Philip Chan - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -//Layers -enum layer_names { - _QWERTY, - _FN, - _MEDIA, -}; - -//Custom Keymap Definitions -#define KC_CAD LALT(LCTL(KC_DEL)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty Base layer - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc| Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | `/_Media| A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |Home | Up |End | - * |-----------------------------------------------------------------------------------------+ - * | LCtrl | LGui | LAlt | Space | Fn | Space | F7 | F10 |Left |Down |Right| - * `----------------------------------------------------------------------------------------' - */ - - [_QWERTY] = LAYOUT_directional( - 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, - LT(_MEDIA,KC_GRV), KC_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_HOME, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_F7, KC_F10, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* F-Key/Lighting/whatever layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F0 | F11 | F12 | | Ins | - * |-----------------------------------------------------------------------------------------+ - * | |R_Tog|R_HUI|R_SAI|R_VAI| | | | | | | | | KC_CAD | - * |-----------------------------------------------------------------------------------------+ - * | Caps | |R_HUD|R_SAD| | | | | | | SLCK|PAUSE| Print Screen| - * |-----------------------------------------------------------------------------------------+ - * | |R_M_P|R_M_B|R_M_R|R_M_SW|R_M_S|R_M_K|R_M_X|R_M_G| | |PgUp |BLUP |PgDn | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | |BLTog|BLDN |BLInc| - * `----------------------------------------------------------------------------------------' - */ - - [_FN] = LAYOUT_directional( - XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_INS, - XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAD, - KC_CAPS, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, KC_PAUS, KC_PSCR, - _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, XXXXXXX, XXXXXXX, KC_PGUP, BL_UP, KC_PGDN, - _______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DOWN, BL_STEP - ), - -/* SFX/Multimedia/Numpad layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | / | * | - | = | |Trns |Trns | - * |-----------------------------------------------------------------------------------------+ - * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | 1 | 2 | 3 |NumEN| | | | - * |-----------------------------------------------------------------------------------------+ - * | Trns | Trns | Trns | Trns | | 0 | . | | | | | - * `----------------------------------------------------------------------------------------' - */ - - [_MEDIA] = LAYOUT_directional( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______, - XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, QK_BOOT, - _______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; diff --git a/keyboards/dz60/keymaps/coppertop/rules.mk b/keyboards/dz60/keymaps/coppertop/rules.mk deleted file mode 100644 index 7b4abdbc1bae..000000000000 --- a/keyboards/dz60/keymaps/coppertop/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c b/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c deleted file mode 100644 index 523f65b2eab4..000000000000 --- a/keyboards/dz60/keymaps/crd_2u_lshift/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl/Esc| A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |Home | U | End | - * |-----------------------------------------------------------------------------------------+ - * | FN1 | Alt | Cmd | Space | Cmd | FN2 | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - 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, - CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_HOME, KC_UP, KC_END, - MO(1), KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, MO(2), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* FN1 Layer - * ,-----------------------------------------------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | Home | PgUp | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | L | D | U | R | End | PgDn| | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | |PgUp | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | |Home |PgDn | End | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - 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_PGUP, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_END, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - /* FN2 Layer (Media) - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| |Mute | Vol- | Vol+ | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | |Bri- |Bri+ | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | |Pl/Ps|Vol+ |Mute | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | |Prev |Vol- |Next | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, - _______, _______, _______, DB_TOGG, _______, _______, _______, _______, _______, _______, KC_SCRL, KC_PAUSE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), -}; diff --git a/keyboards/dz60/keymaps/danbee/keymap.c b/keyboards/dz60/keymaps/danbee/keymap.c deleted file mode 100644 index 19ef257f52ee..000000000000 --- a/keyboards/dz60/keymaps/danbee/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_names { - _QW, - _L1, - _L2, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bcksp │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Ent │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ Fn │Alt │Cmd │ Space │Cmd │Hypr│Ctrl│Fn 2│ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_QW] = LAYOUT_60_iso( /* Layer 0: Qwerty */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - MO(_L1), KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_HYPR, KC_RCTL, MO(_L2) - ), - /* 1: fn */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │ § │Br-│Br+│ │ │BL-│BL+│Pre│Pau│Nxt│Mut│Vo-│Vo+│ Del │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ Ins │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ │ │ │ │ │ │ ◀ │ ▾ │ â–ē │ â–ķ │ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │ │ │ │ │ │ │BL~│ │ │ │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ │ │ │ │ │ │ │ │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_L1] = LAYOUT_60_iso( /* Layer 1: Functions */ - KC_NUBS, KC_BRID, KC_BRIU, _______, _______, BL_DOWN, BL_UP, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* 2: fn 2 */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Eject │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ Caps │ │ │ │ │ │Hom│PgD│PgU│End│ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │ │ │ │ │ │ │Rst│ │ │ │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ │ │ │ │ │ │ │ │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_L2] = LAYOUT_60_iso( /* Layer 2: Functions */ - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EJCT, - _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, RGB_M_T, RGB_MOD, _______, _______, _______, _______, _______, _______, - KC_CAPS, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_SW,RGB_M_G, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, - _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_K, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/dz60/keymaps/danbee/rules.mk b/keyboards/dz60/keymaps/danbee/rules.mk deleted file mode 100644 index cfd86c52bace..000000000000 --- a/keyboards/dz60/keymaps/danbee/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -MOUSEKEY_ENABLE = no -CONSOLE_ENABLE = yes diff --git a/keyboards/dz60/keymaps/dbroqua/keymap.c b/keyboards/dz60/keymaps/dbroqua/keymap.c deleted file mode 100644 index 46471911ba67..000000000000 --- a/keyboards/dz60/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,74 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _DEFAULT 0 -#define _FN 1 -#define _SFX 2 - -// Fillers to make layering more clear -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty gui/alt/space/alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `-----------------------------------------------------------------' - */ - [_DEFAULT] = LAYOUT_true_hhkb( /* Basic QWERTY */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, ______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI - ), - -/* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | | - * `-----------------------------------------------------------------' - */ - [_FN] = LAYOUT_true_hhkb( /* Layer 1 */ - TG(_SFX),KC_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_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, - ______, ______, ______, KC_MSTP, ______ - ), - - -/* SFX Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_SFX] = LAYOUT_true_hhkb( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, BL_TOGG,BL_STEP,BL_DOWN,BL_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______ - ) -}; diff --git a/keyboards/dz60/keymaps/doogle999/keymap.c b/keyboards/dz60/keymaps/doogle999/keymap.c deleted file mode 100644 index 60fe258e2547..000000000000 --- a/keyboards/dz60/keymaps/doogle999/keymap.c +++ /dev/null @@ -1,74 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "doogle999.h" - -#define ______ KC_NO - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Base layer - * ,-----------------------------------------------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | Shift | U | Del | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Cmd | Alt | Space | / | Fn | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - 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, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, ______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_DELETE, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SLSH, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* Fn layer - * ,-----------------------------------------------------------------------------------------. - * | ~ | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10 | F11 | F12 | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | Reset | NP1 | NP2 | NP3 | NP4 | NP5 | NP6 | NP7 | NP8 | NP9 | NP0 |VolD |VolU | Mute | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | BlD | BlI | BlT | Menu | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Cyc+| Cyc-| Val+| Val-| Hue+| Hue-| Sat+| Sat-| Tog | Shift | Pup | Ins | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Cmd | Alt | Space |HwCal| |Home | Pdn | End | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - 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_CALC, - QK_BOOT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_VOLD, KC_VOLU, KC_MUTE, - ______, ______, ______, ______, ______, ______, ______, ______, ______, BL_DOWN,BL_UP, BL_TOGG, KC_APP, - KC_LSFT, ______, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_TOG, KC_RSFT, KC_PGUP, KC_INSERT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, TO(2), ______, KC_HOME, KC_PGDN, KC_END - ), - - /* Hardware calculator layer - * ,-----------------------------------------------------------------------------------------. - * |EndCa| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | | Q | | E | | T | | | | | P | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | S | | | | | | | L | | | Calc | - * |-----------------------------------------------------------------------------------------+ - * | Shift | | | | C | | | | | . | Shift | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | / | | | | | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - ENDCALC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, ______, KC_BSPC, - ______, KC_Q, ______, KC_E, ______, KC_T, ______, ______, ______, ______, KC_P, ______, ______, ______, - ______, ______, KC_S, ______, ______, ______, ______, ______, ______, KC_L, ______, ______, CALC, - KC_LSFT, ______, ______, ______, KC_C, ______, ______, ______, ______, ______, KC_DOT, KC_RSFT, ______, ______, - ______, ______, ______, ______, ______, ______, KC_SLSH, ______, ______, ______, ______ - ), -}; \ No newline at end of file diff --git a/keyboards/dz60/keymaps/draevin/keymap.c b/keyboards/dz60/keymaps/draevin/keymap.c deleted file mode 100644 index b22dfb5561b0..000000000000 --- a/keyboards/dz60/keymaps/draevin/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2020 Draevin Luke @draevin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "draevin.h" - -#define LAYOUT_wrapped(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_CM] = LAYOUT_wrapped ( - HYPR_T(KC_ESC), ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_LBRC, KC_RBRC, KC_BSLS, - KC_BSPC, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, KC_ENT, - TD(TD_CAPS), XXXXXXX, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_RCTL, KC_RALT, XXXXXXX, KC_RGUI, KC_HYPR - ), - - [_QW] = LAYOUT_wrapped ( - HYPR_T(KC_ESC), ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, KC_BSLS, - KC_BSPC, _________________QWERTY_L2_________________, _________________QWERTY_L2_________________, KC_QUOT, KC_ENT, - TD(TD_CAPS), XXXXXXX, _________________QWERTY_L3_________________, _________________QWERTY_L3_________________, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_RCTL, KC_RALT, XXXXXXX, KC_RGUI, KC_HYPR - ), - - [_FN] = LAYOUT_wrapped ( - KC_GRV, _________________FROW_LEFT_________________, _________________FROW_RIGHT________________, KC_F11, KC_F12, _______, _______, - _______, ___________________FN_L1___________________, ___________________FN_R1___________________, _______, _______, KC_MAKE, - _______, ___________________FN_L2___________________, ___________________FN_R2___________________, _______, _______, - _______, XXXXXXX, ___________________BLANK___________________, ___________________FN_R3___________________, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CM_QW - ) -}; diff --git a/keyboards/dz60/keymaps/drewsky/Readme.md b/keyboards/dz60/keymaps/drewsky/Readme.md deleted file mode 100755 index 115d9cf83b81..000000000000 --- a/keyboards/dz60/keymaps/drewsky/Readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# **DREWSKY'S DZ60 ANSI Layout** -![Imgur](https://i.imgur.com/v4zVbl7.jpg) - - -Layer 1 is default configuration, for the exception of the Space cadet shifts. Layer 2 is for WASD arrows and Media, which I have included both PREV and NEXT for Windows and macOS. Layer 3 is for RGB underglow. Legends in picture follow Layers. Modifier one is momentary, and the RGB layer is TT (TAP_TOGGLE) - -Make example for this keyboard (after setting up your build environment): - - make dz60:drewsky - -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/dz60/keymaps/drewsky/keymap.c b/keyboards/dz60/keymaps/drewsky/keymap.c deleted file mode 100755 index 0de122a7f06d..000000000000 --- a/keyboards/dz60/keymaps/drewsky/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -#include QMK_KEYBOARD_H - -// Helpful defines -#define _L0 0 -#define _L1 1 -#define _L2 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_L0] = 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, - 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, TT(2), KC_RALT, MO(1), KC_RCTL), - - [_L1] = LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, - KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, - KC_NO, KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_MSTP, KC_VOLD, KC_VOLU, KC_MPLY, KC_VOLD, KC_VOLU, KC_TRNS, KC_NO), - - [_L2] = LAYOUT_60_ansi( - KC_ESC, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_NO, - KC_NO, KC_NO, KC_NO, RGB_TOG, KC_TRNS, KC_NO, KC_NO, DB_TOGG) -}; - - - - diff --git a/keyboards/dz60/keymaps/edulpn/README.md b/keyboards/dz60/keymaps/edulpn/README.md deleted file mode 100644 index 221be722b1b2..000000000000 --- a/keyboards/dz60/keymaps/edulpn/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Edulpn Tsangan Keymap for the DZ60 PCB - -## Additional Notes -Tsangan 60% Keymap for DZ60 + Fn layer. - -### Layout -![Edulpn Tsangan Keymap for the DZ60](https://i.imgur.com/z7HHeH7.png) - -## Build -To build the default keymap, simply run `make dz60:edulpn`. diff --git a/keyboards/dz60/keymaps/edulpn/keymap.c b/keyboards/dz60/keymaps/edulpn/keymap.c deleted file mode 100644 index f9eef567336e..000000000000 --- a/keyboards/dz60/keymaps/edulpn/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( - 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - [1] = LAYOUT_60_tsangan_hhkb( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, QK_BOOT, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_DEL, - KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, 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_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/dz60/keymaps/eric/keymap.c b/keyboards/dz60/keymaps/eric/keymap.c deleted file mode 100644 index 571dd25baf3a..000000000000 --- a/keyboards/dz60/keymaps/eric/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Layer 0 -* ,-----------------------------------------------------------------------------------------. -* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ~ | -* |-----------------------------------------------------------------------------------------+ -* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | -* |-----------------------------------------------------------------------------------------+ -* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -* |-----------------------------------------------------------------------------------------+ -* | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | -* |-----------------------------------------------------------------------------------------+ -* | Caps | GUI | Alt | Space | Alt | GUI | Ctrl | -* `-----------------------------------------------------------------------------------------' -*/ - - LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RALT, KC_RCTL), - - - - /* Layer 1 -* ,-----------------------------------------------------------------------------------------. -* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INS | Del | -* |-----------------------------------------------------------------------------------------+ -* | | PGUP | UP | PGDN | HOME | & | ~ | | | | Prnt | UP | Del | Bkspc | -* |-----------------------------------------------------------------------------------------+ -* | | LEFT | DWN | RGHT | END | * | | | PGUP | HOME | LEFT | RGHT | | -* |-----------------------------------------------------------------------------------------+ -* | | _ | + | ( | ) | | | | | PGDN | END | DWN | | | -* |-----------------------------------------------------------------------------------------+ -* | | | | | | | | -* `-----------------------------------------------------------------------------------------' -*/ - - - LAYOUT( - KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, 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), - - LAYOUT( - QK_BOOT, KC_A, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/dz60/keymaps/f3d3/keymap.c b/keyboards/dz60/keymaps/f3d3/keymap.c deleted file mode 100644 index 9b9f5d950a65..000000000000 --- a/keyboards/dz60/keymaps/f3d3/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Layer 0 -* ,-----------------------------------------------------------------------------------------. -* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | Bck | -* |-----------------------------------------------------------------------------------------+ -* | 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 | , | . | RSh | U | / | -* |-----------------------------------------------------------------------------------------+ -* | Ctrl | GUI | Alt | Space | Fn1 | Play | Pscr | Fn1 | Left |Rght |Down | -* `-----------------------------------------------------------------------------------------' -*/ - - 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_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS, KC_RSFT, KC_UP, KC_SLSH, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_MPLY, KC_PSCR, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - - - - /* Layer 1 -* ,-----------------------------------------------------------------------------------------. -* | PWR | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | Del | -* |-----------------------------------------------------------------------------------------+ -* | |RGBT |RGBM |Hue+ |Hue- |Sat+ |Sat- |Val+ |Val- | | | | | QK_BOOT | -* |-----------------------------------------------------------------------------------------+ -* | | | | | | | | | | | | | | -* |-----------------------------------------------------------------------------------------+ -* | | | | | BLT | BL- | BL+ | BLS | | | |Vol+ | | -* |-----------------------------------------------------------------------------------------+ -* | | | | | | Stop | | |Prev |Vol- |Next | -* `-----------------------------------------------------------------------------------------' -*/ - - - LAYOUT_all( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), -}; diff --git a/keyboards/dz60/keymaps/frogger/keymap.c b/keyboards/dz60/keymaps/frogger/keymap.c deleted file mode 100644 index 0e2f0b62a859..000000000000 --- a/keyboards/dz60/keymaps/frogger/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -#include QMK_KEYBOARD_H - -#define ______ KC_TRNS - -#define LAYER_1 1 -#define LAYER_2 2 -#define LAYER_3 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layer - * ,-----------------------------------------------------------------------------------------. - * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | LAY1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | LAY2| - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Cmd | Alt | LAY1 | LAY2 | SPACE | RAlt | LAY1 | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_all( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, ______, KC_BSPC, - - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - - MO(LAYER_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - - KC_LSFT, ______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(LAYER_2), - - KC_LCTL, KC_LGUI, KC_LALT, MO(LAYER_1), MO(LAYER_1), KC_SPC, KC_RALT, MO(LAYER_1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* Layer 1 - * ,-----------------------------------------------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | - * |-----------------------------------------------------------------------------------------+ - * | | PREV | PLAY | NEXT | | | | | Up | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | Home| Left | Down | Right | End | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | |VOL+| | - * |-----------------------------------------------------------------------------------------+s - * | | | | | | | |VOL-| MUTE | - * `-----------------------------------------------------------------------------------------' - KC_VOLD, KC_VOLU, KC_MUTE, - KC_MPRV, KC_MPLY, KC_MNXT, - */ - - 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_MPRV, KC_MPLY, KC_MNXT, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, ______, - - ______, ______, ______, ______, ______, ______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ______, ______, - - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLU, ______, - - ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD, KC_MUTE - ), - - /* Layer 2 - * ,-----------------------------------------------------------------------------------------. - * | QK_BOOT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL T| BL M| BL+ | BL- | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - - 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, ______, QK_BOOT, - - ______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, - - ______, BL_TOGG, BL_STEP, BL_UP, BL_DOWN,______, ______, ______, ______, ______, ______, ______, ______, - - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ - ), -}; diff --git a/keyboards/dz60/keymaps/frogger/readme.md b/keyboards/dz60/keymaps/frogger/readme.md deleted file mode 100644 index 1704717155c8..000000000000 --- a/keyboards/dz60/keymaps/frogger/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -![DZ60 Layout Image](https://i.redd.it/aa4usjtk5j701.jpg) - -# Frogger's Keyboard Layout - -This layouts is for someone with a dedicated arrow keys, but still wants arrows on home row as well. I have one layer which is functionality, and another layer -which is really more around backlight stuff, because I rarely use it. Instead of a 2.25u shift as pictured, I have 2 1u keys. diff --git a/keyboards/dz60/keymaps/gk64/keymap.c b/keyboards/dz60/keymaps/gk64/keymap.c deleted file mode 100644 index 53b4b5c1a6ae..000000000000 --- a/keyboards/dz60/keymaps/gk64/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - LAYOUT_64_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_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT), - - 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_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, KC_TRNS, KC_DEL, 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/dz60/keymaps/hailbreno/README.md b/keyboards/dz60/keymaps/hailbreno/README.md deleted file mode 100644 index f7f8ff48026d..000000000000 --- a/keyboards/dz60/keymaps/hailbreno/README.md +++ /dev/null @@ -1 +0,0 @@ -Split spacebar and multiple layouts for DZ60. \ No newline at end of file diff --git a/keyboards/dz60/keymaps/hailbreno/keymap.c b/keyboards/dz60/keymaps/hailbreno/keymap.c deleted file mode 100644 index 3abc57aca64f..000000000000 --- a/keyboards/dz60/keymaps/hailbreno/keymap.c +++ /dev/null @@ -1,252 +0,0 @@ -/* -* @Author: hailbreno -* @Date: 2018-04-30 14:32:13 -* @Last Modified by: hailbreno -* @Last Modified time: 2018-05-03 11:19:34 -*/ - -#include QMK_KEYBOARD_H - -#define X KC_NO - -extern keymap_config_t keymap_config; - -enum layers { - _QWERTY, - _COLEMAK, - _DVORAK, - _FUNC, - _FUNC2, - _ADJUST, - _RGB -}; - -enum keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - FUNC, - FUNC2, - RGB, -}; - -/*layout template - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - - [LAYOUT] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ~ | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Del | - * |-----------------------------------------------------------------------------------------+ - * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |Shift| Up | Bl | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right| - * `-----------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, - LT(_FUNC,KC_CAPS), 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, X, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, RGB, - KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT), - -/* COLEMAK - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ~ | Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Caps | A | R | S | T | D | H | N | E | I | O | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | K | M | , | . | / |Shift| Up | Bl | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right| - * `-----------------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_DEL, - LT(_FUNC,KC_CAPS), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, - SC_LSPO, X, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, RGB, - KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT), - -/* DVORAK - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | ~ | Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | " | , | . | P | Y | F | G | C | R | L | / | = | \ | - * |-----------------------------------------------------------------------------------------+ - * | Bckspc | A | O | E | U | I | D | H | T | N | S | - | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | ; | Q | J | K | X | B | M | W | V | Z |Shift| Up | Bl | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right| - * `-----------------------------------------------------------------------------------------' - */ -[_DVORAK] = 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_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - KC_TAB, KC_QUOTE, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_DEL, - LT(_FUNC,KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, - SC_LSPO, X, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC, KC_UP, RGB, - KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT), - -/* FUNC - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Prnt| Ins | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | Up | | | | | Bspc | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | Left| Down| Rght| | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | PgUp| | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | Home| PgDn| End | - * `-----------------------------------------------------------------------------------------' - */ -[_FUNC] = LAYOUT_all( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS, - _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_CIRC, _______, _______, KC_BSPC, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_TILD, _______, - _______, X, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - -/* FUNC2 - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ -[_FUNC2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -/* RGB - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | Tog | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ -[_RGB] = LAYOUT_all( - _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______, _______, _______, _______, - _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -/* Adjust (Func + Func2) - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | |Reset| - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | |Qwerty|Colemk|Dvorak| - * `-----------------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK), -}; - -#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 QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case FUNC: - if (record->event.pressed) { - layer_on(_FUNC); - update_tri_layer(_FUNC, _FUNC2, _ADJUST); - } else { - layer_off(_FUNC); - update_tri_layer(_FUNC, _FUNC2, _ADJUST); - } - return false; - break; - case FUNC2: - if (record->event.pressed) { - layer_on(_FUNC2); - update_tri_layer(_FUNC, _FUNC2, _ADJUST); - } else { - layer_off(_FUNC2); - update_tri_layer(_FUNC, _FUNC2, _ADJUST); - } - return false; - break; - case RGB: - if (record->event.pressed) { - layer_on(_RGB); - } else { - layer_off(_RGB); - } - return false; - break; - } - return true; -} diff --git a/keyboards/dz60/keymaps/hailbreno/rules.mk b/keyboards/dz60/keymaps/hailbreno/rules.mk deleted file mode 100644 index 975bfbbbcb2b..000000000000 --- a/keyboards/dz60/keymaps/hailbreno/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/itsaferbie/keymap.c b/keyboards/dz60/keymaps/itsaferbie/keymap.c deleted file mode 100644 index 43a6a3af94c0..000000000000 --- a/keyboards/dz60/keymaps/itsaferbie/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -#include QMK_KEYBOARD_H - -// My layout is practically the default HHKB layout. -#define _DEFAULT 0 -#define _FN 1 -#define _LIGHTS 2 - -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DEFAULT] = LAYOUT_60_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_LIGHTS)), - - [_FN] = LAYOUT_60_hhkb( - ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, QK_BOOT, - ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, - ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, - ______, ______, ______, ______, ______), - - [_LIGHTS] = LAYOUT_60_hhkb( - RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, ______, ______, ______, ______, ______, ______, - RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_HUD, RGB_SAD, RGB_VAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, BL_DOWN, BL_TOGG, BL_UP, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______), - -}; diff --git a/keyboards/dz60/keymaps/jarred/keymap.c b/keyboards/dz60/keymaps/jarred/keymap.c deleted file mode 100644 index 32ad434f6f16..000000000000 --- a/keyboards/dz60/keymaps/jarred/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QW 0 -#define _NV 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QW] = 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, XXXXXXX, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, - MO(_NV), KC_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, XXXXXXX,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,XXXXXXX, - KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT,KC_RGUI, XXXXXXX,KC_APP, KC_RCTL), - - [_NV] = 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 ,XXXXXXX,_______, - _______,RGB_TOG,RGB_MOD,_______,KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP ,KC_END ,KC_INS ,_______,_______,_______, - _______,RGB_HUI,RGB_HUD,KC_LSFT,KC_LCTL,KC_ENT ,_______,KC_LEFT,KC_DOWN,KC_RGHT,KC_DEL ,KC_DEL , _______, - _______,XXXXXXX,RGB_SAD,RGB_SAI,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______,_______,XXXXXXX, - _______,RGB_VAD,RGB_VAI, _______,_______,_______, _______,_______,XXXXXXX, QK_BOOT,_______) -}; diff --git a/keyboards/dz60/keymaps/jdelkins/config.h b/keyboards/dz60/keymaps/jdelkins/config.h deleted file mode 100644 index 9d50abd3ecb1..000000000000 --- a/keyboards/dz60/keymaps/jdelkins/config.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright 2020 Joel Elkins - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General 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 - -/* My hhkb variant - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī──┮â”ī───┾───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮───┾───â”Ī - * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │ - * └────â”ī────â”ī────â”ī────────â”ī────â”ī──────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - -#define LAYOUT_hhkb_split( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ - k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \ - k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ - { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ - { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \ - { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \ -} - -#define AUTO_SHIFT_TIMEOUT 160 -#define AUTO_SHIFT_REPEAT -#define RGBLIGHT_LAYERS -#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define LEADER_TIMEOUT 400 -#define LEADER_PER_KEY_TIMING -#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/dz60/keymaps/jdelkins/keymap.c b/keyboards/dz60/keymaps/jdelkins/keymap.c deleted file mode 100644 index 2a989fe545dd..000000000000 --- a/keyboards/dz60/keymaps/jdelkins/keymap.c +++ /dev/null @@ -1,352 +0,0 @@ -/* - Copyright 2020 Joel Elkins - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include "jdelkins.h" - -#undef LAYOUT -#define LAYOUT LAYOUT_hhkb_split - -#define IDLE_TIMEOUT 360 - -uint16_t rgb_idle_seconds = 0; -uint16_t rgb_timer; -uint16_t bspc_timer; -bool rgb_was_enabled; - -enum { - MY_BSPC = USER_SAFE_RANGE, -}; - -// Tap Dance - -int ctl_state = 0; - -void ctl_finished(tap_dance_state_t *state, void *user_data) { - ctl_state = cur_dance(state); - switch (ctl_state) { - case SINGLE_TAP: leader_start(); break; - case SINGLE_HOLD: register_code(KC_LCTL); break; - case DOUBLE_TAP: tap_code(KC_RCTL); break; - case DOUBLE_HOLD: register_code(KC_RCTL); break; - case TRIPLE_TAP: tap_code(KC_RCTL); tap_code(KC_RCTL); break; - case TRIPLE_HOLD: tap_code(KC_RCTL); register_code(KC_RCTL); break; - } -} - -void ctl_reset(tap_dance_state_t *state, void *user_data) { - switch (ctl_state) { - case SINGLE_HOLD: unregister_code(KC_LCTL); break; - case DOUBLE_HOLD: - case TRIPLE_HOLD: unregister_code(KC_RCTL); break; - } - ctl_state = 0; -} - -void g_finished(tap_dance_state_t *state, void *user_data) { - switch (cur_dance(state)) { - case SINGLE_TAP: - tap_code16(C(KC_END)); - break; - case DOUBLE_TAP: - tap_code16(C(KC_HOME)); - break; - } -} - -int kp_state = 0; - -void kp_finished(tap_dance_state_t *state, void *user_data) { - kp_state = hold_cur_dance(state); - switch (kp_state) { - case SINGLE_TAP: - tap_code(KC_SPC); - break; - default: - layer_invert(_KP); - break; - } -} - -void kp_reset(tap_dance_state_t *state, void *user_data) { - switch (kp_state) { - case SINGLE_HOLD: - case DOUBLE_HOLD: - case TRIPLE_HOLD: - layer_invert(_KP); - break; - } -} - -enum { - TD_LDCTL, - TD_G, - TD_KP, -}; - -tap_dance_action_t tap_dance_actions[] = { - [TD_LDCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_finished, ctl_reset), - [TD_G] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, g_finished, NULL), - [TD_KP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, kp_finished, kp_reset), -}; - -// Layers - -const uint16_t PROGMEM keymaps[_LAYER_MAX][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_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, - MY_CAPS, KC_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(_ADJUST), - TD(TD_LDCTL), MY_GUI, MY_ALT, MY_BSPC, TD(TD_KP), MY_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - [_RPT] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_LALT, KC_SPC, KC_LALT, _______, _______, _______, _______, _______, _______ - ), - [_FUNC] = 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_F13, - _______, _______, FW_WRD, KB_EOL, TG(_RPT), _______, KB_COPY, KC_PGUP, _______, _______, KB_PASTE, KC_SCRL, _______, MY_CALC, - KC_RCTL, KB_BOL, _______, KC_PGDN, _______, TD(TD_G), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, _______, KC_DEL, _______, _______, BK_WRD, _______, _______, _______, _______, _______, _______, KC_NO, - KC_RCTL, MY_RGUI, MY_RALT, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END - ), - [_KP] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_ASTERISK, _______, _______, _______, _______, _______, _______, - KC_NUM, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, _______, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, _______, TG(_KP), - _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, _______, _______, _______, _______ - ), - [_ADJUST] = 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_SCRL, KC_F13, - _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_BRID, KC_BRIU, KC_MUTE, - KC_RCTL, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, TG(_KP), _______, _______, _______, KC_MPLY, - _______, RGB_TOG, KB_MAKE, KB_FLSH, KB_VRSN, KB_BOOT, _______, TG_SYS, _______, _______, _______, _______, _______, - KC_RCTL, MY_RGUI, MY_RALT, KC_DEL, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT - ), -}; - -const rgblight_segment_t PROGMEM rpt_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {8, 8, HSV_PINK} -); - -const rgblight_segment_t PROGMEM game_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 1, HSV_RED}, - {7, 2, HSV_RED}, - {15, 1, HSV_RED} -); - -const rgblight_segment_t PROGMEM func_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 16, HSV_GREEN} -); - -const rgblight_segment_t PROGMEM kp_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 16, HSV_ORANGE} -); - -const rgblight_segment_t PROGMEM adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 16, HSV_BLUE} -); - -const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {10, 4, HSV_WHITE} -); - -const rgblight_segment_t PROGMEM numlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 2, HSV_PURPLE}, - {14, 2, HSV_PURPLE} -); - - -enum rgb_layer_index { - L_RPT, - L_GAME, - L_FUNC, - L_KP, - L_ADJUST, - L_CAPSLOCK, - L_NUMLOCK, -}; - -const rgblight_segment_t * const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - [L_RPT] = rpt_layer, - [L_GAME] = game_layer, - [L_FUNC] = func_layer, - [L_KP] = kp_layer, - [L_ADJUST] = adjust_layer, - [L_CAPSLOCK] = capslock_layer, - [L_NUMLOCK] = numlock_layer -); - -layer_state_t layer_state_set_keymap(layer_state_t state) { - rgblight_set_layer_state(L_RPT, layer_state_cmp(state, _RPT)); - rgblight_set_layer_state(L_GAME, layer_state_cmp(state, _GAME)); - rgblight_set_layer_state(L_FUNC, layer_state_cmp(state, _FUNC)); - rgblight_set_layer_state(L_KP, layer_state_cmp(state, _KP)); - rgblight_set_layer_state(L_ADJUST, layer_state_cmp(state, _ADJUST)); - rgblight_set_layer_state(L_CAPSLOCK, CAPSLOCK_ON); - rgblight_set_layer_state(L_NUMLOCK, NUMLOCK_ON && layer_state_cmp(state, _KP)); - if (layer_state_cmp(state, _GAME) || layer_state_cmp(state, _RPT)) - autoshift_disable(); - else - autoshift_enable(); - return state; -} - -bool led_update_user(led_t led_state) { - rgblight_set_layer_state(L_CAPSLOCK, led_state.caps_lock); - rgblight_set_layer_state(L_NUMLOCK, led_state.num_lock && layer_state_is(_KP)); - return true; -} - -void keyboard_post_init_keymap(void) { - rgblight_layers = my_rgb_layers; - rgb_was_enabled = rgblight_is_enabled(); - bspc_timer = 0; -} - -void leader_end_user(void) { - // layer navigation - if (leader_sequence_one_key(KC_R)) { layer_invert(_RPT); } - if (leader_sequence_one_key(KC_G)) { layer_invert(_GAME); } - if (leader_sequence_one_key(KC_K)) { layer_invert(_KP); } - if (leader_sequence_one_key(KC_KP_5)) { layer_invert(_KP); } - - // tmux navigation - if (leader_sequence_one_key(KC_L)) { SEND_STRING(SS_LCTL("a") "n"); } - if (leader_sequence_one_key(KC_H)) { SEND_STRING(SS_LCTL("a") "p"); } - if (leader_sequence_one_key(KC_N)) { SEND_STRING(SS_LCTL("a") "c"); } - if (leader_sequence_one_key(KC_W)) { SEND_STRING(SS_LCTL("a") "x"); } - if (leader_sequence_one_key(KC_MINS)) { SEND_STRING(SS_LCTL("a") "-"); } - if (leader_sequence_one_key(KC_QUOT)) { SEND_STRING(SS_LCTL("a") "\""); } - if (leader_sequence_one_key(KC_1)) { SEND_STRING(SS_LCTL("a") "1"); } - if (leader_sequence_one_key(KC_2)) { SEND_STRING(SS_LCTL("a") "2"); } - if (leader_sequence_one_key(KC_3)) { SEND_STRING(SS_LCTL("a") "3"); } - if (leader_sequence_one_key(KC_4)) { SEND_STRING(SS_LCTL("a") "4"); } - if (leader_sequence_one_key(KC_5)) { SEND_STRING(SS_LCTL("a") "5"); } - if (leader_sequence_one_key(KC_6)) { SEND_STRING(SS_LCTL("a") "6"); } - if (leader_sequence_one_key(KC_7)) { SEND_STRING(SS_LCTL("a") "7"); } - if (leader_sequence_one_key(KC_8)) { SEND_STRING(SS_LCTL("a") "8"); } - if (leader_sequence_one_key(KC_9)) { SEND_STRING(SS_LCTL("a") "9"); } - - // secrets - if (leader_sequence_two_keys(KC_SCLN, KC_M)) { send_secret_string(0); } - if (leader_sequence_two_keys(KC_SCLN, KC_COMM)) { send_secret_string(1); } - if (leader_sequence_two_keys(KC_SCLN, KC_DOT)) { send_secret_string(2); } - if (leader_sequence_two_keys(KC_SCLN, KC_J)) { send_secret_string(3); } - if (leader_sequence_two_keys(KC_SCLN, KC_K)) { send_secret_string(4); } - if (leader_sequence_two_keys(KC_SCLN, KC_L)) { send_secret_string(5); } - - // fast control-C - if (leader_sequence_one_key(KC_C)) { tap_code16(C(KC_C)); } - - // neovim: terminal escape - if (leader_sequence_one_key(KC_BSLS)) { - tap_code16(C(KC_BSLS)); - tap_code16(C(KC_N)); - } -} - -void matrix_scan_keymap(void) { - if (rgblight_is_enabled() && timer_elapsed(rgb_timer) > 1000) { - rgb_idle_seconds++; - rgb_timer = timer_read(); - } - if (rgb_idle_seconds > IDLE_TIMEOUT) { - rgb_was_enabled = rgblight_is_enabled(); - rgblight_disable_noeeprom(); - rgb_idle_seconds = 0; - } - // if MY_BSPC is held down too long, pretend like it wasn't and start - // pressing backspace - if (bspc_timer > 0 && timer_elapsed(bspc_timer) > LEADER_TIMEOUT) { - layer_off(_FUNC); - bspc_timer = 0; - register_code(KC_BSPC); - } -} - -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - static bool bspc_del = false; - static bool bspc_initiated_func = false; - bool rc = true; - - rgb_idle_seconds = 0; - if (!rgblight_is_enabled() && rgb_was_enabled) - rgblight_enable_noeeprom(); - - switch (keycode) { - case MY_BSPC: - if (record->event.pressed) { - if (IS_LAYER_ON(_FUNC)) { - // special case: if _FUNC was turned on by another key, - // treat this as KC_DEL and don't do anything else - bspc_del = true; - register_code(KC_DEL); - return false; - } else { - bspc_timer = timer_read(); - bspc_initiated_func = true; - layer_on(_FUNC); - } - } else { - if (bspc_del) { - // special case: if _FUNC was turned on by another key, - // treat this as KC_DEL and don't do anything else - unregister_code(KC_DEL); - bspc_del = false; - return false; - } - - if (bspc_initiated_func) { - layer_off(_FUNC); - bspc_initiated_func = false; - } - - if (bspc_timer > 0) { - // here the key was pressed and released before the timer - // expired, so treat as a backspace tap and pretend we - // never activated _FUNC - bspc_timer = 0; - tap_code(KC_BSPC); - } else { - // the timer went off, so KC_BSPC was registered in - // matrix_scan_keymap. unregister it now - unregister_code(KC_BSPC); - } - } - return false; // special case, return now without resetting timer - // other paths should set rc and break - break; - } - - // if something was pressed while MY_BSPC was held down, keep it pressed by - // disabling the timer - bspc_timer = 0; - return rc; -} - diff --git a/keyboards/dz60/keymaps/jdelkins/rules.mk b/keyboards/dz60/keymaps/jdelkins/rules.mk deleted file mode 100644 index 2eacc54ea108..000000000000 --- a/keyboards/dz60/keymaps/jdelkins/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -LEADER_ENABLE = yes -MOUSEKEY_ENABLE = no -CONSOLE_ENABLE = no -NKRO_ENABLE = no -TAP_DANCE_ENABLE = yes -AUTO_SHIFT_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/dz60/keymaps/jkbone/keymap.c b/keyboards/dz60/keymaps/jkbone/keymap.c deleted file mode 100644 index e51625d0b4db..000000000000 --- a/keyboards/dz60/keymaps/jkbone/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -#include QMK_KEYBOARD_H - -#define ____ KC_TRNS -#define FL_ESC LT(_FL, KC_ESC) -#define FL MO(_FL) - -enum layers_idx { - _BL, // Base Layer - _ML, // Mac Modifiers (Switched around LGUI, LALT, LCTL) - _FL // Functions -}; - -enum custom_keycodes { - RGB_VAZ = SAFE_RANGE, - RGB_OAZ, - RGB_WAN, - RGB_000 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_60_iso_5x1u( - 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, - FL_ESC, 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_GRV, 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, FL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - [_ML] = LAYOUT_60_iso_5x1u( - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - KC_LGUI, KC_LALT, KC_LCTL, ____, ____, ____, ____, ____, ____ - ), - [_FL] = LAYOUT_60_iso_5x1u( - 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, - ____, ____, DF(_BL), DF(_ML), ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ____, ____, ____, ____, - ____, RGB_000, RGB_WAN, RGB_OAZ, RGB_VAZ, ____, ____, ____, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case RGB_VAZ: - rgblight_enable(); - rgblight_setrgb(0, 204, 33); - break; - case RGB_OAZ: - rgblight_enable(); - rgblight_setrgb(229, 65, 0); - break; - case RGB_WAN: - rgblight_enable(); - rgblight_setrgb(255, 255, 255); - break; - case RGB_000: - rgblight_disable(); - break; - } - } - return true; -}; diff --git a/keyboards/dz60/keymaps/jkbone/readme.md b/keyboards/dz60/keymaps/jkbone/readme.md deleted file mode 100644 index ac732ffac277..000000000000 --- a/keyboards/dz60/keymaps/jkbone/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# JKBONE - ISO dz70 - -Split left shift, vim arrow keys & ISO setup. Keymap based on Macbooks with ISO uk/english international keyboard layouts. - -[![JKBONE](https://i.imgur.com/FWP4IIi.png)](http://www.keyboard-layout-editor.com/#/gists/17b5b4c1248a66947575181ff98cb562) - -[![Apple English International Layout](https://i.imgur.com/GxVqALg.png)](https://support.apple.com/en-us/HT201794) - diff --git a/keyboards/dz60/keymaps/jkbone/rules.mk b/keyboards/dz60/keymaps/jkbone/rules.mk deleted file mode 100644 index c1a9769cce92..000000000000 --- a/keyboards/dz60/keymaps/jkbone/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BACKLIGHT_ENABLE = no -MOUSEKEY_ENABLE = no diff --git a/keyboards/dz60/keymaps/kifinnsson/keymap.c b/keyboards/dz60/keymaps/kifinnsson/keymap.c deleted file mode 100644 index 6fbb4466ab9c..000000000000 --- a/keyboards/dz60/keymaps/kifinnsson/keymap.c +++ /dev/null @@ -1,210 +0,0 @@ -#include QMK_KEYBOARD_H - -bool is_lgui_active = false; -uint16_t lgui_timer = 0; - - -//Macro Declarations -enum my_keycodes { - KI_NO = SAFE_RANGE, - KI_1, - KI_2, - KI_3, - KI_4, - KI_5, - KI_6, - KI_7, - KI_8, - KI_9, - KI_10, - KI_11, - KI_12, - KI_ESC, - KI_BKSP, - KI_BSLS, - KI_WLFT, - KI_WRGT, - }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - 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, XXXXXXX, 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_LBRC, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, XXXXXXX, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), XXXXXXX, MO(3), KC_RCTL), - - 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, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_TAB, KC_LSFT, KC_LCTL, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_CAPS, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,, - _______, _______, XXXXXXX, KC_ENT, KC_ENT, KC_ENT, _______, _______, _______, _______, QK_BOOT), - - LAYOUT_all( - KI_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KI_BKSP, - _______, KI_1, KI_2, KI_3, KI_4, KI_5, KI_6, KI_7, KI_8, KI_9, KI_10, KI_11, KI_12, KI_BSLS, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, KI_WLFT, KI_WRGT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX), - - LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // Keycodes Starting with KI_ are place holders for my personal macros. They are set below. Most are simple SEND_STRINGS(). - case KI_ESC: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_1: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_2: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_3: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_4: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_5: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_6: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_7: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_8: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_9: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_10: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_11: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_12: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_BKSP: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - case KI_BSLS: - if (record->event.pressed) { - SEND_STRING(""); - } else { - - } - return false; // Skip all further processing of this key - - //Windows Win+Left tap to move window without resetting KC_LGUI - //Additional code is in matrix_scan_user() - case KI_WLFT: - if (record->event.pressed) { - if (!is_lgui_active) { - is_lgui_active = true; - register_code(KC_LGUI); - } - lgui_timer = timer_read(); - tap_code(KC_LEFT); - } else { - - } - return false; // Skip all further processing of this key - //Windows Win+Right tap to move window without resetting KC_LGUI - //Additional code is in matrix_scan_user() - case KI_WRGT: - if (record->event.pressed) { - if (!is_lgui_active) { - is_lgui_active = true; - register_code(KC_LGUI); - } - lgui_timer = timer_read(); - tap_code(KC_RIGHT); - } else { - - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} - -//Check if KC_LGUI is active in KI_WLFT and KI_WRGT -void matrix_scan_user(void) { - if (is_lgui_active) { - if (timer_elapsed(lgui_timer) > 1000) { - unregister_code(KC_LGUI); - is_lgui_active = false; - } - } -} \ No newline at end of file diff --git a/keyboards/dz60/keymaps/kifinnsson/readme.md b/keyboards/dz60/keymaps/kifinnsson/readme.md deleted file mode 100644 index 49f559503017..000000000000 --- a/keyboards/dz60/keymaps/kifinnsson/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# kifinnsson's Colemak angle mod ansi-ish layout ------------------ - -Keymap for my non-standard DZ60 layout. It is an ansi layout on the right and iso on the left (ie 1.25x left shift). This is to implement the angle mod on for Colemak which is the base layer. A side effect of this is that I have an extra key on row 4, which sits between the "b" and "k" keys in Colemak. I use this key as a switch to layer 2 which is my macro layer. - diff --git a/keyboards/dz60/keymaps/kifinnsson/rules.mk b/keyboards/dz60/keymaps/kifinnsson/rules.mk deleted file mode 100644 index 1874258612c4..000000000000 --- a/keyboards/dz60/keymaps/kifinnsson/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = no # Audio control and System control(+450) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/konstantin_b/config.h b/keyboards/dz60/keymaps/konstantin_b/config.h deleted file mode 100644 index 4b511eb8484f..000000000000 --- a/keyboards/dz60/keymaps/konstantin_b/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define LAYER_FN diff --git a/keyboards/dz60/keymaps/konstantin_b/keymap.c b/keyboards/dz60/keymaps/konstantin_b/keymap.c deleted file mode 100644 index 3718669fa541..000000000000 --- a/keyboards/dz60/keymaps/konstantin_b/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -#include QMK_KEYBOARD_H -#include "konstantin.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bspc │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───┮───â”Ī - * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │RSft /│ ↑ │FnF│ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮───┾───┾───â”Ī - * │LCtl│LGui│LAlt│ Space │RAG│RCt│ ← │ ↓ │ → │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - [L_BASE] = LAYOUT_60_b_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_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - FN_CAPS, KC_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, RSF_SLS, KC_UP, FN_FNLK, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC, XXXXXXX, RAL_RGU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Fn layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Ins│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │ │ │Stp│Ply│Prv│Nxt│ Del │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ │M← │M↓ │M→ │MW↑│ │ │ │ │ │ │ │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───┮───â”Ī - * │ │MA0│MA2│MW←│MW→│ │ │App│Vo-│Vo+│ Mute │PgU│ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮───┾───┾───â”Ī - * │ │DtPR│DtNA│ MW↓ │ │ │Hom│PgD│End│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───┘ - */ - [L_FN] = LAYOUT_60_b_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, KC_PSCR, KC_INS, - KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_DEL, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, - _______, DST_P_R, DST_N_A, XXXXXXX, KC_WH_D, XXXXXXX, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; diff --git a/keyboards/dz60/keymaps/konstantin_b/rules.mk b/keyboards/dz60/keymaps/konstantin_b/rules.mk deleted file mode 100644 index 18ea01311fcb..000000000000 --- a/keyboards/dz60/keymaps/konstantin_b/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ -USER_NAME := konstantin - -# Generic features -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -COMMAND_ENABLE = yes -CONSOLE_ENABLE = yes -EXTRAKEY_ENABLE = yes -MOUSEKEY_ENABLE = yes -NKRO_ENABLE = yes -TAP_DANCE_ENABLE = yes -UNICODEMAP_ENABLE = no - -# Keyboard-specific features -BACKLIGHT_ENABLE = no -RGBLIGHT_ENABLE = no -VIA_ENABLE = yes - -# Firmware size reduction -GRAVE_ESC_ENABLE = no -MAGIC_ENABLE = no -SPACE_CADET_ENABLE = no diff --git a/keyboards/dz60/keymaps/kream/keymap.c b/keyboards/dz60/keymaps/kream/keymap.c deleted file mode 100644 index 26935642be90..000000000000 --- a/keyboards/dz60/keymaps/kream/keymap.c +++ /dev/null @@ -1,17 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi_split_space_rshift( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_SPC, KC_CAPS, KC_NO, KC_NO, KC_ENT), - - [1] = LAYOUT_60_ansi_split_space_rshift( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_GRV, KC_TILD, _______, - _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) -}; diff --git a/keyboards/dz60/keymaps/kream/rules.mk b/keyboards/dz60/keymaps/kream/rules.mk deleted file mode 100644 index 6a82f21b358f..000000000000 --- a/keyboards/dz60/keymaps/kream/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -MOUSEKEY_ENABLE=no -BACKLIGHT_ENABLE=no -RGBLIGHT_ENABLE=no diff --git a/keyboards/dz60/keymaps/krusli/config.h b/keyboards/dz60/keymaps/krusli/config.h deleted file mode 100644 index e8cb446e27d3..000000000000 --- a/keyboards/dz60/keymaps/krusli/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#pragma once -#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/dz60/keymaps/krusli/keymap.c b/keyboards/dz60/keymaps/krusli/keymap.c deleted file mode 100644 index 8c838369236d..000000000000 --- a/keyboards/dz60/keymaps/krusli/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_APP, KC_RCTL), - - 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_INS, KC_DEL, - KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, QK_BOOT, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, - _______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) -}; diff --git a/keyboards/dz60/keymaps/krusli/rules.mk b/keyboards/dz60/keymaps/krusli/rules.mk deleted file mode 100644 index 3207000a16b3..000000000000 --- a/keyboards/dz60/keymaps/krusli/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes - -LAYOUTS = 60_ansi diff --git a/keyboards/dz60/keymaps/lint_kid/config.h b/keyboards/dz60/keymaps/lint_kid/config.h deleted file mode 100644 index 090dcf747155..000000000000 --- a/keyboards/dz60/keymaps/lint_kid/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define GRAVE_ESC_GUI_OVERRIDE // Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/lint_kid/keymap.c b/keyboards/dz60/keymaps/lint_kid/keymap.c deleted file mode 100644 index 92412c2e89a3..000000000000 --- a/keyboards/dz60/keymaps/lint_kid/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -#include QMK_KEYBOARD_H -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - // layer 0 - LAYOUT_directional( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, LT(5,KC_SPC), LT(5,KC_SPC), LT(5,KC_SPC), LT(3,KC_LEFT), KC_DOWN, _______, KC_UP, KC_RIGHT - ), - - // layer 1 toggle hardware caps layer - LAYOUT_directional( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - LT(4,KC_ENT), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - //layer 2 toggle space layer - LAYOUT_directional( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_SPC, KC_SPC, KC_SPC, _______, _______, _______, _______, _______ - ), - - // layer 3 FN - LAYOUT_directional( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, - KC_TILD, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - TG(1), BL_TOGG, BL_STEP, BL_UP, BL_DOWN,_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, TG(2), TG(2), TG(2), _______, _______, _______, _______, _______ - ), - - // layer 4 caps - LAYOUT_directional( - 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_TILD, KC_DEL, KC_UP,LSFT(LCTL(KC_TAB)), LCTL(KC_TAB), _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_W), _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_LPRN, KC_RPRN, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_BSPC, KC_BSPC, KC_BSPC, _______, _______, _______, _______, _______ - ), - - // layer 5 space - LAYOUT_directional( - 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_TILD, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_BSLS, _______, _______, _______, _______, _______, _______, - _______, _______, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/dz60/keymaps/lint_kid/readme.md b/keyboards/dz60/keymaps/lint_kid/readme.md deleted file mode 100644 index 265668016d52..000000000000 --- a/keyboards/dz60/keymaps/lint_kid/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# DZ60 - -![DZ60](https://i.imgur.com/8eeYOzU.jpg) - -https://kbdfans.com/products/dz60-60-pcb - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb dz60 -km lint_kid - -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/dz60/keymaps/macos_64/config.h b/keyboards/dz60/keymaps/macos_64/config.h deleted file mode 100644 index 0e4aa34dd744..000000000000 --- a/keyboards/dz60/keymaps/macos_64/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef CONFIG_KEYMAP_H -#define CONFIG_KEYMAP_H - -#include "../../config.h" - -// Fix QK_GESC conflict with Cmd+Alt+Esc on macos -#define GRAVE_ESC_GUI_OVERRIDE - -#endif \ No newline at end of file diff --git a/keyboards/dz60/keymaps/macos_64/keymap.c b/keyboards/dz60/keymaps/macos_64/keymap.c deleted file mode 100644 index 105eed257b85..000000000000 --- a/keyboards/dz60/keymaps/macos_64/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -#include QMK_KEYBOARD_H - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |Shift| Up |Delete| - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Fn | Alt | Left| Down|Right| - * `-----------------------------------------------------------------------------------------' - */ - 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_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_UP, KC_DELETE, - KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_NO, MO(1), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), - - /* ,-----------------------------------------------------------------------------------------. - * | ` ~ | BR- | BR+ | | | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Delete | - * |-----------------------------------------------------------------------------------------+ - * | | | | Up | | | | | 0 | 1 | 2 | 3 | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | | | Left| Down|Right| | | | | 4 | 5 | 6 | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | 7 | 8 | 9 | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - LAYOUT_all( - KC_GRV , KC_SCRL, KC_PAUSE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS, QK_BOOT, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 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_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), -}; diff --git a/keyboards/dz60/keymaps/macos_64/readme.md b/keyboards/dz60/keymaps/macos_64/readme.md deleted file mode 100644 index c559c2b3836a..000000000000 --- a/keyboards/dz60/keymaps/macos_64/readme.md +++ /dev/null @@ -1,45 +0,0 @@ -# MacOS 64 keymap - -This is a keymap of DZ60 configured with 64 keys for MacOS. It refers the keymap of [macos_arrow](../macos_arrow/readme.md). - -## How to use - -1. Follow the [introduction](https://docs.qmk.fm/#/) to compile the keymap -2. Download QMK Toolbox from [here](https://github.com/qmk/qmk_toolbox/releases) -3. Insert the dz60 keyboard while pressing ```Space+b``` (default) -4. Flash the firmware - -More details about flashing firmware please check the [documentation](https://docs.qmk.fm/#/) of QMK. - -## Base Layer - -``` -,-----------------------------------------------------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | / |Shift| Up |Delete| -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Fn | Alt | Left| Down|Right| -`-----------------------------------------------------------------------------------------' -``` - -## Fn Layer - -``` -,-----------------------------------------------------------------------------------------. -| ` ~ | BR- | BR+ | | | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Delete | -|-----------------------------------------------------------------------------------------+ -| | | | Up | | | | | 0 | 1 | 2 | 3 | | RESET | -|-----------------------------------------------------------------------------------------+ -| | | Left| Down|Right| | | | | 4 | 5 | 6 | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | 7 | 8 | 9 | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' - -``` diff --git a/keyboards/dz60/keymaps/macos_64/rules.mk b/keyboards/dz60/keymaps/macos_64/rules.mk deleted file mode 100644 index e1cfb3e508ca..000000000000 --- a/keyboards/dz60/keymaps/macos_64/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BACKLIGHT_ENABLE = no -RGBLIGHT_ENABLE = no \ No newline at end of file diff --git a/keyboards/dz60/keymaps/macos_arrow/config.h b/keyboards/dz60/keymaps/macos_arrow/config.h deleted file mode 100644 index 0e4aa34dd744..000000000000 --- a/keyboards/dz60/keymaps/macos_arrow/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef CONFIG_KEYMAP_H -#define CONFIG_KEYMAP_H - -#include "../../config.h" - -// Fix QK_GESC conflict with Cmd+Alt+Esc on macos -#define GRAVE_ESC_GUI_OVERRIDE - -#endif \ No newline at end of file diff --git a/keyboards/dz60/keymaps/macos_arrow/keymap.c b/keyboards/dz60/keymaps/macos_arrow/keymap.c deleted file mode 100644 index 17402aa93136..000000000000 --- a/keyboards/dz60/keymaps/macos_arrow/keymap.c +++ /dev/null @@ -1,94 +0,0 @@ -#include QMK_KEYBOARD_H - -enum dz60_layers { - _BL, // Base layer - _FL, // Function layer - _ML, // Media layer - _NL // Numpad layer -}; - -enum my_keycodes { - BR_UP = SAFE_RANGE, - BR_DOWN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* ,-----------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Esc/_FL | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | | Up |Shift| - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Gui | Space |Gui/_ML| Alt | Left| Down|Right| - * `-----------------------------------------------------------------------------------------' - */ - [_BL] = 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - LT(_FL, 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_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_A, KC_UP, KC_RSFT, - KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_NO, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), - - /* ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | - * |-----------------------------------------------------------------------------------------+ - * | | | | PgUp| | | | | Up | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | |Home |PgDwn| End | | | Left| Down|Right| | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - [_FL] = LAYOUT_all( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL, - _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, - _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, - _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - /* ,-----------------------------------------------------------------------------------------. - * |Eject| BR- | BR+ | | | | |PREV |PLAY |NEXT |MUTE | V- | V+ | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | Reset | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - [_ML] = LAYOUT_all( - KC_MEDIA_EJECT, BR_DOWN, BR_UP, BL_TOGG, RGB_TOG, _______, _______, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_NO, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, BL_UP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE, BL_DOWN,RGB_MODE_FORWARD), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t key; - switch (keycode) { - case BR_DOWN: - case BR_UP: - // Clear the RGUI modifier placed by LM for _ML layer as brightness don't - // work with modifiers. - key = (keycode == BR_DOWN) ? KC_SCRL : KC_PAUS; - if (record->event.pressed) { - unregister_mods(MOD_RGUI); - add_key(key); - send_keyboard_report(); - } else { - del_key(key); - send_keyboard_report(); - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/dz60/keymaps/macos_arrow/readme.md b/keyboards/dz60/keymaps/macos_arrow/readme.md deleted file mode 100644 index cb700b38f0ee..000000000000 --- a/keyboards/dz60/keymaps/macos_arrow/readme.md +++ /dev/null @@ -1,87 +0,0 @@ -# Macos keymap with arrow - -This is a keymap for DZ60 configured with arrows using the layout below: - -[![](https://poitr.us/mARFK9+)](http://www.keyboard-layout-editor.com/#/gists/07d924064c77c0ff43de6b8a9519f931) - -My build used the following components: -* DZ60 PCB -* [Stainless steel alu plate option A with 2U left shift](https://www.aliexpress.com/item/Alu-plate-dz60-plate-for-DIY-mechanical-keyboard/32827595666.html) (optional) -* [YMDK customized 61 64 68 ANSI keyset](https://www.amazon.com/Customized-Keyset-Profile-Mechanical-Keyboard/dp/B0777LMKKK) -* 60 Cherry MX Clear for the main keys + 10 Cherry MX Grey for the large keys -* [The wood case for DZ60](https://www.aliexpress.com/item/GH60-Keyboard-Wood-Case-PCB-Board-Position-Plate-Satellite-Axis-And-Walnut-Wood-Wrist-Rest-For/32836566852.html) (optional) - -## Base Layer - -``` -,-----------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| _FL/Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | / | | Up |Shift| -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | _NL / Space |Cmd/_ML| Alt | Left| Down|Right| -`-----------------------------------------------------------------------------------------' -``` - -* The escape key is moved to the capslock to get keep grave letter pristine. -* The `Caps-Lock` (`Hyper`) key switch to the function layer (`_FL`) or escape when used alone. -* The right `Cmd` key is used to switch to the media layer (`_ML`) when used with keys mapped on that layer. -* The space key can be used to switch to the numpad layer (`_NL`) when used with one of the mapped key on that layer. - -## Function Layer (_FL) - -``` -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | -|-----------------------------------------------------------------------------------------+ -| | | | | | | |PgDwn| PgUp| | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | Left| Down| Up |Right| | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` keys. In addition, the `HJKL` are mapped as cursor keys on that layer. - -## Media Layer (_ML) - -``` -,-----------------------------------------------------------------------------------------. -|Eject| BR- | BR+ | | | | |PREV |PLAY |NEXT |MUTE | V- | V+ | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | Reset | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -The media layer is activated by the right `Cmd` (`FN`) key. It contains the typical macos media keys on the top row. Blank keys act as `Cmd+` that key on the base layer. - -## Numpad Layer (_NL) - -``` -,-----------------------------------------------------------------------------------------. -| | | | | | | | | % | ( | ) | < | > | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | * | 0 | 1 | 2 | 3 | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | . | - | 4 | 5 | 6 | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | , | = | 7 | 8 | 9 | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - -The numpad layer is activated by the space bar, when hold. \ No newline at end of file diff --git a/keyboards/dz60/keymaps/macos_arrow/rules.mk b/keyboards/dz60/keymaps/macos_arrow/rules.mk deleted file mode 100644 index 1572f18c79a4..000000000000 --- a/keyboards/dz60/keymaps/macos_arrow/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c deleted file mode 100644 index 03ba92fe9284..000000000000 --- a/keyboards/dz60/keymaps/marianas/customLogic.c +++ /dev/null @@ -1,138 +0,0 @@ -#include QMK_KEYBOARD_H -#include "customLogic.h" -#include "keymap.h" -#include "keyDefinitions.h" -#include "relativity.h" -#include "timer.h" - -static int16_t fnTimer = 0; - - - -layer_state_t layer_state_set_user(layer_state_t state) -{ - switch (get_highest_layer(state)) - { - case QWERTY: - rgblight_mode(9); - break; - case NAV_CLUSTER: - rgblight_mode(29); - break; - case GAMING: - rgblight_mode(26); - break; - case SQLMACROS: - rgblight_mode(1); - break; - case FN_LAYER: - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL+5); - break; - } - return state; -} - - - -bool printSqlVerbs(uint16_t keycode, keyrecord_t *record) -{ - if (record->event.pressed) - { - switch (keycode) - { - case S_LFTJN: - SEND_STRING("LEFT JOIN"); - activateRelativity(); - return false; - case S_INRJN: - SEND_STRING("INNER JOIN "); - activateRelativity(); - return false; - case S_SLCT: - SEND_STRING("SELECT "); return - false; - case S_FROM: - SEND_STRING("FROM "); return - false; - case S_DSNCT: - SEND_STRING("DISTINCT "); return - false; - case S_ORDER: - SEND_STRING("ORDER BY "); return - false; - case S_WHERE: - SEND_STRING("WHERE "); return - false; - case S_ALTER: - SEND_STRING("ALTER SESSION SET CURRENT_SCHEMA = SUPPLY;"); return false; - case S_ASTRK: - SEND_STRING("* "); return false; - - } - } - return true; -} - - -bool isFn = false; -bool didFn = false; - - -bool updateLayerState(uint16_t keycode, keyrecord_t *record) -{ - - if (record->event.pressed) - { - switch (keycode) - { - case FN_QT: - fnTimer = timer_read(); - layer_on(FN_LAYER); - isFn = true; - return false; - } - if (isFn) - { - didFn = true; - return true; - } - } - else - { - switch(keycode) - { - case FN_QT: - layer_off(FN_LAYER); - if (!didFn) - { - #if fnTimeout - if (TIMER_DIFF_16(timer_read(), fnTimer) <= fnTimeout) - { - activateRelativity(); - } - else - { - deactivateRelativity(); - } - #else - activateRelativity(); - #endif - } - didFn = false; - isFn = false; - return false; - } - } - return true; -} - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - return - storeShiftState(keycode, record) && - printSqlVerbs(keycode, record) && - updateLayerState(keycode, record) && - handleSmartMacros(keycode, record); -} diff --git a/keyboards/dz60/keymaps/marianas/customLogic.h b/keyboards/dz60/keymaps/marianas/customLogic.h deleted file mode 100644 index 29198d60b2ed..000000000000 --- a/keyboards/dz60/keymaps/marianas/customLogic.h +++ /dev/null @@ -1,10 +0,0 @@ -#define fnTimeout 500 - - -layer_state_t layer_state_set_user(layer_state_t state); - -bool printSqlVerbs(uint16_t keycode, keyrecord_t *record); - -bool updateLayerState(uint16_t keycode, keyrecord_t *record); - -bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/dz60/keymaps/marianas/keyDefinitions.h b/keyboards/dz60/keymaps/marianas/keyDefinitions.h deleted file mode 100644 index 3e99580e04bf..000000000000 --- a/keyboards/dz60/keymaps/marianas/keyDefinitions.h +++ /dev/null @@ -1,123 +0,0 @@ - -//Control -#define MO_FNLR MO(FN_LAYER) -#define BACKSPC KC_BSPC -#define ENTER_OR_SQL LT(SQLMACROS,KC_ENT) -#define ESCAP KC_ESC -#define PSCR KC_PSCR -#define SCRL KC_SCRL -#define PAUS KC_PAUSE -#define NSRT KC_INSERT -#define HOME KC_HOME -#define PGUP KC_PGUP -#define PGDN KC_PGDN -#define END_ KC_END -#define DEL KC_DELETE -#define UPUP KC_UP -#define D_WN KC_DOWN -#define LEFT KC_LEFT -#define RGHT KC_RIGHT - -//KEYPAD -#define KP_1 KC_KP_1 -#define KP_2 KC_KP_2 -#define KP_3 KC_KP_3 -#define KP_4 KC_KP_4 -#define KP_5 KC_KP_5 -#define KP_6 KC_KP_6 -#define KP_7 KC_KP_7 -#define KP_8 KC_KP_8 -#define KP_9 KC_KP_9 -#define KP_0 KC_KP_0 -#define NMLK KC_NUM_LOCK -#define STAR KC_KP_ASTERISK -#define KSSH KC_KP_SLASH -#define KMIN KC_KP_MINUS -#define PLUS KC_KP_PLUS -#define KNTR KC_KP_ENTER -#define KDOT KC_KP_DOT - -//Modifiers -#define CTLL KC_LCTL -#define LEFTSHFT SC_LSPO -#define WINL KC_LGUI -#define ALTL KC_LALT -#define CTLR KC_RCTL -#define RIGHT_SHIFT__PAREN SC_RSPC -#define WINR KC_RGUI -#define ALTR KC_RALT -#define APPR KC_APP - - -//Punctuation -#define CMMA KC_COMM -#define PRRD KC_DOT -#define SLSH KC_SLSH -#define QUOT KC_QUOT -#define COLN KC_SCLN -#define LBRC KC_LBRC -#define RBRC KC_RBRC -#define EQUL KC_EQL -#define MNUS KC_MINS -#define BSLASH KC_BSLS - -//Layers -#define QWRTY TO(QWERTY) -#define NAVS TO(NAV_CLUSTER) -#define GAME TO(GAMING) - -//Space -#define ____ KC_TRNS -#define _____ KC_TRNS -#define ______ KC_TRNS -#define ________ KC_TRNS -#define ___________ KC_TRNS -#define _________________ KC_TRNS -#define SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE KC_SPC -#define KCNO KC_NO - -enum sql_macros { - S_LFTJN = SAFE_RANGE, // L - S_INRJN, // I - S_SLCT, // S - S_FROM, // F - S_DSNCT, // D - S_ORDER, // O - S_WHERE, // W - S_ALTER, // Esc - S_ASTRK, // * - - TD_A, - TD_B, - TD_C, // Corp, Corporation, Company - TD_D, // Distribution, Dist, Distributor - TD_E, - TD_F, - TD_G, // GlobalLookup - TD_H, - TD_I, // Instance, Item - TD_J, - TD_K, - TD_L, - TD_M, - TD_N, // NadRate - TD_O, - TD_P, // Product, Person, - TD_Q, // Darden - TD_R, - TD_S, // Supplier, Step - TD_T, // Task, Type - TD_U, - TD_V, - TD_W, // Workflow, - TD_X, - TD_Y, - TD_Z, - TD_BSPC, - TD_ENT, - TD_ESC, - - FN_QT -}; - -bool isShifted(void); diff --git a/keyboards/dz60/keymaps/marianas/keymap.c b/keyboards/dz60/keymaps/marianas/keymap.c deleted file mode 100644 index 8474ab1be3e6..000000000000 --- a/keyboards/dz60/keymaps/marianas/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap.h" -#include "relativity.h" -#include "keyDefinitions.h" -#include "customLogic.h" - -// planned change: store previous table names and abbreviations to allow scrolling for inner joins on table name+id and abbreviation+id. - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [QWERTY]= - LAYOUT_60_ansi( - ESCAP, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, MNUS, EQUL, BACKSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LBRC, RBRC, BSLASH, - FN_QT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLN, QUOT, ENTER_OR_SQL, - LEFTSHFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, CMMA, PRRD, SLSH, RIGHT_SHIFT__PAREN, - CTLL, WINL, ALTL, SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE, ALTR, WINR, APPR, CTLR), - - [NAV_CLUSTER]= - LAYOUT_60_ansi( - _____, PSCR, SCRL, PAUS, NSRT, HOME, PGUP, NMLK, KSSH, STAR, KMIN, ____, ____, ______, - ______, ____, ____, ____, DEL, END_, PGDN, KP_7, KP_8, KP_9, PLUS, ____, ____, _____, - _______, ____, ____, ____, ____, UPUP, UPUP, KP_4, KP_5, KP_6, PLUS, ____, ___________, - ________, ____, ____, ____, LEFT, D_WN, RGHT, KP_1, KP_2, KP_3, KNTR, _________________, - ____, ____, ____, /*-----------------*/KC_KP_0/*-----------------*/, KDOT, KNTR, ____, ____), - - [GAMING]= - LAYOUT_60_ansi( - _____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ______, - ______, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, _____, - KCNO, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ___________, - ________, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, _________________, - ____, KCNO, ____, /*------------------*/_____/*------------------*/, ____, KCNO, ____, QWRTY), - - [SQLMACROS]= - LAYOUT_60_ansi( - S_ALTER, ____, ____, ____, ____, ____, ____, ____, S_ASTRK, ____, ____, ____, ____, ___________, - ______, ____, S_WHERE, ____, ____, ____, ____, ____, S_INRJN, S_ORDER, ____, ____, ____, ______, - _______, KC_LBRC, S_SLCT, S_ASTRK ,S_FROM, ____, ____, ____, ____, S_LFTJN, ____, RBRC, ___________, - ________, RGB_VAI, RGB_VAD, ____, ____, ____, ____, ____, ____, ____, ____, _________________, - ____, ____, ____, /*------------------*/_____/*------------------*/, ____, ____, ____, ____), - - [FN_LAYER]= - LAYOUT_60_ansi( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, LWIN(KC_R), ____, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_BRK, ____, - ____, KC_VOLD, KC_MUTE, KC_VOLU, ____, ____, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, ____, - ____, RGB_HUI, RGB_SAI, RGB_SAD, ____, ____, KC_END, QWRTY, GAME, NAVS, ____, ____, - ____, ____, ____, _________________, ____, KC_HYPR, KC_MEH, QK_BOOT) -}; diff --git a/keyboards/dz60/keymaps/marianas/keymap.h b/keyboards/dz60/keymaps/marianas/keymap.h deleted file mode 100644 index bb1ea68c77a6..000000000000 --- a/keyboards/dz60/keymaps/marianas/keymap.h +++ /dev/null @@ -1,15 +0,0 @@ -#include QMK_KEYBOARD_H - - -enum marianas_layers { - QWERTY, -/* - COLEMAK, - DVORAK, -*/ - NAV_CLUSTER, - GAMING, - SQLMACROS, - FN_LAYER -}; - diff --git a/keyboards/dz60/keymaps/marianas/relativity.c b/keyboards/dz60/keymaps/marianas/relativity.c deleted file mode 100644 index f498b8674204..000000000000 --- a/keyboards/dz60/keymaps/marianas/relativity.c +++ /dev/null @@ -1,510 +0,0 @@ -#include "relativity.h" -#include "keymap.h" -#include "keyDefinitions.h" - - -uint16_t *macroTaps = 0; - -char *tableNameList = 0; - -uint8_t *charCount = 0; -uint8_t countPointer = 0; - -bool relativityActive = false; - - -bool sendAbbr = false; - - -static int16_t relativityTimer = 0; - - -bool tempOff = false; - - - - -void initStringData(void) -{ - if (macroTaps == 0) - { - macroTaps = malloc(macroTapsLen*sizeof(uint16_t)); - for(int i = 0; i < macroTapsLen; i++) - { - macroTaps[i] = 0; - } - } - if (tableNameList == 0) - { - tableNameList = malloc(tableNameListLen*sizeof(char)); - for(int i = 0; i < tableNameListLen; i++) - { - tableNameList[i] = 0; - } - } - if (charCount == 0) - { - charCount = malloc(charCountLen*sizeof(uint8_t)); - for (int i = 0; i < charCountLen; i++) - { - charCount[i] = 0; - } - } -} - -void activateRelativity(void) -{ - initStringData(); - rgblight_mode(RGBLIGHT_MODE_KNIGHT); - relativityTimer = timer_read(); - relativityActive = true; -} - -bool deactivateRelativity(void) -{ - rgblight_mode(9); - eraseKeyCodes(); - eraseTableAbbreviation(); - eraseCharCounts(); - relativityActive = false; - tempOff = false; - return false; -} - -bool containsCode(uint16_t kc) -{ - for (int i = 0; i < macroTapsLen && macroTaps[i] > 0; i++) - { - if (macroTaps[i] == kc) return true; - } - return false; -} - -bool lastCodeIs(uint16_t kc) -{ - for (int i = 0; i < macroTapsLen-1 && macroTaps[i] > 0; i++) - { - if (macroTaps[i] == kc && macroTaps[i+1] == 0) return true; - } - return false; -} - -bool last2CodeAre(uint16_t kc) -{ - for (int i = 0; i < macroTapsLen-2 && macroTaps[i] > 0; i++) - { - if (macroTaps[i] == kc && macroTaps[i+1] == kc && macroTaps[i+2] == 0) return true; - } - return false; -} - -bool last2CodesAre(uint16_t kc, uint16_t kc2) -{ - for (int i = 0; i < macroTapsLen-2 && macroTaps[i] > 0; i++) - { - if (macroTaps[i] == kc && macroTaps[i+1] == kc2 && macroTaps[i+2] == 0) return true; - } - return false; -} - -void addKeyCode(uint16_t kc) -{ - int i = 0; - while (i < macroTapsLen-2 && macroTaps[i] > 0) i++; - if (macroTaps[i] == 0) - { - macroTaps[i] = kc; - macroTaps[i+1] = 0; - } -} - -void eraseKeyCodes(void) -{ - int i = 0; - while (i < macroTapsLen && macroTaps[i] > 0) macroTaps[i++] = 0; -} - -void eraseCharCounts(void) -{ - while (countPointer > 0) - { - charCount[countPointer] = 0; - countPointer--; - } - charCount[countPointer] = 0; -} - -void printTableAbbreviationLimited(void) -{ - if (tableNameList[0] == 0) - { - return; - } - int i = 0; - for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++) - { - if (tableNameList[i] >= 65 && tableNameList[i] <= 90) - { - send_char(tableNameList[i]+32); - } - else - { - send_char(tableNameList[i]); - } - } -} - -void printTableAbbreviation(void) -{ - if (tableNameList[0] == 0) - { - return; - } - send_char(0x20); - int i = 0; - for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++) - { - if (tableNameList[i] >= 65 && tableNameList[i] <= 90) - { - send_char(tableNameList[i]+32); - } - else - { - send_char(tableNameList[i]); - } - } - send_char(0x20); -} - -void eraseTableAbbreviation(void) -{ - for (int i = 0; i < tableNameListLen && tableNameList[i] > 0; i++) - { - tableNameList[i] = '\0'; - } -} - -void printString(char* str) -{ - - if (str[0] != '\0') - { - int i = 0; - while (true) - { - if (str[i] == 0) - { - break; - } - send_char(str[i++]); - charCount[countPointer]++; - } - } -} - -void printStringAndQueueChar(char* str) -{ - if (charCount[countPointer] > 0 && countPointer < charCountLen) - { - countPointer++; - } - sendAbbr = true; - if (str[0] != '\0') - { - printString(str); - - for (int i = 0; i < tableNameListLen-1; i++) - { - if (tableNameList[i] == '\0') - { - tableNameList[i] = str[0]; - tableNameList[i+1] = '\0'; - break; - } - else if (i == tableNameListLen-2) - { - printTableAbbreviation(); - break; - } - } - //for (i = 0; i < tableNameListLen && tableNameList[i] > 0; i++) - //{ - // send_char(tableNameList[i]); - //} - //send_string_P("Darden"); - //send_string_P(&myarray); - //send_string_P(str); - } -} - -void ReplaceString(char *orig, char *repl) -{ - int i = 0; - while((orig[i] != 0x0 && repl[i] != 0x0) && orig[i] == repl[i]) - i++; - - if(orig[i] != 0x0) - { - int o = i; - while (orig[o++] != 0x0) { - charCount[countPointer]--; - register_code(KC_BSPC); - unregister_code(KC_BSPC); - } - } - printString(repl+i); -} - -void deletePrev(void) -{ - if (countPointer == 0 && charCount[countPointer] == 0) - return; - for (int i = 0; i < charCount[countPointer]; i++) - { - register_code(KC_BSPC); - unregister_code(KC_BSPC); - } - charCount[countPointer] = 0; - int i = 1; - for (;i < tableNameListLen-1; i++) - { - if (tableNameList[i] == 0x0) - { - break; - } - } - tableNameList[i-1] = 0x0; - if (countPointer > 0) - { - countPointer--; - } -} - -bool processSmartMacroTap(uint16_t kc) -{ - if (relativityTimer > 0 && TIMER_DIFF_16(timer_read(), relativityTimer) >= relTimeout) - { - deactivateRelativity(); - return true; - } - relativityTimer = 0; - switch(kc) - { - case KC_C: - if (containsCode(KC_D)) - { - printString("ribution"); - printStringAndQueueChar("Center"); - } - else if (last2CodeAre(KC_C)) - { - ReplaceString("Corporation", "Contact"); - } - else if(lastCodeIs(KC_C)) - { - printString("oration"); - } - else - { - printStringAndQueueChar("Corp"); - } - break; - case KC_D: - if (last2CodeAre(KC_D)) - { - ReplaceString("Distribution", "Distributor"); - } - else if(lastCodeIs(KC_D)) - { - printString("ribution"); - } - else - { - printStringAndQueueChar("Dist"); - } - break; - case KC_G: - printStringAndQueueChar("Global"); - printStringAndQueueChar("Lookup"); - break; - case KC_I: - if (containsCode(KC_W)) - printStringAndQueueChar("Instance"); - else - printStringAndQueueChar("Item"); - break; - case KC_N: - printStringAndQueueChar("NadRate"); - break; - case KC_P: - if (last2CodesAre(KC_D, KC_C)) - { - ReplaceString("DistributionCenter", "DistCenter"); - printStringAndQueueChar("Pricing"); - } - else if (last2CodeAre(KC_P)) - { - } - else if(lastCodeIs(KC_P)) - { - ReplaceString("Product", "Person"); - } - else - { - printStringAndQueueChar("Product"); - } - break; - case KC_Q: - printStringAndQueueChar("Darden"); - break; - case KC_S: - if (containsCode(KC_W)) - if (containsCode(KC_S) || containsCode(KC_D)) - printStringAndQueueChar("Step"); - else - printStringAndQueueChar("Session"); - else - printStringAndQueueChar("Supplier"); - break; - case KC_T: - if (containsCode(KC_W)) - printStringAndQueueChar("Task"); - else - printStringAndQueueChar("Type"); - break; - case KC_W: - printStringAndQueueChar("Workflow"); - break; - } - addKeyCode(kc); - return false; -} - - -bool shifted = false; -bool isShifted(void) -{ - return shifted; -} - -void setShifted(bool val) -{ - shifted = val; -} - - -bool storeShiftState(uint16_t keycode, keyrecord_t *record) -{ - - if (record->event.pressed) - { - switch (keycode) - { - case SC_LSPO: - case SC_RSPC: - shifted = true; - } - } - else - { - switch (keycode) - { - - case SC_LSPO: - case SC_RSPC: - shifted = false; - return true; - } - } - return true; -} - -bool handleSmartMacros(uint16_t keycode, keyrecord_t *record) -{ - if (relativityActive != true) return true; - if (record->event.pressed) - { - switch (keycode) - { - case KC_BSPC: - if (!isShifted()){ - deletePrev(); - } - else { - register_code(KC_BSPC); - unregister_code(KC_BSPC); - } - return false; - case KC_A: - case KC_B: - case KC_C: - case KC_D: - case KC_E: - case KC_F: - case KC_G: - case KC_H: - case KC_I: - case KC_J: - case KC_K: - case KC_L: - case KC_M: - case KC_N: - case KC_O: - case KC_P: - case KC_Q: - case KC_R: - case KC_S: - case KC_T: - case KC_U: - case KC_V: - case KC_W: - case KC_X: - case KC_Y: - case KC_Z: - return processSmartMacroTap(keycode); - - case PRRD: - if (tempOff) - { - SEND_STRING("Id = "); - printTableAbbreviationLimited(); - SEND_STRING(".Id"); - return deactivateRelativity(); - } - else - { - printTableAbbreviation(); - SEND_STRING("ON "); - printTableAbbreviationLimited(); - eraseKeyCodes(); - eraseTableAbbreviation(); - eraseCharCounts(); - tempOff = true; - return true; - } - - - case KC_SPC: - printTableAbbreviation(); - return deactivateRelativity(); - case ENTER_OR_SQL: - if (tempOff) - { - SEND_STRING("Id = "); - printTableAbbreviationLimited(); - SEND_STRING(".Id"); - deactivateRelativity(); - return true; - } - else - { - printTableAbbreviation(); - deactivateRelativity(); - return true; - } - case KC_ESC: - return deactivateRelativity(); - } - } - return true; -} diff --git a/keyboards/dz60/keymaps/marianas/relativity.h b/keyboards/dz60/keymaps/marianas/relativity.h deleted file mode 100644 index c917b1a4dcdc..000000000000 --- a/keyboards/dz60/keymaps/marianas/relativity.h +++ /dev/null @@ -1,32 +0,0 @@ -#include QMK_KEYBOARD_H -#define macroTapsLen 32 -#define tableNameListLen 32 -#define charCountLen 32 - -#define relTimeout 1500 - - -void activateRelativity(void); -bool deactivateRelativity(void); -void initStringData(void); -bool containsCode(uint16_t kc); -bool lastCodeIs(uint16_t kc); -bool last2CodeAre(uint16_t kc); -bool last2CodesAre(uint16_t kc, uint16_t kc2); -void addKeyCode(uint16_t kc); -void eraseKeyCodes(void); -void eraseCharCounts(void); -void printTableAbbreviation(void); -void eraseTableAbbreviation(void); -void printString(char* str); -void printStringAndQueueChar(char* str); -void ReplaceString(char *orig, char *repl); -void deletePrev(void); -bool processSmartMacroTap(uint16_t kc); -bool isShifted(void); -void setShifted(bool); - - - -bool handleSmartMacros(uint16_t keycode, keyrecord_t *record); -bool storeShiftState(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/dz60/keymaps/marianas/rules.mk b/keyboards/dz60/keymaps/marianas/rules.mk deleted file mode 100644 index 11eb15fe15f5..000000000000 --- a/keyboards/dz60/keymaps/marianas/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# comment out to disable the options. -# - - -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes -TAP_DANCE_ENABLE = no -AUTO_SHIFT_ENABLE = no - - -SRC += relativity.c -SRC += customLogic.c diff --git a/keyboards/dz60/keymaps/mechmerlin/config.h b/keyboards/dz60/keymaps/mechmerlin/config.h deleted file mode 100644 index 92d4cfb50a3a..000000000000 --- a/keyboards/dz60/keymaps/mechmerlin/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -// Turn off RGB when computer goes to sleep -#ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_SLEEP -#endif // RGBLIGHT_ENABLE diff --git a/keyboards/dz60/keymaps/mechmerlin/keymap.c b/keyboards/dz60/keymaps/mechmerlin/keymap.c deleted file mode 100644 index 795ba24798b8..000000000000 --- a/keyboards/dz60/keymaps/mechmerlin/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL = 0, // Base Layer - _FL, // Function Layer - _CL // Control Layer -}; - -// Custom #defined keycodes (shorter macros for readability) -#define KC_CTCP LCTL_T(KC_CAPS) -#define KC_RSSH RSFT_T(KC_SLSH) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_60_b_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_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_CTCP, KC_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_RSSH, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [_FL] = LAYOUT_60_b_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_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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_PGUP, MO(_CL), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), - - [_CL] = LAYOUT_60_b_ansi( - QK_BOOT, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; - -// Set underglow RGB leds to yellow -// Find the list of available colors in quantum/color.h -void matrix_init_user(void) { - rgblight_sethsv_noeeprom(HSV_YELLOW); -} diff --git a/keyboards/dz60/keymaps/mechmerlin/readme.md b/keyboards/dz60/keymaps/mechmerlin/readme.md deleted file mode 100644 index bb8fbf84b3af..000000000000 --- a/keyboards/dz60/keymaps/mechmerlin/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# MechMerlin's DZ60 Keymap - -The purpose of this keymap is to provide examples on how to do some common QMK features. - -Make example for this keyboard (after setting up your build environment): - - make dz60:mechmerlin - -## Merlin's DZ60 Hardware Info ---- - -The DZ60 is a 60% pcb produced by KBDFans. It comes in two variants, USB Mini B and USB C. It supports many many layouts. It also supports both backlight and RGB underglow. The USB C variant does not have a hardware reset switch. USB C to C is not supported. - -Merlin's DZ60 uses -- Layout B, in QMK this is LAYOUT_60_b_ansi. -- USB C -- 50g Zilents -- Arrows are 78g Zilents -- KPRepublic XD64 Case - -## Layers ---- - -Merlin's keymap has three different layers. To switch layers you can use the `MO(X)` keycode, where `X` is the layer you want to switch to. - -### _BL - -This is the base layer also known as layer 0. It is a standard QWERTY layout. It has the `_FL` layer switch key. - -### _FL - -This is the function layer also known as layer 1. It utiizes the following: -- Function Keys -- Navigation Keys -- Audio keys such as Mute, Volume Down and Volume Up. -- `_CL` layer switch key - -### _CL - -This is the control layer also known as layer 2. It utilizes the following: -- RGB Controls -- `RESET` key - -## Non Standard Keycodes ---- -### RESET - -As long `BOOTMAGIC_ENABLE` is set to `yes` in `rules.mk`, the DZ60 can be put into bootloader mode by holding the `Escape` key while plugging in. However sometmes this doesn't work or is troublesome to do, might as well use the `RESET` keycode to accomplish this. - -### RSFT_T(KC_SLSH) - -Layout B is missing the `?` key and is instead replaced with a `right shift`. This keycode makes it so that the key can be tapped for `?` and held for `right shift`. - -### LCTL_T(KC_CAPS) - -`Caps Lock` is only ever used by tapping, why not use it as a `control` key when held? This keycode makes it so that the key can be tapped for `caps lock` and held for `control`. - - -## RGB Lighting ---- - -### RGBLIGHT_SLEEP - -This is set in `mechmerlin/config.h` so that when the computer goes to sleep, the RGB lights will also go to sleep on the keyboard. They will turn back on when the computer wakes. - -### RGB Underglow Color: Yellow - -This is set in `mechmerlin/keymap.c` in the `matrix_init_user` function. The list of available colors can be found in [`quantum/color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). diff --git a/keyboards/dz60/keymaps/model42/keymap.c b/keyboards/dz60/keymaps/model42/keymap.c deleted file mode 100644 index 30b95e63e00e..000000000000 --- a/keyboards/dz60/keymaps/model42/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -#include QMK_KEYBOARD_H - -// Hard Reload Chrome -enum dz60_keycodes { - LT_1_OR_RELOAD_CHROME = SAFE_RANGE -}; - -const uint16_t PROGMEM keymaps[][5][15] = { -// layer 0 -LAYOUT_directional(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_PGUP, KC_PGDN, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_ESC, KC_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, LT(3, KC_Z), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), KC_UP, KC_SLSH, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, LT(4, KC_SPC), KC_BSPC, MO(2), LT_1_OR_RELOAD_CHROME, KC_LEFT, KC_DOWN, KC_RGHT), - -// layer 1 -LAYOUT_directional(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, BL_DOWN,BL_TOGG, BL_UP, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -// layer 2 -LAYOUT_directional(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_HOME, KC_END, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -// layer 3 -LAYOUT_directional(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -// layer 4 -LAYOUT_directional(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t custom_lt_timer; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(LT_1_OR_RELOAD_CHROME == keycode) { - if(record->event.pressed) { - custom_lt_timer = timer_read(); - layer_on(1); - } else { - layer_off(1); - if (timer_elapsed(custom_lt_timer) < 200) { - register_code(KC_LGUI); - register_code(KC_RSFT); - register_code(KC_R); - unregister_code(KC_R); - unregister_code(KC_RSFT); - unregister_code(KC_LGUI); - } - } - } - return true; -} diff --git a/keyboards/dz60/keymaps/model42/readme.md b/keyboards/dz60/keymaps/model42/readme.md deleted file mode 100644 index 04fa11aad571..000000000000 --- a/keyboards/dz60/keymaps/model42/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# yanfali's keymap for KBDFans DZ60 PCB - -## 4 Layers - -### Layer 0 - -![layer 0](https://imgur.com/gELh7Se.png) -Conventional ANSI layout. Except: - - - Backspace has been replaced with 2 keys - - PGUP - - PGDN - - 2.25U Left shift is now 1.25U with 1U key LT(layer 3, KC_Z) - - Bottom right shift is 1.75U. Has arrow cluster. Tap right shift for / and dedicated / key is to far right. - - Bottom row, split space bar - - 2.75U (Space) - - 1.25U (mouse key + WASD) with LT(4, KC_SPC) - - 2.25U (backspace) - - 1U MO(layer 2) - - 1U LT(layer 1, SHIFT+LGUI+R) - - arrows. - -### Layer 1 - -![layer 1](https://imgur.com/X7iKNxQ.png) -RGB underglow and backlight controls, Reset - -### Layer 2 - -![layer 2](https://imgur.com/bOiQI69.png) -F1-F12, PGUP -> HOME, PGDN -> END - -### Layer 3 - -Unused at this time but tied to 3 FN key to right of 1.25U left shift. - -### Layer 4 - - * WASD - Mouse controls - * Q - Btn 1 - * E - Btn 2 - diff --git a/keyboards/dz60/keymaps/mpaarating/keymap.c b/keyboards/dz60/keymaps/mpaarating/keymap.c deleted file mode 100644 index 0d8ae497ef45..000000000000 --- a/keyboards/dz60/keymaps/mpaarating/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -#include QMK_KEYBOARD_H - -// Layer definition -#define L0 0 -#define L1 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [L0] = LAYOUT_60_2_function( - 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_GRAVE, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(L1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, MO(L1) - ), - - [L1] = LAYOUT_60_2_function( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_UP, KC_TRNS, KC_DELETE, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_LEFT, KC_RIGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, KC_TRNS, KC_TRNS, KC_END, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/dz60/keymaps/mpaarating/readme.md b/keyboards/dz60/keymaps/mpaarating/readme.md deleted file mode 100644 index d21d26c757bf..000000000000 --- a/keyboards/dz60/keymaps/mpaarating/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# DZ60 - -![dz60](https://i.imgur.com/nVOX9Gb.jpg) - -### Layout -**Note:** Layer 2 does not exist currently -![layer 0](https://i.imgur.com/uXFTNBs.png) -![layer 1](https://i.imgur.com/f7uTkDU.png) - -Make example for this keyboard (after setting up your build environment): - - make dz60:mpaarating diff --git a/keyboards/dz60/keymaps/mpstewart/config.h b/keyboards/dz60/keymaps/mpstewart/config.h deleted file mode 100644 index 92d4cfb50a3a..000000000000 --- a/keyboards/dz60/keymaps/mpstewart/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -// Turn off RGB when computer goes to sleep -#ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_SLEEP -#endif // RGBLIGHT_ENABLE diff --git a/keyboards/dz60/keymaps/mpstewart/keymap.c b/keyboards/dz60/keymaps/mpstewart/keymap.c deleted file mode 100644 index 8cc97a549bcf..000000000000 --- a/keyboards/dz60/keymaps/mpstewart/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -#include QMK_KEYBOARD_H -#define C_ESC CTL_T(KC_ESC) - - -// Layers -#define _BASE 0 -#define _FN 1 -#define _LIGHTS 2 - -/* Layout designed primarily around replicating the ergonomics of an HHKB, with - * a standard 60% spacebar row to be more compatible with conveniently - * available parts. The feature most shamelessly ripped off from the HHKB is - * the split right shift and backspace. - * - * This keymap is macOS-oriented by default, but pressing the AG_TOGG key on - * the _FN layer will swap alt and gui, making this layout also functional for - * Linux and PC. - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* _BASE layer - * Looks like this Arranged like this - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │Bksp │ │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │esc/^ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │lshift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │rshift│fn │ │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │ctrl│alt │win │ │win │alt │menu│ctrl│ │40 │41 │43 │46 │4a │4b │4d │4e │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ -*/ - [_BASE] = LAYOUT_60_ansi_split_bs_rshift( - // _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E -/*0_*/ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, -/*1_*/ KC_TAB, KC_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, -/*2_*/ C_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, -/*3_*/ 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(_FN), -/*4_*/ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(_LIGHTS), KC_RCTL - ), - -/* _FN layer, where blank keys indicates transparency to the base layer - * Looks like this Arranged like this (as above) - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ - * │slp│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ins│del│ │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī - * │caps │bup│bdn│ │XXX│ │ │ │prt│scl│pus│ ↑ │ │ │ │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī - * │ │vup│vdn│vmt│ │ │ │ │hme│pup│ ← │ → │ Return │ │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī - * │lshift │ │ │ │ │ │ │ │end│pdn│ ↓ │rshift│ │ │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī - * │ctrl│lalt│lgui│ S P A C E │rgui│ralt│menu│ctrl│ │40 │41 │43 │46 │4a │4b │4d │4e │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ - * XXX = QK_BOOT (dfu mode) -*/ - [_FN] = LAYOUT_60_ansi_split_bs_rshift( - // _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E -/*0_*/ KC_SLEP, KC_F1, KC_F2 , KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, -/*1_*/ KC_CAPS, KC_BRID, KC_BRIU, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_NO, KC_NO, -/*2_*/ KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_RGHT, KC_RETURN, -/*3_*/ SC_LSPO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_DOWN, SC_RSPC, KC_TRNS, -/*4_*/ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_APP, AG_TOGG - ), - -/* _LIGHTS LAYER (stolen shamelessly from 256k_HHKB - * - * ,---------------------------------------------------------------------------------------------------------------------+ - * | RGB_TOGGLE | STATIC | BREATHE | RAINBOW | SWIRL | SNAKE | KNIGHTRIDER | XMAS | STATIC_GRAD | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | RBG_MOD | HUE_INC | SATURATION_INC | BRIGHT_INC | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | CTRL | HUE_DEC | SATURATION_DEC | BRIGHT_DEC | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | Shift | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | - * |----------------------------------------------------------------------------------------------------------------------+ - * | _ | _ | _ | _ | _ | - * `----------------------------------------------------------------------------------------------------------------------' - */ - [_LIGHTS] = LAYOUT_60_ansi_split_bs_rshift( -// _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E -/*0_*/ RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, -/*1_*/ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, -/*2_*/ KC_NO, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, -/*3_*/ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, -/*4_*/ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ) -}; diff --git a/keyboards/dz60/keymaps/mpstewart/rules.mk b/keyboards/dz60/keymaps/mpstewart/rules.mk deleted file mode 100644 index 176a650c9332..000000000000 --- a/keyboards/dz60/keymaps/mpstewart/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -EXTRAKEY_ENABLE = yes -NKRO_ENABLE = yes - -BACKLIGHT_ENABLE = yes -MOUSEKEY_ENABLE = no -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes -LEADER_ENABLE = no -MIDI_ENABLE = no -BLUETOOTH_ENABLE = no diff --git a/keyboards/dz60/keymaps/muralisc/keymap.c b/keyboards/dz60/keymaps/muralisc/keymap.c deleted file mode 100644 index d7d4326a12fe..000000000000 --- a/keyboards/dz60/keymaps/muralisc/keymap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2022 Murali Suresh - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// Copied from keyboards/dz60/keymaps/60_ansi/keymap.c - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,------------------------------------------------------------------------------------------. - * | ` ~ | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc | - * |------------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |------------------------------------------------------------------------------------------+ - * | Ctl_T(C) | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | - * |------------------------------------------------------------------------------------------+ - * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL | - * `------------------------------------------------------------------------------------------' - */ - - LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - MO(1) , KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL), - - /* Qwerty - * ,------------------------------------------------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc | - * |------------------------------------------------------------------------------------------+ - * | Tab | Q | W | End | R | T | Y | U | I | O | PsCr| SlCk| Paus| \ | - * |------------------------------------------------------------------------------------------+ - * | Ctl_T(C) | Home| S | D | Pgdn| G | Left| Down| Up | Rght| Home| PgUp| Enter | - * |------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | PgUp| N | M | , | End | PgDn| RShift | - * |------------------------------------------------------------------------------------------+ - * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL | - * `------------------------------------------------------------------------------------------' - */ - - - LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_END , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_HOME, KC_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - LAYOUT_60_ansi( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/dz60/keymaps/muzfuz/README.md b/keyboards/dz60/keymaps/muzfuz/README.md deleted file mode 100644 index 711d6d5f56ac..000000000000 --- a/keyboards/dz60/keymaps/muzfuz/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# muzfuz DZ60 layout - -```shell -make dz60:muzfuz -dfu-programmer atmega32u4 erase --force && \ -dfu-programmer atmega32u4 flash .build/dz60_muzfuz_v2.hex && \ -dfu-programmer atmega32u4 reset -``` diff --git a/keyboards/dz60/keymaps/muzfuz/keymap.c b/keyboards/dz60/keymaps/muzfuz/keymap.c deleted file mode 100644 index 36b843d45984..000000000000 --- a/keyboards/dz60/keymaps/muzfuz/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -#include QMK_KEYBOARD_H - -#define MODS_CTRL_MASK (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)) -#define ESC_CTL CTL_T(KC_ESCAPE) // Tap for Esc, hold for Ctrl - -enum custom_keycodes { - HASHRKT = SAFE_RANGE, - CLNEQLS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, HASHRKT, - KC_TAB, KC_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, - ESC_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RGUI, - 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_LALT, KC_LGUI, KC_ENT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_RGHT, KC_DOWN), - - LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DOWN,BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; - -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)) { - 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 { - - } - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - switch (keycode) - { - case HASHRKT: - if (record->event.pressed) - { - SEND_STRING("=>"); - } - break; - case CLNEQLS: - if (record->event.pressed) - { - SEND_STRING(":="); - } - break; - } - return true; -} diff --git a/keyboards/dz60/keymaps/niclake/config.h b/keyboards/dz60/keymaps/niclake/config.h deleted file mode 100644 index 9028fcf9fbb0..000000000000 --- a/keyboards/dz60/keymaps/niclake/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 diff --git a/keyboards/dz60/keymaps/niclake/keymap.c b/keyboards/dz60/keymaps/niclake/keymap.c deleted file mode 100644 index 7c1b0b7d7c0d..000000000000 --- a/keyboards/dz60/keymaps/niclake/keymap.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layer_names { - _BASE, - _QWERTY, - _FN, - _ADJ -}; - -enum custom_keycodes { - COLEMAK = SAFE_RANGE, - QWERTY, - FN, - ADJ, - MACWIN -}; - -#define COLEMAK DF(_BASE) -#define QWERTY DF(_QWERTY) -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) -#define ADJUST TT(_ADJUST) -#define MACWIN MAGIC_TOGGLE_ALT_GUI -#define RGB_ON RGB_MODE_PLAIN -#define RGB_TW RGB_MODE_TWINKLE - -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_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_BSLS, - FN, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, 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 - ), - - [_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_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, - FN, KC_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, LOWER, KC_RCTL - ), - - [_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_DEL, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, _______, _______, - _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END, _______, KC_CAPS, - _______, _______, _______, _______, _______, _______, ADJUST, _______ - ), - - [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - ADJUST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT( - XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - ADJUST, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, 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 - ) -}; diff --git a/keyboards/dz60/keymaps/niclake/readme.md b/keyboards/dz60/keymaps/niclake/readme.md deleted file mode 100644 index a36c32d2465a..000000000000 --- a/keyboards/dz60/keymaps/niclake/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Nic Lake's DZ60 Layout - -This is Nic's DZ60 layout. - -- Colemak base layer w/ QWERTY support -- Caps -> FN -- Bottom row set up for Mac usage (use `MACWIN`/`AG_TOGG` to toggle) -- Latching Numpad layer for data entry -- Uses [Space Cadet shift keys](https://docs.qmk.fm/#/feature_space_cadet?id=usage) -- Experimenting with [Home Row Mods](https://precondition.github.io/home-row-mods) - -![Nic's DZ60 Layout](https://i.imgur.com/Lmw08LT.jpg) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/niclake/rules.mk b/keyboards/dz60/keymaps/niclake/rules.mk deleted file mode 100644 index 31d6053e03d9..000000000000 --- a/keyboards/dz60/keymaps/niclake/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -COMMAND_ENABLE = no -RGBLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/olivierko/keymap.c b/keyboards/dz60/keymaps/olivierko/keymap.c deleted file mode 100644 index 7d49d1b51d0a..000000000000 --- a/keyboards/dz60/keymaps/olivierko/keymap.c +++ /dev/null @@ -1,87 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL, - _SL, - _FL, - _CL, -}; - -enum custom_keycodes { - SWE_AA = SAFE_RANGE, - SWE_AE, - SWE_OE, -}; - -char *alt_codes[][2] = { - { - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_2)SS_TAP(X_KP_2)SS_TAP(X_KP_9)), // Alt+0229 → ÃĨ - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_1)SS_TAP(X_KP_9)SS_TAP(X_KP_7)), // Alt+0197 → Å - }, - { - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_2)SS_TAP(X_KP_2)SS_TAP(X_KP_8)), // Alt+0228 → ÃĪ - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_1)SS_TAP(X_KP_9)SS_TAP(X_KP_6)), // Alt+0196 → Ä - }, - { - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_2)SS_TAP(X_KP_4)SS_TAP(X_KP_6)), // Alt+0246 → Ãķ - SS_LALT(SS_TAP(X_KP_0)SS_TAP(X_KP_2)SS_TAP(X_KP_1)SS_TAP(X_KP_4)), // Alt+0214 → Ö - }, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_BL] = LAYOUT_olivierko( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - MO(_FL), KC_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, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT, KC_RCTL), - - [_SL] = LAYOUT_olivierko( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SWE_AA, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SWE_OE, SWE_AE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [_FL] = LAYOUT_olivierko( - 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_PAUSE, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DELETE, - KC_NO, DF(_BL), DF(_SL), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, - KC_LSFT, KC_NO, KC_NO, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_RSFT, - KC_LCTL, MO(_CL), KC_LALT, KC_MPLY, KC_HOME, KC_PGDN, KC_END, KC_RCTL), - - [_CL] = LAYOUT_olivierko( - RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, DB_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - if (!record->event.pressed) - return true; - - switch (keycode) { - case SWE_AA: - case SWE_AE: - case SWE_OE: { - uint16_t index = keycode - SWE_AA; - uint8_t shift = get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)); - - unregister_code(KC_LSFT); - unregister_code(KC_RSFT); - - send_string(alt_codes[index][(bool)shift]); - - if (shift & MOD_BIT(KC_LSFT)) register_code(KC_LSFT); - if (shift & MOD_BIT(KC_RSFT)) register_code(KC_RSFT); - - return false; - } - default: - return true; - } -} \ No newline at end of file diff --git a/keyboards/dz60/keymaps/olivierko/readme.md b/keyboards/dz60/keymaps/olivierko/readme.md deleted file mode 100644 index 54ade6d78e69..000000000000 --- a/keyboards/dz60/keymaps/olivierko/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# DZ60 -### _BL: -Base layer with american ANSI layout. - -![_BL](https://i.imgur.com/BPMn7dk.png) -### _SL: -Swedish layer with ÅÄÖ at original positions. - -![_SL](https://i.imgur.com/I8QRh24.png) -### _FL: -Function layer including various extra keys. - -![_FL](https://i.imgur.com/nCbCIrZ.png) -### _CL: -Control layer for managing RGB and flashing. - -![_CL](https://i.imgur.com/QnoMgsb.png) -### Make command: -```sh -make dz60:olivierko:flash -``` \ No newline at end of file diff --git a/keyboards/dz60/keymaps/ottodokto/config.h b/keyboards/dz60/keymaps/ottodokto/config.h deleted file mode 100644 index 331b14f28722..000000000000 --- a/keyboards/dz60/keymaps/ottodokto/config.h +++ /dev/null @@ -1,13 +0,0 @@ -/*---defines-------------------------------------------- */ -#define TAPPING_TOGGLE 2 // toggle on layer on two taps. - -/*---RGB settings-------------------------------------------- */ -#undef RGBLIGHT_HUE_STEP -#undef RGBLIGHT_SAT_STEP -#undef RGBLIGHT_VAL_STEP -#undef RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL - -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 -#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 200 \ No newline at end of file diff --git a/keyboards/dz60/keymaps/ottodokto/keymap.c b/keyboards/dz60/keymaps/ottodokto/keymap.c deleted file mode 100644 index 5684afe26c93..000000000000 --- a/keyboards/dz60/keymaps/ottodokto/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -/* - Last updated: 3 Aug 2019 - DZ60 Layout by ottodokto - - This layout is a modification of the 60 tsangan hhkb layout, - with an additional layer to update the arrow keys and - */ - -#include QMK_KEYBOARD_H - -/*---Layers-------------------------------------------- */ -#define _base 0 // default, tsangan layout with split backspace -#define _func 1 // media controls and reset buttons - -/*---defines-------------------------------------------- */ -#define KC_CTOG LT(_func, KC_CAPS) -#define KC_TTAP TT(_func) - -#define RGB_STA RGB_M_P // rgb static -#define RGB_BRE RGB_M_B // rgb breathe -#define RGB_RAI RGB_M_R // rgb rainbow -#define RGB_SWI RGB_M_SW // rgb swirl -#define RGB_SNA RGB_M_SN // rgb snake -#define RGB_KNI RGB_M_K // rgb knight -#define RGB_GRA RGB_M_G // rgb gradient - - -/*---Layout-------------------------------------------- */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_base] = LAYOUT_60_tsangan_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_CTOG, KC_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_TTAP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - [_func] = LAYOUT_60_tsangan_hhkb( - 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, _______, QK_BOOT, - _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, RGB_SPI, RGB_HUD, RGB_VAI, RGB_HUI, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, RGB_SPD, RGB_SAD, RGB_VAD, RGB_SAI, KC_BRID, KC_BRIU, _______, - _______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, RGB_SNA, RGB_KNI, RGB_GRA, VK_TOGG, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ) -}; \ No newline at end of file diff --git a/keyboards/dz60/keymaps/ottodokto/rules.mk b/keyboards/dz60/keymaps/ottodokto/rules.mk deleted file mode 100644 index 1b0f198d06c1..000000000000 --- a/keyboards/dz60/keymaps/ottodokto/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VELOCIKEY_ENABLE = yes diff --git a/keyboards/dz60/keymaps/pevecyan/keymap.c b/keyboards/dz60/keymaps/pevecyan/keymap.c deleted file mode 100644 index 4b10ac06b294..000000000000 --- a/keyboards/dz60/keymaps/pevecyan/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ - -#include QMK_KEYBOARD_H -#include "keymap_slovenian.h" - - -#define CARON LT(3, SI_CIRC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - QK_GESC,SI_1, SI_2, SI_3, SI_4, SI_5, SI_6, SI_7, SI_8, SI_9, SI_0, SI_QUOT, SI_PLUS,XXXXXXX,KC_BSPC, - KC_TAB, SI_Q, SI_W, SI_E, SI_R, SI_T, SI_Z, SI_U, SI_I, SI_O, SI_P, SI_GRV, SI_TILD,CARON, - MO(2), SI_A, SI_S, SI_D, SI_F, SI_G, SI_H, SI_J, SI_K, SI_L, KC_SCLN, KC_QUOT,KC_ENT, - KC_LSFT,XXXXXXX,SI_Y, SI_X, SI_C, SI_V, SI_B, SI_N, SI_M, SI_COMM,SI_DOT, SI_MINS, KC_RSFT,XXXXXXX, - KC_LCTL,KC_LGUI, KC_LALT,KC_SPC, KC_SPC, KC_SPC, KC_RALT,MO(3), XXXXXXX,MO(1), KC_F5 - ), - - [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, - _______, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,_______,QK_BOOT, - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,BL_DOWN,BL_TOGG,BL_UP, BL_STEP,_______,_______,_______,_______, _______,_______, - _______,_______, _______,_______, _______, _______, _______,_______,_______,_______,_______ - ), - - [2] = LAYOUT( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, KC_BSPC,KC_UP, KC_DEL, _______,_______,_______,_______,_______,_______,_______,_______,KC_HOME, KC_END, - _______, KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, - _______,_______, _______,_______, _______, _______, _______,_______,_______,_______,_______ - ), - - [3] = LAYOUT( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______,_______,_______,_______,_______,SI_ZCAR,_______,_______,_______,_______,_______,_______,_______, - _______, _______,SI_SCAR, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,SI_CCAR, _______,_______,_______,_______,_______,_______,_______, _______,_______, - _______,_______, _______,_______, _______, _______, _______,_______,_______,_______,_______ - ), -}; diff --git a/keyboards/dz60/keymaps/pinpox/keymap.c b/keyboards/dz60/keymaps/pinpox/keymap.c deleted file mode 100644 index a80a78c4b2d5..000000000000 --- a/keyboards/dz60/keymaps/pinpox/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -#include QMK_KEYBOARD_H - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Qwerty - [0] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_ESC, KC_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, MO(1), KC_SPC, KC_ALGR, KC_RGUI, KC_LALT, KC_RCTL - ), - - // Special keys - [1] = LAYOUT_60_ansi( - KC_SLEP, KC_F1, KC_F2, KC_F3, KC_F3, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_NO, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_PGDN, KC_NO, - KC_CAPS, BL_TOGG, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MFFD, - KC_NO, BL_UP, BL_DOWN, BL_BRTG, KC_NO, KC_NO, KC_UP, KC_NO, KC_HOME, KC_END, KC_NO, KC_PSCR, - KC_NO, KC_NO, KC_TRNS, KC_MPLY, KC_NO, KC_NO, KC_TRNS, KC_NO - ) -}; diff --git a/keyboards/dz60/keymaps/pinpox/rules.mk b/keyboards/dz60/keymaps/pinpox/rules.mk deleted file mode 100644 index 7e4fd5d3491d..000000000000 --- a/keyboards/dz60/keymaps/pinpox/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/pok3r/keymap.c b/keyboards/dz60/keymaps/pok3r/keymap.c deleted file mode 100644 index 410fd9473f00..000000000000 --- a/keyboards/dz60/keymaps/pok3r/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_NO, MO(2), KC_RCTL), - - 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_MPRV, KC_MPLY, KC_MNXT, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, _______, - KC_CAPS, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, - _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - LAYOUT( - RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, _______, RGB_RMOD, RGB_MOD, _______, _______, - _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; diff --git a/keyboards/dz60/keymaps/split_space_arrows/keymap.c b/keyboards/dz60/keymaps/split_space_arrows/keymap.c deleted file mode 100644 index 0ac20ea48095..000000000000 --- a/keyboards/dz60/keymaps/split_space_arrows/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include QMK_KEYBOARD_H - -/* DZ60 layout using following options (from layouts diagram on KBDfans): - * - plate B (2.25u lshift) - * - opt 4 (1.75, 1, 1 on rshift) - * - opt 10 (2.75, 1.25, 2.25 on space, 5x1u bottom right keys) - * http://www.keyboard-layout-editor.com/#/gists/225f0f4dcf6671405f744fabe314627c - */ - -#define LAYOUT_b_4_10( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ - ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 }, \ - { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layer 0: basic qwerty */ - LAYOUT_b_4_10( - // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||------2.0-------| - 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, - // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------| - // - // |----1.5-----||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|----1.5-----| - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - // |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------| - // - // |----1.75------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------2.25--------|| - 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, - // |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------|| - // - // |------2.25--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----1.75------|--------|--------|| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), KC_UP, KC_HYPR, - // |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------|| - // - // |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------| - KC_MEH, KC_LALT, KC_LGUI, KC_SPC, TT(1), MO(1), TG(1), TT(2), KC_LEFT, KC_DOWN, KC_RGHT - // |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------| - ), - - /* Layer 1: primary fn layer */ - LAYOUT_b_4_10( - 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_TAB, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, - KC_CAPS, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_NO, KC_ENT, - KC_LSFT, KC_MPRV, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, QK_LOCK, KC_PGUP, KC_INS, - KC_MEH, KC_LALT, KC_LGUI, KC_MEDIA_PLAY_PAUSE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END - ), - - /* Layer 2: mouse navigation */ - /* Layer 3: numpad */ - /* Layer 4: RGB lighting controls and keyboard config, reset */ - LAYOUT_b_4_10( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(5), - KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSFT, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_SAD, RGB_VAD, RGB_SAI - ), -}; diff --git a/keyboards/dz60/keymaps/split_space_arrows/rules.mk b/keyboards/dz60/keymaps/split_space_arrows/rules.mk deleted file mode 100644 index e30193dab9fd..000000000000 --- a/keyboards/dz60/keymaps/split_space_arrows/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Build Options -# override the options specified in dz60/rules.mk -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -KEY_LOCK_ENABLE = yes diff --git a/keyboards/dz60/keymaps/spotpuff/keymap.c b/keyboards/dz60/keymaps/spotpuff/keymap.c deleted file mode 100644 index c4f5cd955502..000000000000 --- a/keyboards/dz60/keymaps/spotpuff/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ - /* Copyright 2020 Philip Chan - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -//Layers -enum layer_names { - _QWERTY, - _FN, - _MEDIA, -}; - -//Custom Keymap Definitions -#define KC_CAD LALT(LCTL(KC_DEL)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty Base layer - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc| Del | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | `/_Media| A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / |PgUp | Up |PgDn | - * |-----------------------------------------------------------------------------------------+ - * | LCtrl | LGui | LAlt | Space | Fn | Space |Home | End |Left |Down |Right| - * `----------------------------------------------------------------------------------------' - */ - - [_QWERTY] = LAYOUT_directional( - 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, - LT(_MEDIA,KC_GRV), KC_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_PGUP, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_SPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* F-Key/Lighting/whatever layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F0 | F11 | F12 | | Ins | - * |-----------------------------------------------------------------------------------------+ - * | |R_Tog|R_HUI|R_SAI|R_VAI| | | | | | | | | KC_CAD | - * |-----------------------------------------------------------------------------------------+ - * | Caps | |R_HUD|R_SAD| | | | | | | SLCK|PAUSE| Print Screen| - * |-----------------------------------------------------------------------------------------+ - * | Trns |R_M_P|R_M_B|R_M_R|R_M_SW|R_M_S|R_M_K|R_M_X|R_M_G| | | |BLUP | | - * |-----------------------------------------------------------------------------------------+ - * | Trns | Trns | Trns | | Trns | | | |BLTog|BLDN |BLInc| - * `----------------------------------------------------------------------------------------' - */ - - [_FN] = LAYOUT_directional( - XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_INS, - XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAD, - KC_CAPS, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, KC_PAUS, KC_PSCR, - _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, XXXXXXX, XXXXXXX, XXXXXXX, BL_UP, XXXXXXX, - _______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, BL_DOWN, BL_STEP - ), - -/* SFX/Multimedia/Numpad layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | |NumLk| | / | * | - | = | |Trns |Trns | - * |-----------------------------------------------------------------------------------------+ - * | | | Prev | Play| Next| | | 7 | 8 | 9 | + | | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | Trns | |Mute | VUp | VDn | | | 4 | 5 | 6 | + | | Trns | - * |-----------------------------------------------------------------------------------------+ - * | Trns | | | | | | | 1 | 2 | 3 |NumEN| | | | - * |-----------------------------------------------------------------------------------------+ - * | Trns | Trns | Trns | Trns | Trns | 0 | . | | | | | - * `----------------------------------------------------------------------------------------' - */ - - [_MEDIA] = LAYOUT_directional( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, KC_PEQL, XXXXXXX, _______, _______, - XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX, QK_BOOT, - _______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PPLS, XXXXXXX, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, KC_P0, KC_PDOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; diff --git a/keyboards/dz60/keymaps/spotpuff/rules.mk b/keyboards/dz60/keymaps/spotpuff/rules.mk deleted file mode 100644 index 7b4abdbc1bae..000000000000 --- a/keyboards/dz60/keymaps/spotpuff/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/stephengrier/README.md b/keyboards/dz60/keymaps/stephengrier/README.md deleted file mode 100644 index 002a8f255b1b..000000000000 --- a/keyboards/dz60/keymaps/stephengrier/README.md +++ /dev/null @@ -1,45 +0,0 @@ -### stephengrier's DZ60 layout - -This layout is for a DZ60 with a 2U left shift, 1U right shift and an arrow -cluster in the bottom right (i.e. the GK64 layout). - -Other features: - -* The capslock key is replaced with a second function key. -* The Alt an Cmd keys are swapped to replicate the Mac layout. -* Del is available as Fn+Backspace -* Tilde is available as Shift+Esc -* Backtick is available as Fn+Esc -* Underglow toggle and mode selection are available as Fn+Q and Fn+W - -### 0 Qwerty -``` -,-----------------------------------------------------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | -|-----------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -|-----------------------------------------------------------------------------------------+ -| Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | -|-----------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | Fn | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Cmd | Alt | L | D | R | -`-----------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -FN Layer -,-----------------------------------------------------------------------------------------. -| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | -|-----------------------------------------------------------------------------------------+ -| |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | RESET | -|-----------------------------------------------------------------------------------------+ -| | BL T| BL M| BL+ | BL- | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' -``` - diff --git a/keyboards/dz60/keymaps/stephengrier/config.h b/keyboards/dz60/keymaps/stephengrier/config.h deleted file mode 100644 index 9560d51a6f94..000000000000 --- a/keyboards/dz60/keymaps/stephengrier/config.h +++ /dev/null @@ -1 +0,0 @@ -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/dz60/keymaps/stephengrier/keymap.c b/keyboards/dz60/keymaps/stephengrier/keymap.c deleted file mode 100644 index de9bb632b07e..000000000000 --- a/keyboards/dz60/keymaps/stephengrier/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -#include QMK_KEYBOARD_H - -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |-----------------------------------------------------------------------------------------+ - * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | Fn | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Cmd | Alt | L | D | R | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - 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, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL | - * |-----------------------------------------------------------------------------------------+ - * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | | BL T| BL M| BL+ | BL- | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `-----------------------------------------------------------------------------------------' - */ - - LAYOUT_directional( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, - ______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, QK_BOOT, - ______, BL_TOGG, BL_STEP, BL_UP, BL_DOWN,______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ - ), -}; diff --git a/keyboards/dz60/keymaps/tailcall/keymap.c b/keyboards/dz60/keymaps/tailcall/keymap.c deleted file mode 100644 index 8c92e98e9d75..000000000000 --- a/keyboards/dz60/keymaps/tailcall/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - 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 , XXXXXXX, 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, XXXXXXX, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, XXXXXXX, - MO(1) , KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, XXXXXXX, MO(2) , KC_RCTL), - - 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_INS , KC_PSCR, KC_SCRL, RGB_VAD, _______, _______, _______, _______, _______, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DEL , _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - 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_SLEP, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, BL_DOWN, BL_TOGG, BL_UP , BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -}; diff --git a/keyboards/dz60/keymaps/tarnjotsingh/keymap.c b/keyboards/dz60/keymaps/tarnjotsingh/keymap.c deleted file mode 100644 index 47c337d67c87..000000000000 --- a/keyboards/dz60/keymaps/tarnjotsingh/keymap.c +++ /dev/null @@ -1,7 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_iso(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LALT, KC_RCTL), - [1] = LAYOUT_60_iso(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_MUTE, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, KC_MFFD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS), - [2] = LAYOUT_60_iso(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN,BL_TOGG, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/dz60/keymaps/tarnjotsingh/layers.json b/keyboards/dz60/keymaps/tarnjotsingh/layers.json deleted file mode 100644 index 7399ef8fd628..000000000000 --- a/keyboards/dz60/keymaps/tarnjotsingh/layers.json +++ /dev/null @@ -1 +0,0 @@ -[["KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT", "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "KC_RGUI", "KC_LALT", "KC_RCTL"], ["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_MUTE", "KC_VOLU", "KC_MPLY", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SCRL", "KC_PAUS", "KC_TRNS", "KC_TRNS", "KC_VOLD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "KC_INS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MRWD", "KC_MFFD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGDN", "KC_HOME", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(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", "RGB_TOG", "RGB_MOD", "RGB_HUI", "RGB_HUD", "RGB_SAI", "RGB_SAD", "RGB_VAI", "RGB_VAD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "BL_DOWN", "BL_TOGG", "BL_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]] \ No newline at end of file diff --git a/keyboards/dz60/keymaps/tarnjotsingh/readme.md b/keyboards/dz60/keymaps/tarnjotsingh/readme.md deleted file mode 100644 index c54426966316..000000000000 --- a/keyboards/dz60/keymaps/tarnjotsingh/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# DZ60 ISO Keymap - -Custom keymap for UK ISO keyboard layouts. -This includes 3 different layers. - -- Layer 0: - - Standard ISO layout with main modifier key, for accessing layer 1, to the right of the space bar. -- Layer 1: - - Layer that gives you access to pretty much everything else like the arrow keys. -- Layer 2; - - Standalone layer only for modifying the lighting on the board. Keys for this purpose are mapped in the locations used by the default dz60 layout. - - You can access this layer by holding MO(1) (next to the space bar) followed by holding MO(2) which where the Left Alt key is positioned. - -![dz60-iso-keymap](https://i.imgur.com/UV0t6aL.png) - -Make the kaymap for this keyboard (after setting up your build environment): - - make dz60:tarnjotsingh - -Then flash it by running: - - make dz60:tarnjotsingh: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/dz60/keymaps/thomasviaud/README.md b/keyboards/dz60/keymaps/thomasviaud/README.md deleted file mode 100644 index f5bf221a229f..000000000000 --- a/keyboards/dz60/keymaps/thomasviaud/README.md +++ /dev/null @@ -1,4 +0,0 @@ -## French ISO Layout - -Here is a very simple version of a French ISO Layout (handled by OS). -Feel free to take this as base for your own layout. diff --git a/keyboards/dz60/keymaps/thomasviaud/keymap.c b/keyboards/dz60/keymaps/thomasviaud/keymap.c deleted file mode 100644 index 44b106858f7f..000000000000 --- a/keyboards/dz60/keymaps/thomasviaud/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - LAYOUT_60_iso( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS , KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), - - LAYOUT_60_iso( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, - _______, _______, _______, QK_BOOT, _______, _______, _______, _______), -}; \ No newline at end of file diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/config.h b/keyboards/dz60/keymaps/twschum_b_4_10/config.h deleted file mode 100644 index 15cabda36400..000000000000 --- a/keyboards/dz60/keymaps/twschum_b_4_10/config.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -// number of taps for TT Tap-Toggle keys to toggle -#ifdef TAPPING_TOGGLE -#undef TAPPING_TOGGLE -#endif -#define TAPPING_TOGGLE 2 - -// time in ms that counts as a "tap" for various features -#ifdef TAPPING_TERM -#undef TAPPING_TERM -#endif -#define TAPPING_TERM 100 - -// https://docs.qmk.fm/features/mouse-keys#configuring-the-behavior-of-mousekeys -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_MAX_SPEED 10 -#define MOUSEKEY_TIME_TO_MAX 15 -#define MOUSEKEY_WHEEL_MAX_SPEED 1 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 - -// flags from user/twschum/ -#define TWSCHUM_TAPPING_CTRL_PREFIX 1 diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c b/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c deleted file mode 100644 index a2cba4fe678e..000000000000 --- a/keyboards/dz60/keymaps/twschum_b_4_10/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -#include QMK_KEYBOARD_H -#include "twschum.h" - -/* DZ60 layout using following options (from layouts diagram on KBDfans): - * - plate B (2.25u lshift) - * - opt 4 (1.75, 1, 1 on rshift) - * - opt 10 (2.75, 1.25, 2.25 on space, 5x1u bottom right keys) - * http://www.keyboard-layout-editor.com/#/gists/225f0f4dcf6671405f744fabe314627c - */ - - -#define LAYOUT_b_4_10( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ - ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, XXXXXXX, K014 }, \ - { K100, XXXXXXX, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, XXXXXXX, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXXXXX }, \ - { K300, XXXXXXX, K302, K303, K304, K305, K306, K307, K308, K309, K310, XXXXXXX, K312, K313, K314 }, \ - { K400, K401, XXXXXXX, K403, K404, XXXXXXX, K406, XXXXXXX, K408, XXXXXXX, K410, K411, K412, K413, K414 } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* base 60% qwerty */ - LAYOUT_b_4_10( - // |--------|----1---|----2---|----3---|---4----|---5----|---6----|---7----|---8----|---9----|---0----|-- - ---|-- = ---||------2.0-------| - 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, - // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------| - // - // |----1.5-----||---Q----|---W----|---E----|---R----|---T----|---Y----|---U----|---I----|---O----|---P----|---[----|---]----|----1.5-----| - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - // |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------| - // - // |----1.75------||---A----|---S----|---D----|---F----|---G----|---H----|---J----|---K----|---L----|---;----|---'----|------2.25--------|| - 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, - // |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------|| - // - // |------2.25--------|---Z----|---X----|---C----|---V----|---B----|---N----|---M----|---,----|---.----||----1.75------|--------|--------|| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, /*SFT_T*/KC_SLSH, KC_UP, VIM_START, - // |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------|| - // - // |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------| - MO(_Fn), KC_LALT, KC_LGUI, KC_SPC, TT(_Nav), MO(_Fn), TG(_Num), TT(_Cfg), KC_LEFT, KC_DOWN, KC_RGHT - // |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------| - ), - - /* vim mode */ - LAYOUT_b_4_10( - VIM_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, VIM_W, VIM_E, KC_R, _______, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, _______, _______, _______, - _______, VIM_A, VIM_S, VIM_D, _______, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, _______, _______, _______, - VIM_SHIFT, _______, VIM_X, VIM_C, VIM_V, VIM_B, _______, _______, VIM_COMMA, VIM_PERIOD, _______, _______, VIM_ESC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* primary fn layer */ - LAYOUT_b_4_10( - // |--------|----1---|----2---|----3---|---4----|---5----|---6----|---7----|---8----|---9----|---0----|-- - ---|-- = ---||------2.0-------| - 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, - // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------| - // - // |----1.5-----||---Q----|---W----|---E----|---R----|---T----|---Y----|---U----|---I----|---O----|---P----|---[----|---]----|----1.5-----| - KC_TAB, CODE_PASTE, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, LESS_PD, XXXXXXX, XXXXXXX, CODE_PASTE, - // |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------| - // - // |----1.75------||---A----|---S----|---D----|---F----|---G----|---H----|---J----|---K----|---L----|---;----|---'----|------2.25--------|| - KC_CAPS, SALT_CMD, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, KC_ENT, - // |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------|| - // - // |------2.25--------|---Z----|---X----|---C----|---V----|---B----|---N----|---M----|---,----|---.----||----1.75------|--------|--------|| - KC_LSFT, KC_MPRV, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, XXXXXXX, XXXXXXX, QK_LOCK, KC_PGUP, KC_INS, - // |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------|| - // - // |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------| - KC_MEH, KC_LALT, KC_LGUI, KC_MEDIA_PLAY_PAUSE, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - // |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------| - ), - - /* mouse navigation */ - LAYOUT_b_4_10( - TO(_Base), KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, XXXXXXX, XXXXXXX, KC_SLEP, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LCTL, KC_MS_BTN3, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, XXXXXXX, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, _______, _______, _______, _______, _______, _______, _______ - ), - - /* numpad layer */ - LAYOUT_b_4_10( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_PLUS, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH, KC_KP_ASTERISK, XXXXXXX, KC_ENT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_DOT, KC_KP_ENTER, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX - ), - - - /* RGB lighting controls and keyboard config, reset */ - LAYOUT_b_4_10( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_L0_RGB, XXXXXXX, XXXXXXX, TO(_None), - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, - EN_CTRL_SHORTCUTS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_LAYER_RGB, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSFT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI, RGB_HUI, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_VAD, RGB_SAI - ), - - /* soft "off" state where none of the keystroke register */ - LAYOUT_b_4_10( - 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, TO(_Base), - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), -}; - -uint8_t vim_cmd_layer(void) { - return _Vim; -} diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/layout.json b/keyboards/dz60/keymaps/twschum_b_4_10/layout.json deleted file mode 100644 index cd484f9d89c7..000000000000 --- a/keyboards/dz60/keymaps/twschum_b_4_10/layout.json +++ /dev/null @@ -1,4877 +0,0 @@ -{ - "configKeymap":{ - "keys":[ - "K00", - "K01", - "K02", - "K03", - "K04", - "K05", - "K06", - "K07", - "K08", - "K09", - "K0A", - "K0B", - "K0C", - "K0D", - "K2D", - "K10", - "K11", - "K12", - "K13", - "K14", - "K15", - "K16", - "K17", - "K18", - "K19", - "K1A", - "K1B", - "K1C", - "K1D", - "K20", - "K21", - "K22", - "K23", - "K24", - "K25", - "K26", - "K27", - "K28", - "K29", - "K2A", - "K2B", - "K2C", - "K30", - "K31", - "K32", - "K33", - "K34", - "K35", - "K36", - "K37", - "K38", - "K39", - "K3A", - "K3B", - "K3C", - "K3D", - "K40", - "K41", - "K42", - "K44", - "K45", - "K46", - "K48", - "K49", - "K4A", - "K4B", - "K4C" - ], - "positions":[ - [ - "K00", - "K01", - "K02", - "K03", - "K04", - "K05", - "K06", - "K07", - "K08", - "K09", - "K0A", - "K0B", - "K0C", - "K0D" - ], - [ - "K10", - "K11", - "K12", - "K13", - "K14", - "K15", - "K16", - "K17", - "K18", - "K19", - "K1A", - "K1B", - "K1C", - "K1D" - ], - [ - "K20", - "K21", - "K22", - "K23", - "K24", - "K25", - "K26", - "K27", - "K28", - "K29", - "K2A", - "K2B", - "K2C", - "K2D" - ], - [ - "K30", - "K31", - "K32", - "K33", - "K34", - "K35", - "K36", - "K37", - "K38", - "K39", - "K3A", - "K3B", - "K3C", - "K3D" - ], - [ - "K40", - "K41", - "K42", - "KC_NO", - "K44", - "K45", - "K46", - "KC_NO", - "K48", - "K49", - "K4A", - "K4B", - "K4C", - "KC_NO" - ] - ] - }, - "keySections":[ - { - "row1":[ - { - "id":"k00", - "value":"ESC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k01", - "value":"1", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k02", - "value":"2", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k03", - "value":"3", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k04", - "value":"4", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k05", - "value":"5", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k06", - "value":"6", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k07", - "value":"7", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k08", - "value":"8", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k09", - "value":"9", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0A", - "value":"0", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0B", - "value":"MINS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0C", - "value":"EQL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "backspace":[ - [ - { - "id":"k0D", - "value":"BSPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k200", - "zone":"Backspace" - }, - { - "id":"k2D", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k0D", - "value":"PSCR", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Backspace" - }, - { - "id":"k2D", - "value":"PAUS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Backspace" - } - ] - ], - "row2":[ - { - "id":"k10", - "value":"TAB", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k11", - "value":"Q", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k12", - "value":"W", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k13", - "value":"E", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k14", - "value":"R", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k15", - "value":"T", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k16", - "value":"Y", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k17", - "value":"U", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k18", - "value":"I", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k19", - "value":"O", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1A", - "value":"P", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1B", - "value":"LBRC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1C", - "value":"RBRC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "row2pipe":[ - [ - { - "id":"k1D", - "value":"BSLS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Enter" - } - ], - [ - { - "id":"k1D", - "value":"ENT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"kISO", - "zone":"Enter" - } - ] - ], - "caps":[ - [ - { - "id":"k20", - "value":"LCTL", - "type":"normal", - "secondary":"LCTL", - "showMenu":false, - "shape":"k175", - "zone":"Caps Lock" - } - ], - [ - { - "id":"k20", - "value":"CAPS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175stepped", - "zone":"Caps Lock" - } - ] - ], - "row3":[ - { - "id":"k21", - "value":"A", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k22", - "value":"S", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k23", - "value":"D", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k24", - "value":"F", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k25", - "value":"G", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k26", - "value":"H", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k27", - "value":"J", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k28", - "value":"K", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k29", - "value":"L", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2A", - "value":"SCLN", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2B", - "value":"QUOT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "enter":[ - [ - { - "id":"k2C", - "value":"ENT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225", - "zone":"Enter" - } - ], - [ - { - "id":"k2C", - "value":"NUHS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Enter" - } - ] - ], - "leftShift":[ - [ - { - "id":"k30", - "value":"LSFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225", - "zone":"Left Shift" - }, - { - "id":"k31", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k30", - "value":"LSFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Left Shift" - }, - { - "id":"k31", - "value":"NUBS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Left Shift" - } - ] - ], - "row4":[ - { - "id":"k32", - "value":"Z", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k33", - "value":"X", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k34", - "value":"C", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k35", - "value":"V", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k36", - "value":"B", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k37", - "value":"N", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k38", - "value":"M", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k39", - "value":"COMM", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3A", - "value":"DOT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "rightShift":[ - [ - { - "id":"k3B", - "value":"SLSH", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Right Shift" - }, - { - "id":"k3C", - "value":"RSFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275", - "zone":"Right Shift" - }, - { - "id":"k3D", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k3B", - "value":"SLSH", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Right Shift" - }, - { - "id":"k3C", - "value":"RSFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175", - "zone":"Right Shift" - }, - { - "id":"k3D", - "value":"L1", - "type":"momentary", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Right Shift" - } - ], - [ - { - "id":"k3B", - "value":"SLSH", - "type":"tapkey", - "secondary":"RSFT", - "showMenu":false, - "shape":"k175", - "zone":"Right Shift" - }, - { - "id":"k3C", - "value":"UP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Right Shift" - }, - { - "id":"k3D", - "value":"HYPR", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Right Shift" - } - ] - ], - "row5":[ - [ - { - "id":"k40", - "value":"MEH", - "type":"normal", - "secondary":"MEH", - "showMenu":false, - "shape":"k125", - "zone":"Bottom Row" - }, - { - "id":"k41", - "value":"LALT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Row" - }, - { - "id":"k42", - "value":"LGUI", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Row" - } - ], - [ - { - "id":"k40", - "value":"LCTL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Bottom Row" - }, - { - "id":"k41", - "value":"LGUI", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Row" - }, - { - "id":"k42", - "value":"LALT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Bottom Row" - } - ] - ], - "space":[ - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"SPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k625", - "zone":"Space" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"SPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275", - "zone":"Space" - }, - { - "id":"k45", - "value":"L2", - "type":"taptoggle", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Space" - }, - { - "id":"k46", - "value":"L1", - "type":"momentary", - "secondary":null, - "showMenu":false, - "shape":"k225", - "zone":"Space" - } - ], - [ - { - "id":"k44", - "value":"ENT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225", - "zone":"Space" - }, - { - "id":"k45", - "value":"BL_STEP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Space" - }, - { - "id":"k46", - "value":"SPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275", - "zone":"Space" - } - ] - ], - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"SPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k700", - "zone":"Space" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"ENT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275", - "zone":"Space" - }, - { - "id":"k45", - "value":"BL_STEP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Space" - }, - { - "id":"k46", - "value":"SPC", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275", - "zone":"Space" - } - ] - ] - ], - "bottomRight":[ - [ - [ - { - "id":"k48", - "value":"RGUI", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Right" - }, - { - "id":"k49", - "value":"RALT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Right" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"APP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Right" - }, - { - "id":"k4C", - "value":"RCTL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125", - "zone":"Bottom Right" - } - ], - [ - { - "id":"k48", - "value":"L3", - "type":"taptoggle", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k49", - "value":"L4", - "type":"direct", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4A", - "value":"LEFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4B", - "value":"DOWN", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4C", - "value":"RIGHT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - } - ] - ], - [ - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"RALT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Bottom Right" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"APP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4C", - "value":"RCTL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150", - "zone":"Bottom Right" - } - ], - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"RALT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4A", - "value":"LEFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4B", - "value":"DOWN", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - }, - { - "id":"k4C", - "value":"RIGHT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100", - "zone":"Bottom Right" - } - ] - ] - ] - }, - { - "row1":[ - { - "id":"k00", - "value":"GRV", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k01", - "value":"F1", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k02", - "value":"F2", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k03", - "value":"F3", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k04", - "value":"F4", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k05", - "value":"F5", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k06", - "value":"F6", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k07", - "value":"F7", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k08", - "value":"F8", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k09", - "value":"F9", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0A", - "value":"F10", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0B", - "value":"F11", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0C", - "value":"F12", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "backspace":[ - [ - { - "id":"k0D", - "value":"DEL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k200" - }, - { - "id":"k2D", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row2":[ - { - "id":"k10", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k11", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k12", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k13", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k14", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k15", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k16", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k17", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k18", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k19", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "row2pipe":[ - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"kISO" - } - ] - ], - "caps":[ - [ - { - "id":"k20", - "value":"CAPS", - "type":"normal", - "secondary":"LCTL", - "showMenu":false, - "shape":"k175" - } - ], - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175stepped" - } - ] - ], - "row3":[ - { - "id":"k21", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k22", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k23", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k24", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k25", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k26", - "value":"LEFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k27", - "value":"DOWN", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k28", - "value":"UP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k29", - "value":"RIGHT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "enter":[ - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "leftShift":[ - [ - { - "id":"k30", - "value":"LSFT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k31", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k31", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row4":[ - { - "id":"k32", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k33", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k34", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k35", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k36", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k37", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k38", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k39", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "rightShift":[ - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k3D", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":"RSFT", - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row5":[ - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":"MEH", - "showMenu":false, - "shape":"k125" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ] - ], - "space":[ - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k625" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ], - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k700" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ] - ], - "bottomRight":[ - [ - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - [ - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ] - ] - }, - { - "row1":[ - { - "id":"k00", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k01", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k02", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k03", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k04", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k05", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k06", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k07", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k08", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k09", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "backspace":[ - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k200" - }, - { - "id":"k2D", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row2":[ - { - "id":"k10", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k11", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k12", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k13", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k14", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k15", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k16", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k17", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k18", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k19", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "row2pipe":[ - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"kISO" - } - ] - ], - "caps":[ - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":"LCTL", - "showMenu":false, - "shape":"k175" - } - ], - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175stepped" - } - ] - ], - "row3":[ - { - "id":"k21", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k22", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k23", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k24", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k25", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k26", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k27", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k28", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k29", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "enter":[ - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "leftShift":[ - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k31", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k31", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row4":[ - { - "id":"k32", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k33", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k34", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k35", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k36", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k37", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k38", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k39", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "rightShift":[ - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k3D", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":"RSFT", - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row5":[ - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":"MEH", - "showMenu":false, - "shape":"k125" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ] - ], - "space":[ - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k625" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ], - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k700" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ] - ], - "bottomRight":[ - [ - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - [ - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ] - ] - }, - { - "row1":[ - { - "id":"k00", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k01", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k02", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k03", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k04", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k05", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k06", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k07", - "value":"PSLS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k08", - "value":"PAST", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k09", - "value":"PEQL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "backspace":[ - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k200" - }, - { - "id":"k2D", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row2":[ - { - "id":"k10", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k11", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k12", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k13", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k14", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k15", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k16", - "value":"P7", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k17", - "value":"P8", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k18", - "value":"P8", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k19", - "value":"PMNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "row2pipe":[ - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"kISO" - } - ] - ], - "caps":[ - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":"LCTL", - "showMenu":false, - "shape":"k175" - } - ], - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175stepped" - } - ] - ], - "row3":[ - { - "id":"k21", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k22", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k23", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k24", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k25", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k26", - "value":"P4", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k27", - "value":"P5", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k28", - "value":"P6", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k29", - "value":"PPLS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "enter":[ - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "leftShift":[ - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k31", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k31", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row4":[ - { - "id":"k32", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k33", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k34", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k35", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k36", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k37", - "value":"P1", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k38", - "value":"P2", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k39", - "value":"P3", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3A", - "value":"PDOT", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "rightShift":[ - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k3D", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - [ - { - "id":"k3B", - "value":"PENT", - "type":"normal", - "secondary":"RSFT", - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row5":[ - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":"MEH", - "showMenu":false, - "shape":"k125" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ] - ], - "space":[ - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k625" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"P0", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ], - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k700" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ] - ], - "bottomRight":[ - [ - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - [ - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ] - ] - }, - { - "row1":[ - { - "id":"k00", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k01", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k02", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k03", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k04", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k05", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k06", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k07", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k08", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k09", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k0C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "backspace":[ - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k200" - }, - { - "id":"k2D", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k0D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row2":[ - { - "id":"k10", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k11", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k12", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k13", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k14", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k15", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k16", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k17", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k18", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k19", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k1C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "row2pipe":[ - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k1D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"kISO" - } - ] - ], - "caps":[ - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":"LCTL", - "showMenu":false, - "shape":"k175" - } - ], - [ - { - "id":"k20", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175stepped" - } - ] - ], - "row3":[ - { - "id":"k21", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k22", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k23", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k24", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k25", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k26", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k27", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k28", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k29", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k2B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "enter":[ - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k2C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "leftShift":[ - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k31", - "value":"NO", - "type":"nodisplay", - "showMenu":false - } - ], - [ - { - "id":"k30", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k31", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row4":[ - { - "id":"k32", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k33", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k34", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k35", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k36", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k37", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k38", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k39", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - "rightShift":[ - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k3D", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3D", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ], - [ - { - "id":"k3B", - "value":"TRNS", - "type":"normal", - "secondary":"RSFT", - "showMenu":false, - "shape":"k175" - }, - { - "id":"k3C", - "value":"HOME", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k3D", - "value":"PGUP", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - "row5":[ - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":"MEH", - "showMenu":false, - "shape":"k125" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k40", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k41", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k42", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ] - ], - "space":[ - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k625" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k225" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ], - [ - [ - { - "id":"k44", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k700" - }, - { - "id":"k46", - "value":"NO", - "type":"nodisplay" - } - ], - [ - { - "id":"k44", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - }, - { - "id":"k45", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k46", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k275" - } - ] - ] - ], - "bottomRight":[ - [ - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k125" - } - ], - [ - { - "id":"k48", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"DEL", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"HOME", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"PGDN", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ], - [ - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - }, - { - "id":"k4A", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k150" - } - ], - [ - { - "id":"k48", - "value":"NO", - "type":"nodisplay" - }, - { - "id":"k49", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4A", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4B", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - }, - { - "id":"k4C", - "value":"TRNS", - "type":"normal", - "secondary":null, - "showMenu":false, - "shape":"k100" - } - ] - ] - ] - } - ], - "layoutName":"twschum_DZ60_b_4_10_v1.2", - "timestamp":1525116588644 -} diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk b/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk deleted file mode 100644 index 932a64748d93..000000000000 --- a/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Build Options -# override the options specified in dz60/rules.mk -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 = no # Commands for debug and configuration -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -KEY_LOCK_ENABLE = yes - -# Enables including users/twschum/twschum.h -USER_NAME := twschum diff --git a/keyboards/dz60/keymaps/weeheavy/README.md b/keyboards/dz60/keymaps/weeheavy/README.md deleted file mode 100644 index 95a435a13c80..000000000000 --- a/keyboards/dz60/keymaps/weeheavy/README.md +++ /dev/null @@ -1,61 +0,0 @@ -![DZ60 split spacebar layout image](https://i.imgur.com/EFF7pBN.png) - -# weeheavy's DZ60 split spacebar layout - -* 2u left shift -* arrow cluster -* split spacebar with a center key - -## Layouts - -The base layout is ANSI QWERTY. - -Key sizes (ASCII keyboards below match this scale): - - 1u = 4 chars = | | - 1.25u = 5 chars = | | - 1.5u = 6 chars = | | - 1.75u = 7 chars = | | - 2u = 8 chars = | | - 2.25u = 9 chars = | | - 2.75u = 11 chars = | | - 6.25u = 25 chars = | | - -### Layer 0: Base layout - -Specialities: - -* Arrow cluster -* FN1: access to layer 1 -* F2: access to layer 2 - -``` -,----------------------------------------------------------. -|Es||1 ||2 ||3 ||4 ||5 ||6 ||7 ||8 ||9 ||0 ||- ||= || Bksp | -|----------------------------------------------------------+ -|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 ||, ||. ||/ ||Sf||↑ ||Dl| -|----------------------------------------------------------+ -|Ctl||Win||Alt|| Space ||FN1|| Space ||Al||F2||← ||↓ ||→ | -`----------------------------------------------------------' -``` - -### Layer 1: Utility - -Specialities: - -* F1-F12 keys when holding FN1 -* Movement cluster on the right hand side -* Multimedia cluster on the bottom right -* RGB config on the left hand side - -### Layer 2: Config and setup - -Specialities: - -* Reset key on ESC and backslash location -* Additional "B" key (a learning from my mistakes) - diff --git a/keyboards/dz60/keymaps/weeheavy/keymap.c b/keyboards/dz60/keymaps/weeheavy/keymap.c deleted file mode 100644 index 633a0f33111e..000000000000 --- a/keyboards/dz60/keymaps/weeheavy/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -#include QMK_KEYBOARD_H - -// Make special keycodes more visible -#define ____ KC_TRNS -#define XXXX KC_NO - -// Layer definition -#define L0 0 -#define L1 1 -#define L2 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// Base layer - ANSI QWERTY -[L0] = 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, XXXX, 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, XXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(L1), KC_SPC, KC_RALT, MO(L2), KC_LEFT, KC_DOWN, KC_RIGHT), - -// Utility layer - RGB and multimedia control -[L1] = LAYOUT_all( - ____, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ____, ____, - ____, RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_R, ____, ____, KC_PSCR, ____, KC_PAUS, ____, ____, ____, ____, - ____, RGB_HUI, RGB_HUD, ____, ____, ____, ____, KC_INS, KC_HOME, KC_PGUP, ____, ____, ____, - ____, ____, RGB_SAI, RGB_SAD, ____, ____, ____, ____, ____, KC_END, KC_PGDN, ____, KC_MPLY, KC_VOLU, KC_MUTE, - ____, RGB_VAI, RGB_VAD, ____, ____, ____, ____, ____, KC_MPRV, KC_VOLD, KC_MNXT), - -// Setup layer - Reset an additional "b" button -[L2] = LAYOUT_all( - QK_BOOT, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - KC_B, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, QK_BOOT, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____), - -}; - diff --git a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/README.md b/keyboards/dz60/keymaps/weeheavy_2.25_lshift/README.md deleted file mode 100644 index 6ff8d9e67ca7..000000000000 --- a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/README.md +++ /dev/null @@ -1,53 +0,0 @@ -![DZ60 ANSI with arrow cluster](https://i.imgur.com/hX6rMcm.png) - -# weeheavy's DZ60 layout - -* Default 2.25 left shift -* arrow cluster - -## Layouts - -The base layout is ANSI QWERTY. - -Key sizes (ASCII keyboards below match this scale): - - 1u = 4 chars = | | - 1.25u = 5 chars = | | - 1.5u = 6 chars = | | - 1.75u = 7 chars = | | - 2u = 8 chars = | | - 2.25u = 9 chars = | | - 2.75u = 11 chars = | | - 6.25u = 25 chars = | | - -### Layer 0: Base layout - -Specialities: - -* Arrow cluster -* FN: access to layer 1 - -``` -,----------------------------------------------------------. -|Es||1 ||2 ||3 ||4 ||5 ||6 ||7 ||8 ||9 ||0 ||- ||= || Bksp | -|----------------------------------------------------------+ -|Tab ||Q ||W ||E ||R ||T ||Y ||U ||I ||O ||P ||[ ||] || \ | -|----------------------------------------------------------+ -|Caps ||A ||S ||D ||F ||G ||H ||J ||K ||L ||; ||' || Enter | -|----------------------------------------------------------+ -| Shift ||Z ||X ||C ||V ||B ||N ||M ||, ||. ||/ || Shift | -|----------------------------------------------------------+ -|Ctl||Win||Alt|| Space |FN||← ||↑ ||↓ ||→ | -`----------------------------------------------------------' -``` - -### Layer 1: Utility - -Specialities: - -* F1-F12 keys when holding FN -* Multimedia cluster on the bottom right -* RGB config on the left hand side -* Reset key on ESC and backslash location -* Brightness control top right -* Additional "B" key (a learning from my mistakes) diff --git a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c b/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c deleted file mode 100644 index 9702baccacef..000000000000 --- a/keyboards/dz60/keymaps/weeheavy_2.25_lshift/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -#include QMK_KEYBOARD_H - -// Make special keycodes more visible -#define ____ KC_TRNS -#define XXXX KC_NO - -// Layer definition -#define L0 0 -#define L1 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// Base layer - ANSI QWERTY -[L0] = 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, XXXX, 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, XXXX, 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_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(L1), KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT), - -// Utility layer - RGB and multimedia control, reset and additional "b" button -[L1] = 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_B, RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_R, ____, ____, KC_PSCR, ____, KC_PAUS, KC_BRID, KC_BRIU, ____, QK_BOOT, - ____, RGB_HUI, RGB_HUD, KC_DEL, ____, ____, ____, KC_INS, KC_HOME, KC_PGUP, ____, ____, ____, - ____, ____, RGB_SAI, RGB_SAD, ____, ____, ____, ____, ____, KC_END, KC_PGDN, KC_MPLY, ____, KC_MUTE, KC_MUTE, - ____, RGB_VAI, RGB_VAD, ____, ____, ____, ____, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT), - -}; - diff --git a/keyboards/dz60/keymaps/xtonhasvim/config.h b/keyboards/dz60/keymaps/xtonhasvim/config.h deleted file mode 100644 index b1f549e0ba55..000000000000 --- a/keyboards/dz60/keymaps/xtonhasvim/config.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef CONFIG_KEYMAP_H -#define CONFIG_KEYMAP_H - -#include "../../config.h" - -// help for fast typist+dual function keys? -#define PERMISSIVE_HOLD - -/* speed up mousekeys a bit */ -#define MOUSEKEY_DELAY 50 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_MAX_SPEED 8 -#define MOUSEKEY_TIME_TO_MAX 30 -#define MOUSEKEY_WHEEL_MAX_SPEED 8 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 - -#endif diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c deleted file mode 100644 index 997ae9154766..000000000000 --- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c +++ /dev/null @@ -1,87 +0,0 @@ -#include QMK_KEYBOARD_H -#include "xtonhasvim.h" - -enum layers { - _QWERTY, - _FUN, - _MOVE, - _MOUSE, - _CMD -}; - -extern uint8_t vim_cmd_layer(void) { return _CMD; } - - -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_MINS, KC_EQL, KC_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOVE,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, - LSFT(KC_LALT), KC_LALT, KC_LGUI, VIM_START, TG(_MOUSE), KC_SPC, KC_RGUI, KC_RALT, X_____X, KC_RCTL, MO(_FUN)), - - [_FUN] = 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, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, BL_DOWN,BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY)), - - [_MOVE] = LAYOUT( - X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, - X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X, X_____X, X_____X, - X_____X, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X, X_____X, - _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY)), - - - [_MOUSE] = LAYOUT( - X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, - X_____X, X_____X, X_____X, KC_MS_UP, X_____X, X_____X, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, X_____X, X_____X, X_____X, X_____X, - X_____X, X_____X,KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, X_____X, X_____X, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, X_____X, X_____X, X_____X, - _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY)), - - [_CMD] = LAYOUT( - X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, - X_____X, X_____X, VIM_W, VIM_E, X_____X, X_____X, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, X_____X, X_____X, X_____X, - VIM_ESC, VIM_A, VIM_S, VIM_D, X_____X, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, X_____X, X_____X, X_____X, - VIM_SHIFT, X_____X, X_____X, VIM_X, VIM_C, VIM_V, VIM_B, X_____X, X_____X, VIM_COMMA, VIM_PERIOD, X_____X, VIM_SHIFT,X_____X, - _______, _______, _______, TO(_QWERTY), X_____X, X_____X, _______, _______, _______, _______, TO(_QWERTY)), - -}; - -#define LED_BIT 1 << 2 -#define LED_MASK ~(1 << 2) - -void user_led_on(void) { - DDRB |= LED_BIT; - PORTB &= LED_MASK; -} - -void user_led_off(void) { - DDRB &= ~LED_BIT; - PORTB &= LED_MASK; -} - -void matrix_init_user(void) { - user_led_off(); -} - -layer_state_t layer_state_set_user(layer_state_t state) { - static uint32_t last_state = 0; - - if(last_state != state) { - switch (get_highest_layer(state)) { - case _CMD: - user_led_on(); - break; - default: - user_led_off(); - break; - } - last_state = state; - } - return state; -} diff --git a/keyboards/dz60/keymaps/xtonhasvim/readme.md b/keyboards/dz60/keymaps/xtonhasvim/readme.md deleted file mode 100644 index 5d0e38a3ebc4..000000000000 --- a/keyboards/dz60/keymaps/xtonhasvim/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Xton has a DZ60 and it's Vimtastic! - -Mine has a split spacebar, no arrowkeys and an opaque case. Changes from the default layout: - -* Vim mode toggled by hitting left spacebar (see `users/xtonhasvim`). Reusing the capslock LED to indicate VIM is on. -* Momentary directional control by holding down `;`. -* Mousekeys toggled with middle space button. -* Escape is dual-function with control (which replaces capslock AS IT SHOULD BE). -* Bottom left key is the "halp my kb doesn't work" key that always dumps you back to QWERTY. - diff --git a/keyboards/dz60/keymaps/zepol_layout/keymap.c b/keyboards/dz60/keymaps/zepol_layout/keymap.c deleted file mode 100644 index ffa4e133c41a..000000000000 --- a/keyboards/dz60/keymaps/zepol_layout/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - 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_NO, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, - KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), KC_NO, MO(1), KC_RCTL), - - 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_DEL, - KC_TRNS, KC_PGUP, KC_UP, 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_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_SCRL, KC_PAUSE, KC_HOME, KC_END, KC_INSERT, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - LAYOUT( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dztech/bocc/config.h b/keyboards/dztech/bocc/config.h index ba8626e95c8a..9ad357341e9d 100644 --- a/keyboards/dztech/bocc/config.h +++ b/keyboards/dztech/bocc/config.h @@ -15,22 +15,6 @@ */ #pragma once -# 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 -# 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 /* Locking resynchronize hack */ diff --git a/keyboards/dztech/bocc/info.json b/keyboards/dztech/bocc/info.json index 525ec939477c..1b284df4e354 100644 --- a/keyboards/dztech/bocc/info.json +++ b/keyboards/dztech/bocc/info.json @@ -17,6 +17,24 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/dztech/duo_s/config.h b/keyboards/dztech/duo_s/config.h index 4685510d8b95..361706e57643 100644 --- a/keyboards/dztech/duo_s/config.h +++ b/keyboards/dztech/duo_s/config.h @@ -16,23 +16,8 @@ #pragma once -#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 #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 3d806edf4120..027767501855 100644 --- a/keyboards/dztech/duo_s/info.json +++ b/keyboards/dztech/duo_s/info.json @@ -8,6 +8,25 @@ "pid": "0x1012", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "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 + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c index 811dd0cd9123..826e3502ebf5 100644 --- a/keyboards/dztech/dz60rgb/dz60rgb.c +++ b/keyboards/dztech/dz60rgb/dz60rgb.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb/keymaps/didel/config.h b/keyboards/dztech/dz60rgb/keymaps/didel/config.h deleted file mode 100644 index 32f04d817a6f..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/didel/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - Keymap for the DZ60RGB keyboard. - Copyright (C) 2020 Dimiter Geelen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#pragma once - -#define FORCE_NKRO -#define PERMISSIVE_HOLD -#define TAPPING_TERM 150 diff --git a/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c b/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c deleted file mode 100644 index 2147ca8bf8bc..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/didel/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - Keymap for the DZ60RGB keyboard. - Copyright (C) 2020 Dimiter Geelen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -enum didel_layers { - _QWERTY, - _MEDIA, - _RGB, - _DVORAK, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - LSFT_T(KC_GRAVE), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), - KC_LCTL, LM(1, MOD_LALT), KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_MEDIA] = LAYOUT( - TO(3), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PWR, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EE_CLR, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - - [_RGB] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_DVORAK] = LAYOUT( - KC_DLR, KC_AMPR, KC_LBRC, KC_LCBR, KC_RCBR, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_PLUS, KC_RBRC, KC_EXLM, KC_HASH, KC_BSPC, - KC_TAB, KC_SCLN, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_AT, KC_BSLS, - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, - KC_LSFT, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, RSFT_T(KC_Z), KC_UP, KC_DEL, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/dztech/dz60rgb/keymaps/didel/rules.mk b/keyboards/dztech/dz60rgb/keymaps/didel/rules.mk deleted file mode 100644 index 23a7632433d4..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/didel/rules.mk +++ /dev/null @@ -1 +0,0 @@ -NKRO_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h deleted file mode 100644 index 6ad73f6edf4e..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h +++ /dev/null @@ -1,67 +0,0 @@ -#pragma once - -#define FORCE_NKRO - -#define PERMISSIVE_HOLD - -#define TAP_HOLD_CAPS_DELAY 0 -#define USB_POLLING_INTERVAL_MS 1 - -// some speed shit -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -#define NO_PRINT -#endif // !NO_PRINT - -#define NO_ACTION_ONESHOT -#define QUICK_TAP_TERM 0 - -// #include "config_led.h" -// #include "dz60rgb.h" -#undef DISABLE_RGB_MATRIX_SPLASH -#undef DISABLE_RGB_MATRIX_MULTISPLASH -#undef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH -#undef RGB_MATRIX_DEFAULT_MODE -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#undef ENABLE_RGB_MATRIX_SOLID_COLOR -#undef ENABLE_RGB_MATRIX_ALPHAS_MODS -#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -#undef ENABLE_RGB_MATRIX_BREATHING -#undef ENABLE_RGB_MATRIX_BAND_SAT -#undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#undef ENABLE_RGB_MATRIX_CYCLE_ALL -#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#undef ENABLE_RGB_MATRIX_DUAL_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#undef ENABLE_RGB_MATRIX_SPLASH -#undef ENABLE_RGB_MATRIX_MULTISPLASH -#undef ENABLE_RGB_MATRIX_SOLID_SPLASH -#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c b/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c deleted file mode 100644 index 711d8687baac..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#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_TAB, KC_Q, KC_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_UP, LT(2, KC_DEL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EE_CLR, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - _______, _______, _______, KC_SPC, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - [2] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/rules.mk b/keyboards/dztech/dz60rgb/keymaps/kgreulich/rules.mk deleted file mode 100644 index 8a502e9ee3f6..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/rules.mk +++ /dev/null @@ -1 +0,0 @@ -NKRO_ENABLE = yes # USB Nkey Rollover diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h deleted file mode 100644 index 90627f894f3d..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h +++ /dev/null @@ -1,71 +0,0 @@ -#pragma once - -#define FORCE_NKRO - -#define PERMISSIVE_HOLD -#define TAPPING_TERM 150 - -#define TAP_HOLD_CAPS_DELAY 0 - -#undef DISABLE_RGB_MATRIX_SPLASH -#undef DISABLE_RGB_MATRIX_MULTISPLASH -#undef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH -#undef RGB_MATRIX_DEFAULT_MODE -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS - -// #undef ENABLE_RGB_MATRIX_SOLID_COLOR -// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS -// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #undef ENABLE_RGB_MATRIX_BREATHING -#undef ENABLE_RGB_MATRIX_BAND_SAT -// #undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#undef ENABLE_RGB_MATRIX_CYCLE_ALL -#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -// #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#undef ENABLE_RGB_MATRIX_DUAL_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #undef ENABLE_RGB_MATRIX_SPLASH -// #undef ENABLE_RGB_MATRIX_MULTISPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -// #define RGB_MATRIX_KEYRELEASES - -// some speed shit -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -#define NO_PRINT -#endif // !NO_PRINT - -#define NO_ACTION_ONESHOT -#define QUICK_TAP_TERM 0 - -// #include "config_led.h" -// #include "dz60rgb.h" diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c deleted file mode 100644 index 8d58eed10ecc..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c +++ /dev/null @@ -1,331 +0,0 @@ -#include QMK_KEYBOARD_H - - -enum dz60rgb_layers { - _QWERTY, - _FNM, - _NAV, - _RGB, - _FNC -}; - -enum dz60rgb_keycodes { - REBOOT = SAFE_RANGE, - MAS_CRM, - MAS_PRP, - MAS_RED, - MAS_GRN, - MAS_BLU, - MAS_CYN, - MAS_MGT, - MAS_YEL, - MAS_KEY, - MAS_WHT, -}; -#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) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - LT_CAPS, 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, MT_SLSH, KC_UP, LT_DEL, - KC_LCTL, KC_LGUI, LM_LALT, KC_SPC, MT_APP, MO(_FNC), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FNM] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _V_V_V_, _______, _______, _______, _______, _______, _______ - ), - [_NAV] = LAYOUT( - KC_NUM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PMNS, KC_PPLS, KC_DEL, - _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_PSCR, KC_SCRL, KC_INS, - _V_V_V_, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, KC_PENT, - _______, _______, _______, _______, _______, _______, KC_P0, KC_P0, KC_P0, KC_PDOT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_RGB] = 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_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, MAS_MGT, MAS_BLU, MAS_WHT, RGB_RMOD, RGB_MOD, _______, - _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, MAS_RED, MAS_KEY, MAS_CYN, MAS_PRP, _______, _______, - _______, RGB_TOG, _______, _______, _______, _______, _______, MAS_YEL, MAS_GRN, MAS_CRM, _______, _______, _V_V_V_, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FNC] = LAYOUT( // fuck it edition - RCTL(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, AS_TOGG, - RCTL(KC_TAB), RCTL(KC_Q), RCTL(KC_W), RCTL(KC_E), RCTL(KC_R), RCTL(KC_T), RCTL(KC_Y), RCTL(KC_U), RCTL(KC_I), RCTL(KC_O), RCTL(KC_P), RCTL(KC_LBRC), RCTL(KC_RBRC), RCTL(KC_BSLS), - RCTL(KC_CAPS), RCTL(KC_A), RCTL(KC_S), RCTL(KC_D), RCTL(KC_F), RCTL(KC_G), RCTL(KC_H), RCTL(KC_J), RCTL(KC_K), RCTL(KC_L), RCTL(KC_SCLN), RCTL(KC_QUOT), RCTL(KC_ENT), - RCTL(KC_LSFT), RCTL(KC_Z), RCTL(KC_X), RCTL(KC_C), RCTL(KC_V), REBOOT, RCTL(KC_N), RCTL(KC_M), RCTL(KC_COMM), RCTL(KC_DOT), RCTL(KC_SLSH), KC_VOLU, RCTL(KC_DEL), - RCTL(KC_LCTL), RCTL(KC_LGUI), RCTL(KC_LALT), RCTL(KC_SPC), KC_MUTE, _V_V_V_, RCTL(KC_LEFT), KC_VOLD, RCTL(KC_RGHT) - ), - /* - [_FNC] = 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, AS_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, REBOOT, _______, _______, _______, _______, RCTL(KC_SLSH), KC_VOLU, RCTL(KC_DEL), - _______, _______, _______, _______, KC_MUTE, _______, RCTL(KC_LEFT), KC_VOLD, RCTL(KC_RGHT) - ), - [_LAYER] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_LAYER] = LAYOUT( - 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, - 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, - 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, - 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, - 62, 61, 60, 59, 58, 57, 56, 55, 54 - ), - */ -}; - -bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); - - if (!g_suspend_state && rgb_matrix_config.enable) { - switch (get_highest_layer(layer_state)) { - case _NAV: - if (this_led & (1 << USB_LED_NUM_LOCK)) { - rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(19, 0xFF, 0xFF, 0x00); - } else { - rgb_matrix_set_color(13, 0x00, 0x00, 0x00); - rgb_matrix_set_color(19, 0xFF, 0x00, 0x00); - } - - rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); // layer indicator - // ESDF - rgb_matrix_set_color(24, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(38, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(37, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(36, 0xFF, 0x00, 0x00); - // home/end - rgb_matrix_set_color(25, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(23, 0x00, 0xFF, 0x00); - // pgup/dn - rgb_matrix_set_color(26, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(39, 0x00, 0x00, 0xFF); - // numpad - rgb_matrix_set_color(6, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(5, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(4, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(20, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(18, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(33, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(32, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(31, 0xFF, 0xFF, 0x00); - // zero - rgb_matrix_set_color(47, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(46, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(45, 0xFF, 0x00, 0x00); - // dot - rgb_matrix_set_color(44, 0x00, 0x00, 0xFF); - // math shit - rgb_matrix_set_color(3, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(2, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(1, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(0, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(17, 0x00, 0x00, 0xFF); - // other - rgb_matrix_set_color(16, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(15, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(14, 0xFF, 0xFF, 0xFF); - break; - - case _RGB: { - HSV hsv = { rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v }; - HSV hui = hsv; - HSV hud = hsv; - HSV sai = hsv; - HSV sad = hsv; - HSV vai = hsv; - HSV vad = hsv; - hui.h = hsv.h + 8; - hud.h = hsv.h - 8; - sai.s = hsv.s + 16 > 255 ? 255 : hsv.s + 16; - sad.s = hsv.s - 16 < 0 ? 0 : hsv.s - 16; - vai.v = hsv.v + 16 > 255 ? 255 : hsv.v + 16; - vad.v = hsv.v - 16 < 0 ? 0 : hsv.v - 16; - RGB rgb = hsv_to_rgb(hsv); - RGB rgbHUI = hsv_to_rgb(hui); - RGB rgbHUD = hsv_to_rgb(hud); - RGB rgbSAI = hsv_to_rgb(sai); - RGB rgbSAD = hsv_to_rgb(sad); - RGB rgbVAI = hsv_to_rgb(vai); - RGB rgbVAD = hsv_to_rgb(vad); - rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); // layer indicator - rgb_matrix_set_color(59, rgb.r, rgb.g, rgb.b); // color indicator - rgb_matrix_set_color(26, 0xFF, 0x80, 0x00); //MOD - rgb_matrix_set_color(39, 0xFF, 0x80, 0x00); //MOD - rgb_matrix_set_color(16, 0xFF, 0x80, 0x00); //RGB_RMOD - rgb_matrix_set_color(15, 0xFF, 0x80, 0x00); //MOD - rgb_matrix_set_color(52, 0xFF, 0x40, 0x00); //TOG - rgb_matrix_set_color(25, 0x80, 0x80, 0x80); //SPI - rgb_matrix_set_color(38, 0x80, 0x80, 0x80); //SPD - rgb_matrix_set_color(24, rgbHUI.r, rgbHUI.g, rgbHUI.b); //HUI - rgb_matrix_set_color(37, rgbHUD.r, rgbHUD.g, rgbHUD.b); //HUD - rgb_matrix_set_color(23, rgbSAI.r, rgbSAI.g, rgbSAI.b); //SAI - rgb_matrix_set_color(36, rgbSAD.r, rgbSAD.g, rgbSAD.b); //SAD - rgb_matrix_set_color(22, rgbVAI.r, rgbVAI.g, rgbVAI.b); //VAI - rgb_matrix_set_color(35, rgbVAD.r, rgbVAD.g, rgbVAD.b); //VAD - rgb_matrix_set_color(19, 0xF0, 0x00, 0xFF); //MAS_MGT - rgb_matrix_set_color(18, 0x00, 0x02, 0xFF); //MAS_BLU - rgb_matrix_set_color(33, 0xFF, 0x00, 0x00); //MAS_RED - rgb_matrix_set_color(32, 0x00, 0x00, 0x00); //MAS_KEY - rgb_matrix_set_color(31, 0x00, 0xFF, 0xF7); //MAS_CYN - rgb_matrix_set_color(46, 0xFF, 0xDA, 0x00); //MAS_YEL - rgb_matrix_set_color(45, 0x00, 0xFF, 0x01); //MAS_GRN - rgb_matrix_set_color(44, 0xFF, 0xA5, 0x18); //MAS_CRM - rgb_matrix_set_color(30, 0x81, 0x3C, 0xFF); //MAS_PRP - rgb_matrix_set_color(17, 0xFF, 0xFF, 0xFF); //MAS_WHT - } - break; - - case _FNC: - rgb_matrix_set_color(57, 0xFF, 0xFF, 0xFF); // layer indicator - rgb_matrix_set_color(48, 0xFF, 0x00, 0x00); // bootloader - rgb_matrix_set_color(42, 0x00, 0x80, 0xFF); // vol - rgb_matrix_set_color(55, 0x00, 0x80, 0xFF); - rgb_matrix_set_color(58, 0xFF, 0x00, 0x00); // mute - rgb_matrix_set_color(56, 0xFF, 0x80, 0x00); // ctrl+left/right - rgb_matrix_set_color(54, 0xFF, 0x80, 0x00); - 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)) { - rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); - } - return false; -} - -void matrix_init_user(void) -{ - //user initialization - autoshift_disable(); -} - -void matrix_scan_user(void) -{ - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t* record) -{ - static uint32_t key_timer; - - switch (keycode) { - case REBOOT: - if (record->event.pressed) { - key_timer = timer_read32(); - } else { - if (timer_elapsed32(key_timer) >= 500) { - rgb_matrix_enable_noeeprom(); - rgb_matrix_mode_noeeprom(1); - rgb_matrix_sethsv_noeeprom(11, 11, 11); - wait_ms(150); - reset_keyboard(); - } else { - register_code(KC_RCTL); - tap_code(KC_B); - unregister_code(KC_RCTL); - } - } - - return false; - - case MAS_CRM: - if (record->event.pressed) { - rgb_matrix_sethsv(32, 160, 255); - } - - return false; - - case MAS_PRP: - if (record->event.pressed) { - rgb_matrix_sethsv(192, 112, 255); - } - - return false; - - case MAS_RED: - if (record->event.pressed) { - rgb_matrix_sethsv(0, 255, 255); - } - - return false; - - case MAS_GRN: - if (record->event.pressed) { - rgb_matrix_sethsv(88, 255, 255); - } - - return false; - - case MAS_BLU: - if (record->event.pressed) { - rgb_matrix_sethsv(168, 255, 255); - } - - return false; - - case MAS_CYN: - if (record->event.pressed) { - rgb_matrix_sethsv(128, 255, 255); - } - - return false; - - case MAS_MGT: - if (record->event.pressed) { - rgb_matrix_sethsv(216, 255, 255); - } - - return false; - - case MAS_YEL: - if (record->event.pressed) { - rgb_matrix_sethsv(40, 255, 255); - } - - return false; - - case MAS_KEY: - if (record->event.pressed) { - rgb_matrix_sethsv(0, 0, 0); - } - - return false; - - case MAS_WHT: - if (record->event.pressed) { - rgb_matrix_sethsv(128, 0, 255); - } - - return false; - - default: - return true; - } -} diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk deleted file mode 100644 index e2618e52906a..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -NKRO_ENABLE = yes # USB Nkey Rollover -AUTO_SHIFT_ENABLE = yes # Auto Shift -# VELOCIKEY_ENABLE = yes - -LTO_ENABLE = yes - -# SRC += dz60rgb.c diff --git a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md deleted file mode 100644 index cda042db064b..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Mechmaster48 keymap - --Personal keyboard layout --Mainly following the default layout. --Picture of the map below with 3 total layers 0-2 --More to come as I figure QMK out - -## Layer 0 -![alt text](https://i.imgur.com/yi8BCCf.gif) - -## Layer 1 -![alt text](https://i.imgur.com/aG2cCn9.gif) - -## Layer 2 -![alt text](https://i.imgur.com/79RAh1G.gif) \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c deleted file mode 100644 index 743d9188b077..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright 2021 MechMaster48 admin@mechbox.net - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -/* - --This is just a diagram that makes it easier for me to see what keys I have bound and where. --The README has a better image to see the exact keymap. - ---Layer 0-- - _________________________________________________________________________________________________ - |[esc] [1!]-[2@]-[3#]-[4$]-[5%]-[6^]-[7&]-[8*]-[9(]-[0)]-[-_]-[+=] [ BackSpace ]| - |[ Tab ] [Q]-[W]-[E]-[R]-[T]-[Y]-[U]-[I]-[O]-[P]-[[{]-[]}] [ |\ ]| - |[CapsLock] [A]-[S]-[D]-[F]-[G]-[H]-[J]-[K]-[L]-[;/:]-['/"] [Enter]| - |[ Shift ] [Z]-[X]-[C]-[V]-[B]-[N]-[M]-[/.]-[?//] [↑][del]| - |[ctrl][win][alt] [____________________SPACE__________________][fn/OSL(1)][ctrl][←][↓][→] | - |_________________________________________________________________________________________________| - - - - ---Layer 1-- - _____________________________________________________________________________________ - |[TO(2)] [F1]-[F2]-[F3]-[F4]-[F5]-[F6]-[F7]-[F8]-[F9]-[F10]-[F11]-[F12] [ ▾ ]| - |[ ▾ ] [~]-[▾]-[▾]-[▾]-[▾]-[▾]-[PS]-[▾]-[▾]-[▾]-[play/pause]-[▾] [ QK_BOOT ]| - |[ ▾ ] [▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[PU]-[▾]-[▾] [ ▾ ]| - |[ Shift ] [▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[PD]-[▾] [vol↑] [ ▾ ]| - |[ctrl][ ▾ ][alt] [_________________▾________________] [▾][ ▾ ][←prvs][vol↓][next→]| - |_____________________________________________________________________________________| - - - ---Layer 2-- - _________________________________________________________________________________________________ - |[ ▾ ] [▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾] [ ▾ ]| - |[ ▾ ] [RGBTgg]-[▾]-[Hue+]-[Hue-]-[Sat+]-[Sat-]-[Brt+]-[Brt-]-[RGBmd]-[▾]-[▾]-[▾] [ QK_BOOT ]| - |[ ▾ ] [▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾] [ ▾ ]| - |[ ▾ ] [▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾]-[▾] [ ▾ ][ ▾ ]| - |[ ▾ ][ ▾ ][▾] [_______________TO(0)________________] [▾][ ▾ ] [ ▾ ][ ▾ ][ ▾ ]| - |_________________________________________________________________________________________________| - -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, OSL(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - TO(2), KC_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_PSCR, _______, _______, _______, KC_MPLY, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, KC_VOLU, KC_MUTE, - KC_LCTL, _______, KC_LALT, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, TO(0), _______, _______, _______, _______, _______ - ) -}; \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c deleted file mode 100644 index 4dca4d2396bc..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c +++ /dev/null @@ -1,173 +0,0 @@ -#include QMK_KEYBOARD_H -#define _LAYER0 0 -#define _LAYER1 1 -#define _LAYER2 2 -#define _LAYER3 3 -#define _LAYER4 4 -#define _LAYER5 5 -#define _LAYER6 6 -#define _LAYER7 7 -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT( /* MAC */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT), - [_LAYER1] = LAYOUT( /* FN */ - TO(3), KC_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, - _______, _______, _______, _______, _______, _______, _______, _______, LGUI(LSFT(KC_5)), KC_SCRL, KC_PAUS, _______, _______, QK_BOOT, - _______, KC_VOLU, KC_VOLD, KC_MUTE, KC_EJCT, _______, KC_ASTR, KC_PSLS, KC_HOME, KC_PGUP, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, MO(5), KC_MPLY, _______, - _______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_MSTP, KC_MFFD), - [_LAYER2] = LAYOUT( /* LIGHT */ - RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______, _______, _______, - _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI), - [_LAYER3] = LAYOUT( /* NUMPAD */ - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______, - _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, TO(0), - _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT, - _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, - _______, KC_P0, KC_PDOT, KC_ENT, KC_P0, KC_PDOT, _______, _______, _______), - [_LAYER4] = LAYOUT( /* WIN */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(5) , KC_LEFT, KC_DOWN, KC_RIGHT), - [_LAYER5] = LAYOUT( /* FN */ - _______, KC_BRID, KC_BRIU, LCTL(KC_UP), LSFT(KC_F12), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - _______, _______, _______, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), -} -; - - - -void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { - rgb_matrix_set_color( i, red, green, blue ); - } - } -} - -bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); - - if (!g_suspend_state && rgb_matrix_config.enable) { - switch (get_highest_layer(layer_state)) { - case _LAYER1: - rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; - - case _LAYER2: - rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; - - case _LAYER4: - rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; - } - } - - if (this_led & (1 << USB_LED_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)) { - rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); - } else { - rgb_matrix_set_color(13, 0x00, 0x00, 0x00); - } - - rgb_matrix_set_color(0, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(1, 0x00, 0x00, 0x00); - rgb_matrix_set_color(1, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(2, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(3, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(4, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(5, 0x00, 0x00, 0x00); - rgb_matrix_set_color(6, 0x00, 0x00, 0x00); - rgb_matrix_set_color(7, 0x00, 0x00, 0x00); - rgb_matrix_set_color(8, 0x00, 0x00, 0x00); - rgb_matrix_set_color(9, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(10, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(11, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(12, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(14, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(15, 0x00, 0x00, 0x00); - rgb_matrix_set_color(16, 0x00, 0x00, 0x00); - rgb_matrix_set_color(17, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(18, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(19, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(20, 0x00, 0x00, 0x00); - rgb_matrix_set_color(21, 0x00, 0x00, 0x00); - rgb_matrix_set_color(22, 0x00, 0x00, 0x00); - rgb_matrix_set_color(23, 0x00, 0x00, 0x00); - rgb_matrix_set_color(24, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(25, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(26, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(27, 0x00, 0x00, 0x00); - rgb_matrix_set_color(28, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(29, 0x00, 0x00, 0x00); - rgb_matrix_set_color(30, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(31, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(33, 0x00, 0x00, 0x00); - rgb_matrix_set_color(34, 0x00, 0x00, 0x00); - rgb_matrix_set_color(35, 0x00, 0x00, 0x00); - rgb_matrix_set_color(36, 0x00, 0x00, 0x00); - rgb_matrix_set_color(37, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(38, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(39, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(40, 0x00, 0x00, 0x00); - rgb_matrix_set_color(41, 0x00, 0x00, 0x00); - rgb_matrix_set_color(42, 0x00, 0x00, 0x00); - rgb_matrix_set_color(43, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(44, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(45, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(46, 0x00, 0x00, 0x00); - rgb_matrix_set_color(47, 0x00, 0x00, 0x00); - rgb_matrix_set_color(48, 0x00, 0x00, 0x00); - rgb_matrix_set_color(49, 0x00, 0x00, 0x00); - rgb_matrix_set_color(50, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(51, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(52, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(53, 0x00, 0x00, 0x00); - rgb_matrix_set_color(54, 0x00, 0x00, 0x00); - rgb_matrix_set_color(55, 0x00, 0x00, 0x00); - rgb_matrix_set_color(56, 0x00, 0x00, 0x00); - rgb_matrix_set_color(57, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(58, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(59, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(60, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(61, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(62, 0x00, 0x00, 0x00); - break; - } - 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/keymaps/mekanist/readme.md b/keyboards/dztech/dz60rgb/keymaps/mekanist/readme.md deleted file mode 100644 index e85200457e3f..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/mekanist/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# mekanist keymap instructions - -## Dev Environment setup (macOS) - -1. Install Homebrew by copy pasting the following into a terminal: - ``` - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - ``` - -2. Refer to the [QMK macOS Instructions](https://github.com/qmk/qmk_firmware/blob/master/docs/getting_started_build_tools.md#macos) and install the list of tools using the `brew` command in terminal. - -3. While in terminal, issue the following command within the directory you wish to clone qmk_firmware in. - - ``` - git clone https://github.com/qmk/qmk_firmware.git - ``` - -## Creating the mekanist dz60rgb firmware file - -1. While in the `qmk_firmware` directory, issue the following command - - ``` - make git-submodule - ``` - - This will download the chibi-os submoduled needed to create firmware for ARM based boards such as the dz60rgb. - -2. While in the `qmk_firmware` directory, issue the followng command - - ``` - make dztech/dz60rgb:mekanist - ``` - - This will result in a file called `dztech_dz60rgb_mekanist.bin` that you can flash onto your board using QMK Toolbox. diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c deleted file mode 100644 index a659770f8237..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2021 moults31 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_SLSH, KC_RSHFT, KC_UP, LT(2, KC_DEL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_COMM, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_HOME, KC_END, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, EE_CLR, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, - _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - [2] = LAYOUT( - RGB_MOD, KC_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_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, QK_BOOT, - _______, RGB_SAD, RGB_HUD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SPD - ), -}; diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md b/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md deleted file mode 100644 index 19bccf13e6c8..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# moults31 DZ60RBG V2 Layout - -Similar to the default dz60rgb v2 layout with some minor changes for quality of life in programming. - -Brief summary of improvements over default: -* More intuitive media keys in layer 1 -* More intuitive RGB control keys in layer 2 -* Standard left-alt -* Anne Pro 2 style home/end placement in layer 1 -* Grave key moved to right-alt position for easier ctrl-grave vscode shortcut -* Removed layer 4 (mac layout?) diff --git a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c deleted file mode 100644 index c4a9a2b588fb..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c +++ /dev/null @@ -1,132 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_names { - _QWERTY, - _FNM -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE -}; - -#define FNM MO(_FNM) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_GRV, KC_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, KC_DEL, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FNM, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT), - [_FNM] = LAYOUT( /* FN */ - 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_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT) -}; - -void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { - rgb_matrix_set_color( i, red, green, blue ); - } - } -} - -bool rgb_matrix_indicators_user(void) { - if (!g_suspend_state) { - switch (get_highest_layer(layer_state)) { - case _QWERTY: - rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break; - - case _FNM: - rgb_matrix_layer_helper(0xF0, 0x00, 0xFF); break; - } - } - - switch (get_highest_layer(layer_state)) { - case _FNM: - rgb_matrix_set_color(0, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(1, 0x00, 0x00, 0x00); - rgb_matrix_set_color(1, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(2, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(3, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(4, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(5, 0x00, 0x00, 0x00); - rgb_matrix_set_color(6, 0x00, 0x00, 0x00); - rgb_matrix_set_color(7, 0x00, 0x00, 0x00); - rgb_matrix_set_color(8, 0x00, 0x00, 0x00); - rgb_matrix_set_color(9, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(10, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(11, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(12, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(14, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(15, 0x00, 0x00, 0x00); - rgb_matrix_set_color(16, 0x00, 0x00, 0x00); - rgb_matrix_set_color(17, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(18, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(19, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(20, 0x00, 0x00, 0x00); - rgb_matrix_set_color(21, 0x00, 0x00, 0x00); - rgb_matrix_set_color(22, 0x00, 0x00, 0x00); - rgb_matrix_set_color(23, 0x00, 0x00, 0x00); - rgb_matrix_set_color(24, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(25, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(26, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(27, 0x00, 0x00, 0x00); - rgb_matrix_set_color(28, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(29, 0x00, 0x00, 0x00); - rgb_matrix_set_color(30, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(31, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(33, 0x00, 0x00, 0x00); - rgb_matrix_set_color(34, 0x00, 0x00, 0x00); - rgb_matrix_set_color(35, 0x00, 0x00, 0x00); - rgb_matrix_set_color(36, 0x00, 0x00, 0x00); - rgb_matrix_set_color(37, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(38, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(39, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(40, 0x00, 0x00, 0x00); - rgb_matrix_set_color(41, 0x00, 0x00, 0x00); - rgb_matrix_set_color(42, 0x00, 0x00, 0x00); - rgb_matrix_set_color(43, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(44, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(45, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(46, 0x00, 0x00, 0x00); - rgb_matrix_set_color(47, 0x00, 0x00, 0x00); - rgb_matrix_set_color(48, 0x00, 0x00, 0x00); - rgb_matrix_set_color(49, 0x00, 0x00, 0x00); - rgb_matrix_set_color(50, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(51, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(52, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(53, 0x00, 0x00, 0x00); - rgb_matrix_set_color(54, 0x00, 0x00, 0x00); - rgb_matrix_set_color(55, 0x00, 0x00, 0x00); - rgb_matrix_set_color(56, 0x00, 0x00, 0x00); - rgb_matrix_set_color(57, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(58, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(59, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(60, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(61, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(62, 0x00, 0x00, 0x00); - break; - } - 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/keymaps/perseid/readme.md b/keyboards/dztech/dz60rgb/keymaps/perseid/readme.md deleted file mode 100644 index a4fd04f63da2..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/perseid/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# My Personal Keymap for the dz60rgb - -This is for the one with the arrows. Not very many changes. - -* I don't use the capslock - so that's the grave key -* Escape is now GESC -* Alt and Cmd are swapped - cause I use a Mac diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h b/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h deleted file mode 100644 index bdc2a1a057a6..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define FORCE_NKRO -#define TAPPING_TERM 100 - -#undef ENABLE_RGB_MATRIX_ALPHAS_MODS -#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -#undef ENABLE_RGB_MATRIX_BREATHING -#undef ENABLE_RGB_MATRIX_BAND_SAT -#undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#undef ENABLE_RGB_MATRIX_CYCLE_ALL -//#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#undef ENABLE_RGB_MATRIX_DUAL_BEACON -#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#undef ENABLE_RGB_MATRIX_SPLASH -#undef ENABLE_RGB_MATRIX_MULTISPLASH -#undef ENABLE_RGB_MATRIX_SOLID_SPLASH -#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c deleted file mode 100644 index abb2c07885a7..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c +++ /dev/null @@ -1,231 +0,0 @@ -/* -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -#define LT_DEL LT(_RGB, KC_DEL) -#define LT_CAPS LT(_FNC, KC_CAPS) -#define LM_LALT LM(_FNC, MOD_LALT) -#define LM_NALT LM(_NUM, MOD_LALT) -#define RSFT_SL RSFT_T(KC_SLSH) -#define RALT_F6 RALT_T(KC_F6) -#define CTLINS LCTL(KC_INS) // Ctrl + Insert (terminal copy) -#define SFTINS LSFT(KC_INS) // Shift + Insert (terminal paste) -#define AMDREP LCTL(LSFT(KC_S)) // AMD Replay -#define AMDREC LCTL(LSFT(KC_E)) // AMD Record - -enum piv3rt_layers { - _DEF, - _MAC, - _FNC, - _RGB, - _NUM, -}; - -enum piv3rt_keycodes { - RGB_RST = SAFE_RANGE, - RGB_PCY, // Cycle through RGB profiles - RGB_000, // Turn everything off except profiles - EACUTE, // French É for Windows - CCED, // French Ç for Windows - AGRAVE, // French À for Windows - FRQLT, // French ≩ for Windows - FRQGT, // French â‰Ŧ for Windows -}; - -enum piv3rt_rgbprofiles { - CSGO, - TEXT, - OFF, // Should be the last item -}; - -enum piv3rt_rgbprofiles current_profile = OFF; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEF] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - LT_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_SL, KC_UP, LT_DEL, - KC_LCTL, KC_LGUI, LM_LALT, KC_SPC, RALT_F6, MO(_FNC), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_MAC] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LGUI, KC_LCTL, KC_LGUI, _______, _______, _______, _______, _______, _______ - ), - [_FNC] = 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, - _______, AGRAVE, KC_UP, EACUTE, _______, KC_INS, _______, _______, KC_UP, KC_UP, KC_PGUP, KC_HOME, KC_PSCR, KC_NUBS, - _______, KC_HOME, KC_DOWN, KC_END, CTLINS, SFTINS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_F8, - _______, _______, KC_CALC, CCED, _______, _______, _______, _______, FRQLT, FRQGT, TG(_NUM), KC_VOLU, KC_MUTE, - _______, TG(_MAC), LM_NALT, _______, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - [_RGB] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, RGB_PCY, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_000, _______, - _______, _______, _______, RGB_RST, _______, _______, KC_PWR, AMDREC, AMDREP - ), - [_NUM] = LAYOUT( - KC_NUM, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT, - _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, TG(_NUM), _______, _______, - _______, _______, _______, KC_PENT, _______, _______, _______, _______, _______ - ), -}; - -void reset_leds(void) { - current_profile = OFF; - rgb_matrix_enable(); - rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv(0x6a, 0x33, 0xff); -} - -void suspend_wakeup_init_user(void) { - current_profile = OFF; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_RST: - if (record->event.pressed) { - reset_leds(); - } - return false; - break; - case RGB_PCY: - if (record->event.pressed) { - // Cycle through RGB profiles - current_profile = current_profile == OFF ? 0 : current_profile + 1; - } - return false; - break; - case RGB_000: - if (record->event.pressed) { - rgb_matrix_sethsv(0, 0, 0); - } - return false; - break; - case EACUTE: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P2) SS_TAP(X_P0) SS_TAP(X_P1) SS_UP(X_LALT)); - } - return false; - break; - case CCED: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P9) SS_TAP(X_P9) SS_UP(X_LALT)); - } - return false; - break; - case AGRAVE: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P9) SS_TAP(X_P2) SS_UP(X_LALT)); - } - return false; - break; - case FRQLT: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P4) SS_UP(X_LALT)); - } - return false; - break; - case FRQGT: - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P5) SS_UP(X_LALT)); - } - return false; - break; - } - return true; -}; - -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.caps_lock) { - // Tab key = 27 - RGB_MATRIX_INDICATOR_SET_COLOR(27, 0xff, 0x00, 0x00); - } - - if (led_state.num_lock && (layer_state_is(_FNC) || layer_state_is(_NUM))) { - // ESC key = 13 - RGB_MATRIX_INDICATOR_SET_COLOR(13, 0xff, 0x55, 0x55); - } - - if (layer_state_is(_NUM)) { - // Num pad - for (int i=0; i<3; i++) { - RGB_MATRIX_INDICATOR_SET_COLOR(3 + i, 0xff, 0x55, 0x55); - RGB_MATRIX_INDICATOR_SET_COLOR(17 + i, 0xff, 0x55, 0x55); - RGB_MATRIX_INDICATOR_SET_COLOR(30 + i, 0xff, 0x55, 0x55); - } - RGB_MATRIX_INDICATOR_SET_COLOR(43, 0xff, 0x00, 0x00); - return; - } - - if (layer_state_is(_RGB)) { - // AMD record and replay - RGB_MATRIX_INDICATOR_SET_COLOR(54, 0x00, 0xff, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(55, 0xff, 0x00, 0x00); - } - - if (current_profile == CSGO) { - // Moves - RGB_MATRIX_INDICATOR_SET_COLOR(25, 0xff, 0x00, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(39, 0xff, 0x00, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(38, 0xff, 0x00, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(37, 0xff, 0x00, 0x00); - - // Grenades - RGB_MATRIX_INDICATOR_SET_COLOR(4, 0x00, 0xff, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(3, 0xff, 0x66, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(2, 0x66, 0x66, 0x22); - RGB_MATRIX_INDICATOR_SET_COLOR(1, 0xff, 0xff, 0xff); - - // Primary - RGB_MATRIX_INDICATOR_SET_COLOR(18, 0xff, 0x00, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(17, 0x99, 0x33, 0x00); - RGB_MATRIX_INDICATOR_SET_COLOR(16, 0x00, 0xff, 0x00); - - // Secondary - RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x66, 0x66, 0x22); - RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0x00, 0xff); - - // Equipment - RGB_MATRIX_INDICATOR_SET_COLOR(30, 0xff, 0x00, 0xff); - RGB_MATRIX_INDICATOR_SET_COLOR(29, 0x00, 0x00, 0xff); - RGB_MATRIX_INDICATOR_SET_COLOR(28, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(0, 0x33, 0x66, 0x99); - } else if (current_profile == TEXT) { - // Letters - for (int i=0; i<7; i++) { - RGB_MATRIX_INDICATOR_SET_COLOR(17 + i, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(31 + i, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(46 + i, 0x33, 0x66, 0x99); - } - RGB_MATRIX_INDICATOR_SET_COLOR(38, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(39, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x33, 0x66, 0x99); - RGB_MATRIX_INDICATOR_SET_COLOR(26, 0x33, 0x66, 0x99); - } - return false; -} diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk b/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk deleted file mode 100644 index 23a7632433d4..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk +++ /dev/null @@ -1 +0,0 @@ -NKRO_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h deleted file mode 100644 index d981df82ed8b..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#define FORCE_NKRO - -#undef DISABLE_RGB_MATRIX_SPLASH -#undef DISABLE_RGB_MATRIX_MULTISPLASH -#undef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH - -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS - -// #undef ENABLE_RGB_MATRIX_SOLID_COLOR -// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS -// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #undef ENABLE_RGB_MATRIX_BREATHING -// #undef ENABLE_RGB_MATRIX_BAND_SAT -// #undef ENABLE_RGB_MATRIX_BAND_VAL -// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -// #undef ENABLE_RGB_MATRIX_CYCLE_ALL -// #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -// #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -// #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -// #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -// #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -// #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -// #undef ENABLE_RGB_MATRIX_DUAL_BEACON -// #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -// #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -// #undef ENABLE_RGB_MATRIX_RAINDROPS -// #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #undef ENABLE_RGB_MATRIX_SPLASH -// #undef ENABLE_RGB_MATRIX_MULTISPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -// #define RGB_MATRIX_KEYRELEASES - -#define NO_ACTION_ONESHOT -#define QUICK_TAP_TERM 0 diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c b/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c deleted file mode 100644 index 905ec1b531ef..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -#include QMK_KEYBOARD_H -#define _LAYER0 0 -#define _LAYER1 1 -#define _LAYER2 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - [_LAYER1] = 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_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EE_CLR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL, - KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EE_CLR, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, 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/dztech/dz60rgb/keymaps/xunz/readme.md b/keyboards/dztech/dz60rgb/keymaps/xunz/readme.md deleted file mode 100644 index b18d497adb91..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/readme.md +++ /dev/null @@ -1,48 +0,0 @@ -### XuNz Layout - -3 Layers - -All rgb enable - -NKRO enable - -### 0 Qwerty -,-----------------------------------------------------------------------------------------. -| ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | -|-----------------------------------------------------------------------------------------+ -| 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 | , | . | RSh | U | DEL | -|-----------------------------------------------------------------------------------------+ -| Ctrl | Cmd | Alt | Space | RAlt | FN | L | D | R | -`-----------------------------------------------------------------------------------------' - -### 1 FN Layer -FN + Key -,-----------------------------------------------------------------------------------------. -| Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | reset | -|-----------------------------------------------------------------------------------------+ -| | | up | | | | | |insert| | pscr | slck | paus |reset| -|-----------------------------------------------------------------------------------------+ -| |left| down |right| | | | | | | home | pgup | EEP RST | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | end | pgdn | vol+ | mute | -|-----------------------------------------------------------------------------------------+ -| | | | | calc | | prev | vol- | next | -`-----------------------------------------------------------------------------------------' - -### 2 Del Layer -Del + Key -,-----------------------------------------------------------------------------------------. -| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | + | del | -|-----------------------------------------------------------------------------------------+ -| |RBB T| | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | / | * | reset| -|-----------------------------------------------------------------------------------------+ -| | | | | | | | SPI | SPD | | | | EEP RST | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | dot | | | | -|-----------------------------------------------------------------------------------------+ -| | | | | | | | | | -`-----------------------------------------------------------------------------------------' \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk b/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk deleted file mode 100644 index d12c8dc44ef3..000000000000 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -NKRO_ENABLE = yes # USB Nkey Rollover -# VELOCIKEY_ENABLE = yes - -LTO_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h index 82d7b6d1e1de..af7267892279 100644 --- a/keyboards/dztech/dz60rgb/v1/config.h +++ b/keyboards/dztech/dz60rgb/v1/config.h @@ -55,7 +55,6 @@ // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb/v1/info.json b/keyboards/dztech/dz60rgb/v1/info.json index 56a70183f532..0033c3acc7a2 100644 --- a/keyboards/dztech/dz60rgb/v1/info.json +++ b/keyboards/dztech/dz60rgb/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h index 094478f34d8d..2470e7b3f9af 100644 --- a/keyboards/dztech/dz60rgb/v2/config.h +++ b/keyboards/dztech/dz60rgb/v2/config.h @@ -53,7 +53,6 @@ // # define ENABLE_RGB_MATRIX_SOLID_SPLASH // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb/v2/info.json b/keyboards/dztech/dz60rgb/v2/info.json index 0b263d809986..4801792d98e1 100644 --- a/keyboards/dztech/dz60rgb/v2/info.json +++ b/keyboards/dztech/dz60rgb/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h index a753832ed1d0..05cfa7d4e122 100644 --- a/keyboards/dztech/dz60rgb/v2_1/config.h +++ b/keyboards/dztech/dz60rgb/v2_1/config.h @@ -69,7 +69,6 @@ // # define ENABLE_RGB_MATRIX_SOLID_SPLASH // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb/v2_1/info.json b/keyboards/dztech/dz60rgb/v2_1/info.json index 796b1bc4a338..9028f69d4fbf 100644 --- a/keyboards/dztech/dz60rgb/v2_1/info.json +++ b/keyboards/dztech/dz60rgb/v2_1/info.json @@ -4,7 +4,7 @@ "device_version": "2.1.0" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c index b607a58a4ec3..5c0692202856 100644 --- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c deleted file mode 100644 index 3de7e1c19486..000000000000 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/badger/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2020 Dan White - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "badger.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY_MAC] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - MOVE_MAC, KC_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_LALT, KC_LGUI, KC_SPC, ADJUST, KC_RGUI, KC_RALT, MAC_POP), - - [_MOVE_MAC] = LAYOUT_60_ansi( - MAC_FRC, MM_LEFT, MM_RGHT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_0, IJ_TOP, IJ_BOTT, KC_DEL, - KC_BACK, IJ_STEP, IJ_INTO, IJ_OUT, IJ_RUN, IJ_STOP, _______, WD_BACK, KC_HOME, KC_END, WD_FRWD, IJ_BACK, IJ_FWD, KC_NEXT, - _______, MM_LH, MM_MAX, MM_RH, IJ_FIND, IJ_IMPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CM_RIGHT, CM_DOWN, _______, - _______, MM_UH, MM_BH, MAC_CPY, MAC_PST, IJ_IMPH, _______, IJ_REN, IJ_IMPL, IJ_DECL, IJ_USAG, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - - [_QWERTY_LINUX] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - MOVE, KC_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, ADJUST, KC_LALT, KC_RGUI, KC_RCTL), - - [_MOVE_LINUX] = LAYOUT_60_ansi( - KC_GRV, VD_1, VD_2, VD_3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_BACK, WM_VD1, WM_UH, WM_VD2, QK_BOOT, KC_MSTP, KC_MPLY, KC_PGUP, KC_HOME, KC_END, KC_PGDN, _______, _______, KC_NEXT, - _______, WM_LH, WM_MAX, WM_RH, WD_FRWD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CS_RIGHT, CS_DOWN, _______, - _______, WM_VD3, WM_BH, OS_COPY, OS_PAST, WD_BACK, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - - [_ADJUST] = LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, _______, KC_WREF, KC_MSTP, KC_MPLY, KC_PGUP, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, DF_1, DF_2, KC_CAPS, _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_WBAK, KC_WFWD, KC_WSCH, _______, - _______, _______, _______, _______, _______, _______, _______, MO(_CONFIG)), - - [_CONFIG] = LAYOUT_60_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, KC_DEL, - _______, NK_ON, NK_OFF, EE_CLR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, GE_SWAP, GE_NORM, DB_TOGG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_M_B, _______, _______, RGB_TOG, _______, - _______, LAG_SWP, LAG_NRM, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, RGB_M_K, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______) -}; - diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h deleted file mode 100644 index 59fc46d260dd..000000000000 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h +++ /dev/null @@ -1,27 +0,0 @@ - /* Copyright 2021 Jesper Nellemann Jakobsen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 MOUSEKEY_DELAY 0 // default is 300ms -#define MOUSEKEY_INTERVAL 16 // ~ 60Hz (1/60) -#define MOUSEKEY_MAX_SPEED 8 // default is 10; the lower interval, the lower this ought to be -#define MOUSEKEY_TIME_TO_MAX 15 // default is 20 - -#define MOUSEKEY_WHEEL_DELAY 0 // default is 300ms -#define MOUSEKEY_WHEEL_INTERVAL 50 // default is 100ms -#define MOUSEKEY_WHEEL_MAX_SPEED 10 // default is 8 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 30 // default is 40 diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c deleted file mode 100644 index 6ed31b62bcab..000000000000 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c +++ /dev/null @@ -1,128 +0,0 @@ - /* Copyright 2021 Jesper Nellemann Jakobsen - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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, - _ARROWS, - _HDUE, /* Home, pgDown, pgUp, End */ - _MOUSE, - _FN -}; - -/* Custom keys */ - -/* Word movement/deletetion */ -#define WORD_BK A(KC_LEFT) -#define WORD_FW A(KC_RIGHT) -#define D_WORD_BK A(KC_BACKSPACE) -#define D_WORD_FW A(KC_DELETE) -/* Fine volume control */ -#define FVOLU S(A(KC_VOLU)) -#define F_VOLD S(A(KC_VOLD)) -/* Multi-purpose keys */ -#define HYPR_CAPS ALL_T(KC_CAPS) -#define CTL_ESC LCTL_T(KC_ESC) -/* Layer keys */ -#define ARROWS LT(_ARROWS, KC_D) -#define HDUE MO(_HDUE) -#define MOUSP LT(_MOUSE, KC_SPC) -#define FN MO(_FN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default layer: - * Space Cadet shifts (parentheses on tap) - * Caps Lock is Control on hold, Esc on tap - * Hyper/Caps Lock on Control keys - * Hold D to activate layer 1 (Arrows) - * Hold Space to activate layer 3 (Mouse keys) - * Hold FN to activate layer 4 (FN layer) - */ - [_BASE] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_ESC, KC_A, KC_S, ARROWS, 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, - HYPR_CAPS, KC_LALT, KC_LGUI, MOUSP, KC_RGUI, KC_RALT, FN, HYPR_CAPS - ), - - /* Layer 1: - * Vim arrows (HJKL) - * Vim-like move across words with W(ord), and B(eginning) - * Media controls (fine volume controls using Option+Shift) - * Backspace/Del on N/M - * Hold F to activate layer 2 (HDUE: Home, Down, Up, End) - */ - [_ARROWS] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, WORD_FW, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, F_VOLD, FVOLU, _______, - _______, _______, _______, _______, HDUE, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, WORD_BK, KC_BSPC, KC_DEL, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Layer 2: - * Home, Page Down, Page Up, End - * Delete word forward/back on W/B - */ - [_HDUE] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, D_WORD_FW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, - _______, _______, _______, _______, _______, D_WORD_BK, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Layer 3: - * Mouse keys - * Cursor movement: HJKL - * MB 1, 2, and 3 on F, D, and S, respectively - * Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) - * Change mouse acceleration on U, I, O (0, 1, 2) - */ - [_MOUSE] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_WH_D, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, - _______, _______, KC_BTN3, KC_BTN2, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, - _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Layer 4: - * F1-12 - * Del on backspace - * Lots of RGB controls - * QK_BOOT firmware on backslash - * Screen brightness: Z (decrease), X (increase) - */ - [_FN] = LAYOUT_60_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, KC_DEL, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, QK_BOOT, - _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SW, RGB_M_SN, RGB_M_K, _______, _______, _______, - _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) - - // TEMPLATE - // LAYOUT_60_ansi( - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - // _______, _______, _______, _______, _______, _______, _______, _______, - // ), -}; diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md deleted file mode 100644 index 5f65c349dc38..000000000000 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md +++ /dev/null @@ -1,51 +0,0 @@ -# MacOS standard-ish 60% keymap with Vim-like arrows - -This is a MacOS-specific keymap for DZ60 RGB ANSI with a bit of Vim arrows and other niceties. - -## Base Layer - -![Graphical representation of the Base Layer](https://i.imgur.com/L66C3ya.png) - -* Space Cadet shifts (parentheses on tap) -* Caps Lock is Control on hold, Esc on tap -* Hyper/Caps Lock on Control keys -* Hold D to activate layer 1 (Arrows) -* Hold Space to activate layer 3 (Mouse keys) -* Hold FN to activate layer 4 (FN layer) - -## Layer 1: "Arrows" - -![Graphical representation of Layer 1](https://i.imgur.com/VirYuoO.png) - -* Vim arrows (HJKL) -* Vim-like move across words with W(ord), and B(eginning) -* Media controls (fine volume controls using Option+Shift) -* Backspace/Del on N/M -* Hold F to activate layer 2 (HDUE: Home, Down, Up, End) - -## Layer 2: "HDUE" - -![Graphical representation of Layer 2](https://i.imgur.com/xWMqCmD.png) - -* **H**ome, Page **D**own, Page **U**p, **E**nd -* Delete word forward/back on W/B - -## Layer 3: "Mouse keys" - -![Graphical representation of Layer 3](https://i.imgur.com/x5vmAyK.png) - -* Mouse keys -* Cursor movement: HJKL -* MB 1, 2, and 3 on F, D, and S, respectively -* Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) -* Change mouse acceleration on U, I, O (0, 1, 2) - -## Layer 4: "The FN layer" - -![Graphical representation of Layer 4](https://i.imgur.com/6favpke.png) - -* F1-12 -* Del on backspace -* Lots of RGB controls -* RESET firmware on backslash -* Screen brightness: Z (decrease), X (increase) diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c deleted file mode 100644 index 7f3b24de74ef..000000000000 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c +++ /dev/null @@ -1,101 +0,0 @@ -/* Copyright 2022 Murali Suresh - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_ansi( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, LT(2,KC_BSLS), - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, - KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, - _______, _______, _______, TO(3) , _______, _______, _______, _______ - ), - [2] = LAYOUT_60_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, KC_DEL, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_60_ansi( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, LT(4,KC_BSPC), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - MO(4) , KC_LGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL - ), - [4] = LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, KC_HOME, _______, _______, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, KC_PGUP, NK_TOGG, _______, _______, _______, _______, _______, - _______, _______, _______, TO(0) , _______, _______, _______, _______ - ), -}; - -void highlight_layer3(void){ - // F9-F12 - rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(3, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(2, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(1, 0xFF, 0xFF, 0xFF); - // F1-F4 - rgb_matrix_set_color(9, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(10, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(11, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(12, 0xFF, 0xFF, 0xFF); - // Reset - rgb_matrix_set_color(14, 0x99, 0x99, 0xFF); - // Pause + Slck + PrScr - rgb_matrix_set_color(15, 0xFF, 0x99, 0x00); - rgb_matrix_set_color(16, 0xFF, 0x99, 0x00); - rgb_matrix_set_color(17, 0xFF, 0x99, 0x00); - // Pgup, Home - rgb_matrix_set_color(39, 0x00, 0x99, 0x00); - rgb_matrix_set_color(24, 0x00, 0x99, 0x00); - // hjkl - rgb_matrix_set_color(31, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(32, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(33, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(34, 0x00, 0x00, 0xFF); - // PgDwn, End - rgb_matrix_set_color(36, 0x00, 0x99, 0x00); - rgb_matrix_set_color(46, 0x00, 0x99, 0x00); -} - -bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); - if (!g_suspend_state) { - switch (get_highest_layer(layer_state)) { - case 3: - highlight_layer3(); break; - default: - break; - } - } - if ( this_led & (1<. - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,------------------------------------------------------------------------------------------. - * | ` ~ | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | - | = | Bkspc | - * |------------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | - * |------------------------------------------------------------------------------------------+ - * | Ctl_T(C) | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | - * |------------------------------------------------------------------------------------------+ - * | MO1 | Cmd | Alt | Space | RAlt | Cmd | MO2 | RCTL | - * `------------------------------------------------------------------------------------------' - */ - [0] = LAYOUT_60_ansi( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, LT(1,KC_BSPC), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - MO(1) , KC_LGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL - ), - /* Layer1 - * ,------------------------------------------------------------------------------------------. - * | ` ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | - * |------------------------------------------------------------------------------------------+ - * | | | | | | | Y | | I | | PScr| Slck| Paus| Reset | - * |------------------------------------------------------------------------------------------+ - * | | | | | | | Left| Down| Up | Rght| Home| Pgup| | - * |------------------------------------------------------------------------------------------+ - * | Shift | V- | V+ | C | | | | | | End | PgDn| | - * |------------------------------------------------------------------------------------------+ - * | | | | TO3 | | | | | - * `------------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_60_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, - _______, KC_HOME, _______, _______, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, KC_PGUP, NK_TOGG, _______, _______, _______, _______, _______, - _______, _______, _______, TO(3) , _______, _______, _______, _______ - ), - [2] = LAYOUT_60_ansi( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_60_ansi( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, TO(0), - _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, - _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, KC_P1, KC_P2, KC_P3, _______, KC_UP, - _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT - ), -}; - -void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { - rgb_matrix_set_color( i, red, green, blue ); - } - } -} - -void highlight_layer1(void){ - // F9-F12 - rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(3, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(2, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(1, 0xFF, 0xFF, 0xFF); - // F1-F4 - rgb_matrix_set_color(9, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(10, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(11, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(12, 0xFF, 0xFF, 0xFF); - // Reset - rgb_matrix_set_color(14, 0x99, 0x99, 0xFF); - // Pause + Slck + PrScr - rgb_matrix_set_color(15, 0xFF, 0x99, 0x00); - rgb_matrix_set_color(16, 0xFF, 0x99, 0x00); - rgb_matrix_set_color(17, 0xFF, 0x99, 0x00); - // Pgup, Home - rgb_matrix_set_color(39, 0x00, 0x99, 0x00); - rgb_matrix_set_color(24, 0x00, 0x99, 0x00); - // hjkl - rgb_matrix_set_color(31, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(32, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(33, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(34, 0x00, 0x00, 0xFF); - // PgDwn, End - rgb_matrix_set_color(36, 0x00, 0x99, 0x00); - rgb_matrix_set_color(46, 0x00, 0x99, 0x00); -} - -void highlight_layer2(void){ - // Mode - rgb_matrix_set_color(18, 0xFF, 0xFF, 0xFF); - // Value - rgb_matrix_set_color(19, 0x4C, 0x00, 0x99); - rgb_matrix_set_color(20, 0x4C, 0x00, 0x99); - // Sat - rgb_matrix_set_color(21, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(22, 0xFF, 0xFF, 0xFF); - // Hue - rgb_matrix_set_color(23, 0x99, 0x99, 0x00); - rgb_matrix_set_color(24, 0x99, 0x99, 0x00); - // Toggle - rgb_matrix_set_color(26, 0xFF, 0xFF, 0xFF); - // Speed - rgb_matrix_set_color(31, 0xFF, 0x99, 0x00); - rgb_matrix_set_color(32, 0xFF, 0x99, 0x00); -} - -void highlight_layer3(void) { - int ins_key_block[9] = {25, 24, 23, 38, 37, 36, 50, 49, 48}; - for(int i = 0; i < 9; i++) { - rgb_matrix_set_color(ins_key_block[i], 0x00, 0x99, 0x00); - } - int num_key_block[9] = {20, 19, 18, 33, 32, 31, 45, 44, 43}; - for(int i = 0; i < 9; i++) { - rgb_matrix_set_color(num_key_block[i], 0x00, 0x09, 0x09); - } - int easy_arrow_keys[4] = {41, 55, 54, 53}; - for(int i = 0; i < 4; i++) { - rgb_matrix_set_color(easy_arrow_keys[i], 0x09, 0x00, 0x09); - } -} - -bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); - if (!g_suspend_state) { - switch (get_highest_layer(layer_state)) { - case 1: - highlight_layer1(); break; - case 2: - highlight_layer2(); break; - case 3: - /* rgb_matrix_layer_helper(0x03, 0x03, 0x00); */ - highlight_layer3(); - break; - default: - break; - } - } - if ( this_led & (1<. + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + 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, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/dztech/dz60v2/keymaps/via/keymap.c b/keyboards/dztech/dz60v2/keymaps/via/keymap.c new file mode 100644 index 000000000000..f3372b151ca6 --- /dev/null +++ b/keyboards/dztech/dz60v2/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* 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] = { + LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + 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, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/dztech/dz60v2/keymaps/via/rules.mk b/keyboards/dztech/dz60v2/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/dztech/dz60v2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/dztech/dz60v2/readme.md b/keyboards/dztech/dz60v2/readme.md new file mode 100644 index 000000000000..51ccd9a12bb2 --- /dev/null +++ b/keyboards/dztech/dz60v2/readme.md @@ -0,0 +1,26 @@ +# DZ60 60% Mechanical Keyboard PCB + +## A Customizable 60% Mechanical Keyboard PCB + +* Keyboard Maintainer: QMK Community +* Hardware Supported: DZ60 60% Mechanical Keyboard PCB +* Hardware Availability: [KBDfans](https://kbdfans.com/collections/60/products/dz60-60-pcb) + +There are two versions of the DZ60 PCB. Please use the appropriate firmware for your board. + +* V1: 1.6mm thickness PCB; +* V2: 1.2mm thickness PCB + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + +Make example for this keyboard (after setting up your build environment): + + make dztech/dz60v2:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/dz60v2/rules.mk b/keyboards/dztech/dz60v2/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/dztech/dz60v2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h index 43e1b1c609a0..edfc7b71716b 100644 --- a/keyboards/dztech/dz64rgb/config.h +++ b/keyboards/dztech/dz64rgb/config.h @@ -48,8 +48,7 @@ #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #define ENABLE_RGB_MATRIX_TYPING_HEATMAP #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_COUNT 1 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define RGB_MATRIX_LED_COUNT 64 #endif #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/dztech/dz64rgb/dz64rgb.c b/keyboards/dztech/dz64rgb/dz64rgb.c index 5fa08a3ee8c6..561a9727e50d 100644 --- a/keyboards/dztech/dz64rgb/dz64rgb.c +++ b/keyboards/dztech/dz64rgb/dz64rgb.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json index aa69238191d7..ca2dd46bd2e4 100644 --- a/keyboards/dztech/dz64rgb/info.json +++ b/keyboards/dztech/dz64rgb/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], diff --git a/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c b/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c deleted file mode 100644 index 914d1cc7566d..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/adi/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_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_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, - LCTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_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, KC_HOME, - 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, QK_BOOT, KC_PGUP, - LCTL_T(KC_CAPS), RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_PGDN, - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_VOLU, KC_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT - ) - -}; diff --git a/keyboards/dztech/dz65rgb/keymaps/adi/readme.md b/keyboards/dztech/dz65rgb/keymaps/adi/readme.md deleted file mode 100644 index fd3a6744ca2f..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/adi/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Adi's DZ65RGB Layout -![Layout Visual](https://i.imgur.com/xuFkvVI.png) - -This layout modifies the extra row on the right and makes some of the key bindings easier to reach on Layer 1. -## Step by Step -1. Build your Firmware: run build command in directory -```make dztech/dz65rgb/v1:adi``` -2. Flash your Firmware: - * Open QMK Toolbox Application - * Open firmware file: dztech_dz65rgb_v1_adi.bin - * Unplug keyboard USB-C, and hold the ESC key while plugging it back in - * Check that QMK Toolbox displays: *** STM32 device connected. - * Hit the flash button! diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h deleted file mode 100644 index 76feedceb07f..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#define LEADER_TIMEOUT 300 -#define FORCE_NKRO -#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c deleted file mode 100644 index d4e1851f68cb..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c +++ /dev/null @@ -1,243 +0,0 @@ -#include QMK_KEYBOARD_H - -// Config -const uint8_t MAIN_COLOR[3] = {0xFF, 0x00, 0x00}; - -// layers, ordering is important! -enum layers { - _MAIN, - _INDEX, - _FN, - _MULTIMEDIA, - _EMOJI, - _EXT1, - _EXT2, - _EXT3, - _EXT4, - _EXT5, - _EXT6, - _RGB, - _CONFIG, -} - -const layers_leds_map[] = { - [_MAIN] = 0, - [_INDEX] = 1, - [_FN] = 2, - [_MULTIMEDIA] = 3, - [_EMOJI] = 4, - [_EXT1] = 5, - [_EXT2] = 6, - [_EXT3] = 7, - [_EXT4] = 8, - [_EXT5] = 9, - [_EXT6] = 10, - [_RGB] = 11, - [_CONFIG] = 12, -}; - -enum unicode_names { - UC_GRINNING_FACE, // 😃 - UC_BEAMING_FACE, // 😁 - UC_GRINNING_FACE_WITH_SWEAT, // 😅 - UC_ROLLING_LAUGHING, // ðŸĪĢ - UC_FACE_TEARS_JOY, // 😂 - UC_WINKING_FACE, // 😉 - UC_SMILING_FACE_HALO, // 😇 - UC_SMILING_FACE_HEARTS, // ðŸĨ° - UC_SMILING_FACE_HEART_EYES, // 😍 - UC_FACE_BLOWING_KISS, // 😘 - UC_FACE_SAVORING_FOOD, // 😋 - UC_ZANY_FACE, // ðŸĪŠ - UC_HUGGING_FACE, // ðŸĪ— - UC_SHUSHING_FACE, // ðŸĪŦ - UC_THINKING_FACE, // ðŸĪ” - UC_FACE_RAISED_EYEBROW, // ðŸĪĻ - UC_NEUTRAL_FACE, // 😐 - UC_SMIRKING_FACE, // 😏 - UC_FACE_ROLLING_EYES, // 🙄 - UC_PENSIVE_FACE, // 😔 - UC_FACE_VOMITING, // ðŸĪŪ - UC_WOOZY_FACE, // ðŸĨī - UC_PLEADING_FACE, // ðŸĨš - UC_LOUDLY_CRYING_FACE, // 😭 - UC_DISAPPOINTED_FACE, // 😞 - UC_FACE_SYMBOLS_MOUTH, // ðŸĪŽ - UC_SMILING_FACE_HORNS, // 😈 - UC_SKULL, // 💀 - UC_PILE_POO, // ðŸ’Đ - UC_GHOST, // ðŸ‘ŧ - UC_ALIEN_MONSTER, // ðŸ‘ū - UC_RED_HEART, // âĪ - UC_BOMB, // ðŸ’Ģ - UC_WAVING_HAND, // 👋 - UC_OK_HAND, // 👌 - UC_CLAPPING_HANDS, // 👏 - UC_EYES, // 👀 - UC_MAN_FACEPALMING, // ðŸĪĶ - UC_TURTLE, // ðŸĒ - UC_SNAKE, // 🐍 - UC_SPOUTING_WHALE, // ðŸģ - UC_DRAGON, // 🐉 - UC_TREX, // ðŸĶ– - UC_ARGENTINA_A, // ðŸ‡Ķ - UC_ARGENTINA_R, // 🇷 - UC_THUMBSDOWN, // 👍 - UC_THUMBSUP, // 👎 -}; - -const uint32_t unicode_map[] PROGMEM = { - [UC_GRINNING_FACE] = 0x1F603, - [UC_BEAMING_FACE] = 0x1F601, - [UC_GRINNING_FACE_WITH_SWEAT] = 0x1F605, - [UC_ROLLING_LAUGHING] = 0x1F923, - [UC_FACE_TEARS_JOY] = 0x1F602, - [UC_WINKING_FACE] = 0x1F609, - [UC_SMILING_FACE_HALO] = 0x1F607, - [UC_SMILING_FACE_HEARTS] = 0x1F970, - [UC_SMILING_FACE_HEART_EYES] = 0x1F60D, - [UC_FACE_BLOWING_KISS] = 0x1F618, - [UC_FACE_SAVORING_FOOD] = 0x1F60B, - [UC_ZANY_FACE] = 0x1F92A, - [UC_HUGGING_FACE] = 0x1F917, - [UC_SHUSHING_FACE] = 0x1F92B, - [UC_THINKING_FACE] = 0x1F914, - [UC_FACE_RAISED_EYEBROW] = 0x1F928, - [UC_NEUTRAL_FACE] = 0x1F610, - [UC_SMIRKING_FACE] = 0x1F60F, - [UC_FACE_ROLLING_EYES] = 0x1F644, - [UC_PENSIVE_FACE] = 0x1F614, - [UC_FACE_VOMITING] = 0x1F92E, - [UC_WOOZY_FACE] = 0x1F974, - [UC_PLEADING_FACE] = 0x1F97A, - [UC_LOUDLY_CRYING_FACE] = 0x1F62D, - [UC_DISAPPOINTED_FACE] = 0x1F61E, - [UC_FACE_SYMBOLS_MOUTH] = 0x1F92C, - [UC_SMILING_FACE_HORNS] = 0x1F608, - [UC_SKULL] = 0x1F480, - [UC_PILE_POO] = 0x1F4A9, - [UC_GHOST] = 0x1F47B, - [UC_ALIEN_MONSTER] = 0x1F47E, - [UC_RED_HEART] = 0x2764, - [UC_BOMB] = 0x1F4A3, - [UC_WAVING_HAND] = 0x1F44B, - [UC_OK_HAND] = 0x1F44C, - [UC_CLAPPING_HANDS] = 0x1F44F, - [UC_EYES] = 0x1F440, - [UC_MAN_FACEPALMING] = 0x1F926, - [UC_TURTLE] = 0x1F422, - [UC_SNAKE] = 0x1F40D, - [UC_SPOUTING_WHALE] = 0x1F433, - [UC_DRAGON] = 0x1F409, - [UC_TREX] = 0x1F996, - [UC_ARGENTINA_A] = 0x1F1E6, - [UC_ARGENTINA_R] = 0x1F1F7, - [UC_THUMBSDOWN] = 0x1F44E, - [UC_THUMBSUP] = 0x1F44D, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_65_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_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, RSFT_T(KC_APP), KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, QK_LEAD, TO(_INDEX), MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_INDEX] = LAYOUT_65_ansi( - TO(_MAIN), TO(_INDEX), TO(_FN), TO(_MULTIMEDIA), TO(_EMOJI), TO(_EXT1), TO(_EXT2), TO(_EXT3), TO(_EXT4), TO(_EXT5), TO(_EXT6), TO(_RGB), TO(_CONFIG), TO(_MAIN), KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), TO(_FN), KC_NO, KC_NO, KC_NO - ), - [_FN] = LAYOUT_65_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_TAB, 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_INS, KC_SCRL, - KC_APP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PAUS, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, - KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, TO(_INDEX), KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R - ), - [_MULTIMEDIA] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_VOLU, KC_MUTE, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_MPRV, KC_VOLD, KC_MNXT - ), - [_EMOJI] = LAYOUT_65_ansi( - TO(_MAIN), X(UC_GRINNING_FACE), X(UC_BEAMING_FACE), X(UC_GRINNING_FACE_WITH_SWEAT), X(UC_ROLLING_LAUGHING), X(UC_FACE_TEARS_JOY), X(UC_WINKING_FACE), X(UC_SMILING_FACE_HALO), X(UC_SMILING_FACE_HEARTS), X(UC_SMILING_FACE_HEART_EYES), X(UC_FACE_BLOWING_KISS), X(UC_FACE_SAVORING_FOOD), X(UC_ZANY_FACE), KC_BSPC, KC_HOME, - KC_TAB, X(UC_HUGGING_FACE), X(UC_SHUSHING_FACE), X(UC_THINKING_FACE), X(UC_FACE_RAISED_EYEBROW), X(UC_NEUTRAL_FACE), X(UC_SMIRKING_FACE), X(UC_FACE_ROLLING_EYES), X(UC_PENSIVE_FACE), X(UC_FACE_VOMITING), X(UC_WOOZY_FACE), X(UC_PLEADING_FACE), X(UC_LOUDLY_CRYING_FACE), X(UC_THUMBSUP), KC_END, - KC_APP, X(UC_DISAPPOINTED_FACE), X(UC_FACE_SYMBOLS_MOUTH), X(UC_SMILING_FACE_HORNS), X(UC_SKULL), X(UC_PILE_POO), X(UC_GHOST), X(UC_ALIEN_MONSTER), X(UC_RED_HEART), X(UC_BOMB), X(UC_WAVING_HAND), X(UC_OK_HAND), KC_ENT, KC_PGUP, - KC_LSFT, X(UC_CLAPPING_HANDS), X(UC_EYES), X(UC_MAN_FACEPALMING), X(UC_TURTLE), X(UC_SNAKE), X(UC_SPOUTING_WHALE), X(UC_DRAGON), X(UC_TREX), X(UC_ARGENTINA_A), X(UC_ARGENTINA_R), X(UC_THUMBSDOWN), KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, QK_LEAD, TO(_INDEX), TO(_MAIN), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_EXT1] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_EXT2] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_EXT3] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_EXT4] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_EXT5] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_EXT6] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_RGB] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, - KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), - [_CONFIG] = LAYOUT_65_ansi( - TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL2, - KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, DB_TOGG, EE_CLR, KC_NO, KC_ACL1, - KC_NO, UC_PREV, UC_NEXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0, - KC_NO, MAGIC_TOGGLE_NKRO, MAGIC_UNHOST_NKRO, MAGIC_HOST_NKRO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO - ), -}; - -bool rgb_matrix_indicators_user(void) { - - // CapsLock Light - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(30, MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); - } - - // Show Selected Layer - rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); - return false; -} diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/rules.mk b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/rules.mk deleted file mode 100644 index 1bd58cf79cda..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -LEADER_ENABLE = yes -UNICODEMAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/config.h b/keyboards/dztech/dz65rgb/keymaps/chocol8/config.h deleted file mode 100644 index 1c801d7e3c1c..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/chocol8/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define FORCE_NKRO diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c b/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c deleted file mode 100644 index 735ceef722dd..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/chocol8/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -enum tofu68_layers { - _QWERTY, - _FNM -}; - -#define FNM MO(_FNM) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_65_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_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_GRV, KC_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_LALT, KC_LCMD, KC_SPC, FNM, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FNM] = LAYOUT_65_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_MUTE, KC_VOLU, - _______, RGB_TOG, RGB_MOD, RGB_HUI ,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AG_TOGG, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R - ) -}; diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk b/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk deleted file mode 100644 index 1778a5e141ca..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -NKRO_ENABLE = yes # USB Nkey Rollover -VELOCIKEY_ENABLE = yes -# AUTO_SHIFT_ENABLE = yes # Auto Shift - -LTO_ENABLE = yes diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/config.h b/keyboards/dztech/dz65rgb/keymaps/drootz/config.h deleted file mode 100644 index 51fd5c6871e0..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/config.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 425 -#define TAP_HOLD_CAPS_DELAY 80 - -#ifdef RGB_MATRIX_ENABLE -/* Reset default from dz65rgb/v2 config.h */ -# undef DISABLE_RGB_MATRIX_SPLASH -# undef DISABLE_RGB_MATRIX_SOLID_SPLASH -# undef RGB_MATRIX_LED_FLUSH_LIMIT -# undef RGB_MATRIX_DEFAULT_MODE -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // default: 26 -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_DEFAULT_HUE 10 -# define RGB_MATRIX_DEFAULT_SAT 255 -# define RGB_MATRIX_DEFAULT_VAL 200 -# define RGB_MATRIX_DEFAULT_SPD 75 -/* Active RBG Modes */ -/* # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! */ -/* # undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out */ -/* # undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out */ -/* Disabling to optimize firmware size */ -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes -# undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation -# undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness -# undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard -# undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard -# undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue -#endif /* RBG MATRIX */ - -/* Firmware size Optimizations */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION -#define NO_ACTION_ONESHOT diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c deleted file mode 100644 index 8a7bbd22ec35..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c +++ /dev/null @@ -1,747 +0,0 @@ -#include QMK_KEYBOARD_H - -/**************** SOME GLOBALS *********************/ - -bool onMac = false; -bool isLeader = false; -bool isBlinking = false; -bool isRecording = false; -bool isPlaying = false; -const float led_dim_ratio = 0.50; -static uint16_t blink_cycle_timer, - blink_fade_in_timer, - blink_fade_out_timer, - macro_one_play_timer, - macro_two_play_timer, - macro_play_blink_timer = 2000; -static uint8_t fade_in_step_counter, - fade_out_step_counter, - blink_hsv_value; - -/**************** LED BLINK HELPER FUNCTIONS *********************/ - -/* -Function to set color with hsv arguments -- "hue", "sat" and "val" arguments above 255 will get value from rgb matrix config -- "val_ratio" is used to adjust brightness ratio -*/ -void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) { - const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h; - const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s; - const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio; - HSV hsv_in = {h, s, v}; - RGB rgb_out = hsv_to_rgb(hsv_in); - rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b); -} - -void reset_blink_cycle(void) { - blink_cycle_timer = timer_read(); - blink_fade_in_timer = timer_read(); - blink_fade_out_timer = timer_read(); - blink_hsv_value = 0; - fade_in_step_counter = 0; - fade_out_step_counter = 0; -} - -void reset_blink_status(void) { - isRecording = false; - isPlaying = false; - isBlinking = false; -} - -void get_this_led_blinking(uint8_t led_index, bool speed, uint8_t hue, uint8_t sat) { - const uint16_t static_on_time = speed ? 200 : 500; - const uint16_t static_off_time = speed ? 200 : 500; - const uint8_t fade_timing = speed ? 100 : 150; - const uint8_t fade_step = speed ? 10 : 15; - const uint8_t fade_value_step_size = rgb_matrix_config.hsv.v / fade_step; - const uint8_t fade_cycle_time_elapsed = fade_timing / fade_step; - if (timer_elapsed(blink_cycle_timer) < static_on_time) { - if (timer_elapsed(blink_fade_in_timer) > fade_cycle_time_elapsed && fade_in_step_counter < fade_step) { - blink_hsv_value = blink_hsv_value + fade_value_step_size; - fade_in_step_counter = fade_in_step_counter + 1; - blink_fade_in_timer = timer_read(); - } - } else { - if (timer_elapsed(blink_fade_out_timer) > fade_cycle_time_elapsed && fade_out_step_counter < fade_step) { - blink_hsv_value = blink_hsv_value - fade_value_step_size; - fade_out_step_counter = fade_out_step_counter + 1; - blink_fade_out_timer = timer_read(); - } - } - - rgb_matrix_set_color_hsv(led_index, hue, sat, blink_hsv_value, 0.75); - - if (timer_elapsed(blink_cycle_timer) > static_on_time + static_off_time) { - reset_blink_cycle(); - } -} - - -/**************** LAYOUT *********************/ - -/* -[LEDS] - 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 - -[KEYS] -ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, BCK, INS -TAB, Q, W, E, R, T, Y, U, I, O, P, [, ], \,PGUP -CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN,PGDN -SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, DEL -CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT -*/ - -enum layers { - _MAIN, - _MAC, - _FN -} - -const layers_leds_map[] = { - [_MAIN] = 45, - [_MAC] = 46, - [_FN] = 63 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_65_ansi( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, - KC_TAB, KC_Q, KC_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, - QK_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_MAC] = LAYOUT_65_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_FN] = LAYOUT_65_ansi( - DM_RSTP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, - KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DM_PLY2, DM_REC2, - KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DM_PLY1, DM_REC1, - KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD - ), -}; - -//**************** MATRIX SCANS *********************// - -bool rgb_matrix_indicators_user(void) { - - #ifdef RGB_MATRIX_ENABLE - - /*Ensure some leds don't completeley turn off if hsv value setting is below 100 in the rgb matrix config */ - const uint8_t led_constant_val = rgb_matrix_config.hsv.v < 100 ? 100 : rgb_matrix_config.hsv.v; - - /* CapsLock LED indicator */ - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE - } - - /* Current layer LED indicator */ - rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE - - /* Leader Key LED under-glow */ - if (isLeader) { - rgb_matrix_set_color_hsv(14, 999, 999, 999, 1); // CONFIG - rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG - } else { - rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG - } - - /* Blinking LED indicator when recording Dynamic Macro */ - if (isRecording && isBlinking) { - get_this_led_blinking(0, false, 0, 255); - } - - /* Blinking LED indicator when playing Dynamic Macro */ - if (isPlaying && isBlinking) { - if (timer_elapsed(macro_one_play_timer) < macro_play_blink_timer || timer_elapsed(macro_two_play_timer) < macro_play_blink_timer) { - get_this_led_blinking(0, true, 85, 255); - } else { - if (isBlinking && isPlaying) { - reset_blink_status(); - reset_blink_cycle(); - } - } - } - - switch (get_highest_layer(layer_state)) { - case _FN: - /* Dynamic Macro LED indicator */ - if (isRecording) { - rgb_matrix_set_color_hsv(0, 0, 999, 999, 1); /* RED macro stop */ - } else { - rgb_matrix_set_color_hsv(43, 0, 999, 999, led_dim_ratio); /* RED macro 1 record */ - rgb_matrix_set_color_hsv(29, 0, 999, 999, led_dim_ratio); /* RED macro 2 record */ - rgb_matrix_set_color_hsv(42, 85, 999, 999, led_dim_ratio); /* GREEN macro 1 play */ - rgb_matrix_set_color_hsv(28, 85, 999, 999, led_dim_ratio); /* GREEN macro 2 play */ - } - /* Layer LED indicators */ - rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */ - rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */ - break; - } - - #endif /* RGB_MATRIX */ - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool pressed = record->event.pressed; - if (pressed) { - switch (keycode) { - case TO(_MAC): - onMac = true; - break; - case TO(_MAIN): - onMac = false; - break; - } - } - return true; -} - -//**************** LEADER *********************// - -#ifdef LEADER_ENABLE - -/******* FRENCH ACCENT HELPER FUNCTIONS & DECLARATIONS *************/ -/*Most comonly used accents only*/ - -enum french_letter { - _A, - _E, - _I, - _O, - _U -}; - -const uint8_t french_letter_index[5] = { - [_A] = 0, - [_E] = 1, - [_I] = 2, - [_O] = 3, - [_U] = 4 -}; - -enum french_accent { - _CIRCUMFLEX, - _GRAVE, - _ACUTE -}; - -const uint8_t french_accent_index[3] = { - [_CIRCUMFLEX] = 0, - [_GRAVE] = 1, - [_ACUTE] = 2 -}; - -/* -This represent unicode decimal values -Each index will be mapped to numpad keycode to out put the correct sequence -All codes in this array should be of size 3 -All accent codes have the same index position as in the french_accent_index Array -*/ -const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/ - { - { - 131, // ÃĒ - 194 //  - },{ - 133, // à - 192 // À - } - },{ - { - 136, // Ê - 202 // Ê - },{ - 138, // ÃĻ - 200 // È - },{ - 130, // ÃĐ - 201 // É - } - },{ - { - 140, // ÃŪ - 206 // Î - } - },{ - { - 147, // Ãī - 212 // Ô - } - },{ - { - 150, // Ãŧ - 219 // Û - },{ - 151, // Ãđ - 217 // Ù - } - } -}; - -void break_int_in_array(uint8_t int_code, uint8_t size, uint8_t *array) { - uint8_t i; - i = size; - while (i--) { - array[i] = int_code%10; - int_code /= 10; - } -} - -/* -Function meant to be used in Leader Key macros to output most commonly used french accents -This is designed and work on an English language keyboard setting on both Windows and Mac -=> accept french_letter and french_accent enum's as argument -*/ -void send_french_accent(uint8_t letter, uint8_t accent) { - - bool isCaps; - uint8_t decimal_unicode_in; - uint8_t decimal_unicode_size = 3; - uint8_t decimal_unicode_out[decimal_unicode_size]; - - /*Map to numpad keycodes*/ - const uint16_t numpad_key_map[10] = { - KC_P0, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9 - }; - - /*Map to letter keycodes*/ - const uint16_t french_letter_key_map[5] = { - KC_A, KC_E, KC_I, KC_O, KC_U - }; - - /*Map to mod keys for French Mac shortcuts*/ - const uint16_t osx_mod_key_map[3] = { - KC_I, // _CIRCUMFLEX - KC_GRAVE, // _GRAVE - KC_E // _ACUTE - }; - - /* - Function to tap the correct keycodes in sequence for the - "Windows Alt Code" requested, aka Decimal Unicodes - */ - void tap_win_alt_code(void) { - if (isCaps) { - tap_code(numpad_key_map[0]); // Leading 0 on all upper case "Windows alt codes" - } - for (int i = 0; i < decimal_unicode_size; ++i) { - tap_code(numpad_key_map[decimal_unicode_out[i]]); - } - } - - isCaps = host_keyboard_led_state().caps_lock ? true : false; - - if (onMac) { - if (isCaps) { - SEND_STRING(SS_TAP(X_CAPS_LOCK)); - register_code(KC_LALT); - tap_code(osx_mod_key_map[accent]); - unregister_code(KC_LALT); - register_code(KC_LSFT); - tap_code(french_letter_key_map[letter]); - unregister_code(KC_LSFT); - tap_code(KC_CAPS); - } else { - register_code(KC_LALT); - tap_code(osx_mod_key_map[accent]); - unregister_code(KC_LALT); - tap_code(french_letter_key_map[letter]); - } - } else { - /*get the correct decimal unicode*/ - decimal_unicode_in = isCaps ? french_decimal_unicodes[letter][accent][1] : french_decimal_unicodes[letter][accent][0]; - break_int_in_array(decimal_unicode_in, decimal_unicode_size, decimal_unicode_out); - register_code(KC_LALT); - tap_win_alt_code(); - unregister_code(KC_LALT); - } -} - -/*Couple functions used to output the same macro on two different sequences*/ - -/* (|) */ -void ldrkey_send_paranthesis_wrap_ini(void) { - SEND_STRING("()" SS_TAP(X_LEFT)); -} - -/* (X) */ -void ldrkey_send_paranthesis_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")"); -} - -/* (selection) */ -void ldrkey_send_paranthesis_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -/* [|] */ -void ldrkey_send_bracket_wrap_ini(void) { - SEND_STRING("[]" SS_TAP(X_LEFT)); -} - -/* [X] */ -void ldrkey_send_bracket_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "[" SS_LALT(SS_TAP(X_RIGHT)) "]") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "[" SS_LCTL(SS_TAP(X_RIGHT)) "]"); -} - -/* [selection] */ -void ldrkey_send_bracket_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "[]" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "[]" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -/* {|} */ -void ldrkey_send_curlybrace_wrap_ini(void) { - SEND_STRING("{}" SS_TAP(X_LEFT)); -} - -/* {X} */ -void ldrkey_send_curlybrace_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "{" SS_LALT(SS_TAP(X_RIGHT)) "}") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "{" SS_LCTL(SS_TAP(X_RIGHT)) "}"); -} - -/* {selection} */ -void ldrkey_send_curlybrace_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "{}" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "{}" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -void leader_start_user(void) { - isLeader = true; -} - -void leader_end_user(void) { - isLeader = false; - - /* Sequences on layer _MAIN & _MAC */ - /* ÃĐÉ => LdrKey > / */ - if (leader_sequence_one_key(KC_SLSH)) { - send_french_accent(_E, _ACUTE); - } - /* àÀ => LdrKey > A */ - if (leader_sequence_one_key(KC_A)) { - send_french_accent(_A, _GRAVE); - } - /* ÃĻÈ => LdrKey > E */ - if (leader_sequence_one_key(KC_E)) { - send_french_accent(_E, _GRAVE); - } - /* ÃđÙ => LdrKey > U */ - if (leader_sequence_one_key(KC_U)) { - send_french_accent(_U, _GRAVE); - } - /* ÃĒ => LdrKey > A > A */ - if (leader_sequence_two_keys(KC_A, KC_A)) { - send_french_accent(_A, _CIRCUMFLEX); - } - /* ÊÊ => LdrKey > E > E */ - if (leader_sequence_two_keys(KC_E, KC_E)) { - send_french_accent(_E, _CIRCUMFLEX); - } - /* ÃŪÎ => LdrKey > I > I */ - if (leader_sequence_two_keys(KC_I, KC_I)) { - send_french_accent(_I, _CIRCUMFLEX); - } - /* ÃīÔ => LdrKey > O > O */ - if (leader_sequence_two_keys(KC_O, KC_O)) { - send_french_accent(_O, _CIRCUMFLEX); - } - /* ÃŧÛ => LdrKey > U > U */ - if (leader_sequence_two_keys(KC_U, KC_U)) { - send_french_accent(_U, _CIRCUMFLEX); - } - /* çÇ => LdrKey > C */ - if (leader_sequence_one_key(KC_C)) { - if (onMac) { - SEND_STRING(SS_LALT("c")); - } else { - host_keyboard_led_state().caps_lock ? SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P2) SS_TAP(X_P8) SS_UP(X_LALT)) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P3) SS_TAP(X_P5) SS_UP(X_LALT)); - } - } - /* CapsLock */ - if (leader_sequence_one_key(QK_LEAD)) { - tap_code(KC_CAPS); - } - /* Âą => LdrKey > = > - */ - if (leader_sequence_two_keys(KC_EQL, KC_MINS)) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT)); - } - /* â‰Ī => LdrKey > - > = */ - if (leader_sequence_two_keys(KC_MINS, KC_EQL)) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT)); - } - /* â‰Ĩ => LdrKey > = > = */ - if (leader_sequence_two_keys(KC_EQL, KC_EQL)) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT)); - } - /* <= => LdrKey > , > , */ - if (leader_sequence_two_keys(KC_COMM, KC_COMM)) { - SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT)); - } - /* => => LdrKey > . > . */ - if (leader_sequence_two_keys(KC_DOT, KC_DOT)) { - SEND_STRING("=>"); - } - /* ", " => LdrKey > " " */ - if (leader_sequence_one_key(KC_SPC)) { - SEND_STRING(", "); - } - /* ". " => LdrKey > " " > " " */ - if (leader_sequence_two_keys(KC_SPC, KC_SPC)) { - SEND_STRING(". "); - } - /* Backward delete current word (on cursor) */ - if (leader_sequence_two_keys(KC_BSPC, KC_BSPC)) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); - } - /* Previous word delete */ - if (leader_sequence_one_key(KC_BSPC)) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); - } - /* Forward delete current word (on cursor) */ - if (leader_sequence_two_keys(KC_DEL, KC_DEL)) { - - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); - } - /* Next word delete */ - if (leader_sequence_one_key(KC_DEL)) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); - } - /* ` => LdrKey > Escape */ - if (leader_sequence_one_key(QK_GESC)) { - SEND_STRING("`"); - } - /* ``` => LdrKey > Escape > Escape > Escape */ - if (leader_sequence_three_keys(QK_GESC, QK_GESC, QK_GESC)) { - SEND_STRING("```"); - } - /* Printscreen => LdrKey > Insert */ - if (leader_sequence_one_key(KC_INS)) { - onMac ? SEND_STRING(SS_LGUI(SS_LSFT(SS_TAP(X_4)))) : SEND_STRING(SS_TAP(X_PSCR)); - } - /* Home => LdrKey > Page Up */ - if (leader_sequence_one_key(KC_PGUP)) { - onMac ? SEND_STRING(SS_TAP(X_HOME)) : SEND_STRING(SS_LCTL(SS_TAP(X_HOME))); - } - /* End => LdrKey > Page Down */ - if (leader_sequence_one_key(KC_PGDN)) { - onMac ? SEND_STRING(SS_TAP(X_END)) : SEND_STRING(SS_LCTL(SS_TAP(X_END))); - } - /* Close Curernt File/Tab => LdrKey > W */ - if (leader_sequence_one_key(KC_W)) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_W))) : SEND_STRING(SS_LCTL(SS_TAP(X_W))); - } - /* Close Current App => LdrKey > Q */ - if (leader_sequence_one_key(KC_Q)) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4))); - } - /* " => LdrKey > ' */ - if (leader_sequence_one_key(KC_QUOT)) { - SEND_STRING("\""); - } - /* "|" => LdrKey > ' > ' */ - if (leader_sequence_two_keys(KC_QUOT, KC_QUOT)) { - SEND_STRING("\"\"" SS_TAP(X_LEFT)); - } - /* "X" wrap => LdrKey > ' > ' > ' */ - if (leader_sequence_three_keys(KC_QUOT, KC_QUOT, KC_QUOT)) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "\"" SS_LALT(SS_TAP(X_RIGHT)) "\"") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "\"" SS_LCTL(SS_TAP(X_RIGHT)) "\""); - } - /* ( => LdrKey > Left Shift */ - if (leader_sequence_one_key(KC_LSFT)) { - SEND_STRING("("); - } - /* ) => LdrKey > Right Shift */ - if (leader_sequence_one_key(KC_RSFT)) { - SEND_STRING(")"); - } - /* (|) => LdrKey > Left Shift > Left Shift */ - if (leader_sequence_two_keys(KC_LSFT, KC_LSFT)) { - ldrkey_send_paranthesis_wrap_ini(); - } - /* (|) => LdrKey > Right Shift > Right Shift */ - if (leader_sequence_two_keys(KC_RSFT, KC_RSFT)) { - ldrkey_send_paranthesis_wrap_ini(); - } - /* (X) wrap => LdrKey > Left Shift > W */ - if (leader_sequence_two_keys(KC_LSFT, KC_W)) { - ldrkey_send_paranthesis_wrap_word(); - } - /* (X) wrap => LdrKey > Right Shift > W */ - if (leader_sequence_two_keys(KC_RSFT, KC_W)) { - ldrkey_send_paranthesis_wrap_word(); - } - /* (X) wrap selection => LdrKey > Left Shift > W > W */ - if (leader_sequence_three_keys(KC_LSFT, KC_W, KC_W)) { - ldrkey_send_paranthesis_wrap_selection(); - } - /* (X) wrap selection => LdrKey > Right Shift > W > W */ - if (leader_sequence_three_keys(KC_RSFT, KC_W, KC_W)) { - ldrkey_send_paranthesis_wrap_selection(); - } - /* [ => LdrKey > Left CTL */ - if (leader_sequence_one_key(KC_LCTL)) { - SEND_STRING("["); - } - /* ] => LdrKey > Right CTL */ - if (leader_sequence_one_key(KC_RCTL)) { - SEND_STRING("]"); - } - /* [|] => LdrKey > Left CTL > Left CTL */ - if (leader_sequence_two_keys(KC_LCTL, KC_LCTL)) { - ldrkey_send_bracket_wrap_ini(); - } - /* [|] => LdrKey > Right CTL > Right CTL */ - if (leader_sequence_two_keys(KC_RCTL, KC_RCTL)) { - ldrkey_send_bracket_wrap_ini(); - } - /* [X] wrap => LdrKey > Left CTL > W */ - if (leader_sequence_two_keys(KC_LCTL, KC_W)) { - ldrkey_send_bracket_wrap_word(); - } - /* [X] wrap => LdrKey > Right CTL > W */ - if (leader_sequence_two_keys(KC_RCTL, KC_W)) { - ldrkey_send_bracket_wrap_word(); - } - /* [X] wrap selection => LdrKey > Left CTL > W > W */ - if (leader_sequence_three_keys(KC_LCTL, KC_W, KC_W)) { - ldrkey_send_bracket_wrap_selection(); - } - /* [X] wrap selection => LdrKey > Right CTL > W > W */ - if (leader_sequence_three_keys(KC_RCTL, KC_W, KC_W)) { - ldrkey_send_bracket_wrap_selection(); - } - /* { => LdrKey > Left ALT */ - if (leader_sequence_one_key(KC_LALT)) { - SEND_STRING("{"); - } - /* } => LdrKey > Right ALT */ - if (leader_sequence_one_key(KC_RALT)) { - SEND_STRING("}"); - } - /* {|} => LdrKey > Left ALT > Left ALT */ - if (leader_sequence_two_keys(KC_LALT, KC_LALT)) { - ldrkey_send_curlybrace_wrap_ini(); - } - /* {|} => LdrKey > Right ALT > Right ALT */ - if (leader_sequence_two_keys(KC_RALT, KC_RALT)) { - ldrkey_send_curlybrace_wrap_ini(); - } - /* {X} wrap => LdrKey > Left ALT > W */ - if (leader_sequence_two_keys(KC_LALT, KC_W)) { - ldrkey_send_curlybrace_wrap_word(); - } - /* {X} wrap => LdrKey > Right ALT > W */ - if (leader_sequence_two_keys(KC_RALT, KC_W)) { - ldrkey_send_curlybrace_wrap_word(); - } - /* {X} wrap selection => LdrKey > Left ALT > W > W */ - if (leader_sequence_three_keys(KC_LALT, KC_W, KC_W)) { - ldrkey_send_curlybrace_wrap_selection(); - } - /* {X} wrap selection => LdrKey > Right ALT > W > W */ - if (leader_sequence_three_keys(KC_RALT, KC_W, KC_W)) { - ldrkey_send_curlybrace_wrap_selection(); - } - /* Select everything on this line before cursor => LdrKey > Left */ - if (leader_sequence_one_key(KC_LEFT)) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME))); - } - /* Select everything on this line after cursor => LdrKey > Right */ - if (leader_sequence_one_key(KC_RIGHT)) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END))); - } - /* Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */ - if (leader_sequence_two_keys(KC_LEFT, KC_LEFT)) { - onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END))); - } - /* Select everything on this line => LdrKey > Right > Left */ - if (leader_sequence_two_keys(KC_RIGHT, KC_LEFT)) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME))); - } - /* Select 1x Page Up on the page before the cursor => LdrKey > Up */ - if (leader_sequence_one_key(KC_UP)) { - SEND_STRING(SS_LSFT(SS_TAP(X_PGUP))); - } - /* Select 1x Page Down on the page after the cursor => LdrKey > Down */ - if (leader_sequence_one_key(KC_DOWN)) { - SEND_STRING(SS_LSFT(SS_TAP(X_PGDN))); - } - /* Select everything on the page before the cursor => LdrKey > Up > Up */ - if (leader_sequence_two_keys(KC_UP, KC_UP)) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME)))); - } - /* Select everything on the page after the cursor => LdrKey > Down > Down */ - if (leader_sequence_two_keys(KC_DOWN, KC_DOWN)) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END)))); - } - /* HELPER => spit out the url of the layout description page on github */ - if (leader_sequence_five_keys(QK_GESC, QK_GESC, QK_GESC, QK_GESC, QK_GESC)) { - SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz"); - } - /* google.ca => LdrKey > G > G */ - if (leader_sequence_two_keys(KC_G, KC_G)) { - SEND_STRING("https://google.ca" SS_TAP(X_ENT)); - } - /* @gmail => LdrKey > M > L > T */ - if (leader_sequence_three_keys(KC_M, KC_L, KC_T)) { - SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com"); - } - /* Show Desktop => LdrKey > D */ - if (leader_sequence_one_key(KC_D)) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_SPC)) "Mission" SS_TAP(X_ENT)) : SEND_STRING(SS_LGUI(SS_TAP(X_D))); - } -} - -#endif /* LEADER */ - -/**************** DYNAMIC MACRO *********************/ - -void dynamic_macro_record_start_user(int8_t direction) { - onMac = false; /* reset layer bool as dynamic macro clear the keyboard and reset layers. */ - if (!isBlinking && !isRecording) { - reset_blink_cycle(); - isBlinking = true; - isRecording = true; - } -} - -void dynamic_macro_record_end_user(int8_t direction) { - if (isBlinking && isRecording) { - reset_blink_status(); - reset_blink_cycle(); - } -} - -void dynamic_macro_play_user(int8_t direction) { - switch (direction) { - case 1: - if (!isBlinking && !isPlaying) { - reset_blink_cycle(); - isBlinking = true; - isPlaying = true; - macro_one_play_timer = timer_read(); - } - break; - case -1: - if (!isBlinking && !isPlaying) { - reset_blink_cycle(); - isBlinking = true; - isPlaying = true; - macro_two_play_timer = timer_read(); - } - break; - } -} diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md b/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md deleted file mode 100644 index 15f15d752bed..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md +++ /dev/null @@ -1,210 +0,0 @@ -![DZ65RGBv2 Layout Image - MAIN](https://res.cloudinary.com/drootz/image/upload/c_scale,w_800/v1582000645/drootz_dz65rgb_layer_0_main_n61oxl.jpg) - -# Drootz's DZ65RGBv2 ANSI Layout - -This layout fit best people who mainly type in English but regularly need to type in French _(using an English keyboard in OS setting)_. There are also some cool LED indicator effects and tons of Leader Key bindings/macros designed to work on both Mac and Windows OS. I tried to keep things as simple as possible from a usability perspective. Enjoy! - -- [LAYERS](#LAYERS) -- [LEADER KEY BINDINGS:](#LEADER-KEY-BINDINGS) - - [OS and Keyboard Macros](#OS-and-Keyboard-Macros) - - [French Accents](#French-Accents) - - [Special Characters and Punctuation](#Special-Characters-and-Punctuation) - - [Text Selection Macros](#Text-Selection-Macros) - - [Expanded Space Cadet Macros](#Expanded-Space-Cadet-Macros) - - [Text Expanders](#Text-Expanders) -- [STEP BY STEP FLASH INSTRUCTIONS](#STEP-BY-STEP-FLASH-INSTRUCTIONS) - -## HIGH LEVEL DESCRIPTION - -#### Dual function Capslock key -- Single tap to trigger the Leader Key -- Double tap to toggle Capslock ON/OFF - -#### 70+ useful Leader Key bindings and macros -- "Designed" to work on both Mac and Windows OS with an English keyboard OS setting -- Per key timing set at 425ms. Never a key sequence! -- 20+ Punctuation, ASCII, System shortcuts and macros -- 15+ French accents (ÃĻ, ÃĐ, Ê, È, É, Ê, à, etc.) - - No need to switch to a French keyboard OS setting! - - Preserve Capslock if enabled -- 8 Text "selection" shortcuts -- 20+ Expanded "Space Cadet" feature with Shift, Ctrl, Alt and DoubleQuote for (), [], {} and "" -- Few useful strings output for my workflow (You may want to change or remove them...) - -#### Dynamic Macros enabled -- Record/Play up to 2 Macros -- Nesting allowed - -#### Kept only 4 RGB matrix animations due to size of firmware -- Typing Heatmap => How hot is your WPM! (preferred animation because of LED indicators) -- Matrix Splash => Full gradient & value pulse away from a single key hit then fades value out -- Solid Splash => Hue & value pulse away from a single key hit then fades value out -- Solid Color => Static single hue, no speed support - -#### LED indicators and animations -- White led when Capslock toggle ON -- The brightness of all the other indicator can be adjusted globally with the RGB matrix brightness setting on layer \_FN -- White LED indicator for layer selection and current layer identification -- Red and green blinking indicator when "recording" or "playing" Dynamic Macros -- Leader Key LED indicator: - - Persistent 50% dimmed under-glow on top right corner key - - Light up at 100% for the duration of the Leader Key timeout when activated - - Hue, saturation and brightness can be globally adjusted with the RGB matrix settings on layer \_FN - -#### 3 Layers -- \_MAIN: Default layer for Windows OS -- \_MAC: Transparent layer that switch left hand modifier KC_LALT and KC_LGUI keys for MacOS -- \_FN: Functions & settings layer: - - Macro 1 & 2 keycodes (Record, Stop, Play) with LED indicators - - F Keys (F1...F12) on number row - - RGB matrix & animation settings - - Screen brightness & volume system controls - - Layer selection - -## LAYERS - -- Colored keys on the layout visuals below represent the position of the LED indicators on each layer. -- Press down and hold the MO(\_FN) key to access the \_FN layer -- Double tap on the Capslock key to toggle Capslock ON/OFF -- \_TRNS keys use the next lowest non-transparent key (on lower layers) -- \_NO keys are ignored (nothing happens) - -### [Layer 0: \_MAIN](http://www.keyboard-layout-editor.com/#/gists/67c22220856a927766bd3e0331ed782a) -![DZ65RGBv2 Layout Image - MAIN](https://res.cloudinary.com/drootz/image/upload/c_scale,w_800/v1582000645/drootz_dz65rgb_layer_0_main_n61oxl.jpg) - -### [Layer 1: \_MAC](http://www.keyboard-layout-editor.com/#/gists/4a32d80c67c778658febf28524fb5000) -![DZ65RGBv2 Layout Image - MAC](https://res.cloudinary.com/drootz/image/upload/c_scale,w_800/v1582000653/drootz_dz65rgb_layer_1_mac_z4tsaw.jpg) - -### [Layer 2: \_FN](http://www.keyboard-layout-editor.com/#/gists/b583bd7cc5b0a75b4610bbda18fba65e) -![DZ65RGBv2 Layout Image - FN](https://res.cloudinary.com/drootz/image/upload/c_scale,w_800/v1582000661/drootz_dz65rgb_layer_2_fn_zv8yte.jpg) - -## LEADER KEY BINDINGS - -The Leader Key on this layout is triggered by tapping the Capslock key once. Once triggered, we have 450ms between each key press to type any one of the sequences listed below. All sequences are designed to work on both Mac and Windows with an English keyboard OS setting. - -- [OS and Keyboard Macros](#OS-and-Keyboard-Macros) -- [French Accents](#French-Accents) -- [Special Characters and Ponctuation](#Special-Characters-and-Ponctuation) -- [Text Selection Macros](#Text-Selection-Macros) -- [Expanded Space Cadet Macros](#Expanded-Space-Cadet-Macros) -- [Text Expanders](#Text-Expanders) - -#### Legend: - -| Acronym | Description | -| :--- | :--- | -| LDR | Leader Key | -| SFT | Shift key | -| CTL | Control key | -| ESC | Escape key | -| Âķ | Text cursor position | - -### OS and Keyboard Macros - -| Output | Sequence | Description -| :--- | :--- | :--- | -| Toggle Capslock | `LDR LDR` | Single tap Capslock to trigger the LDR key | -| Delete all previous characters in word on cursor OR; | `LDR BACKSPACE` | n/a | -| => Delete previous word if triggered repeatedly | `LDR BACKSPACE` | n/a | -| Delete all forward characters in word on cursor OR; | `LDR DEL` | n/a | -| => Delete next word if triggered repeatedly | `LDR DEL` | n/a | -| Backward Delete whole word on cursor | `LDR BACKSPACE BACKSPACE` | n/a | -| Forward Delete whole word on cursor | `LDR DEL DEL` | n/a | -| Printscreen | `LDR INSERT` | n/a | -| Home | `LDR PAGE-UP` | n/a | -| End | `LDR PAGE-DOWN` | n/a | -| OS: Close current file/tab | `LDR W` | n/a | -| OS: Close current application | `LDR Q` | n/a | -| OS: Show Desktop(Win) or Mission Control(Mac) | `LDR D` | The Mac sequence will work with LaunchBar (Cmd+Space) | - -### French Accents - -| Output | Sequence | Description -| :--- | :--- | :--- | -| `à`Âķ   or   `À`Âķ | `LDR A` | Will output upper character if Capslock enabled. | -| `ÃĒ`Âķ   or   `Â`Âķ | `LDR A A` | Will output upper character if Capslock enabled. | -| `ç`Âķ   or   `Ç`Âķ | `LDR C` | Will output upper character if Capslock enabled. | -| `ÃĻ`Âķ   or   `È`Âķ | `LDR E` | Will output upper character if Capslock enabled. | -| `Ê`Âķ   or   `Ê`Âķ | `LDR E E` | Will output upper character if Capslock enabled. | -| `ÃĐ`Âķ   or   `É`Âķ | `LDR /` | Will output upper character if Capslock enabled | -| `ÃŪ`Âķ   or   `Î`Âķ | `LDR I I` | Will output upper character if Capslock enabled. | -| `Ãī`Âķ   or   `Ô`Âķ | `LDR O O` | Will output upper character if Capslock enabled. | -| `Ãđ`Âķ   or   `Ù`Âķ | `LDR U` | Will output upper character if Capslock enabled. | -| `Ãŧ`Âķ   or   `Û`Âķ | `LDR U U` | Will output upper character if Capslock enabled. | - -### Special Characters and Punctuation - -| Output | Sequence | Description | -| :--- | :--- | :--- | -| `Âą`Âķ | `LDR = -` | n/a | -| `â‰Ī`Âķ | `LDR - =` | n/a | -| `â‰Ĩ`Âķ | `LDR = =` | n/a | -| `=>`Âķ | `LDR , ,` | n/a | -| `<=`Âķ | `LDR . .` | n/a | -| ``` ` ``` Âķ | `LDR ESC` | n/a | -| \`\`\` Âķ | `LDR ESC ESC ESC` | n/a | -| `,` space Âķ | `LDR SPACE` | n/a | -| `.` space Âķ | `LDR SPACE SPACE` | n/a | - -### Text Selection Macros - -| Output | Sequence | -| :--- | :--- | -| Select everything on this line before cursor | `LDR LEFT-ARROW` | -| Select everything on this line after cursor | `LDR RIGHT-ARROW` | -| Select everything on this line before cursor up to end of previous line | `LDR LEFT-ARROW LEFT-ARROW` | n/a | -| Select everything on this line | `LDR RIGHT-ARROW LEFT-ARROW` | -| Select 1x Page Up on the page before the cursor | `LDR UP-ARROW` | -| Select 1x Page Down on the page after the cursor | `LDR DOWN-ARROW` | -| Select everything on the page before the cursor | `LDR UP-ARROW UP-ARROW` | -| Select everything on the page after the cursor | `LDR DOWN-ARROW DOWN-ARROW` | - -### Expanded Space Cadet Macros - -| Output | Sequence | Description | -| :--- | :--- | :--- | -| `"`Âķ | `LDR '` | Will output single double-quote | -| `"`Âķ`"` | `LDR ' '` | Will wrap cursor between two double-quotes | -| `"`WORD`"`Âķ | `LDR ' ' '` | Will wrap word on cursor between two double-quotes | -| `(`Âķ | `LDR LEFT-SFT` | Will output single left parenthesis | -| `)`Âķ | `LDR RIGHT-SFT` | Will output single right parenthesis | -| `(`Âķ`)` | `LDR LEFT-SFT LEFT-SFT` | Will wrap cursor between two parenthesis' | -| `(`Âķ`)` | `LDR RIGHT-SFT RIGHT-SFT` | Will wrap cursor between two parenthesis' | -| `(`WORD`)`Âķ | `LDR LEFT-SFT W` | Will wrap word on cursor between two parenthesis' | -| `(`WORD`)`Âķ | `LDR RIGHT-SFT W` | Will wrap word on cursor between two parenthesis' | -| `(`SELECTION`)`Âķ | `LDR LEFT-SFT W W` | Will wrap selection between two parenthesis' | -| `(`SELECTION`)`Âķ | `LDR RIGHT-SFT W W` | Will wrap selection between two parenthesis' | -| `[`Âķ | `LDR LEFT-CTL` | Will output single left bracket | -| `]`Âķ | `LDR RIGHT-CTL` | Will output single right bracket | -| `[`Âķ`]` | `LDR LEFT-CTL LEFT-CTL` | Will wrap cursor between two brackets' | -| `[`Âķ`]` | `LDR RIGHT-CTL RIGHT-CTL` | Will wrap cursor between two brackets' | -| `[`WORD`]`Âķ | `LDR LEFT-CTL W` | Will wrap word on cursor between two brackets' | -| `[`WORD`]`Âķ | `LDR RIGHT-CTL W` | Will wrap word on cursor between two brackets' | -| `[`SELECTION`]`Âķ | `LDR LEFT-CTL W W` | Will wrap selection between two brackets' | -| `[`SELECTION`]`Âķ | `LDR RIGHT-CTL W W` | Will wrap selection between two brackets' | -| `{`Âķ | `LDR LEFT-ALT` | Will output single left curly brace | -| `}`Âķ | `LDR RIGHT-ALT` | Will output single right curly brace | -| `{`Âķ`}` | `LDR LEFT-ALT LEFT-ALT` | Will wrap cursor between two curly braces' | -| `{`Âķ`}` | `LDR RIGHT-ALT RIGHT-ALT` | Will wrap cursor between two curly braces' | -| `{`WORD`}`Âķ | `LDR LEFT-ALT W` | Will wrap word on cursor between two curly braces' | -| `{`WORD`}`Âķ | `LDR RIGHT-ALT W` | Will wrap word on cursor between two curly braces' | -| `{`SELECTION`}`Âķ | `LDR LEFT-ALT W W` | Will wrap selection between two curly braces' | -| `{`SELECTION`}`Âķ | `LDR RIGHT-ALT W W` | Will wrap selection between two curly braces' | - -### Text Expanders - -| Output | Sequence | Description | -| :--- | :--- | :--- | -| https://google.ca | `LDR G G` | n/a | -| Layout Help URL | `LDR ESC ESC ESC ESC ESC` | URL to this readme.md page | -| My Gmail | `LDR M L T` | You may want to update this before compiling the firmware | - -## STEP BY STEP FLASH INSTRUCTIONS -1. Build the Firmware. Run build command in directory: `make dztech/dz65rgb/v2:drootz` - - Approximate firmware size: 27302/28672 (95%, 1370 bytes free) -2. Flash the Firmware: - - Open QMK Toolbox Application - - Open firmware file: dztech_dz65rgb_v2_drootz.hex - - Unplug keyboard USB, and hold the ESC key while plugging it back in - - Check that QMK Toolbox displays: *** DFU device connected. - - Hit the flash button! diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk b/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk deleted file mode 100644 index 2f8ab8ecc382..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -DYNAMIC_MACRO_ENABLE = yes -LEADER_ENABLE = yes - -# Firmware size Optimizations -LTO_ENABLE = yes -MOUSEKEY_ENABLE = no -NKRO_ENABLE = no -SPACE_CADET_ENABLE = no -TAP_DANCE_ENABLE = no -UNICODEMAP_ENABLE = no -SPLIT_KEYBOARD = no diff --git a/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c b/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c deleted file mode 100644 index f2ccd311e874..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2021 Jakob HÃĶrvig - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "haervig.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi( - QK_GESC, DK_1, CU_2, DK_3, CU_4, DK_5, CU_6, CU_7, CU_8, CU_9, CU_0, CU_MINS, CU_EQL, CU_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, CU_LBRC, CU_RBRC, CU_BSLS, KC_PGUP, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, CU_SCLN, CU_QUOT, KC_ENT, KC_PGDN, - CU_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, CU_COMM, CU_DOT, CU_SLSH, CU_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk b/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk deleted file mode 100644 index 676050bfcec7..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# Userspace defines -DANISH_ENABLE = yes # Enable Custom US Ansi Keycodes for PC with Danish set as input language -RGB_MATRIX_ENABLE = no # Disable the ugly RGB light \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h b/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h deleted file mode 100644 index 081b2d8b41d7..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 2021 Felix Springer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 FORCE_NKRO - -#ifdef RGB_MATRIX_ENABLE - -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING -# undef ENABLE_RGB_MATRIX_BAND_SAT -# undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# undef ENABLE_RGB_MATRIX_CYCLE_ALL -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -// Fix RGB_MATRIX_STARTUP, because RGB_MATRIX_CYCLE_ALL is disabled. -// The actual handling of RGB_EFFECTs is done in keymap.c -#undef RGB_MATRIX_DEFAULT_MODE - -#endif diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c b/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c deleted file mode 100644 index ec63d53bd7a4..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright 2021 Felix Springer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_user { - _QWERTY, - _AD, - _VI, - _FN, - _KB -}; - -enum keycodes_user { - _BASEEF = SAFE_RANGE, - _KITTEF -}; - -int selected_mode_user = RGB_MATRIX_CUSTOM_base_effect; // for layer_state_set_user() -bool process_record_user(uint16_t keycode, keyrecord_t * record) { - switch (keycode) { - case _BASEEF: - if (record->event.pressed) { - selected_mode_user = RGB_MATRIX_CUSTOM_base_effect; - } - return false; - case _KITTEF: - if (record->event.pressed) { - selected_mode_user = RGB_MATRIX_CUSTOM_kitt_effect; - } - return false; - default: - return true; - } -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_65_ansi( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ESC, KC_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(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_AD] = LAYOUT_65_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_VI] = LAYOUT_65_ansi( - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_ESC, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, _______, _______, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FN] = LAYOUT_65_ansi( - XXXXXXX, KC_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, - XXXXXXX, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SCRL, KC_PAUS, XXXXXXX, KC_PSTE, - CTL_T(KC_CAPS), KC_BRID, KC_VOLD, KC_BRIU, XXXXXXX, XXXXXXX, TG(_AD), TG(_VI), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COPY, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, KC_MSTP, KC_CUT, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, MO(_KB), XXXXXXX, KC_RCTL, KC_MPRV, KC_MPLY, KC_MNXT - ), - [_KB] = LAYOUT_65_ansi( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, _BASEEF, _KITTEF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, XXXXXXX, - KC_LSFT, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) - /* - [_LEDS] = LAYOUT_65_ansi( - 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , - 15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 , - 30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 , - 44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 , - 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 - ) - */ -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _QWERTY: - rgb_matrix_mode(selected_mode_user); - break; - case _AD: - if (selected_mode_user == RGB_MATRIX_CUSTOM_base_effect) { - rgb_matrix_mode(RGB_MATRIX_CUSTOM_base_ad_effect); - } else { - rgb_matrix_mode(selected_mode_user); - } - break; - case _VI: - rgb_matrix_mode(RGB_MATRIX_CUSTOM_vi_effect); - break; - case _FN: - rgb_matrix_mode(RGB_MATRIX_CUSTOM_fn_indicator); - break; - case _KB: - rgb_matrix_mode(RGB_MATRIX_CUSTOM_kb_indicator); - break; - } - - return state; -} diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md b/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md deleted file mode 100644 index 9de86be2d12c..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# jumper149's DZ65RGB v2 - -Run commands in the root directory of this repository. - -``` -qmk compile && sudo dfu-programmer atmega32u4 erase && sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex && sudo dfu-programmer atmega32u4 reset -``` - -## build - -``` -qmk compile -``` - -## flash - -Use `qmk flash` or if it is broken (unknown reason) you can try this workaround. -I personally had some problems on ArchLinux, that I didn't debug any further though. - -``` -sudo dfu-programmer atmega32u4 erase -sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex -sudo dfu-programmer atmega32u4 reset -``` diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc b/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc deleted file mode 100644 index 8d99ff9481ab..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc +++ /dev/null @@ -1,700 +0,0 @@ -/* Copyright 2021 Felix Springer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -RGB_MATRIX_EFFECT(base_effect) -RGB_MATRIX_EFFECT(base_ad_effect) -RGB_MATRIX_EFFECT(vi_effect) -RGB_MATRIX_EFFECT(fn_indicator) -RGB_MATRIX_EFFECT(kb_indicator) -RGB_MATRIX_EFFECT(kitt_effect) - -#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -/* -[_LEDS] = LAYOUT_65_ansi( - 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , - 15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 , - 30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 , - 44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 , - 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 -) -*/ - -// variable for startup animation -bool BASE_EFFECT_NOT_STARTED_YET = true; -uint8_t base_effect_startup_counter = 255; - -static HSV base_effect_math(HSV hsv, uint8_t i, uint8_t time) { - - if (BASE_EFFECT_NOT_STARTED_YET) { - base_effect_startup_counter = 0; - BASE_EFFECT_NOT_STARTED_YET = false; - } - - // startup animation - if (base_effect_startup_counter < 255) { - - // jump to correct indices for alpha keys - if (i == 0) { // only run for one key (key 0 is an arbitrary choice) - if (base_effect_startup_counter == 0) { - base_effect_startup_counter = 1; - } else if (base_effect_startup_counter == 1) { - base_effect_startup_counter = 17; - } else if (base_effect_startup_counter == 26) { - base_effect_startup_counter = 31; - } else if (base_effect_startup_counter == 40) { - base_effect_startup_counter = 45; - } else if (base_effect_startup_counter == 52) { - base_effect_startup_counter = 100; - } else if (base_effect_startup_counter == 120) { - base_effect_startup_counter = 255; - } else { - base_effect_startup_counter++; - } - } - - // overwrite some highlit keys - if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 36 && i <= 39) { - hsv.s = hsv.s; - } else if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 31 && i <= 34) { - hsv.s = hsv.s; - // light up alpha keys - } else if (i < base_effect_startup_counter && i >= 16 && i <= 25) { - hsv.s = 0; - } else if (31 + 39 - i < base_effect_startup_counter && i >= 31 && i <= 39) { - hsv.s = 0; - } else if (i < base_effect_startup_counter && i >= 45 && i <= 51) { - hsv.s = 0; - // light up number row - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 2) { - hsv.s = 0; - hsv.v = 1 * (hsv.v / 8); - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 3) { - hsv.s = 0; - hsv.v = 2 * (hsv.v / 8); - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 4) { - hsv.s = 0; - hsv.v = 3 * (hsv.v / 8); - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i >= 5 && i <= 8) { - hsv.v = hsv.v; - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 9) { - hsv.s = 0; - hsv.v = 3 * (hsv.v / 8); - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 10) { - hsv.s = 0; - hsv.v = 2 * (hsv.v / 8); - } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 11) { - hsv.s = 0; - hsv.v = 1 * (hsv.v / 8); - // light up punctuation keys - } else if (27 + 1 - i < base_effect_startup_counter - 100 && i >= 26 && i <= 27) { - hsv.s = 0; - hsv.v = hsv.v / 8; - } else if (41 + 2 - i < base_effect_startup_counter - 100 && i >= 40 && i <= 41) { - hsv.s = 0; - hsv.v = hsv.v / 8; - } else if (54 + 3 - i < base_effect_startup_counter - 100 && i >= 52 && i <= 54) { - hsv.s = 0; - hsv.v = hsv.v / 8; - // rest - } else { - hsv.v = 0; - } - - } else { - - switch (i) { - - // number row - case 0: - hsv.v = 0; - break; - case 1: - hsv.v = 0; - break; - case 2: - hsv.s = 0; - hsv.v = 1 * (hsv.v / 8); - break; - case 3: - hsv.s = 0; - hsv.v = 2 * (hsv.v / 8); - break; - case 4: - hsv.s = 0; - hsv.v = 3 * (hsv.v / 8); - break; - case 5: - hsv.v = hsv.v; - break; - case 6: - hsv.v = hsv.v; - break; - case 7: - hsv.v = hsv.v; - break; - case 8: - hsv.v = hsv.v; - break; - case 9: - hsv.s = 0; - hsv.v = 3 * (hsv.v / 8); - break; - case 10: - hsv.s = 0; - hsv.v = 2 * (hsv.v / 8); - break; - case 11: - hsv.s = 0; - hsv.v = 1 * (hsv.v / 8); - break; - case 12: - hsv.v = 0; - break; - - // punctuation keys - case 26: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 27: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 40: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 41: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 52: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 53: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - case 54: - hsv.s = 0; - hsv.v = hsv.v / 8; - break; - - default: - if ( - (i > 15 && i <= 25) || - (i > 30 && i <= 39) || - (i > 44 && i <= 51) - ) { - if (i > 35 && i <= 39) { - hsv.s = hsv.s; - } else if (i > 30 && i <= 34) { - hsv.s = hsv.s; - } else { - hsv.s = 0; - } - } else { - hsv.v = 0; - } - break; - - } - - } - - return hsv; -} - -bool base_effect(effect_params_t* params) { - return effect_runner_i(params, &base_effect_math); -} - -static HSV base_ad_effect_math(HSV hsv, uint8_t i, uint8_t time) { - - // no startup animation - if (BASE_EFFECT_NOT_STARTED_YET) { - base_effect_startup_counter = 255; // act like startup is already completed - BASE_EFFECT_NOT_STARTED_YET = false; - } - - switch (i) { - - // delete - case 14: - hsv.h = 0; - hsv.s = 255; - break; - - // insert - case 29: - hsv.h = 255/3; - hsv.s = 255; - break; - - // home - case 43: - hsv.s = 0; - break; - - // end - case 57: - hsv.s = 255; - break; - - default: - hsv = base_effect_math(hsv, i, time); - break; - - } - - return hsv; -} - -bool base_ad_effect(effect_params_t* params) { - return effect_runner_i(params, &base_ad_effect_math); -} - -static HSV vi_effect_math(HSV hsv, uint8_t i, uint8_t time) { - - // no startup animation - if (BASE_EFFECT_NOT_STARTED_YET) { - base_effect_startup_counter = 255; // act like startup is already completed - BASE_EFFECT_NOT_STARTED_YET = false; - } - - switch (i) { - - // hjkl - case 36: - break; - case 37: - break; - case 38: - break; - case 39: - break; - - // page up - case 22: - hsv.s = 0; - break; - - // page down - case 33: - hsv.s = 0; - break; - - // find - case 54: - hsv.s = 0; - break; - - default: - hsv.v = 0; - break; - - } - - return hsv; -} - -bool vi_effect(effect_params_t* params) { - return effect_runner_i(params, &vi_effect_math); -} - -static HSV fn_indicator_math(HSV hsv, uint8_t i, uint8_t time) { - - // cancel base effect startup - base_effect_startup_counter = 255; - - switch (i) { - - // F1 - F12 - case 1: - hsv.h = 0 * 255 / 3; - hsv.s = 255; - break; - case 2: - hsv.h = 0 * 255 / 3; - hsv.s = 255; - break; - case 3: - hsv.h = 0 * 255 / 3; - hsv.s = 255; - break; - case 4: - hsv.h = 0 * 255 / 3; - hsv.s = 255; - break; - case 5: - hsv.h = 1 * 255 / 3; - hsv.s = 255; - break; - case 6: - hsv.h = 1 * 255 / 3; - hsv.s = 255; - break; - case 7: - hsv.h = 1 * 255 / 3; - hsv.s = 255; - break; - case 8: - hsv.h = 1 * 255 / 3; - hsv.s = 255; - break; - case 9: - hsv.h = 2 * 255 / 3; - hsv.s = 255; - break; - case 10: - hsv.h = 2 * 255 / 3; - hsv.s = 255; - break; - case 11: - hsv.h = 2 * 255 / 3; - hsv.s = 255; - break; - case 12: - hsv.h = 2 * 255 / 3; - hsv.s = 255; - break; - - // delete/insert - case 13: - hsv.h = 0; - hsv.s = 255; - break; - case 14: - hsv.h = 1 * (255 / 3); - hsv.s = 255; - break; - - // paste/copy/cut - case 29: - hsv.s = 0; - break; - case 43: - hsv.h = 200; - hsv.s = 255; - break; - case 57: - hsv.h = 0; - hsv.s = 255; - break; - - // print/scroll/pause - case 25: - hsv.s = 0; - break; - case 26: - hsv.s = 0; - break; - case 27: - hsv.s = 0; - break; - - // caps lock - case 30: - hsv.s = 0; - break; - - // modifier - case 44: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - case 55: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - case 58: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - case 59: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - case 60: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - case 64: - hsv.s = 0; - hsv.v = hsv.v / 2; - break; - - // volume - case 18: // mute - hsv.h = 0; - break; - case 17: // increase - hsv.s = 255; - break; - case 32: // decrease - hsv.s = 0; - break; - - // brightness - case 33: // increase - hsv.s = 255; - break; - case 31: // decrease - hsv.s = 0; - break; - - // media - case 65: // previous - hsv.s = 0; - break; - case 67: // next - hsv.s = 0; - break; - case 56: // stop - hsv.h = 0; - break; - case 66: // play/pause - hsv.h = 255/3; - break; - - // menu - case 51: - hsv.s = 0; - break; - - // toggle AD layer - case 36: - hsv.h = 0; - break; - - // toggle VI layer - case 37: - hsv.h = 255/3; - break; - - // KB layer - case 62: - hsv.h = time; - hsv.s = 255; - break; - - // no function - default: - hsv.v = 0; - break; - - } - - return hsv; -} - -bool fn_indicator(effect_params_t* params) { - return effect_runner_i(params, &fn_indicator_math); -} - -static HSV kb_indicator_math(HSV hsv, uint8_t i, uint8_t time) { - - // cancel base effect startup - base_effect_startup_counter = 255; - - switch (i) { - - // test HSV - case 14: - break; - case 29: - break; - case 43: - break; - case 57: - break; - case 67: - break; - - // toggle RGB - case 16: - hsv.s = 0; - if (time < (255 / 2)) { - hsv.v = 255; - } else { - hsv.v = 0; - } - break; - - // cycle effect - case 17: - hsv.s = 255; - hsv.v = 255; - if (time < (255 / 3)) { - hsv.h = 0; - } else if (time < (2 * 255 / 3)) { - hsv.h = 255 / 3; - } else { - hsv.h = 2 * 255 / 3; - } - break; - - // adjust hue - case 18: - hsv.h = time; - hsv.s = 255; - hsv.v = 255; - break; - case 19: - hsv.h = 255 - time; - hsv.s = 255; - hsv.v = 255; - break; - - // adjust saturation - case 32: - hsv.s = 255; - hsv.v = 255; - break; - case 33: - hsv.s = 0; - hsv.v = 255; - break; - - // adjust value - case 45: - hsv.v = 255; - break; - case 46: - hsv.v = 63; - break; - - // adjust speed - case 4: - if (((time / 8) % 2) == 0) { - hsv.v = 255; - } else { - hsv.v = 63; - } - break; - case 5: - if (((time / 16) % 2) == 0) { - hsv.v = 63; - } else { - hsv.v = 255; - } - break; - - // set main effect - case 36: // BASE - hsv.s = 0; - break; - case 37: // KITT - hsv.h = 0; - hsv.s = 255; - if (time < 128) { - hsv.v = time; - } else { - hsv.v = 255 - time; - } - break; - - // reset (for flashing) - case 13: - hsv.s = 0; - if (time < 16) { - hsv.v = 255 - time * 128 / 16; - } else { - hsv.v = 127; - } - break; - - // reset (reinitialize EEPROM) - case 42: - hsv.s = 0; - hsv.v = 127; - break; - - // shift - case 44: - hsv.s = 0; - hsv.v = 63; - break; - case 55: - hsv.s = 0; - hsv.v = 63; - break; - - // no function - default: - hsv.v = 0; - - } - - return hsv; -} - -bool kb_indicator(effect_params_t* params) { - return effect_runner_i(params, &kb_indicator_math); -} - -uint8_t led_count = 7; -uint8_t led_first = 33; -static uint8_t time_to_led(uint8_t time, uint8_t led_behind) { - uint16_t led_time = led_count * time; - uint16_t step = ((2 * led_count + (led_time / 128)) - led_behind) % (2 * led_count); - uint8_t led; - if (step < led_count) { - led = step; - } else { - led = led_count - 1 - (step - led_count); - } - return led; -} - -static HSV kitt_effect_math(HSV hsv, uint8_t i, uint8_t time) { - - // reset base effect startup - if (i == 0) { - BASE_EFFECT_NOT_STARTED_YET = true; - } - - hsv.h = 0; - hsv.s = 255; - - if (i >= led_first && i < led_first + led_count) { - uint8_t j = i - led_first; - if (j == time_to_led(time, 0)) { - hsv.v = hsv.v; - } else if (j == time_to_led(time, 1)) { - hsv.v = hsv.v/2; - } else if (j == time_to_led(time, 2)) { - hsv.v = hsv.v/4; - } else if (j == time_to_led(time, 3)) { - hsv.v = hsv.v/8; - } else { - hsv.v = 0; - } - } else { - hsv.v = 0; - } - - return hsv; -} - -bool kitt_effect(effect_params_t* params) { - return effect_runner_i(params, &kitt_effect_math); -} - -#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -// vim: syntax=c diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk b/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk deleted file mode 100644 index 6245023e803f..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGB_MATRIX_CUSTOM_USER = yes diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h deleted file mode 100644 index bce34bcfbc29..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#define FORCE_NKRO - -#define PERMISSIVE_HOLD -#define TAPPING_TERM 150 - -#define TAP_HOLD_CAPS_DELAY 0 -#undef RGB_MATRIX_DEFAULT_MODE -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS - -// #undef ENABLE_RGB_MATRIX_SOLID_COLOR -// #undef ENABLE_RGB_MATRIX_ALPHAS_MODS -// #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #undef ENABLE_RGB_MATRIX_BREATHING -#undef ENABLE_RGB_MATRIX_BAND_SAT -// #undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#undef ENABLE_RGB_MATRIX_CYCLE_ALL -#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -// #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#undef ENABLE_RGB_MATRIX_DUAL_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -// #undef ENABLE_RGB_MATRIX_SPLASH -// #undef ENABLE_RGB_MATRIX_MULTISPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -// #define RGB_MATRIX_KEYRELEASES - -// some speed shit - -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -#define NO_PRINT -#endif // !NO_PRINT - -#define NO_ACTION_ONESHOT -#define QUICK_TAP_TERM 0 - -// #include "config_led.h" -// #include "dz60rgb.h" diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c deleted file mode 100644 index d283d0ba1e82..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c +++ /dev/null @@ -1,313 +0,0 @@ -#include QMK_KEYBOARD_H - -enum dz65rgb_layers { - _QWERTY, - _FNM, - _NAV, - _FNC -}; - -enum dz65rgb_keycodes { - REBOOT = SAFE_RANGE, - REEPROM, - MAS_CRM, - MAS_PRP, - MAS_RED, - MAS_GRN, - MAS_BLU, - MAS_CYN, - MAS_MGT, - MAS_YEL, - MAS_KEY, - MAS_WHT, -}; - -#define TG_NKRO MAGIC_TOGGLE_NKRO -#define _V_V_V_ KC_TRNS -#define LT_CAPS LT(_NAV, KC_CAPS) -extern bool autoshift_enabled; -#define MT_APP RALT_T(KC_APP) -#define LM_LALT LM(_FNM, MOD_LALT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_65_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_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, - LT_CAPS, KC_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, - 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, KC_END, - KC_LCTL, KC_LGUI, LM_LALT, KC_SPC, KC_RALT, MO(_FNC), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FNM] = LAYOUT_65_ansi( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _V_V_V_, _______, _______, _______, _______, _______, _______, _______ - ), - [_NAV] = LAYOUT_65_ansi( - KC_NUM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PMNS, KC_PPLS, _______, _______, - _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_PSCR, KC_SCRL, KC_INS, KC_PMNS, - _V_V_V_, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, KC_PENT, KC_PPLS, - _______, _______, _______, _______, _______, _______, KC_P0, KC_P0, KC_P0, KC_PDOT, KC_PSLS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FNC] = LAYOUT_65_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, _______, AS_TOGG, - _______, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, MAS_MGT, MAS_BLU, MAS_WHT, RGB_RMOD, RGB_MOD, _______, KC_MPRV, - _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, MAS_RED, MAS_KEY, MAS_CYN, MAS_PRP, _______, EE_CLR, KC_MNXT, - _______, RGB_TOG, _______, _______, REEPROM, REBOOT, TG_NKRO, MAS_YEL, MAS_GRN, MAS_CRM, _______, _______, KC_VOLU, KC_MUTE, - _______, _______, _______, _______, _______, _V_V_V_, _______, RGB_SPD, KC_VOLD, RGB_SPI - ), - /* - [_LEDS] = LAYOUT_65_ansi( - 17, 16, 15, 14, 13, 12, 11, 10, 9, 18, 19, 20, 21, 22, 23, - 7, 6, 5, 4, 3, 2, 1, 0, 26, 27, 28, 29, 30, 31, 24, - 8, 48, 47, 46, 45, 44, 43, 51, 52, 53, 54, 55, 56, 25, - 49, 40, 39, 38, 37, 36, 60, 61, 62, 63, 57, 58, 59, 32, - 50, 42, 41, 35, 64, 65, 66, 67, 34, 33 - ), - */ -}; - -/* -17, 16, 15, 14, 13, 12, 11, 10, 9, 18, 19, 20, 21, 22, 23 - 7, 6, 5, 4, 3, 2, 1, 0, 26, 27, 28, 29, 30, 31, 24 - 8, 48, 47, 46, 45, 44, 43, 51, 52, 53, 54, 55, 56, 25 -49, 40, 39, 38, 37, 36, 60, 61, 62, 63, 57, 58, 59, 32 -50, 42, 41, 35, 64, 65, 66, 67, 34, 33 - -ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, BCK, DEL -TAB, Q, W, E, R, T, Y, U, I, O, P, [, ], \, - -CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN, + -SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, 0 -CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT -*/ -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF); - } - - uint8_t this_led = host_keyboard_leds(); - - if (!g_suspend_state && rgb_matrix_config.enable) { - switch (get_highest_layer(layer_state)) { - case _NAV: - if (IS_LED_ON(this_led, USB_LED_NUM_LOCK)) { - rgb_matrix_set_color(17, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(26, 0xFF, 0xFF, 0x00); - } else { - rgb_matrix_set_color(17, 0x00, 0x00, 0x00); - rgb_matrix_set_color(26, 0xFF, 0x00, 0x00); - } - - rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF); // layer indicator - // ESDF - rgb_matrix_set_color(4, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(47, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(46, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(45, 0xFF, 0x00, 0x00); - // home/end - rgb_matrix_set_color(5, 0x00, 0xFF, 0x00); - rgb_matrix_set_color(3, 0x00, 0xFF, 0x00); - // pgup/dn - rgb_matrix_set_color(6, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(48, 0x00, 0x00, 0xFF); - // numpad - rgb_matrix_set_color(10, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(9, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(18, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(0, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(27, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(51, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(52, 0xFF, 0xFF, 0x00); - rgb_matrix_set_color(53, 0xFF, 0xFF, 0x00); - // zero - rgb_matrix_set_color(60, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(61, 0xFF, 0x00, 0x00); - rgb_matrix_set_color(62, 0xFF, 0x00, 0x00); - // dot - rgb_matrix_set_color(63, 0x00, 0x00, 0xFF); - // math shit - rgb_matrix_set_color(19, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(20, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(21, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(28, 0x00, 0x00, 0xFF); - rgb_matrix_set_color(24, 0x00, 0x00, 0xFF); // macro minus - rgb_matrix_set_color(25, 0x00, 0x00, 0xFF); // macro plus - // other - rgb_matrix_set_color(29, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); - rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); - break; - - case _FNC: { - HSV hsv = { rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v }; - HSV hui = hsv; - HSV hud = hsv; - HSV sai = hsv; - HSV sad = hsv; - HSV vai = hsv; - HSV vad = hsv; - hui.h = hsv.h + 8; - hud.h = hsv.h - 8; - sai.s = hsv.s + 16 > 255 ? 255u : hsv.s + 16; - sad.s = hsv.s - 16 < 0 ? 0 : hsv.s - 16; - vai.v = hsv.v + 16 > 255 ? 255 : hsv.v + 16; - vad.v = hsv.v - 16 < 0 ? 0 : hsv.v - 16; - RGB rgb = hsv_to_rgb(hsv); - RGB rgbHUI = hsv_to_rgb(hui); - RGB rgbHUD = hsv_to_rgb(hud); - RGB rgbSAI = hsv_to_rgb(sai); - RGB rgbSAD = hsv_to_rgb(sad); - RGB rgbVAI = hsv_to_rgb(vai); - RGB rgbVAD = hsv_to_rgb(vad); - rgb_matrix_set_color(65, 0xFF, 0xFF, 0xFF); // layer indicator - rgb_matrix_set_color(36, 0xFF, 0x00, 0x00); // MASBOOT - rgb_matrix_set_color(37, 0xFF, 0x00, 0x40); // REEPROM - rgb_matrix_set_color(37, 0xFF, 0x00, 0x40); // 60 - rgb_matrix_set_color(59, 0x00, 0x80, 0xFF); // KC_VOLU - rgb_matrix_set_color(34, 0x00, 0x80, 0xFF); - rgb_matrix_set_color(32, 0xFF, 0x00, 0x00); // KC_MUTE - rgb_matrix_set_color(24, 0xFF, 0x40, 0x00); // KC_MPRV - rgb_matrix_set_color(25, 0xFF, 0x40, 0x00); - - if (this_led & (1 << !autoshift_enabled)) { - rgb_matrix_set_color(15, 0xFF, 0x00, 0x00); // AS_TOGG - } else { - rgb_matrix_set_color(15, 0xFF, 0xFF, 0x00); - } - - rgb_matrix_set_color(6, 0xFF, 0x80, 0x00); //RGB_MOD - rgb_matrix_set_color(48, 0xFF, 0x80, 0x00); - rgb_matrix_set_color(29, 0xFF, 0x80, 0x00); //RGB_MOD - rgb_matrix_set_color(30, 0xFF, 0x80, 0x00); - rgb_matrix_set_color(40, 0xFF, 0x40, 0x00); //RGB_TOG - rgb_matrix_set_color(4, rgbHUI.r, rgbHUI.g, rgbHUI.b); //RGB_HUI - rgb_matrix_set_color(46, rgbHUD.r, rgbHUD.g, rgbHUD.b); - rgb_matrix_set_color(3, rgbSAI.r, rgbSAI.g, rgbSAI.b); //RGB_SAI - rgb_matrix_set_color(45, rgbSAD.r, rgbSAD.g, rgbSAD.b); - rgb_matrix_set_color(2, rgbVAI.r, rgbVAI.g, rgbVAI.b); //RGB_VAI - rgb_matrix_set_color(44, rgbVAD.r, rgbVAD.g, rgbVAD.b); - rgb_matrix_set_color(35, rgb.r, rgb.g, rgb.b); // config display - rgb_matrix_set_color(5, 0x80, 0x80, 0x80); //RGB_SPI - rgb_matrix_set_color(47, 0x80, 0x80, 0x80); - rgb_matrix_set_color(67, 0x80, 0x80, 0x80); //RGB_SPI - rgb_matrix_set_color(33, 0x80, 0x80, 0x80); - rgb_matrix_set_color(26, 0xF0, 0x00, 0xFF); //MAS_MGT - rgb_matrix_set_color(27, 0x00, 0x02, 0xFF); //MAS_BLU - rgb_matrix_set_color(51, 0xFF, 0x00, 0x00); //MAS_RED - rgb_matrix_set_color(52, 0x00, 0x00, 0x00); //MAS_KEY - rgb_matrix_set_color(53, 0x00, 0xFF, 0xF7); //MAS_CYN - rgb_matrix_set_color(61, 0xFF, 0xDA, 0x00); //MAS_YEL - rgb_matrix_set_color(62, 0x00, 0xFF, 0x01); //MAS_GRN - rgb_matrix_set_color(63, 0xFF, 0xA5, 0x18); //MAS_CRM - rgb_matrix_set_color(54, 0x81, 0x3C, 0xFF); //MAS_PRP - rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); //MAS_WHT - } - break; - } - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t* record) -{ - static uint32_t key_timer; - - switch (keycode) { - case REBOOT: - if (record->event.pressed) { - key_timer = timer_read32(); - } else { - if (timer_elapsed32(key_timer) >= 500) { - reset_keyboard(); - } - } - - return false; - - case REEPROM: - if (record->event.pressed) { - key_timer = timer_read32(); - } else { - if (timer_elapsed32(key_timer) >= 500) { - eeconfig_init(); - } - } - - return false; - - case MAS_CRM: - if (record->event.pressed) { - rgb_matrix_sethsv(32, 160, 255); - } - - return false; - - case MAS_PRP: - if (record->event.pressed) { - rgb_matrix_sethsv(192, 112, 255); - } - - return false; - - case MAS_RED: - if (record->event.pressed) { - rgb_matrix_sethsv(0, 255, 255); - } - - return false; - - case MAS_GRN: - if (record->event.pressed) { - rgb_matrix_sethsv(88, 255, 255); - } - - return false; - - case MAS_BLU: - if (record->event.pressed) { - rgb_matrix_sethsv(168, 255, 255); - } - - return false; - - case MAS_CYN: - if (record->event.pressed) { - rgb_matrix_sethsv(128, 255, 255); - } - - return false; - - case MAS_MGT: - if (record->event.pressed) { - rgb_matrix_sethsv(216, 255, 255); - } - - return false; - - case MAS_YEL: - if (record->event.pressed) { - rgb_matrix_sethsv(40, 255, 255); - } - - return false; - - case MAS_KEY: - if (record->event.pressed) { - rgb_matrix_sethsv(0, 0, 0); - } - - return false; - - case MAS_WHT: - if (record->event.pressed) { - rgb_matrix_sethsv(128, 0, 255); - } - - return false; - - default: - return true; - } -} diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk deleted file mode 100644 index 29afe8cd0364..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -NKRO_ENABLE = yes # USB Nkey Rollover -AUTO_SHIFT_ENABLE = yes # Auto Shift -# VELOCIKEY_ENABLE = yes - -LTO_ENABLE = yes diff --git a/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c b/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c deleted file mode 100644 index ae7e29c8375d..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/pagondel/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2020 pagondel - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { - _BL, - _FL, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backsp |~ ` | - * |-----------------------------------------------------------------------------| - * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del | - * |-----------------------------------------------------------------------------| - * |FN | A | S | D | F | G | H | J | K | L | ; | ' |Return |PgUp| - * |-----------------------------------------------------------------------------| - * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | Up |PgDn| - * |-----------------------------------------------------------------------------| - * |Ctrl |Win |Alt | Space |Alt | FN |Ctrl |Lef |Dow |Rig | - * `-----------------------------------------------------------------------------' - */ - [_BL] = LAYOUT_65_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_DEL, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FL: Function Layer - * ,-----------------------------------------------------------------------------. - * |Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |F11 |F12 |DEL |PNTS| - * |-----------------------------------------------------------------------------| - * | |RgbT|RgbM|Hue+|Hue-|Sat+|Sat-|BR+ |BR- | | |SLCK|Paus|RST | | - * |-----------------------------------------------------------------------------| - * | |Eff+|Eff-| | | | | | | | | |EEP RST | | - * |-----------------------------------------------------------------------------| - * |Shift | | | | | |NK T|Mute|Vol-|Vol+| | |PgUp| | - * |-----------------------------------------------------------------------------| - * | | | | Play | | | |Home|PgDn|End | - * `-----------------------------------------------------------------------------' - */ - [_FL] = LAYOUT_65_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_SCRL, KC_PAUS, QK_BOOT, _______, - _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, - KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, _______, - _______, _______, _______, KC_MPLY, _______, _______, _______, KC_HOME, KC_VOLD, KC_END - ) -}; diff --git a/keyboards/dztech/dz65rgb/keymaps/pagondel/readme.md b/keyboards/dztech/dz65rgb/keymaps/pagondel/readme.md deleted file mode 100644 index 8f55ce428a6a..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/pagondel/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# pagondel's DZ65RGB v2 layout - -``` - Keymap Default Layer - ,-----------------------------------------------------------------------------. - |Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backsp |~ ` | - |-----------------------------------------------------------------------------| - |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del | - |-----------------------------------------------------------------------------| - |FN | A | S | D | F | G | H | J | K | L | ; | ' |Return |PgUp| - |-----------------------------------------------------------------------------| - |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | Up |PgDn| - |-----------------------------------------------------------------------------| - |Ctrl |Win |Alt | Space |Alt | FN |Ctrl |Lef |Dow |Rig | - `-----------------------------------------------------------------------------' -``` - -``` - Keymap Function Layer - ,-----------------------------------------------------------------------------. - |Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |F11 |F12 |DEL |PNTS| - |-----------------------------------------------------------------------------| - | |RgbT|RgbM|Hue+|Hue-|Sat+|Sat-|BR+ |BR- | | |SLCK|Paus|RST | | - |-----------------------------------------------------------------------------| - | |Eff+|Eff-| | | | | | | | | |EEP RST | | - |-----------------------------------------------------------------------------| - |Shift | | | | | |NK T|Mute|Vol-|Vol+| | |PgUp| | - |-----------------------------------------------------------------------------| - | | | | Play | | | |Home|PgDn|End | - `-----------------------------------------------------------------------------' -``` - -### Build layout - -```qmk compile -kb dztech/dz65rgb/v2 -km pagondel``` diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h b/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h deleted file mode 100644 index 2d4559faddb0..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/sbennett13/config.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2021 Scott Bennett (@SBennett13) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define NO_MUSIC_MODE -#define FORCE_NKRO - -// I don't use a bunch of layers -#define LAYER_STATE_8BIT - -// Disable the RGB Light (underglow) stuff -#undef RBGLIGHT_ANIMATIONS -#undef RBGLIGHT_EFFECT_BREATHING -#undef RBGLIGHT_EFFECT_RAINBOW_MOOD -#undef RBGLIGHT_EFFECT_RAINBOW_SWIRL -#undef RBGLIGHT_EFFECT_SNAKE -#undef RBGLIGHT_EFFECT_KNIGHT -#undef RBGLIGHT_EFFECT_CHRISTMAS -#undef RBGLIGHT_EFFECT_STATIC_GRADIENT -#undef RBGLIGHT_EFFECT_RGB_TEST -#undef RBGLIGHT_EFFECT_ALTERNATING -#undef RBGLIGHT_EFFECT_TWINKLE - -// No Cherry MX Lock switch -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE - -// No oneshot (Active until another key hit) -#define NO_ACTION_ONESHOT - -// Remove some RGB -#undef ENABLE_RGB_MATRIX_ALPHAS_MODS -#undef ENABLE_RGB_MATRIX_BREATHING -#undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#undef ENABLE_RGB_MATRIX_PIXEL_FLOW -#undef ENABLE_RGB_MATRIX_PIXEL_RAIN -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#undef ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c b/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c deleted file mode 100644 index 34977bdbe31d..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/sbennett13/keymap.c +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2021 Scott Bennett (@SBennett13) -// 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( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_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, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGUP, - CTL_T(KC_CAPS), RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, KC_PGDN, - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md b/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md deleted file mode 100644 index e5535e9ffc2a..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/sbennett13/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# sbennett13 DZ65RGB v2 layout - -Copyright 2022 Scott Bennett scottbennett027@gmail @SBennett13 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -```text - Keymap Default Layer - ,-----------------------------------------------------------------------------. - |Esc ~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backsp|Home| - |-----------------------------------------------------------------------------| - |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |PgUp| - |-----------------------------------------------------------------------------| - |FN | A | S | D | F | G | H | J | K | L | ; | ' |Return |PgDn| - |-----------------------------------------------------------------------------| - |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | Up | End| - |-----------------------------------------------------------------------------| - |Ctrl |Win |Alt | Space |Alt | FN |Ctrl |Lef |Dow |Rig | - `-----------------------------------------------------------------------------' -``` - -```text - Keymap Function Layer - ,-----------------------------------------------------------------------------. - | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |F11 |F12 |DEL |PNTS| - |-----------------------------------------------------------------------------| - | |RgbT|RgbM|Hue+|Hue-|Sat+|Sat-|BR+ |BR- | | |SLCK|Paus|RST | | - |-----------------------------------------------------------------------------| - | |Eff+|Eff-| | | | | | | | | |EEP RST | | - |-----------------------------------------------------------------------------| - | | | | | | | | | | | | |Vol+|MUTE| - |-----------------------------------------------------------------------------| - | | | | | | | |LAST|Vol-|NEXT| - `-----------------------------------------------------------------------------' -``` - -### Build layout - -```qmk compile -kb dztech/dz65rgb/v2 -km sbennett13``` diff --git a/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk b/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk deleted file mode 100644 index ed0a53416bf3..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/sbennett13/rules.mk +++ /dev/null @@ -1,23 +0,0 @@ -# Load Time Optimization -LTO_ENABLE = yes - -# Space Cadet (Shift/Ctrl/Alt tapping for parenthesis) -SPACE_CADET_ENABLE = no - -# Mouse keys bindable to keyboard -MOUSEKEY_ENABLE = no - -# Console -CONSOLE_ENABLE = no - -# Command (Change keyboard behavior without having to flash) -COMMAND_ENABLE = no - -# Magic QMK keycodes -MAGIC_ENABLE = no - -# No audio stuff -MUSIC_ENABLE = no - -# No WPM -WPM_ENABLE = no \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h b/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h deleted file mode 100644 index e0c5522cb0c3..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2021 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 . - */ - -#pragma once - -#undef ENABLE_RGB_MATRIX_PIXEL_FLOW -#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#undef ENABLE_RGB_MATRIX_PIXEL_RAIN -#undef ENABLE_RGB_MATRIX_RAINDROPS -#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - -#undef RGB_MATRIX_DEFAULT_MODE -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_OUT_IN_DUAL - -#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 MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 1 -#define MOUSEKEY_MOVE_DELTA 1 -#define MOUSEKEY_MAX_SPEED 25 -#define MOUSEKEY_TIME_TO_MAX 255 -#define MOUSEKEY_WHEEL_DELAY 0 -#define MOUSEKEY_WHEEL_INTERVAL 100 -#define MOUSEKEY_WHEEL_MAX_SPEED 100 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c b/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c deleted file mode 100644 index 87ea995a9a99..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c +++ /dev/null @@ -1,212 +0,0 @@ -/* Copyright 2021 Yuannan (https://github.com/yuannan) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -enum custom_keycodes { - AUTOCLICK_TOGGLE = SAFE_RANGE, - AUTO_BURST, - RAPID_BURST, - INC_CLICK_SPEED, - DEC_CLICK_SPEED, - DEL_LINE, - DEL_HOME, - DEL_END -}; - -enum my_layers { - _ALPHA_LAYER, - _VIM_EDITING_LAYER, - _MOUSE_LAYER, - _HYPER_LAYER -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_ALPHA_LAYER] = LAYOUT_65_ansi( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER, KC_PGDN, - 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_END, - KC_CAPS,KC_LGUI,TL_LOWR, KC_SPACE, TL_UPPR, KC_LALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_VIM_EDITING_LAYER] = LAYOUT_65_ansi( - KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELETE, KC_INSERT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEL_HOME, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCRL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEL_LINE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_PAUSE, - KC_TRNS, AUTOCLICK_TOGGLE, KC_TRNS, AUTO_BURST,RAPID_BURST, KC_TRNS, DEL_END, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_PSCR, - DEC_CLICK_SPEED,INC_CLICK_SPEED, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT - ), - [_MOUSE_LAYER] = LAYOUT_65_ansi( - KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_ACL0, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_ACL1, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_ACL2, AUTOCLICK_TOGGLE, KC_BTN3, AUTO_BURST, RAPID_BURST, KC_TRNS, KC_TRNS, KC_BTN5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - DEC_CLICK_SPEED,INC_CLICK_SPEED,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_HYPER_LAYER] = LAYOUT_65_ansi( - DM_RSTP, DM_REC1, DM_REC2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_NO, DM_PLY1, DM_PLY2, 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_NO, KC_NO, 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_LSFT, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -#define CLICKSPEEDS 5 -const uint16_t clickspeed_sets[CLICKSPEEDS] = {1000, 100, 50, 20, 1}; -uint16_t clickspeed_set = CLICKSPEEDS - 1; -deferred_token autoclick_token = INVALID_DEFERRED_TOKEN; -bool rapid = false; - -void decrement_click_speed(void){ - clickspeed_set += CLICKSPEEDS - 1; - clickspeed_set %= CLICKSPEEDS; -} - -void increment_click_speed(void){ - clickspeed_set ++; - clickspeed_set %= CLICKSPEEDS; -} - -uint32_t autoclick_callback(uint32_t trigger_time, void *cb_arg){ - tap_code(KC_BTN1); - - return rapid ? 1 : clickspeed_sets[clickspeed_set]; -} - -void start_autoclicker(void){ - autoclick_token = defer_exec(1, autoclick_callback, NULL); -} - -void stop_autoclicker(void){ - cancel_deferred_exec(autoclick_token); - autoclick_token = INVALID_DEFERRED_TOKEN; -} - -// Custom process key to allow for custom keycodes -bool process_record_user(uint16_t keycode, keyrecord_t *record){ - switch (keycode) { - case AUTOCLICK_TOGGLE: - if (record->event.pressed) { - if (autoclick_token == INVALID_DEFERRED_TOKEN){ - start_autoclicker(); - } else{ - stop_autoclicker(); - } - } - break; - case AUTO_BURST: - if (record->event.pressed && (autoclick_token == INVALID_DEFERRED_TOKEN)) { - start_autoclicker(); - } else if (autoclick_token != INVALID_DEFERRED_TOKEN){ - stop_autoclicker(); - } - break; - case RAPID_BURST: - if (record->event.pressed){ - rapid = true; - start_autoclicker(); - } else{ - rapid = false; - stop_autoclicker(); - } - break; - case INC_CLICK_SPEED: - if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT)){ - decrement_click_speed(); - } else{ - increment_click_speed(); - } - } - break; - case DEC_CLICK_SPEED: - if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT)){ - increment_click_speed(); - } else{ - decrement_click_speed(); - } - } - break; - case DEL_LINE: - if(record->event.pressed){ - SEND_STRING(SS_TAP(X_HOME) SS_LSFT(SS_TAP(X_END)) SS_TAP(X_DELETE)); - } - break; - case DEL_HOME: - if(record->event.pressed){ - SEND_STRING(SS_LSFT(SS_TAP(X_HOME)) SS_TAP(X_DELETE)); - } - break; - case DEL_END: - if(record->event.pressed){ - SEND_STRING(SS_LSFT(SS_TAP(X_END)) SS_TAP(X_DELETE)); - } - break; - case RGB_TOG: - if(record->event.pressed){ - if (!(get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))){ - if(rgb_matrix_get_val() < 128){ - rgb_matrix_sethsv(rgb_matrix_get_hue(), rgb_matrix_get_sat(), 255); - } else{ - rgb_matrix_sethsv(rgb_matrix_get_hue(), rgb_matrix_get_sat(), 0); - } - return false; - } - } - break; - } - - return true; -}; - -RGB get_inverted_RGB(void){ - HSV current_HSV = rgb_matrix_get_hsv(); - current_HSV.h = 255 - current_HSV.h; - current_HSV.s = 255; - current_HSV.v = 255; - - return hsv_to_rgb(current_HSV); -} - -// Move Caps indicator to the ctrl key where it belongs -bool rgb_matrix_indicators_user(void){ - RGB inverted_RGB = get_inverted_RGB(); - if (host_keyboard_led_state().caps_lock){ - rgb_matrix_set_color(58, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b); - } - return false; -} - -// show coloured indicator for layers with a keybind -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){ - uint8_t layer = get_highest_layer(layer_state); - if (layer > 0) { - RGB inverted_RGB = get_inverted_RGB(); - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - for (uint8_t col = 0; col < MATRIX_COLS; ++col) { - uint8_t index = g_led_config.matrix_co[row][col]; - - if (index >= led_min && index <= led_max && index != NO_LED && - keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { - rgb_matrix_set_color(index, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b); - } - } - } - } - return false; -} diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md b/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md deleted file mode 100644 index c6768aceec30..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/readme.md +++ /dev/null @@ -1,88 +0,0 @@ -[DZ65RGB/v3 Yuannan's Layout Imgur Album](https://imgur.com/a/BI2RjgE) - -![Alpha](https://i.imgur.com/ikqvrtF.png) -![Vim Editing Layer](https://i.imgur.com/hoBvSRR.png) -![Mouse and Autoclicker](https://i.imgur.com/QWmWaWY.png) -![Hyper functions and RGB Layer](https://i.imgur.com/Zm6Tf6p.png) - -# Yuannan's DZ65 Custom Profile. Autoclicker, Vim, and more! - -## Features - -1. Much better mouse support. Now able to: - - Move mouse around with 3 levels of acceleration - - Click and nav using mouse buttons 1-5 - - Mouse scroll in all 4 directions, autoclick with 5 different levels of speed! - - Increase or Decrease the autoclick speed from the preset array of {500, 50, 20, 10, 1} clicks per second \*(Read Notes). Press Shift while using the Increase or Decrease button to do the opposite. Designed to work with other keymaps and keyboards! -2. Ctrl and Caps swapped. The new indicator is dynamically colored and has been moved to the CTRL key to reflect the keymap. -3. Improved navigation via Vim like keys. -4. Dynamic Macros now enabled! -5. Custom Editing Macros such as: - - Deleting entire line - - Deleting from cursor to start of line - - Deleting form cursor to end of line -6. VIA support. -7. Improved granularity of the RGB Matrix. Now with steps of 8/256, which is 32 steps! -8. The default toggle for RGB now sets the matrix to be on low brightness. Why? If the matrix is completely toggled off then the indicators for Caps Locks and FN are also completely off. You can completely turn it off by pressing shift while processing the "RGB_TOG" keycode. (It is {FN1+FN2+Shift+Space} on this keymap.) -9. Disabled some effects to free up more space. - -### Notes - -#### Note Autoclicker Speed - -The click events are now programmed with the new Deferred Execution API (https://docs.qmk.fm/#/custom_quantum_functions?id=deferred-execution). - -While it's programmed to input with a delay of 1ms (500CPS), the result will vary depending on your board and host. This is a massive improvment compared to timer based events. This new API is much faster and will work with less interference from other tasks on the board. - -#### Note Autoclick Linux libinput (Linux autoclicker not working) - -Linux's input driver (libinput) has a debounce feature. This is useful in normal usage as a person cannot feasibly click more than 20CPS. However when the keyboard tries to input 50+CPS and sometimes up to ~500CPS this is a problem. - -Create a file at "/etc/libinput/local-overrides.quirks" with the contents: - - [Never Debounce] - MatchUdevType=mouse - ModelBouncingKeys=1 - -This disables the debounce feature for libnput. This maybe be different if you use evdev, On Arch Linux the driver packages are {"libinput", "xf86-input-libinput"} compared to {"libevdev", "xf86-input-evdev"}. I have {"libinput", "xf86-input-libinput"} installed. In addition I have {"libevdev"} installed as a dependency of other packages. You maybe need to change the driver for your device if you have both installed. For me it was working just fine. Check what driver your xsession currently is utilizing with: - - $cat /var/log/Xorg.0.log | grep libinput - -If it is using libinput then it will show contents. Otherwise search for "evdev". - -#### Still not working? (Linux) - -Check if the events are reaching your OS with either: - - $evtest /dev/input/by-id/YOUR_KEYBOARD - -or - - $cat /dev/input/by-id/YOUR_KEYBOARD - -It should end in `event-mouse`. In my case it was `/dev/input/by-id/usb-DZTECH_DZ65RGBV3-if02-event-mouse` which was a symlink to `/dev/input/event12`. It **WILL** vary on your setup. - -The output will appear "garbled" as it's trying to interoperate the data stream into text. The underlying data is actually a struct of the form: - - struct input_event { - struct timeval time; - unsigned short type; - unsigned short code; - unsigned int value; - }; - -You can read more about it here (https://www.kernel.org/doc/Documentation/input/input.txt) - -If it has an output when you autoclick but do not receive it in your desktop then it's a driver issue. - -View libinput with: - - $libinput debug-events --device /dev/input/by-id/usb-DZTECH_DZ65RGBV3-if02-event-mouse --verbose - -If you experience "DEBOUNCE" events then it's a driver issue and should be able to be disabled with the above method, restart your display manager or just reboot afterwards. - -If you have any issues feel free to make bug report or pull request to me, QMK, or libinput. Please send logs along with any steps you have tried. - -#### ALT Position - -The physical Right_Alt is mapped as a Left_Alt. This is to ensure compatibility in legacy and programs which treat them differently. A key example would be the TTY system in Linux. diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk b/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk deleted file mode 100644 index e98ba61c3af3..000000000000 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -VIA_ENABLE = yes -LTO_ENABLE = yes -DYNAMIC_MACRO_ENABLE = yes -MOUSEKEY_ENABLE = yes -DEFERRED_EXEC_ENABLE = yes diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h index 4a8449897529..b9203346dd77 100644 --- a/keyboards/dztech/dz65rgb/v1/config.h +++ b/keyboards/dztech/dz65rgb/v1/config.h @@ -70,9 +70,8 @@ // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b1110100 -# define DRIVER_ADDR_2 0b1110111 -# define DRIVER_COUNT 2 +# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 33 # define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/dztech/dz65rgb/v1/info.json b/keyboards/dztech/dz65rgb/v1/info.json index 19279921a441..6b418b8cd67d 100644 --- a/keyboards/dztech/dz65rgb/v1/info.json +++ b/keyboards/dztech/dz65rgb/v1/info.json @@ -4,7 +4,7 @@ "device_version": "1.0.0" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"], diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c index a3b7bdfb5bf8..a0a355e1209e 100644 --- a/keyboards/dztech/dz65rgb/v1/v1.c +++ b/keyboards/dztech/dz65rgb/v1/v1.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h index 04700c84ed53..600687c2451b 100644 --- a/keyboards/dztech/dz65rgb/v2/config.h +++ b/keyboards/dztech/dz65rgb/v2/config.h @@ -70,9 +70,8 @@ // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b1110100 -# define DRIVER_ADDR_2 0b1110111 -# define DRIVER_COUNT 2 +# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 33 # define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/dztech/dz65rgb/v2/info.json b/keyboards/dztech/dz65rgb/v2/info.json index b449f4979a18..e52584f724c6 100644 --- a/keyboards/dztech/dz65rgb/v2/info.json +++ b/keyboards/dztech/dz65rgb/v2/info.json @@ -4,7 +4,7 @@ "device_version": "2.0.0" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c index 31599ad4b825..7754bc4ee511 100644 --- a/keyboards/dztech/dz65rgb/v2/v2.c +++ b/keyboards/dztech/dz65rgb/v2/v2.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h index 421ae8277c21..1398a378f860 100755 --- a/keyboards/dztech/dz65rgb/v3/config.h +++ b/keyboards/dztech/dz65rgb/v3/config.h @@ -72,8 +72,7 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b0110000 -# define DRIVER_COUNT 1 +# define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND # define RGB_MATRIX_LED_COUNT 68 # define DRIVER_INDICATOR_LED_TOTAL 0 #endif diff --git a/keyboards/dztech/dz65rgb/v3/info.json b/keyboards/dztech/dz65rgb/v3/info.json index e4e4dd65812f..ccc24b724ea2 100644 --- a/keyboards/dztech/dz65rgb/v3/info.json +++ b/keyboards/dztech/dz65rgb/v3/info.json @@ -4,7 +4,7 @@ "device_version": "3.0.0" }, "rgb_matrix": { - "driver": "IS31FL3741" + "driver": "is31fl3741" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c index ceb5c30f3e1e..0fb8ba49de75 100755 --- a/keyboards/dztech/dz65rgb/v3/v3.c +++ b/keyboards/dztech/dz65rgb/v3/v3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW3, CS20_SW3, CS19_SW3}, diff --git a/keyboards/dztech/dz96/info.json b/keyboards/dztech/dz96/info.json index 47ceaebcd285..c1d3b84623ea 100644 --- a/keyboards/dztech/dz96/info.json +++ b/keyboards/dztech/dz96/info.json @@ -25,8 +25,13 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_default": "LAYOUT_96_ansi", + "LAYOUT_iso": "LAYOUT_96_iso" + }, + "community_layouts": ["96_ansi", "96_iso"], "layouts": { - "LAYOUT_default": { + "LAYOUT_96_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -357,7 +362,7 @@ {"matrix": [5, 12], "x": 18, "y": 5} ] }, - "LAYOUT_iso": { + "LAYOUT_96_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dztech/dz96/matrix_diagram.md b/keyboards/dztech/dz96/matrix_diagram.md new file mode 100644 index 000000000000..e54cceee76d3 --- /dev/null +++ b/keyboards/dztech/dz96/matrix_diagram.md @@ -0,0 +1,23 @@ +# Matrix Diagram for Dztech Dz96 + +``` +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│00 │01 │02 │03 │04 │60 │61 │62 │63 │05 │06 │07 │08 │72 │09 │0A │0B │0C │7C │ +├───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───┾───â”Ī ┌───────┐ +│10 │11 │12 │13 │14 │64 │65 │66 │67 │15 │16 │17 │18 │70 │71 │19 │1A │1B │1C │ │71 │ 2u BackSpace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───┾───┾───┾───┾───â”Ī └─┮─────â”Ī ┌───┐ +│20 │21 │22 │23 │24 │68 │69 │6A │6B │25 │26 │27 │28 │73 │29 │2A │2B │2C │ │ │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───┾───┾───┾───â”Ī ┌──â”ī┐38 │ ISO Enter │2C │ Numpad "+" 2u +│30 │31 │32 │33 │34 │6C │75 │76 │77 │35 │36 │37 │38 │39 │3A │3B │3C │ │73 │ │ │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───┾───┾───┾───â”Ī └───â”ī────┘ ├───â”Ī +│40 │41 │42 │43 │44 │78 │79 │7A │7B │45 │46 │47 │48 │74 │49 │4A │4B │4C │ │ │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮───┾───┾───┾───┾───┾───â”Ī │4C │ Numpad Enter 2U +│50 │51 │52 │59 │55 │56 │57 │58 │53 │54 │5A │5B │5C │ │ │ +└────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┮─────┮───────────────────────────┮─────┮─────┐ +│50 │51 │59 │55 │57 │ 2 Mod +└─────â”ī─────â”ī───────────────────────────â”ī─────â”ī─────┘ +``` diff --git a/keyboards/dztech/endless80/config.h b/keyboards/dztech/endless80/config.h index d02f83716911..a8851d89138f 100644 --- a/keyboards/dztech/endless80/config.h +++ b/keyboards/dztech/endless80/config.h @@ -15,19 +15,5 @@ */ #pragma once -#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 #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) #define RGBLIGHT_DEFAULT_SPD 10 -#define RGBLED_NUM 30 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 diff --git a/keyboards/dztech/endless80/info.json b/keyboards/dztech/endless80/info.json index 9fb8bc22ed1e..2391faf4955f 100644 --- a/keyboards/dztech/endless80/info.json +++ b/keyboards/dztech/endless80/info.json @@ -21,7 +21,23 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 130 + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 30, + "max_brightness": 130, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/dztech/og60/info.json b/keyboards/dztech/og60/info.json deleted file mode 100644 index 52c4e0b18920..000000000000 --- a/keyboards/dztech/og60/info.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "manufacturer": "KBDFans", - "keyboard_name": "Og60", - "maintainer": "moyi4681", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "GP28" - }, - "matrix_pins": { - "cols": ["GP2", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP18", "GP19", "GP20", "GP21", "GP22", "GP23"], - "rows": ["GP4", "GP3", "GP17", "GP24", "GP25"] - }, - "processor": "RP2040", - "usb": { - "device_version": "0.0.1", - "pid": "0x6071", - "vid": "0x4B42" - }, - "community_layouts": ["60_ansi", "60_hhkb", "60_iso", "60_ansi_tsangan", "60_tsangan_hhkb"], - "layouts": { - "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": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"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, 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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "Backspace", "matrix": [2, 12], "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 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, 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": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 1], "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 12.5, "y": 4} - ] - }, - "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": "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": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, - {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, - {"label": "~", "matrix": [1, 13], "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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 13], "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": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"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, 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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 13], "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "Backspace", "matrix": [2, 12], "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 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, 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": "Fn", "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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "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": "Del", "matrix": [2, 12], "x": 13, "y": 0}, - {"label": "Backspace", "matrix": [0, 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 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, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"label": "Fn", "matrix": [3, 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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} - diff --git a/keyboards/dztech/og60/readme.md b/keyboards/dztech/og60/readme.md deleted file mode 100644 index 07d6e6a658b0..000000000000 --- a/keyboards/dztech/og60/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# OG60 -A customizable 60% HotSwap keyboard. - -* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) -* Hardware Supported: OG60 -* Hardware Availability: [KBDfans](https://kbdfans.com/) - -## Bootloader mode - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the left top key then plug in the USB cable. -* Physical reset button: Double tap the reset button. -* Keycode in layout: Press the key mapped to QK_BOOT if it is available. - -## Making firmware - -Make example for this keyboard (after setting up your build environment): - - make dztech/og60:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/pluto/info.json b/keyboards/dztech/pluto/info.json index ab201befa314..d64e941346e0 100644 --- a/keyboards/dztech/pluto/info.json +++ b/keyboards/dztech/pluto/info.json @@ -1,191 +1,1142 @@ { - "manufacturer": "DZTECH", - "keyboard_name": "PLUTO", - "maintainer": "moyi4681", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP16", "GP15", "GP14", "GP13", "GP0"], - "rows": ["GP1", "GP18", "GP17", "GP12", "GP11"] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x0006", - "vid": "0x445A" - }, - "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": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15.25, "y": 0 }, - { "matrix": [2, 12], "x": 16.25, "y": 0 }, - { "matrix": [2, 13], "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], "x": 12.75, "y": 2 }, - { "matrix": [1, 15], "x": 15.25, "y": 1 }, - { "matrix": [2, 14], "x": 16.25, "y": 1 }, - { "matrix": [2, 15], "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": [1, 14], "w": 1.25, "x": 12.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": 15.25, "y": 3 }, - { "matrix": [3, 14], "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": [3, 15], "x": 15.25, "y": 4 }, - { "matrix": [4, 14], "x": 16.25, "y": 4 }, - { "matrix": [4, 15], "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 }, - { "matrix": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15.25, "y": 0 }, - { "matrix": [2, 12], "x": 16.25, "y": 0 }, - { "matrix": [2, 13], "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 }, - { "h": 2, "matrix": [1, 14], "w": 1.25, "x": 13.75, "y": 1 }, - { "matrix": [1, 15], "x": 15.25, "y": 1 }, - { "matrix": [2, 14], "x": 16.25, "y": 1 }, - { "matrix": [2, 15], "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": [1, 13], "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": 15.25, "y": 3 }, - { "matrix": [3, 14], "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": [3, 15], "x": 15.25, "y": 4 }, - { "matrix": [4, 14], "x": 16.25, "y": 4 }, - { "matrix": [4, 15], "x": 17.25, "y": 4 } - ] + "manufacturer": "DZTECH", + "keyboard_name": "PLUTO", + "maintainer": "moyi4681", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP16", "GP15", "GP14", "GP13", "GP0"], + "rows": ["GP1", "GP18", "GP17", "GP12", "GP11"] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0006", + "vid": "0x445A" + }, + "community_layouts": ["tkl_nofrow_ansi", "tkl_nofrow_iso"], + "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": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "x": 12.75, "y": 2, "w": 2.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, 14], "x": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "x": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "x": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "x": 16.25, "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, 7], "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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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, 14], "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, 14], "x": 16.25, "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, 7], "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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "x": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "x": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "x": 16.25, "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, 7], "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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [1, 14], "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": [3, 14], "x": 16.25, "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, 7], "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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "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}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "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, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 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, 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": [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": 16.25, "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, 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}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + } } - } } diff --git a/keyboards/dztech/pluto/keymaps/default/keymap.c b/keyboards/dztech/pluto/keymaps/default/keymap.c index 9edd2f178f05..4824a87a4831 100644 --- a/keyboards/dztech/pluto/keymaps/default/keymap.c +++ b/keyboards/dztech/pluto/keymaps/default/keymap.c @@ -18,10 +18,10 @@ 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 + 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 index 9edd2f178f05..4824a87a4831 100644 --- a/keyboards/dztech/pluto/keymaps/via/keymap.c +++ b/keyboards/dztech/pluto/keymaps/via/keymap.c @@ -18,10 +18,10 @@ 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 + 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/matrix_diagram.md b/keyboards/dztech/pluto/matrix_diagram.md new file mode 100644 index 000000000000..576dea9578c4 --- /dev/null +++ b/keyboards/dztech/pluto/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for DZTECH PLUTO + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E ││0F │2C │2D │ +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1F │2E │2F │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐1E │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1E │ │1D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3E │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ +│40 │41 │42 │47 │4A │4B │4C │4D ││3F │4E │4F │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/dztech/tofu/ii/v1/config.h b/keyboards/dztech/tofu/ii/v1/config.h index 67a4c757af7f..36741e116800 100644 --- a/keyboards/dztech/tofu/ii/v1/config.h +++ b/keyboards/dztech/tofu/ii/v1/config.h @@ -79,9 +79,8 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # 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_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_ADDR_2 0b1011111 -# define DRIVER_COUNT 2 +# define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND +# define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC # define DRIVER_1_LED_TOTAL 46 # define DRIVER_2_LED_TOTAL 20 # define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/dztech/tofu/ii/v1/info.json b/keyboards/dztech/tofu/ii/v1/info.json index d8216891cd12..2eac06f6fd41 100644 --- a/keyboards/dztech/tofu/ii/v1/info.json +++ b/keyboards/dztech/tofu/ii/v1/info.json @@ -16,7 +16,7 @@ }, "processor": "RP2040", "rgb_matrix": { - "driver": "IS31FL3737", + "driver": "is31fl3737", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, diff --git a/keyboards/dztech/tofu/ii/v1/v1.c b/keyboards/dztech/tofu/ii/v1/v1.c index bb15f3d4a13b..8baf0235bd2f 100644 --- a/keyboards/dztech/tofu/ii/v1/v1.c +++ b/keyboards/dztech/tofu/ii/v1/v1.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { { 1, K_12, J_12, L_12 }, { 1, K_11, J_11, L_11 }, { 1, K_10, J_10, L_10 }, diff --git a/keyboards/dztech/tofu/jr/readme.md b/keyboards/dztech/tofu/jr/readme.md deleted file mode 100644 index 579929c5d7bd..000000000000 --- a/keyboards/dztech/tofu/jr/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# TOFU_JR -A customizable 65% RGB keyboard. - -* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) -* Hardware Supported: TOFU_JR -* Hardware Availability: [KBDfans](https://kbdfans.com/) - -## Bootloader mode - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the left top key then plug in the USB cable. -* Physical reset button: Double tap the reset button. -* Keycode in layout: Press the key mapped to QK_BOOT if it is available. - -## Making firmware - -Make example for this keyboard (after setting up your build environment): - - make dztech/tofu/jr:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/tofu/jr/v1/config.h b/keyboards/dztech/tofu/jr/v1/config.h index a05cdacf7995..74e5ed084843 100644 --- a/keyboards/dztech/tofu/jr/v1/config.h +++ b/keyboards/dztech/tofu/jr/v1/config.h @@ -79,9 +79,8 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # 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_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_ADDR_2 0b1011111 -# define DRIVER_COUNT 2 +# define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND +# define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC # define DRIVER_1_LED_TOTAL 48 # define DRIVER_2_LED_TOTAL 20 # define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/dztech/tofu/jr/v1/info.json b/keyboards/dztech/tofu/jr/v1/info.json index ef9bc6b9033c..1460350d73e1 100644 --- a/keyboards/dztech/tofu/jr/v1/info.json +++ b/keyboards/dztech/tofu/jr/v1/info.json @@ -16,7 +16,7 @@ "rows": ["GP29", "GP28", "GP27", "GP26", "GP22"] }, "rgb_matrix": { - "driver": "IS31FL3737", + "driver": "is31fl3737", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, diff --git a/keyboards/dztech/tofu/jr/v1/readme.md b/keyboards/dztech/tofu/jr/v1/readme.md new file mode 100644 index 000000000000..f17b9aea900a --- /dev/null +++ b/keyboards/dztech/tofu/jr/v1/readme.md @@ -0,0 +1,22 @@ +# TOFU_JR_V1 +A customizable 65% RGB keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: TOFU_JR_V1 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Bootloader mode + +Enter the bootloader in 3 ways: + +* Bootmagic reset: Hold down the left top key then plug in the USB cable. +* Physical reset button: Double tap the reset button. +* Keycode in layout: Press the key mapped to QK_BOOT if it is available. + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/tofu/jr:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/tofu/jr/v1/v1.c b/keyboards/dztech/tofu/jr/v1/v1.c index 4b7d7c957e92..474134cb5efb 100644 --- a/keyboards/dztech/tofu/jr/v1/v1.c +++ b/keyboards/dztech/tofu/jr/v1/v1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { { 1, K_12, J_12, L_12 }, { 1, K_11, J_11, L_11 }, { 1, K_10, J_10, L_10 }, diff --git a/keyboards/dztech/tofu/jr/v2/config.h b/keyboards/dztech/tofu/jr/v2/config.h new file mode 100644 index 000000000000..935a2ab4376b --- /dev/null +++ b/keyboards/dztech/tofu/jr/v2/config.h @@ -0,0 +1,24 @@ +/* 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 . + */ + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 8) + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + + diff --git a/keyboards/dztech/tofu/jr/v2/info.json b/keyboards/dztech/tofu/jr/v2/info.json new file mode 100644 index 000000000000..6a60565b22af --- /dev/null +++ b/keyboards/dztech/tofu/jr/v2/info.json @@ -0,0 +1,124 @@ +{ + "bootloader": "rp2040", + "processor": "RP2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["GP25", "GP24", "GP23", "GP1", "GP7", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP12"], + "rows": ["GP29", "GP28", "GP27", "GP26", "GP22"] + }, + "indicators": { + "caps_lock": "GP11" + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x1425", + "vid": "0x445A" + }, + "rgblight": { + "brightness_steps": 10, + "hue_steps": 10, + "led_count": 16, + "saturation_steps": 10, + "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": "GP2", + "driver": "vendor" + }, + "community_layouts": ["65_ansi"], + "layouts": { + "LAYOUT_65_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], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "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, "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], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "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, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 10], "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} + ] + } + } +} diff --git a/keyboards/dztech/tofu/jr/v2/readme.md b/keyboards/dztech/tofu/jr/v2/readme.md new file mode 100644 index 000000000000..8523a3f32a18 --- /dev/null +++ b/keyboards/dztech/tofu/jr/v2/readme.md @@ -0,0 +1,22 @@ +# TOFU_JR_V2 +A customizable 65% hotswap with RGB backlight keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: TOFU_JR_V2 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Bootloader mode + +Enter the bootloader in 3 ways: + +* Bootmagic reset: Hold down the left top key then plug in the USB cable. +* Physical reset button: Double tap the reset button. +* Keycode in layout: Press the key mapped to QK_BOOT if it is available. + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/tofu/jr/v2:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/tofu/jr/v2/rules.mk b/keyboards/dztech/tofu/jr/v2/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/dztech/tofu/jr/v2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dztech/tofu60/info.json b/keyboards/dztech/tofu60/info.json new file mode 100644 index 000000000000..57c57604d135 --- /dev/null +++ b/keyboards/dztech/tofu60/info.json @@ -0,0 +1,740 @@ +{ + "manufacturer": "KBDFans", + "keyboard_name": "TOFU60", + "maintainer": "moyi4681", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP28" + }, + "matrix_pins": { + "cols": ["GP2", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP18", "GP19", "GP20", "GP21", "GP22", "GP23"], + "rows": ["GP4", "GP3", "GP17", "GP24", "GP25"] + }, + "processor": "RP2040", + "usb": { + "device_version": "0.0.1", + "pid": "0x6071", + "vid": "0x4B42" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_tsangan_hhkb" + ], + "layouts": { + "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": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5 }, + + { "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, 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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "matrix": [4, 13], "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [2, 12], "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 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, 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": "Fn", "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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_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": "Del", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "Backspace", "matrix": [2, 12], "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 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, 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": "Fn", "matrix": [3, 13], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 }, + { "label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 }, + { "label": "Ctrl", "matrix": [4, 12], "x": 12.5, "y": 4 } + ] + }, + "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": "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": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "@", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { "label": "~", "matrix": [1, 13], "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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "matrix": [4, 13], "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": "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5 }, + + { "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, 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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 }, + { "label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 13], "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": "Del", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "Backspace", "matrix": [2, 12], "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 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, 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": "Fn", "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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 }, + { "label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 } + ] + }, + "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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [2, 12], "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 Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "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": "Fn", "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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "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": "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": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_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": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [2, 12], "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 Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [1, 13], "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": "Fn", "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": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "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": "Del", "matrix": [2, 12], "x": 13, "y": 0 }, + { "label": "Backspace", "matrix": [0, 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 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, 13], "x": 12.75, "y": 2, "w": 2.25 }, + + { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 }, + { "label": "|", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "Fn", "matrix": [3, 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": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 }, + { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25 } + ] + } + } +} + diff --git a/keyboards/dztech/og60/keymaps/default/keymap.c b/keyboards/dztech/tofu60/keymaps/default/keymap.c similarity index 100% rename from keyboards/dztech/og60/keymaps/default/keymap.c rename to keyboards/dztech/tofu60/keymaps/default/keymap.c diff --git a/keyboards/dztech/og60/keymaps/via/keymap.c b/keyboards/dztech/tofu60/keymaps/via/keymap.c similarity index 100% rename from keyboards/dztech/og60/keymaps/via/keymap.c rename to keyboards/dztech/tofu60/keymaps/via/keymap.c diff --git a/keyboards/dztech/tofu60/keymaps/via/rules.mk b/keyboards/dztech/tofu60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dztech/tofu60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dztech/tofu60/matrix_diagram.md b/keyboards/dztech/tofu60/matrix_diagram.md new file mode 100644 index 000000000000..0bbd201945fe --- /dev/null +++ b/keyboards/dztech/tofu60/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Dztech Tofu60 + +``` + ┌───────┐ + 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 │47 │4A │4B │4C │4D │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ +┌────────┐ ┌──────────┐ +│31 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` diff --git a/keyboards/dztech/tofu60/readme.md b/keyboards/dztech/tofu60/readme.md new file mode 100644 index 000000000000..2cd4de58bf89 --- /dev/null +++ b/keyboards/dztech/tofu60/readme.md @@ -0,0 +1,22 @@ +# TOFU60 +A customizable 60% HotSwap keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: TOFU60 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Bootloader mode + +Enter the bootloader in 3 ways: + +* Bootmagic reset: Hold down the left top key then plug in the USB cable. +* Physical reset button: Double tap the reset button. +* Keycode in layout: Press the key mapped to QK_BOOT if it is available. + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/tofu60:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/layouts/community/ortho_5x12/alfrdmalr/rules.mk b/keyboards/dztech/tofu60/rules.mk similarity index 100% rename from layouts/community/ortho_5x12/alfrdmalr/rules.mk rename to keyboards/dztech/tofu60/rules.mk diff --git a/keyboards/ealdin/quadrant/config.h b/keyboards/ealdin/quadrant/config.h index f5d4e037d9f9..bce1fbc662e7 100644 --- a/keyboards/ealdin/quadrant/config.h +++ b/keyboards/ealdin/quadrant/config.h @@ -17,22 +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 -#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 - /* 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/ealdin/quadrant/info.json b/keyboards/ealdin/quadrant/info.json index be9249cca487..75b36063a671 100644 --- a/keyboards/ealdin/quadrant/info.json +++ b/keyboards/ealdin/quadrant/info.json @@ -18,6 +18,24 @@ {"pin_a": "D5", "pin_b": "F1"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "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 + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/eason/aeroboard/config.h b/keyboards/eason/aeroboard/config.h index 5ba690ee955a..2c7d4687b4df 100644 --- a/keyboards/eason/aeroboard/config.h +++ b/keyboards/eason/aeroboard/config.h @@ -3,18 +3,7 @@ #pragma once -#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 -#define RGBLED_NUM 20 -#define WS2812_SPI SPID2 +#define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 /* disable debug print */ diff --git a/keyboards/eason/aeroboard/info.json b/keyboards/eason/aeroboard/info.json index c7383aa160c3..c8046d40e4f3 100644 --- a/keyboards/eason/aeroboard/info.json +++ b/keyboards/eason/aeroboard/info.json @@ -2,13 +2,28 @@ "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, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B15", "driver": "spi" @@ -19,14 +34,99 @@ }, "diode_direction": "COL2ROW", "processor": "STM32F103", - "bootloader": "stm32duino", + "bootloader": "uf2boot", + "board": "STM32_F103_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 +143,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 61f2a9036413..2e6d012fba99 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 614c3daa025a..0c410242ef8e 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 9f38d0d71b44..f8a65f43e912 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 deleted file mode 100644 index cfe3e84fda05..000000000000 --- a/keyboards/eason/capsule65/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2022 EASON XIAOXUXK@YEAH.NET - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_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 -#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 6496a6be7190..1ad66fdd653e 100644 --- a/keyboards/eason/capsule65/info.json +++ b/keyboards/eason/capsule65/info.json @@ -16,6 +16,23 @@ "indicators": { "caps_lock": "F6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/eason/greatsword80/config.h b/keyboards/eason/greatsword80/config.h deleted file mode 100644 index 9a0ee7ab72f5..000000000000 --- a/keyboards/eason/greatsword80/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2023 Eason - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 LED_CAPS_LOCK_PIN F0 -#define LED_PIN_ON_STATE 0 diff --git a/keyboards/eason/greatsword80/info.json b/keyboards/eason/greatsword80/info.json index d198d65f2aad..74c469f7ced6 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 b0726f908a79..baa707317687 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/e80_1800/keymaps/via_oled/rules.mk b/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk index 63e79e2da902..98ca45243dbf 100644 --- a/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk +++ b/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -WPM_ENABLE = yes \ No newline at end of file +WPM_ENABLE = yes diff --git a/keyboards/ebastler/isometria_75/rev1/config.h b/keyboards/ebastler/isometria_75/rev1/config.h index 68f54a8014d1..0fc8019a1dd2 100644 --- a/keyboards/ebastler/isometria_75/rev1/config.h +++ b/keyboards/ebastler/isometria_75/rev1/config.h @@ -20,22 +20,14 @@ 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 8151451a32b4..ad53a34525b9 100644 --- a/keyboards/ebastler/isometria_75/rev1/info.json +++ b/keyboards/ebastler/isometria_75/rev1/info.json @@ -8,6 +8,15 @@ "pid": "0x1337", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 17, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true + } + }, "ws2812": { "pin": "B3", "driver": "pwm" @@ -22,6 +31,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 2fd78a13f177..76b31f0a0a05 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/eco/keymaps/bcat/config.h b/keyboards/eco/keymaps/bcat/config.h deleted file mode 100644 index 1a3fd81199f3..000000000000 --- a/keyboards/eco/keymaps/bcat/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 Jonathan Rascher - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 BCAT_ORTHO_LAYERS - -/* WS2812B RGB LED strip hand wired to Elite-C. */ -#define WS2812_DI_PIN B7 -#define RGBLED_NUM 15 -#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/eco/keymaps/bcat/keymap.c b/keyboards/eco/keymaps/bcat/keymap.c deleted file mode 100644 index 610610f5a511..000000000000 --- a/keyboards/eco/keymaps/bcat/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2020 Jonathan Rascher - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "bcat.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // clang-format off - /* Default layer: http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281 */ - [LAYER_DEFAULT] = LAYOUT( - 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - XXXXXXX, XXXXXXX, KC_LALT, KC_LCTL, LY_LWR, KC_SPC, XXXXXXX, XXXXXXX, KC_ENT, LY_RSE, KC_RALT, KC_RGUI, XXXXXXX, XXXXXXX - ), - /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415 */ - [LAYER_LOWER] = LAYOUT( - MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - KY_CSPC, KY_ZMRST, KY_ZMOUT, KY_ZMIN, KC_WBAK, KC_WFWD, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD, - _______, KC_APP, KC_PSCR, KC_SCRL, KC_PAUS, KC_LGUI, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862 */ - [LAYER_RAISE] = LAYOUT( - KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL, - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */ - [LAYER_ADJUST] = LAYOUT( - _______, _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, _______, - _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_VAI, RGB_MOD, RGB_SPI, _______, - _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______ - ), - // clang-format on -}; diff --git a/keyboards/eco/keymaps/bcat/readme.md b/keyboards/eco/keymaps/bcat/readme.md deleted file mode 100644 index fd9e1bea7332..000000000000 --- a/keyboards/eco/keymaps/bcat/readme.md +++ /dev/null @@ -1,44 +0,0 @@ -# bcat's Eco layout - -This is a cute little 4x14 ortholinear keyboard. I've set it up using an -unsplit, ortho version of my [split 3x6 + 3 thumb -keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat) -(Crkbd) layout, with the following changes: - -* The alpha keys are separated by an extra two columns in the middle to provide -a little more hand separation, similar to a split keyboard. - -* The top three rows of the extra middle columns feature navigation keys and -brackets/braces. I don't really use dedicated keys for these, but I had the -keycaps, so I figured I may as well put them there. - -* I have a Left Alt and Right Super key on the bottom row just like my -[Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat). - -* The two keys in each bottom corner are unbound, as is the 2U spacebar in the -center of the bottom row. These keys are too inconvenient to reach, and there's -nothing really useful to bind them to anyway. - -## Default layer - -![Default layer layout](https://i.imgur.com/uRUT2cY.png) - -([KLE](http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281)) - -## Lower layer - -![Lower layer layout](https://i.imgur.com/8SR0M9x.png) - -([KLE](http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415)) - -## Raise layer - -![Raise layer layout](https://i.imgur.com/U7KERR3.png) - -([KLE](http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862)) - -## Adjust layer - -![Adjust layer layout](https://i.imgur.com/63vm0ke.png) - -([KLE](http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21)) diff --git a/keyboards/eco/keymaps/bcat/rules.mk b/keyboards/eco/keymaps/bcat/rules.mk deleted file mode 100644 index 684d8e4e850e..000000000000 --- a/keyboards/eco/keymaps/bcat/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -BOOTLOADER = atmel-dfu # Elite-C - -RGBLIGHT_ENABLE = yes diff --git a/keyboards/eco/keymaps/fsck/config.h b/keyboards/eco/keymaps/fsck/config.h deleted file mode 100644 index b0a7901b2d6c..000000000000 --- a/keyboards/eco/keymaps/fsck/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Frederick Hirsch - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/eco/keymaps/fsck/keymap.c b/keyboards/eco/keymaps/fsck/keymap.c deleted file mode 100644 index 34cb27999297..000000000000 --- a/keyboards/eco/keymaps/fsck/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2019 Frederick Hirsch - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _RAISE 3 - -enum eco_keycodes { - QWERTY = SAFE_RANGE, - RAISE -}; - -#define JC_Z CTL_T(KC_Z) -#define JC_X ALT_T(KC_X) -#define JC_C GUI_T(KC_C) -#define JC_COMM GUI_T(KC_COMM) -#define JC_DOT ALT_T(KC_DOT) -#define JC_SLSH CTL_T(KC_SLSH) - -#define JC_CAPS LT(_RAISE,KC_CAPS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-------------------------------------------------------------------------------------------------. - * | Tab | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 10 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | ESC | Q | W | E | R | T | Home | PgUp | Y | U | I | O | P | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Raise| A | S | D | F | G | End | PgDn | H | J | K | L | ; | Enter| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | Space | N | M | , | . | / | Shift| - * | | Ctrl | Alt | GUI | | | | GUI | Alt | Ctrl | | - * `-------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - KC_TAB, 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, - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME, KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, - JC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_END, KC_PGDN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, JC_Z, JC_X, JC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, KC_M, JC_COMM, JC_DOT, JC_SLSH, KC_RSFT -), - - -/* Raise - * ,-------------------------------------------------------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | | | F6 | F7 | F8 | F9 | F0 | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Del | | Up | | | | |PrntSc| | | | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | Left | Down | Right| | |ScrLck|Pause | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |Insert| - * `-------------------------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT( - KC_GRV, 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_DEL, - _______, _______, KC_UP, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, - _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS -) -}; \ No newline at end of file diff --git a/keyboards/eco/keymaps/fsck/readme.md b/keyboards/eco/keymaps/fsck/readme.md deleted file mode 100644 index 1f3678daf116..000000000000 --- a/keyboards/eco/keymaps/fsck/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -![eco:fsck Layout Image](https://i.imgur.com/Sb8n8B0.png) - -# ECO Layout by fsck - -This is the fsck layout for the eco keyboard. The bottom row of the default layer are dual function tap/hold keys. \ No newline at end of file diff --git a/keyboards/eco/keymaps/fsck/rules.mk b/keyboards/eco/keymaps/fsck/rules.mk deleted file mode 100644 index e48f4aec52fe..000000000000 --- a/keyboards/eco/keymaps/fsck/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/eco/keymaps/that_canadian/keymap.c b/keyboards/eco/keymaps/that_canadian/keymap.c deleted file mode 100644 index 0c8b53385dfa..000000000000 --- a/keyboards/eco/keymaps/that_canadian/keymap.c +++ /dev/null @@ -1,209 +0,0 @@ - -// Below layout is based upon /u/That-Canadian's planck layout - -#include QMK_KEYBOARD_H -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 2 -#define _RAISE 3 - -#define _FUNCTION 15 -#define _ADJUST 16 - -enum eco_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE -}; - -// Defines for task manager and such -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-------------------------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | ( | ) | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Func | A | S | D | F | G | [ | ] | H | J | K | L | ; | Enter| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | { | } | N | M | , | . | / | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | ` | GUI | Alt |Lower | Space|Pg-dwn| Pg-up| Space|Raise | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - MO(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - OSM(MOD_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, KC_QUOT, - KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_PGDN, KC_PGUP, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-------------------------------------------------------------------------------------------------. - * | Esc | ! | @ | # | $ | % | | | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | | F6 | _ | + | { | } |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | F12 | | | Mute | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |Lower | | | | Bksp |Raise | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | 4 | 5 | 6 | + | | | | | - | = | [ | ] |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Enter | 7 | 8 | 9 | - | | | | | | | Mute | | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | , | 0 | . |Lower | Bksp | | | |Raise | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_4, KC_5, KC_6, KC_PLUS, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, - KC_ENT, KC_7, KC_8, KC_9, KC_MINS, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, KC_BSLS, - _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-------------------------------------------------------------------------------------------------. - * |Taskmg| Reset| | | | | | | | | | | |caltde| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - TSKMGR, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Function - * ,-------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | Up | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | Left | Down |Right | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Caps | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_FUNCTION] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - -#ifdef AUDIO_ENABLE - -float tone_startup[][2] = SONG(STARTUP_SOUND); -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); - -float tone_goodbye[][2] = SONG(GOODBYE_SOUND); -#endif - - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - persistant_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif -} - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick - PLAY_SONG(tone_startup); -} - -void shutdown_user(void) -{ - PLAY_SONG(tone_goodbye); - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/eco/keymaps/that_canadian/readme.md b/keyboards/eco/keymaps/that_canadian/readme.md deleted file mode 100644 index aa3316af0399..000000000000 --- a/keyboards/eco/keymaps/that_canadian/readme.md +++ /dev/null @@ -1 +0,0 @@ -# ECO Layout by u/That-Canadian \ No newline at end of file diff --git a/keyboards/eco/keymaps/that_canadian/rules.mk b/keyboards/eco/keymaps/that_canadian/rules.mk deleted file mode 100644 index c76a07e24bde..000000000000 --- a/keyboards/eco/keymaps/that_canadian/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ - - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/eco/keymaps/xyverz/keymap.c b/keyboards/eco/keymaps/xyverz/keymap.c deleted file mode 100644 index 0050b79847fd..000000000000 --- a/keyboards/eco/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,156 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST }; - -enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST }; - -// Aliases to keep the keymap tidy -#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-------------------------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Esc | A | S | D | F | G | | | H | J | K | L | ; | " | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | | N | M | , | . | / |Shift | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Ctrl | Alt | Left |Right |Lower | Bksp | GUI |Enter |Space |Raise | Up | Down | GUI |Enter | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, 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_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT - ), - - /* Colemak - * ,-------------------------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | | | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Esc | A | R | S | T | D | | | H | N | E | I | O | " | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | | N | M | , | . | / |Shift | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Ctrl | Alt | Left |Right |Lower | Bksp | GUI |Enter |Space |Raise | Up | Down | GUI |Enter | - * `-------------------------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT - ), - - /* Dvorak - * ,-------------------------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | | | F | G | C | R | L | / | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Esc | A | O | E | U | I | | | D | H | T | N | S | - | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | | | B | M | W | V | Z | Shift| - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Ctrl | Alt | Left |Right |Lower | Bksp | GUI |Enter |Space |Raise | Up | Down | GUI |Enter | - * `-------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = LAYOUT( - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_NO, KC_NO, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT - ), - - /* Lower - * ,-------------------------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Caps | | Mute | Vol- | Vol+ | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | | Prev | Play | Next | | | | | | | | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Brite| | Home | End | | Del | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_NO, KC_NO, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, - _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ - ), - - /* Raise - * ,-------------------------------------------------------------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | | 6 | 7 | 8 | 9 | 0 | - | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_NO, KC_NO, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, - _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ - ), - - - /* Adjust - * ,-------------------------------------------------------------------------------------------------. - * | F11 | F1 | F2 | F3 | F4 | F5 | | | F6 | F7 | F8 | F9 | F10 | F12 | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | Reset| | | | | | | |Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , - _______, QK_BOOT, _______, _______, _______, _______, KC_NO, KC_NO, _______, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; -// clang-format on - -#ifdef AUDIO_ENABLE -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -#endif - -void matrix_init_user(void) { -#ifdef BOOTLOADER_CATERINA - // This will disable the red LEDs on the ProMicros - setPinInput(D5); - setPinInput(B0); -#endif -}; - -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) { - if (record->event.pressed) { - switch (keycode) { - case QWERTY: - set_single_persistent_default_layer(_QWERTY); - return false; - case COLEMAK: - set_single_persistent_default_layer(_COLEMAK); - return false; - case DVORAK: - set_single_persistent_default_layer(_DVORAK); - return false; - } - } - return true; -} diff --git a/keyboards/eco/keymaps/xyverz/readme.md b/keyboards/eco/keymaps/xyverz/readme.md deleted file mode 100644 index cf168377d5de..000000000000 --- a/keyboards/eco/keymaps/xyverz/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# ECO Default Layout by u/That-Canadian - -KLE here : http://www.keyboard-layout-editor.com/#/gists/0733eca6b4cb88ff9d7de746803f4039 \ No newline at end of file diff --git a/keyboards/eco/keymaps/xyverz/rules.mk b/keyboards/eco/keymaps/xyverz/rules.mk deleted file mode 100644 index d8d012a9fa56..000000000000 --- a/keyboards/eco/keymaps/xyverz/rules.mk +++ /dev/null @@ -1,21 +0,0 @@ - - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/edc40/keymaps/oj/keymap.c b/keyboards/edc40/keymaps/oj/keymap.c deleted file mode 100644 index 1946750c1227..000000000000 --- a/keyboards/edc40/keymaps/oj/keymap.c +++ /dev/null @@ -1,94 +0,0 @@ -/* Copyright 2020 OJtheTiny - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layers{ - _QW, - _DV, - _CM, - _L1, - _L2, - _L3 -}; -enum custom_keycodes { - DVORAK = SAFE_RANGE, - QWERTY, - COLEMAK -}; - - -const uint16_t PROGMEM keymaps [][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, - KC_TAB, KC_LGUI, KC_SPC, MO(_L1), MO(_L2) - ), - [_DV] = LAYOUT( /* Dvorak */ - KC_ESC, KC_SLSH, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_QUOT, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, - KC_LSFT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, - KC_TAB, KC_LGUI, KC_SPC, MO(_L1), MO(_L2) - ), - [_CM] = LAYOUT( /* Colemak */ - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_QUOT, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, - KC_TAB, KC_LGUI, KC_SPC, MO(_L1), MO(_L2) - ), - [_L1] = LAYOUT( /* NUM */ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, - _______, _______, _______, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS, - _______, _______, _______, KC_PSCR, _______, _______, KC_LBRC, KC_RBRC, KC_MINUS, KC_EQL, - _______, _______, _______, _______, _______ - ), - [_L2] = LAYOUT( /* F Keys */ - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, UC(0xc3b6), UC(0xc3a4), KC_ENT, - _______, QWERTY, DVORAK, COLEMAK, TG(_L3), _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ), - [_L3] = LAYOUT( /*Gaming */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, _______, _______, - KC_LSFT, KC_B, KC_SPC, MO(_L2), _______ - ) -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DV); - } - return false; - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QW); - } - return false; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_CM); - } - return false; - default: - return true; - } - return true; -}; diff --git a/keyboards/edc40/keymaps/oj/readme.md b/keyboards/edc40/keymaps/oj/readme.md deleted file mode 100644 index 8e21176ad01f..000000000000 --- a/keyboards/edc40/keymaps/oj/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Objectively the best keymap for EDC40 \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk1/config.h b/keyboards/edi/hardlight/mk1/config.h index 6677c4587e8c..89b008296bcd 100644 --- a/keyboards/edi/hardlight/mk1/config.h +++ b/keyboards/edi/hardlight/mk1/config.h @@ -22,26 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* - * Enable RGB Underlighting - */ -#define RGBLED_NUM 15 -#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 -//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//#define RGBLIGHT_EFFECT_KNIGHT -//#define RGBLIGHT_EFFECT_TWINKLE -//#define RGBLIGHT_EFFECT_BREATHING - - /* * Enable Audio Subsystem with two voices */ diff --git a/keyboards/edi/hardlight/mk1/info.json b/keyboards/edi/hardlight/mk1/info.json index d7275dfa707c..dc8bcd01c66d 100644 --- a/keyboards/edi/hardlight/mk1/info.json +++ b/keyboards/edi/hardlight/mk1/info.json @@ -11,6 +11,21 @@ "rows": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 15, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/edi/hardlight/mk2/config.h b/keyboards/edi/hardlight/mk2/config.h index b9b6b86c9880..73f4b2baaed1 100644 --- a/keyboards/edi/hardlight/mk2/config.h +++ b/keyboards/edi/hardlight/mk2/config.h @@ -22,18 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* RGB Underglow */ -#define RGBLED_NUM 32 -#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 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 5 /* PWM RGB Underglow Defines */ diff --git a/keyboards/edi/hardlight/mk2/info.json b/keyboards/edi/hardlight/mk2/info.json index 63ca3aa15dd3..2be212702ac1 100644 --- a/keyboards/edi/hardlight/mk2/info.json +++ b/keyboards/edi/hardlight/mk2/info.json @@ -6,6 +6,21 @@ "pid": "0x2408", "device_version": "0.0.7" }, + "rgblight": { + "led_count": 32, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A10", "driver": "pwm" diff --git a/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c deleted file mode 100644 index d4074f02a40f..000000000000 --- a/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c +++ /dev/null @@ -1,115 +0,0 @@ -/* -ÂĐ2021 Everywhere Defense Industries / Fate Everywhere - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -enum layers { - _MAIN, - _RAISE, - _LOWER, - _SET, -}; - -// Readability keycodes -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define SET MO(_SET) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - -/* MAIN - * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Backsp | Delete | 7 | 8 | 9 | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter | 4 | 5 | 6 | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LShift | Z | X | C | V | B | N | M | , | . | / | Up | Pause | 1 | 2 | 3 | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LCtrl | Lock | GUI | Alt | Lower | Space | Space | Raise | PrtScr | RShift | Left | Down | Right | 0 | . | Enter | - * '-----------------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_MAIN] = LAYOUT_ortho_4x16( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL, KC_KP_7, KC_KP_8, KC_KP_9, - 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_ENT, KC_KP_4, KC_KP_5, KC_KP_6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_PAUS, KC_KP_1, KC_KP_2, KC_KP_3, - KC_LCTL, QK_LOCK, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_PSCR, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_KP_DOT, KC_PENT - ), - -/* RAISE - * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | Insert | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | - | = | [ | ] | \ | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | | PgUp | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | Vol- | PgDn | Vol+ | | | | - * '-----------------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_RAISE] = LAYOUT_ortho_4x16( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_INS, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_PGDN, KC_VOLU, _______, _______, _______ - ), - -/* LOWER - * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | Home | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | Mute | End | Play | | | | - * '-----------------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_LOWER] = LAYOUT_ortho_4x16( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_END, KC_MPLY, _______, _______, _______ - ), - - /* SETTINGS - * .-----------------------------------------------------------------------------------------------------------------------------------------------. - * | | CapLok | ScrLok | NumLok | VK I/O | | | RGB IO | Mode+ | Mode- | Plain | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | Hue+ | Sat+ | Val+ | Larsen | | Reset | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | Hue- | Sat- | Val- | Rswirl | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | | | | | | | - * '-----------------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_SET] = LAYOUT_ortho_4x16( - _______, KC_CAPS, KC_SCRL, KC_NUM, VK_TOGG, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_P, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, QK_BOOT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _SET); -} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/rules.mk b/keyboards/edi/hardlight/mk2/rules.mk index 69c4b26a9e4a..b7b67ba5b2b1 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 e59dbc15e655..7caa265c1a1f 100644 --- a/keyboards/edi/standaside/config.h +++ b/keyboards/edi/standaside/config.h @@ -7,21 +7,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* - * Enable RGB Underlighting - */ -#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 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/edi/standaside/info.json b/keyboards/edi/standaside/info.json index 0c8bb289b065..69f94729fb85 100644 --- a/keyboards/edi/standaside/info.json +++ b/keyboards/edi/standaside/info.json @@ -13,6 +13,21 @@ "rows": ["D1", "F4", "F6", "F7", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/edinburgh41/config.h b/keyboards/edinburgh41/config.h index f37d43dd2f62..1958d0a9320c 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 14e4950c4ab9..745710f92f34 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/edinburgh41/keymaps/lalit/config.h b/keyboards/edinburgh41/keymaps/lalit/config.h deleted file mode 100644 index b8304212e28b..000000000000 --- a/keyboards/edinburgh41/keymaps/lalit/config.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 L. Mistry (@schwarzer-geiger) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Underglow LED settings - -#define RGBLIGHT_SLEEP - -// Thumbstick settings - -#undef CURSOR_SPEED -#define CURSOR_SPEED 95 - -#undef SCROLL_SPEED -#define SCROLL_SPEED 20 - -// tap dance settings -#define TAPPING_TERM 155 diff --git a/keyboards/edinburgh41/keymaps/lalit/keymap.c b/keyboards/edinburgh41/keymaps/lalit/keymap.c deleted file mode 100644 index 91e9b8fe2683..000000000000 --- a/keyboards/edinburgh41/keymaps/lalit/keymap.c +++ /dev/null @@ -1,220 +0,0 @@ -/* Copyright 2022 schwarzer-geiger - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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, - _LOWER, - _RAISE, - _ADJUST -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define ADJUST MO(_ADJUST) - -enum custom_keycodes { - AE_UMLAUT = SAFE_RANGE, - UE_UMLAUT, - OE_UMLAUT, - SS_UMLAUT -}; - -enum { - TD_J_QUOTE, - TD_H_DQT, -}; - -// Tap Dance definitions -qk_tap_dance_action_t tap_dance_actions[] = { - // Tap once for J, twice for Semicolon - [TD_J_QUOTE] = ACTION_TAP_DANCE_DOUBLE(KC_J, KC_QUOTE), - // Tap once for K, twice for Colon - [TD_H_DQT] = ACTION_TAP_DANCE_DOUBLE(KC_H, KC_DOUBLE_QUOTE), -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT(RAISE, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, TD(TD_H_DQT), TD(TD_J_QUOTE), KC_K, KC_L, KC_MS_BTN1, KC_ENTER, - LGUI(KC_TAB), KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, - KC_LCTL, KC_LSFT, KC_NO, KC_SPC, LOWER - ), - - [_LOWER] = LAYOUT( - RGB_TOG, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, LGUI(KC_SPC), KC_MINUS, LSFT(KC_EQUAL), KC_NO, LGUI(LSFT(KC_4)), - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_NO, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_NO, KC_NO, KC_NO, KC_EQUAL, KC_BSLS, KC_GRAVE, KC_NO, KC_NO, - _______, _______, KC_NO, _______, _______ - ), - - [_RAISE] = LAYOUT( - _______, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_NO, UE_UMLAUT, OE_UMLAUT, AE_UMLAUT, SS_UMLAUT, KC_NO, - _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, _______, KC_NO, _______, _______ - ), - - [_ADJUST] = LAYOUT( - RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, _______, _______ - ), -}; - -// German Umlaute macro for Mac US keyboard - -bool process_record_user(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { - case AE_UMLAUT: - if (record->event.pressed) { - // when keycode AE_UMLAUT is pressed - SEND_STRING(SS_LALT("u") "a"); - } else { - // when keycode AE_UMLAUT is released - } - break; - case UE_UMLAUT: - if (record->event.pressed) { - SEND_STRING(SS_LALT("u") "u"); - } else { - } - break; - case OE_UMLAUT: - if (record->event.pressed) { - SEND_STRING(SS_LALT("u") "o"); - } else { - } - break; - case SS_UMLAUT: - if (record->event.pressed) { - SEND_STRING(SS_LALT("s")); - } else { - } - break; - } - return true; -}; - -// Thumbstick keymap, change KC_XXX to whatever you need - -#define THUMBSTICK_RIGHT_TAP KC_RIGHT -#define THUMBSTICK_LEFT_TAP KC_LEFT -#define THUMBSTICK_UP_TAP KC_UP -#define THUMBSTICK_DOWN_TAP KC_DOWN - -// Thumbstick code, no customisation needed - -bool cursor_mode = false; -bool scrolling_mode = false; -bool tapping_mode = false; - -// tracks if thumbstick was released -bool returned_to_zero = true; - -// tracks how many times mouse_report.x/y have been read zero in succession -uint16_t zero_reads = 0; - -// set mode depending on layer -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case SCROLLING_LAYER: - if (scrolling_mode == false) { - scrolling_mode = true; - } - if (tapping_mode) { - tapping_mode = false; - } - if (cursor_mode) { - cursor_mode = false; - } - break; - case TAPPING_LAYER: - if (tapping_mode == false) { - tapping_mode = true; - } - if (cursor_mode) { - cursor_mode = false; - } - if (scrolling_mode) { - scrolling_mode = false; - } - break; - default: - if (scrolling_mode) { - scrolling_mode = false; - } - if (tapping_mode) { - tapping_mode = false; - } - if (cursor_mode == false) { - cursor_mode = true; - } - break; - } - return state; -} - -// manipulate mouse report based on current mode -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - - if (cursor_mode) { - mouse_report.x = CURSOR_SPEED * mouse_report.x/100; - mouse_report.y = CURSOR_SPEED * mouse_report.y/100; - } - if (scrolling_mode) { - mouse_report.h = SCROLL_SPEED * mouse_report.x/100; - mouse_report.v = SCROLL_SPEED * mouse_report.y/100; - mouse_report.x = 0; - mouse_report.y = 0; - if ((mouse_report.h != 0) | (mouse_report.v != 0)) { - _delay_ms(SCROLL_DELAY_MS); - } - - } else if (tapping_mode) { - if ((mouse_report.x || mouse_report.y) != 0) { - if (returned_to_zero) { - if (mouse_report.x > 0) { - tap_code16(THUMBSTICK_RIGHT_TAP); - } - if (mouse_report.x < 0) { - tap_code16(THUMBSTICK_LEFT_TAP); - } - if (mouse_report.y > 0) { - tap_code16(THUMBSTICK_DOWN_TAP); - } - if (mouse_report.y < 0) { - tap_code16(THUMBSTICK_UP_TAP); - } - returned_to_zero = false; - } - zero_reads = 0; - } else if (zero_reads < 20) { - zero_reads++; - } - if (zero_reads >= 20) { - if (returned_to_zero == false) { - returned_to_zero = true; - } - } - mouse_report.x = 0; - mouse_report.y = 0; - } - - return mouse_report; -} diff --git a/keyboards/edinburgh41/keymaps/lalit/rules.mk b/keyboards/edinburgh41/keymaps/lalit/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/edinburgh41/keymaps/lalit/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h index 37beac094b2e..66b91b7c4e25 100644 --- a/keyboards/eek/config.h +++ b/keyboards/eek/config.h @@ -17,22 +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 -#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 - #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index dde20e49dc5d..27441a293ea8 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D4", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], @@ -20,58 +20,26 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36, + "max_brightness": 200, + "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 + } }, "processor": "atmega32u4", "bootloader": "qmk-dfu", - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"x": 0, "y": 0.88}, - {"x": 1, "y": 0.38}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0.38}, - {"x": 4, "y": 0.5}, - - {"x": 6, "y": 0.5}, - {"x": 7, "y": 0.38}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0.38}, - {"x": 10, "y": 0.88}, - - {"x": 0, "y": 1.88}, - {"x": 1, "y": 1.38}, - {"x": 2, "y": 1}, - {"x": 3, "y": 1.38}, - {"x": 4, "y": 1.5}, - - {"x": 6, "y": 1.5}, - {"x": 7, "y": 1.38}, - {"x": 8, "y": 1}, - {"x": 9, "y": 1.38}, - {"x": 10, "y": 1.88}, - - {"x": 0, "y": 2.88}, - {"x": 1, "y": 2.38}, - {"x": 2, "y": 2}, - {"x": 3, "y": 2.38}, - {"x": 4, "y": 2.5}, - - {"x": 6, "y": 2.5}, - {"x": 7, "y": 2.38}, - {"x": 8, "y": 2}, - {"x": 9, "y": 2.38}, - {"x": 10, "y": 2.88}, - - {"x": 2, "y": 3.25}, - {"x": 3, "y": 3.38}, - {"x": 4, "y": 3.5}, - - {"x": 6, "y": 3.5}, - {"x": 7, "y": 3.38}, - {"x": 8, "y": 3.25} - ] - } - } + "community_layouts": ["split_3x5_3"] } diff --git a/keyboards/efreet/info.json b/keyboards/efreet/info.json index ea2a48be25bc..b7749ed3419e 100644 --- a/keyboards/efreet/info.json +++ b/keyboards/efreet/info.json @@ -14,6 +14,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D0", "breathing": true }, diff --git a/keyboards/eggsworks/egg58/info.json b/keyboards/eggsworks/egg58/info.json index 14e62cdf59d1..6f3fa04a6778 100644 --- a/keyboards/eggsworks/egg58/info.json +++ b/keyboards/eggsworks/egg58/info.json @@ -33,7 +33,7 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "split": true, "split_count": [29, 29], "max_brightness": 160, diff --git a/keyboards/ein_60/config.h b/keyboards/ein_60/config.h index e3df68481d60..94592a01eb32 100644 --- a/keyboards/ein_60/config.h +++ b/keyboards/ein_60/config.h @@ -29,22 +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 -# 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 - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_COUNT 38 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json index 9af00830e0df..bc208afcecdc 100644 --- a/keyboards/ein_60/info.json +++ b/keyboards/ein_60/info.json @@ -9,10 +9,27 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 38, + "max_brightness": 200, + "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 + } }, "matrix_pins": { "cols": ["A3", "A2", "A1", "A0", "F6", "F5", "F0", "E0", "E1", "C0", "C1", "C2", "C3"], diff --git a/keyboards/ein_60/keymaps/klackygears/config.h b/keyboards/ein_60/keymaps/klackygears/config.h deleted file mode 100644 index 91c51cb51cac..000000000000 --- a/keyboards/ein_60/keymaps/klackygears/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 klackygears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 PERMISSIVE_HOLD -#define TAPPING_TERM 150 - - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_KEYPRESSES -#endif diff --git a/keyboards/ein_60/keymaps/klackygears/keymap.c b/keyboards/ein_60/keymaps/klackygears/keymap.c deleted file mode 100644 index ab5a31ee9f6a..000000000000 --- a/keyboards/ein_60/keymaps/klackygears/keymap.c +++ /dev/null @@ -1,175 +0,0 @@ -/* Copyright 2020 klackygears - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "klackygears.h" -#include "stdio.h" - -//For an explanation of what's going on here with the keymap wrappers, check out drashna's user folder. -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_WINBASE] = LAYOUT_wrapper( - KC_ESC, _______________DVORAK_L1___________________, KC_MUTE, _______________DVORAK_R1___________________, KC_BSPC, - AU_TOGG, _______________DVORAK_L2___________________, _______________DVORAK_R2___________________, RGB_TOG, - CK_TOGG, _______________WINDVK_L3___________________, _______________WINDVK_R3___________________, RGB_MOD, - KC_1, KC_2, KC_3, ________WIN_THUMB_L______, KC_SPC, ________WIN_THUMB_R______, KC_1, KC_2, KC_GAMER - ), - [_MACBASE] = LAYOUT_wrapper( - KC_ESC, _______________DVORAK_L1___________________, _______, _______________DVORAK_R1___________________, KC_BSPC, - RGB_TOG, _______________DVORAK_L2___________________, _______________DVORAK_R2___________________, RGB_TOG, - RGB_MOD, _______________MACDVK_L3___________________, _______________MACDVK_R3___________________, RGB_MOD, - _______, _______, _______, ________MAC_THUMB_L______, _______, ________MAC_THUMB_R______, _______, _______, _______ - ), - [_QWERTY] = LAYOUT_wrapper( - KC_ESC, _________________COLEMAK_L1________________, KC_ESC, _________________QWERTY_R1_________________, KC_BSPC, - KC_CAPS, _________________COLEMAK_L2________________, _________________QWERTY_R2_________________, KC_ENT, - KC_LSFT, _________________COLEMAK_L3________________, _________________QWERTY_R3_________________, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, _______, MO(_MNMB), MO(_SYMB), KC_SPC, MO(_SYMB), MO(_MNMB), KC_RGUI,_______, MO(_MDIA), MO(_FUNC) - ), - - //Borderlands - [_GAMER] = LAYOUT_wrapper( - KC_ESC, KC_R, KC_G, KC_W, KC_E, KC_1, _______, _________________RGB_1_____________________, KC_WINBASE, - KC_TAB, KC_V, KC_A, KC_S, KC_D, KC_2, _________________RGB_2_____________________, _______, - KC_C, KC_I, KC_F, KC_Q, KC_4, KC_3, _________________MEDIA_____________________, _______, - KC_Z, KC_X, KC_K, KC_LCTL, KC_LSFT, KC_SPC, KC_SPC, KC_F12, KC_P, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT - ), - - [_SYMB] = LAYOUT_wrapper( - _______, _________________PUNC_L1_ALT_______________, _______, _________________PUNC_R1___________________, _______, - _______, _________________PUNC_L3___________________, _________________PUNC_R2___________________, _______, - RGB_MOD, _________________PUNC_L3_ALT_______________, _________________PUNC_R3___________________, _______, - _______, _______, KC_NUM, KC_SCRL, KC_DEL, _______, _______, _______, KC_CAPS, _______, _______, _______, _______ - ), - - [_FUNC] = LAYOUT_wrapper( - _______, _____________FUNC_L1_______________________, _______, _______, _____________FUNC_1_______________, _______, - _______, ________MAC_MISSION_CTRL__________, LGUI(KC_L), _______, _____________FUNC_2_______________, _______, - RGB_MOD, _____________FUNC_L3_______________________, _______, _____________FUNC_3_______________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______ - ), - - [_MNMB] = LAYOUT_wrapper( - _______, _________________MACNAV_L1_________________, _______, _________________NUMB_R1___________________, _______, - _______, _________________MACNAV_L2_________________, _________________NUMB_R2___________________, _______, - RGB_MOD, _________________MACNAV_L3_________________, _________________NUMB_R3_MAC_______________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT, _______, _______, _______ - ), - - - [_NUMB] = LAYOUT_wrapper( - _______, _________________WINNAV_L1_________________, _______, _________________NUMB_R1___________________, _______, - _______, _________________WINNAV_L2_________________, _________________NUMB_R2___________________, _______, - RGB_MOD, _________________WINNAV_L3_________________, _________________NUMB_R3_WIN_______________, _______, - _______, _______, _______, TO(_WINBASE), _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT, _______, _______, _______ - ), - - [_MDIA] = LAYOUT_wrapper( - _______, _________________LYOUT_____________________, _______, _________________RGB_1_____________________, RGB_TOG, - _______, MU_TOGG, _______, _______, _______, CK_UP, _________________RGB_2_____________________, _______, - RGB_MOD, MU_NEXT, MU_TOGG, CK_TOGG, CK_RST, CK_DOWN, _________________MEDIA_____________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; - - -#ifdef OLED_ENABLE - - char wpm_str[10]; - -static void render_ein60_logo(void) { - static const char PROGMEM ein60_logo[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 11,251,139,139,139,139,139,139,139,139,139,139,139, 11, 15, 0,240,240, 16,240, 0,240,240, 16,240,224,192,128, 0, 0, 0, 0,240, 16,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 11,251,139,139,139,139,139,139,139,139,139,139,139,143,128, 0, 0, 0, 0,254,255, 11,251, 11, 11, 11, 11,139,203,235,123,187,219,235,251,255, 7,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 4,253,197,197,197,197,197,197,197,197,197,197,199,192,192, 0,255,255, 0,255, 0,255,255, 0,254, 13, 27, 55,111,222,188,120,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0,255,197,197,197,197,197,197,197,197,197,197,253,253,255,131,254, 0, 0,255,255, 0,255,184,220,238,247,219,205,198,195,193,192,255,255,255,128,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 3, 3, 2, 3, 0, 3, 3, 2, 3, 0, 0, 0, 0, 0, 1, 3, 2, 2, 3, 0, 8, 28, 20, 20, 20, 20, 20, 28, 8, 0, 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - oled_write_raw_P(ein60_logo, sizeof(ein60_logo)); - } - - - -static void render_status(void) { -//bool oled_task_user(void) { - - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case _WINBASE: - oled_write_P(PSTR("Base\n"), false); - break; - case _SYMB: - oled_write_P(PSTR("Symbol\n"), false); - break; - case _FUNC: - oled_write_P(PSTR("FN\n"), false); - break; - case _MNMB: - oled_write_P(PSTR("Numbpad Mac\n"), false); - break; - case _NUMB: - oled_write_P(PSTR("Numbpad\n"), false); - break; - case _MDIA: - oled_write_P(PSTR("Media\n"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("Undefined"), false); - } - - // Host Keyboard LED Status - led_t led_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); - - - sprintf(wpm_str, "WPM: %03d", get_current_wpm()); - oled_set_cursor(1,2); - oled_write(wpm_str, false); - -} - -bool oled_task_user(void) { - - render_status(); - oled_write_ln_P(PSTR(""), false); - render_ein60_logo(); - - return false; -} - -#endif - - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - } - return true; -} diff --git a/keyboards/ein_60/keymaps/klackygears/readme.md b/keyboards/ein_60/keymaps/klackygears/readme.md deleted file mode 100644 index f97a08bd0982..000000000000 --- a/keyboards/ein_60/keymaps/klackygears/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is the klackygears userspace keymap for EIN_60. My userspace is heavily based on Drashna's userspace and draws a lot of features from him. diff --git a/keyboards/ein_60/keymaps/klackygears/rules.mk b/keyboards/ein_60/keymaps/klackygears/rules.mk deleted file mode 100644 index 885ab5bafed5..000000000000 --- a/keyboards/ein_60/keymaps/klackygears/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ - -# Build Options -# change yes to no to disable -ENCODER_ENABLE = yes # Enables the use of one or more encoders -WPM_ENABLE = yes # Enables the WPM counter on the OLED -RGB_MATRIX_ENABLE = yes # Enable for pretty RGB matrix effects -AUDIO_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/ein_60/rules.mk b/keyboards/ein_60/rules.mk index 648a0c38ff2c..541e00aa4426 100644 --- a/keyboards/ein_60/rules.mk +++ b/keyboards/ein_60/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = no # Enable for pretty RGB matrix effects ENCODER_ENABLE = yes # Enables the use of one or more encoders OLED_ENABLE = yes # Enables the use of OLED displays -OLED_DRIVER = SSD1306 diff --git a/keyboards/elcantorhs/config.h b/keyboards/elcantorhs/config.h new file mode 100644 index 000000000000..ba8ae794c96f --- /dev/null +++ b/keyboards/elcantorhs/config.h @@ -0,0 +1,8 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN B6 +#define SERIAL_USART_RX_PIN B7 diff --git a/keyboards/elcantorhs/halconf.h b/keyboards/elcantorhs/halconf.h new file mode 100644 index 000000000000..12ebaa809802 --- /dev/null +++ b/keyboards/elcantorhs/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#include_next diff --git a/keyboards/elcantorhs/info.json b/keyboards/elcantorhs/info.json new file mode 100644 index 000000000000..7905a1233a02 --- /dev/null +++ b/keyboards/elcantorhs/info.json @@ -0,0 +1,92 @@ +{ + "manufacturer": "azhizhinov", + "keyboard_name": "EL-CANTOR-HS", + "maintainer": "azhizhinov", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "development_board": "blackpill_f401", + "url": "https://github.com/azhizhinov/ELCANTORHS", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x415A" + }, + "matrix_pins": { + "direct": [ + ["B1", "B10", "A8", "B15", "B14", "B13"], + ["B9", "B8", "B5", "B4", "B3", "A15"], + ["A3", "A4", "A5", "A6", "A7", "B0"], + ["B12","A2", "A1", "A0", null, null] + ] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [4, 5] + }, + "matrix_pins": { + "right": { + "direct": [ + ["B13", "B14", "B15", "A8", "B10", "B1"], + ["A15", "B3", "B4", "B5", "B8", "B9"], + ["B0", "A7", "A6", "A5", "A4", "A3"], + ["A0", "A1", "A2", "B12", null, null] + ] + } + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [4, 0], "x": 8, "y": 0.25}, + {"matrix": [4, 1], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0.125}, + {"matrix": [4, 4], "x": 12, "y": 0.25}, + {"matrix": [4, 5], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 0], "x": 8, "y": 1.25}, + {"matrix": [5, 1], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1.125}, + {"matrix": [5, 4], "x": 12, "y": 1.25}, + {"matrix": [5, 5], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [6, 0], "x": 8, "y": 2.25}, + {"matrix": [6, 1], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2.125}, + {"matrix": [6, 4], "x": 12, "y": 2.25}, + {"matrix": [6, 5], "x": 13, "y": 2.25}, + {"matrix": [3, 0], "x": 2.5, "y": 3}, + {"matrix": [3, 1], "x": 3.5, "y": 3.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3.5}, + {"matrix": [3, 3], "x": 5.5, "y": 3.75}, + {"matrix": [7, 0], "x": 7.5, "y": 3.75}, + {"matrix": [7, 1], "x": 8.5, "y": 3.5}, + {"matrix": [7, 2], "x": 9.5, "y": 3.25}, + {"matrix": [7, 3], "x": 10.5, "y": 3} + ] + } + } +} diff --git a/keyboards/elcantorhs/keymaps/default/keymap.c b/keyboards/elcantorhs/keymaps/default/keymap.c new file mode 100644 index 000000000000..49d5e4d178ea --- /dev/null +++ b/keyboards/elcantorhs/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + 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_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC, + KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC) + ), + [1] = 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_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC) + ), + [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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT, + KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ), + [3] = LAYOUT( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ) +}; diff --git a/keyboards/elcantorhs/keymaps/via/keymap.c b/keyboards/elcantorhs/keymaps/via/keymap.c new file mode 100644 index 000000000000..49d5e4d178ea --- /dev/null +++ b/keyboards/elcantorhs/keymaps/via/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + 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_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC, + KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC) + ), + [1] = 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_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC) + ), + [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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT, + KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ), + [3] = LAYOUT( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ) +}; diff --git a/keyboards/elcantorhs/keymaps/via/rules.mk b/keyboards/elcantorhs/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/elcantorhs/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/elcantorhs/mcuconf.h b/keyboards/elcantorhs/mcuconf.h new file mode 100644 index 000000000000..c56b76d8ddb9 --- /dev/null +++ b/keyboards/elcantorhs/mcuconf.h @@ -0,0 +1,8 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#pragma once + +#include_next + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/elcantorhs/readme.md b/keyboards/elcantorhs/readme.md new file mode 100644 index 000000000000..1fd538805216 --- /dev/null +++ b/keyboards/elcantorhs/readme.md @@ -0,0 +1,30 @@ +# El Cantor HS + +![El Cantor HS](https://imagestack.de/i/905c30a38469.png) + +The El Cantor HS keyboard is a 44 key diodeless split keyboard with support for hotswap sockets, designed with simplicity in mind. Based on the popular [Cantor](https://github.com/diepala/cantor) keyboard, this keyboard features a stronger, Corne like, column stagger whilst aiming to simplify assembly and improve cost efficiency. + +* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov) +* Hardware Supported: Blackpill STM32F401 +* Hardware Availability: https://github.com/azhizhinov/ELCANTORHS + +Make example for this keyboard (after setting up your build environment): + + make elcantorhs:default + +Flashing example for this keyboard: + + make elcantorhs: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 top left key and plug in the keyboard. For the right side, hold the top right key and plug the keyboard. +* **Physical reset button**: + * Press and hold the BOOT0 button. + * Press and release the NRST button. + * Release the BOOT0 button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/elcantorhs/rules.mk b/keyboards/elcantorhs/rules.mk new file mode 100644 index 000000000000..c6e298832137 --- /dev/null +++ b/keyboards/elcantorhs/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = usart diff --git a/keyboards/elephant42/config.h b/keyboards/elephant42/config.h index dc1f568fc4c5..b62d75af3c44 100644 --- a/keyboards/elephant42/config.h +++ b/keyboards/elephant42/config.h @@ -17,31 +17,11 @@ along with this program. If not, see . #pragma once -# define RGBLED_SPLIT { 27, 27 } -# 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 -# 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 - #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# 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 8c4440805506..742640619e13 100644 --- a/keyboards/elephant42/info.json +++ b/keyboards/elephant42/info.json @@ -9,10 +9,29 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 8 }, "rgblight": { - "max_brightness": 170 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 54, + "max_brightness": 170, + "split_count": [27, 27], + "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 + } }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], diff --git a/keyboards/emery65/rules.mk b/keyboards/emery65/rules.mk index 7000bb65710c..7c0709f41e6c 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/enter67/info.json b/keyboards/enter67/info.json new file mode 100644 index 000000000000..df1d7f6b5b33 --- /dev/null +++ b/keyboards/enter67/info.json @@ -0,0 +1,106 @@ +{ + "manufacturer": "KipperSun", + "keyboard_name": "enter67", + "maintainer": "KipperSun", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B15", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A7", "B0", "B1", "B2", "B10", "B11", "B12", "B14", "A9", "A10", "A8", "B6", "B7", "B5", "B4"], + "rows": ["A1", "A2", "A3", "A4", "A5"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0xAA66", + "vid": "0x4040" + }, + "community_layouts": ["65_ansi_blocker"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 14], "x": 15, "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": "Home", "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": "k90", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [2, 14], "x": 15, "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, 13], "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": "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": "K91", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "K92", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"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/enter67/keymaps/default/keymap.c b/keyboards/enter67/keymaps/default/keymap.c new file mode 100644 index 000000000000..1f3d16c0953d --- /dev/null +++ b/keyboards/enter67/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/enter67/keymaps/via/keymap.c b/keyboards/enter67/keymaps/via/keymap.c new file mode 100644 index 000000000000..1f3d16c0953d --- /dev/null +++ b/keyboards/enter67/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/enter67/keymaps/via/rules.mk b/keyboards/enter67/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/enter67/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/enter67/readme.md b/keyboards/enter67/readme.md new file mode 100644 index 000000000000..8a4890ff1d5b --- /dev/null +++ b/keyboards/enter67/readme.md @@ -0,0 +1,26 @@ +# ENTER67 - PCB + +![enter67](https://imgur.com/igF8Lurh.jpg) + +67 layout PCB, with option for stepped Caps Lock + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: enter67 PCB + +Make example for this keyboard (after setting up your build environment): + + make enter67:default + +Flashing example for this keyboard: + + make enter67: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/enter67/rules.mk b/keyboards/enter67/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/enter67/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/enter80/info.json b/keyboards/enter80/info.json new file mode 100644 index 000000000000..a4fe83b3ac37 --- /dev/null +++ b/keyboards/enter80/info.json @@ -0,0 +1,349 @@ +{ + "manufacturer": "KipperSun", + "keyboard_name": "ENTER80", + "maintainer": "KipperSun", + "bootloader": "stm32-dfu", + "processor": "STM32F072", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "A2", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A1", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "A15", "B3"], + "rows": ["B4", "B5", "B6", "B15", "B10", "B7"] + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0xFF65", + "vid": "0xAD80" + }, + "community_layouts": ["tkl_f13_ansi", "tkl_f13_ansi_tsangan"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 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, 14], "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, 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": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [3, 14], "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, 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": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + + {"matrix": [0, 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}, + {"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": [3, 14], "x": 13, "y": 1, "w": 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.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.25, "y": 2}, + {"matrix": [2, 15], "x": 16.25, "y": 2}, + {"matrix": [2, 16], "x": 17.25, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, + + {"matrix": [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, 13], "x": 12.25, "y": 4, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5}, + {"matrix": [5, 13], "x": 13.5, "y": 5, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5}, + {"matrix": [5, 15], "x": 16.25, "y": 5}, + {"matrix": [5, 16], "x": 17.25, "y": 5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enter80/keymaps/default/keymap.c b/keyboards/enter80/keymaps/default/keymap.c new file mode 100644 index 000000000000..e3bc2d652626 --- /dev/null +++ b/keyboards/enter80/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_all( + KC_ESC, KC_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1]=LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/enter80/keymaps/via/keymap.c b/keyboards/enter80/keymaps/via/keymap.c new file mode 100644 index 000000000000..e3bc2d652626 --- /dev/null +++ b/keyboards/enter80/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0]=LAYOUT_all( + KC_ESC, KC_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1]=LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/enter80/keymaps/via/rules.mk b/keyboards/enter80/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enter80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enter80/matrix_diagram.md b/keyboards/enter80/matrix_diagram.md new file mode 100644 index 000000000000..716538a4f5c7 --- /dev/null +++ b/keyboards/enter80/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for ENTER80 + +``` +┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ +│0A ││0B │0C │0D │0E ││0F │0G │0H │0I ││0J │0K │0L │0M ││0N ││0O │0P │0Q │ +└───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ ┌───────┐ +│1A │1B │1C │1D │1E │1F │1G │1H │1I │1J │1K │1L │1M │1N │3O ││1O │1P │1Q │ │3O │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī └───────┘ +│2A │2B │2C │2D │2E │2F │2G │2H │2I │2J │2K │2L │2M │2N ││2O │2P │2Q │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ +│3A │3B │3C │3D │3E │3F │3G │3H │3I │3J │3K │3L │3N │ +├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ +│4A │4C │4D │4E │4F │4G │4H │4I │4J │4K │4L │4N │ │4P │ +├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ +│5A │5B │5C │5G │5K │5L │5M │5N ││5O │5P │5Q │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ + +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│5A │5B │5C │5G │5L │5M │5N │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +``` \ No newline at end of file diff --git a/keyboards/enter80/readme.md b/keyboards/enter80/readme.md new file mode 100644 index 000000000000..c02001a43d80 --- /dev/null +++ b/keyboards/enter80/readme.md @@ -0,0 +1,26 @@ +# ENTER80 - PCB + +![enter80](https://i.imgur.com/rH9m5Ysh.jpg) + +80 layout PCB, With caps lock light + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: enter80 PCB + +Make example for this keyboard (after setting up your build environment): + + make enter80:default + +Flashing example for this keyboard: + + make enter80: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/enter80/rules.mk b/keyboards/enter80/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/enter80/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/enviousdesign/60f/info.json b/keyboards/enviousdesign/60f/info.json new file mode 100644 index 000000000000..c163ca5d6de7 --- /dev/null +++ b/keyboards/enviousdesign/60f/info.json @@ -0,0 +1,239 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "EnvKB 60F V1", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP16", "GP17", "GP18", "GP19", "GP20", "GP21", "GP22", "GP26", "GP27"], + "rows": ["GP11", "GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "url": "http://envious.design", + "usb": { + "device_version": "1.0.0", + "pid": "0xA400", + "vid": "0xE739" + }, + "community_layouts": ["60_ansi", "60_iso"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,2", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "1,8", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,2", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,13", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,6", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,13", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "4,14", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,2", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "1,8", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 12.5, "y": 1}, + + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,2", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,13", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,6", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,13", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "4,14", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,2", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "1,8", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,2", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25}, + + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,13", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,6", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,13", "matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "4,14", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/enviousdesign/60f/keymaps/default/keymap.c b/keyboards/enviousdesign/60f/keymaps/default/keymap.c new file mode 100644 index 000000000000..42f84afed7e3 --- /dev/null +++ b/keyboards/enviousdesign/60f/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_all( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL + ), + [1] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, + QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS + ) +}; + diff --git a/keyboards/enviousdesign/60f/keymaps/via/keymap.c b/keyboards/enviousdesign/60f/keymaps/via/keymap.c new file mode 100644 index 000000000000..42f84afed7e3 --- /dev/null +++ b/keyboards/enviousdesign/60f/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_all( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL + ), + [1] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, + QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS + ) +}; + diff --git a/keyboards/enviousdesign/60f/keymaps/via/rules.mk b/keyboards/enviousdesign/60f/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enviousdesign/60f/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enviousdesign/60f/readme.md b/keyboards/enviousdesign/60f/readme.md new file mode 100644 index 000000000000..5098f22327d6 --- /dev/null +++ b/keyboards/enviousdesign/60f/readme.md @@ -0,0 +1,31 @@ +# EnvKB 60F + +![Image of the EnvKB 60F PCB](https://i.imgur.com/c5xMEg0h.png) + + +A low cost Standard 60% Design which takes inspiration from the CFTKB Mysterium. + +* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data) +* Hardware Supported: EnvKB 60F (Pi Pico) +* Hardware Availability: [GitHub](https://github.com/Envious-Data/Env-KB60F) + +Make example for this keyboard (after setting up your build environment): + + make enviousdesign/60f:default + +Flashing example for this keyboard: + + make enviousdesign/60f: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 top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: Hold down the `BOOTSEL` button on the Pi Pico, then either plug the board in or press the `RESET` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, replacing the Tab key. + +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. + diff --git a/keyboards/enviousdesign/60f/rules.mk b/keyboards/enviousdesign/60f/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/60f/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/enviousdesign/65m/info.json b/keyboards/enviousdesign/65m/info.json new file mode 100644 index 000000000000..232893246261 --- /dev/null +++ b/keyboards/enviousdesign/65m/info.json @@ -0,0 +1,393 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "EnvKB 65M", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16"], + "rows": ["GP21", "GP20", "GP19", "GP18", "GP17"] + }, + "processor": "RP2040", + "url": "http://envious.design", + "usb": { + "device_version": "0.0.1", + "pid": "0xA279", + "vid": "0xE739" + }, + "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, "w": 2}, + {"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": [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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [3, 16], "x": 16, "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, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.75}, + {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + {"matrix": [4, 16], "x": 16, "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": [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": [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": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [3, 16], "x": 16, "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + {"matrix": [4, 16], "x": 16, "y": 4} + ] + }, + "LAYOUT_ansi_split_space": { + "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, 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": [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": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [3, 16], "x": 16, "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, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.75}, + {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + {"matrix": [4, 16], "x": 16, "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": [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": [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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [3, 16], "x": 16, "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, 3], "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}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + {"matrix": [4, 16], "x": 16, "y": 4} + ] + }, + "LAYOUT_iso_split_space": { + "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, 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": [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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [3, 16], "x": 16, "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, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.75}, + {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + {"matrix": [4, 16], "x": 16, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enviousdesign/65m/keymaps/default/keymap.c b/keyboards/enviousdesign/65m/keymaps/default/keymap.c new file mode 100644 index 000000000000..4efa8abf9232 --- /dev/null +++ b/keyboards/enviousdesign/65m/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +/* 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_HOME, KC_PGUP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN + ), + [1] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_END, KC_INS, + QK_BOOTLOADER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_DEL + ) +}; + diff --git a/keyboards/enviousdesign/65m/keymaps/via/keymap.c b/keyboards/enviousdesign/65m/keymaps/via/keymap.c new file mode 100644 index 000000000000..4efa8abf9232 --- /dev/null +++ b/keyboards/enviousdesign/65m/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +/* 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_HOME, KC_PGUP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN + ), + [1] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_END, KC_INS, + QK_BOOTLOADER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_DEL + ) +}; + diff --git a/keyboards/enviousdesign/65m/keymaps/via/rules.mk b/keyboards/enviousdesign/65m/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enviousdesign/65m/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enviousdesign/65m/readme.md b/keyboards/enviousdesign/65m/readme.md new file mode 100644 index 000000000000..76180843f329 --- /dev/null +++ b/keyboards/enviousdesign/65m/readme.md @@ -0,0 +1,30 @@ +# EnvKB 65M + +![image of EnvKB 65M PCB](https://i.imgur.com/3d76sz9h.png) + +A low cost 65% kit featuring split space and an attempt at fitting a standard keycap set. + +* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data) +* Hardware Supported: EnvKB 65M (Pi Pico) +* Hardware Availability: [Mechboards](https://mechboards.co.uk/products/envkb-65-kit), [GitHub](https://github.com/Envious-Data/Env-KB65M) + +Make example for this keyboard (after setting up your build environment): + + make enviousdesign/65m:default + +Flashing example for this keyboard: + + make enviousdesign/65m: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 top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: Hold down the `BOOTSEL` button on the Pi Pico, then either plug the board in or press the `RESET` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, replacing the Control key in the bottom-left. + +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. + diff --git a/keyboards/enviousdesign/65m/rules.mk b/keyboards/enviousdesign/65m/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/65m/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/enviousdesign/commissions/mini1800/info.json b/keyboards/enviousdesign/commissions/mini1800/info.json new file mode 100644 index 000000000000..9303e7af2346 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/info.json @@ -0,0 +1,110 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "Mini1800", + "maintainer": "Envious.Design", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0xE739", + "pid": "0xC001", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "num_lock": "GP8", + "caps_lock": "GP10", + } + "diode_direction": "ROW2COL", + "matrix_pins": { + "rows": ["GP4", "GP3", "GP2", "GP1", "GP0"], + "cols": ["GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP27", "GP28", "GP5", "GP6", "GP7"] + }, + "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.5, "y": 0 }, + { "matrix": [0, 15], "x": 15.5, "y": 0 }, + { "matrix": [0, 16], "x": 16.5, "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], "w": 1.5, "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "x": 14.5, "y": 1 }, + { "matrix": [1, 15], "x": 15.5, "y": 1 }, + { "matrix": [1, 16], "x": 16.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], "w": 1.75, "x": 11.75, "y": 2 }, + { "matrix": [2, 14], "x": 14.5, "y": 2 }, + { "matrix": [2, 15], "x": 15.5, "y": 2 }, + { "matrix": [2, 16], "x": 16.5, "y": 2 }, + { "matrix": [3, 0], "w": 2, "x": 0, "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": 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, 11], "w": 1.75, "x": 11, "y": 3 }, + { "matrix": [3, 12], "x": 13, "y": 3.25 }, + { "matrix": [3, 14], "x": 14.5, "y": 3 }, + { "matrix": [3, 15], "x": 15.5, "y": 3 }, + { "matrix": [3, 16], "x": 16.5, "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.75, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 2.75, "x": 6.5, "y": 4 }, + { "matrix": [4, 8], "w": 1.25, "x": 9.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10.5, "y": 4 }, + { "matrix": [4, 11], "x": 12, "y": 4.25 }, + { "matrix": [4, 12], "x": 13, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 15.5, "y": 4 }, + { "matrix": [4, 16], "x": 16.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enviousdesign/commissions/mini1800/keymaps/default/keymap.c b/keyboards/enviousdesign/commissions/mini1800/keymaps/default/keymap.c new file mode 100644 index 000000000000..c095531fe6a1 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +/* 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_BSLS, KC_PGUP, KC_PGDN, 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_BSPC, KC_7, KC_8, KC_9, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_4, KC_5, KC_6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_SLSH, KC_RSFT, KC_UP, KC_1, KC_2, KC_3, + KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_0, LT(1,KC_DOT) + ), + + [1] = LAYOUT( + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_HOME, KC_END, KC_MSTP, + KC_CAPS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_PAUS, KC_PSCR, KC_RBRC, KC_SLEP, KC_P7, KC_P8, KC_P9, + KC_TRNS, KC_TRNS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_P4, KC_P5, KC_P6, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_VOLU, KC_P1, KC_P2, KC_P3, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_P0, KC_PDOT + ), + + [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, 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 + ), +}; + diff --git a/keyboards/enviousdesign/commissions/mini1800/keymaps/via/keymap.c b/keyboards/enviousdesign/commissions/mini1800/keymaps/via/keymap.c new file mode 100644 index 000000000000..c095531fe6a1 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +/* 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_BSLS, KC_PGUP, KC_PGDN, 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_BSPC, KC_7, KC_8, KC_9, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_4, KC_5, KC_6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_SLSH, KC_RSFT, KC_UP, KC_1, KC_2, KC_3, + KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_0, LT(1,KC_DOT) + ), + + [1] = LAYOUT( + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_HOME, KC_END, KC_MSTP, + KC_CAPS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_PAUS, KC_PSCR, KC_RBRC, KC_SLEP, KC_P7, KC_P8, KC_P9, + KC_TRNS, KC_TRNS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_P4, KC_P5, KC_P6, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_VOLU, KC_P1, KC_P2, KC_P3, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, KC_P0, KC_PDOT + ), + + [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, 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 + ), +}; + diff --git a/keyboards/enviousdesign/commissions/mini1800/keymaps/via/rules.mk b/keyboards/enviousdesign/commissions/mini1800/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enviousdesign/commissions/mini1800/mini1800.c b/keyboards/enviousdesign/commissions/mini1800/mini1800.c new file mode 100644 index 000000000000..f35be22d1342 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/mini1800.c @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "quantum.h" + +void matrix_init_user(void) { + setPinOutput(GP9); //init gpio + writePinLow(GP9); + setPinOutput(GP11); //init and turn off inverted power led + writePinHigh(GP11); +} + +//layer, capslock and numlock +layer_state_t layer_state_set_user(layer_state_t state) { + writePin(GP9, layer_state_cmp(state, 1)); + return state; +} + +bool led_update_user(led_t led_state) { + led_state.num_lock = !led_state.num_lock; + led_update_ports(led_state); + return false; +} + diff --git a/keyboards/enviousdesign/commissions/mini1800/readme.md b/keyboards/enviousdesign/commissions/mini1800/readme.md new file mode 100644 index 000000000000..874cbcec6093 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/readme.md @@ -0,0 +1,27 @@ +# mini1800 + +![mini1800](https://i.imgur.com/t55hjq8.jpeg) + +*A mini1800 layout commission keyboard for LASERman71 utilising the RP2040 MCU* + +* Keyboard Maintainer: [Adam](https://github.com/envious-data) +* Hardware Supported: *Onboard RP2040 MCU* +* Hardware Availability: *None Yet* + +Make example for this keyboard (after setting up your build environment): + + make enviousdesign/commissions/mini1800:default + +Flashing example for this keyboard: + + make enviousdesign/commissions/mini1800: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/enviousdesign/commissions/mini1800/rules.mk b/keyboards/enviousdesign/commissions/mini1800/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/enviousdesign/commissions/mini1800/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/enviousdesign/delirium/readme.md b/keyboards/enviousdesign/delirium/readme.md new file mode 100644 index 000000000000..157a960303e7 --- /dev/null +++ b/keyboards/enviousdesign/delirium/readme.md @@ -0,0 +1,32 @@ +# EnvKB DELIRIUM + +![Image of EnvKB TKL PCB](https://i.imgur.com/a7UaS4mh.png) + +A low cost standard TKL design which takes inspiration from the CFTKB Mysterium. All versions are designed for reference Pi Picos. + +* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data) +* Hardware Supported: + * Delirium Prototype (`tkl/rev0`) + * Delirium (`tkl/rev1`) + * Delirium RGB (`tkl/rgb`) +* Hardware Availability: [Mechboards](https://mechboards.co.uk/products/envkb-delirium-tkl-kit), [GitHub](https://github.com/Envious-Data/Env-KB) + +Make example for this keyboard (after setting up your build environment): + + make enviousdesign/tkl/rgb:default + +Flashing example for this keyboard: + + make enviousdesign/tkl/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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: Hold down the `BOOTSEL` button on the Pi Pico, then either plug the board in or press the `RESET` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the pre-supplied keymaps it is on the second layer, replacing the Esc key. + +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. diff --git a/keyboards/enviousdesign/delirium/rev0/info.json b/keyboards/enviousdesign/delirium/rev0/info.json new file mode 100644 index 000000000000..f1eb3dc59b04 --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev0/info.json @@ -0,0 +1,121 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "Delirium Prototype", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP20", "GP21", "GP22", "GP26", "GP27", "GP28"] + }, + "processor": "RP2040", + "url": "http://envious.design", + "usb": { + "device_version": "0.0.1", + "pid": "0xA100", + "vid": "0xE739" + }, + "community_layouts": ["tkl_iso"], + "layouts": { + "LAYOUT_tkl_iso": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 6.5, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 7.5, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 8.5, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 9.5, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "0,16", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "0,17", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.5}, + {"label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.5}, + {"label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.5}, + {"label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.5}, + {"label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.5}, + {"label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.5}, + {"label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.5}, + {"label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.5}, + {"label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.5}, + {"label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.5}, + {"label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.5}, + {"label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"label": "1,15", "matrix": [1, 15], "x": 15.25, "y": 1.5}, + {"label": "1,16", "matrix": [1, 16], "x": 16.25, "y": 1.5}, + {"label": "1,17", "matrix": [1, 17], "x": 17.25, "y": 1.5}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "2,2", "matrix": [2, 2], "x": 1.5, "y": 2.5}, + {"label": "2,3", "matrix": [2, 3], "x": 2.5, "y": 2.5}, + {"label": "2,4", "matrix": [2, 4], "x": 3.5, "y": 2.5}, + {"label": "2,5", "matrix": [2, 5], "x": 4.5, "y": 2.5}, + {"label": "2,6", "matrix": [2, 6], "x": 5.5, "y": 2.5}, + {"label": "2,7", "matrix": [2, 7], "x": 6.5, "y": 2.5}, + {"label": "2,8", "matrix": [2, 8], "x": 7.5, "y": 2.5}, + {"label": "2,9", "matrix": [2, 9], "x": 8.5, "y": 2.5}, + {"label": "2,10", "matrix": [2, 10], "x": 9.5, "y": 2.5}, + {"label": "2,11", "matrix": [2, 11], "x": 10.5, "y": 2.5}, + {"label": "2,12", "matrix": [2, 12], "x": 11.5, "y": 2.5}, + {"label": "2,13", "matrix": [2, 13], "x": 12.5, "y": 2.5}, + {"label": "2,15", "matrix": [2, 15], "x": 15.25, "y": 2.5}, + {"label": "2,16", "matrix": [2, 16], "x": 16.25, "y": 2.5}, + {"label": "2,17", "matrix": [2, 17], "x": 17.25, "y": 2.5}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "3,2", "matrix": [3, 2], "x": 1.75, "y": 3.5}, + {"label": "3,3", "matrix": [3, 3], "x": 2.75, "y": 3.5}, + {"label": "3,4", "matrix": [3, 4], "x": 3.75, "y": 3.5}, + {"label": "3,5", "matrix": [3, 5], "x": 4.75, "y": 3.5}, + {"label": "3,6", "matrix": [3, 6], "x": 5.75, "y": 3.5}, + {"label": "3,7", "matrix": [3, 7], "x": 6.75, "y": 3.5}, + {"label": "3,8", "matrix": [3, 8], "x": 7.75, "y": 3.5}, + {"label": "3,9", "matrix": [3, 9], "x": 8.75, "y": 3.5}, + {"label": "3,10", "matrix": [3, 10], "x": 9.75, "y": 3.5}, + {"label": "3,11", "matrix": [3, 11], "x": 10.75, "y": 3.5}, + {"label": "3,12", "matrix": [3, 12], "x": 11.75, "y": 3.5}, + {"label": "3,13", "matrix": [3, 13], "x": 12.75, "y": 3.5}, + {"label": "3,14", "matrix": [2, 14], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"label": "4,2", "matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"label": "4,3", "matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"label": "4,4", "matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"label": "4,5", "matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"label": "4,6", "matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"label": "4,7", "matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"label": "4,8", "matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"label": "4,9", "matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"label": "4,10", "matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"label": "4,13", "matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"label": "4,16", "matrix": [4, 16], "x": 16.25, "y": 4.5}, + {"label": "5,0", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "5,1", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "5,3", "matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "5,6", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "5,10", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "5,11", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "5,13", "matrix": [5, 13], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "5,14", "matrix": [5, 14], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "5,15", "matrix": [5, 15], "x": 15.25, "y": 5.5}, + {"label": "5,16", "matrix": [5, 16], "x": 16.25, "y": 5.5}, + {"label": "5,17", "matrix": [5, 17], "x": 17.25, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rev0/keymaps/default/keymap.c b/keyboards/enviousdesign/delirium/rev0/keymaps/default/keymap.c new file mode 100644 index 000000000000..1e0e273fa42a --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev0/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_iso( + QK_BOOTLOADER, 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_MUTE, KC_VOLD, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/enviousdesign/delirium/rev0/rules.mk b/keyboards/enviousdesign/delirium/rev0/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev0/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/enviousdesign/delirium/rev1/info.json b/keyboards/enviousdesign/delirium/rev1/info.json new file mode 100644 index 000000000000..e548d0281417 --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev1/info.json @@ -0,0 +1,305 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "Delirium", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP20", "GP21", "GP22", "GP26", "GP27", "GP28"] + }, + "processor": "RP2040", + "url": "http://envious.design", + "usb": { + "device_version": "1.0.0", + "pid": "0xA500", + "vid": "0xE739" + }, + "community_layouts": ["tkl_ansi", "tkl_iso"], + "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, 7], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 8], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 9], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 10], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "PrtSc", "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": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1.5}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, + {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1.5}, + {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1.5}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, + {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, + {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2.5}, + {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2.5}, + {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2.5}, + {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2.5}, + {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2.5}, + {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2.5}, + {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2.5}, + {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2.5}, + {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2.5}, + {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2.5}, + {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2.5}, + {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2.5}, + {"label": "|", "matrix": [2, 14], "x": 13.5, "y": 2.5, "w": 1.5}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, + {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3.5}, + {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3.5}, + {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3.5}, + {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3.5}, + {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3.5}, + {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3.5}, + {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3.5}, + {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3.5}, + {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3.5}, + {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3.5}, + {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3.5}, + {"label": "~", "matrix": [3, 13], "x": 12.75, "y": 3.5}, + {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 3.5, "w": 1.25}, + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.5}, + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "Menu", "matrix": [5, 13], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.5}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.5}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.5} + ] + }, + "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, 7], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 8], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 9], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 10], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "PrtSc", "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": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1.5}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, + {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1.5}, + {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1.5}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, + {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, + {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2.5}, + {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2.5}, + {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2.5}, + {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2.5}, + {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2.5}, + {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2.5}, + {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2.5}, + {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2.5}, + {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2.5}, + {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2.5}, + {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2.5}, + {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2.5}, + {"label": "|", "matrix": [2, 14], "x": 13.5, "y": 2.5, "w": 1.5}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, + {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3.5}, + {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3.5}, + {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3.5}, + {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3.5}, + {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3.5}, + {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3.5}, + {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3.5}, + {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3.5}, + {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3.5}, + {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3.5}, + {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3.5}, + {"label": "Enter", "matrix": [3, 14], "x": 12.75, "y": 3.5, "w": 2.25}, + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.5}, + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "Menu", "matrix": [5, 13], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.5}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.5}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso": { + "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, 7], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 8], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 9], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 10], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "PrtSc", "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": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1.5}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, + {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1.5}, + {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1.5}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, + {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, + {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2.5}, + {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2.5}, + {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2.5}, + {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2.5}, + {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2.5}, + {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2.5}, + {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2.5}, + {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2.5}, + {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2.5}, + {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2.5}, + {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2.5}, + {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2.5}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, + {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3.5}, + {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3.5}, + {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3.5}, + {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3.5}, + {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3.5}, + {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3.5}, + {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3.5}, + {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3.5}, + {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3.5}, + {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3.5}, + {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3.5}, + {"label": "~", "matrix": [3, 13], "x": 12.75, "y": 3.5}, + {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.5}, + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "Menu", "matrix": [5, 13], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.5}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.5}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rev1/keymaps/default/keymap.c b/keyboards/enviousdesign/delirium/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..02a2b616efba --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev1/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOTLOADER, 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_MUTE, KC_VOLD, KC_VOLU, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/enviousdesign/delirium/rev1/keymaps/via/keymap.c b/keyboards/enviousdesign/delirium/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..02a2b616efba --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev1/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOTLOADER, 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_MUTE, KC_VOLD, KC_VOLU, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/enviousdesign/delirium/rev1/keymaps/via/rules.mk b/keyboards/enviousdesign/delirium/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev1/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enviousdesign/delirium/rev1/rules.mk b/keyboards/enviousdesign/delirium/rev1/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/delirium/rev1/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/enviousdesign/delirium/rgb/info.json b/keyboards/enviousdesign/delirium/rgb/info.json new file mode 100644 index 000000000000..ad7d45d3cf75 --- /dev/null +++ b/keyboards/enviousdesign/delirium/rgb/info.json @@ -0,0 +1,239 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "Delirium RGB", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP20", "GP21", "GP22", "GP26", "GP27", "GP28"] + }, + "processor": "RP2040", + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 64, + "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": [ + {"matrix": [0, 0], "x": 0, "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, 7], "x": 84, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 97, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 110, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 123, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 143, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 156, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 169, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 182, "y": 0, "flags": 4}, + {"matrix": [0, 15], "x": 198, "y": 0, "flags": 4}, + {"matrix": [0, 16], "x": 211, "y": 0, "flags": 4}, + {"matrix": [0, 17], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, + {"matrix": [1, 1], "x": 13, "y": 17, "flags": 4}, + {"matrix": [1, 2], "x": 26, "y": 17, "flags": 4}, + {"matrix": [1, 3], "x": 39, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 52, "y": 17, "flags": 4}, + {"matrix": [1, 5], "x": 65, "y": 17, "flags": 4}, + {"matrix": [1, 6], "x": 78, "y": 17, "flags": 4}, + {"matrix": [1, 7], "x": 91, "y": 17, "flags": 4}, + {"matrix": [1, 8], "x": 104, "y": 17, "flags": 4}, + {"matrix": [1, 9], "x": 117, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 130, "y": 17, "flags": 4}, + {"matrix": [1, 11], "x": 143, "y": 17, "flags": 4}, + {"matrix": [1, 12], "x": 156, "y": 17, "flags": 4}, + {"matrix": [1, 14], "x": 175, "y": 17, "flags": 4}, + {"matrix": [1, 15], "x": 198, "y": 17, "flags": 4}, + {"matrix": [1, 16], "x": 211, "y": 17, "flags": 4}, + {"matrix": [1, 17], "x": 224, "y": 17, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 29, "flags": 4}, + {"matrix": [2, 2], "x": 19, "y": 29, "flags": 4}, + {"matrix": [2, 3], "x": 32, "y": 29, "flags": 4}, + {"matrix": [2, 4], "x": 45, "y": 29, "flags": 4}, + {"matrix": [2, 5], "x": 58, "y": 29, "flags": 4}, + {"matrix": [2, 6], "x": 71, "y": 29, "flags": 4}, + {"matrix": [2, 7], "x": 84, "y": 29, "flags": 4}, + {"matrix": [2, 8], "x": 97, "y": 29, "flags": 4}, + {"matrix": [2, 9], "x": 110, "y": 29, "flags": 4}, + {"matrix": [2, 10], "x": 123, "y": 29, "flags": 4}, + {"matrix": [2, 11], "x": 136, "y": 29, "flags": 4}, + {"matrix": [2, 12], "x": 149, "y": 29, "flags": 4}, + {"matrix": [2, 13], "x": 162, "y": 29, "flags": 4}, + {"matrix": [3, 14], "x": 175, "y": 29, "flags": 4}, + {"matrix": [2, 15], "x": 198, "y": 29, "flags": 4}, + {"matrix": [2, 16], "x": 211, "y": 29, "flags": 4}, + {"matrix": [2, 17], "x": 224, "y": 29, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 41, "flags": 8}, + {"matrix": [3, 2], "x": 23, "y": 41, "flags": 4}, + {"matrix": [3, 3], "x": 36, "y": 41, "flags": 4}, + {"matrix": [3, 4], "x": 49, "y": 41, "flags": 4}, + {"matrix": [3, 5], "x": 62, "y": 41, "flags": 4}, + {"matrix": [3, 6], "x": 75, "y": 41, "flags": 4}, + {"matrix": [3, 7], "x": 88, "y": 41, "flags": 4}, + {"matrix": [3, 8], "x": 101, "y": 41, "flags": 4}, + {"matrix": [3, 9], "x": 114, "y": 41, "flags": 4}, + {"matrix": [3, 10], "x": 127, "y": 41, "flags": 4}, + {"matrix": [3, 11], "x": 140, "y": 41, "flags": 4}, + {"matrix": [3, 12], "x": 153, "y": 41, "flags": 4}, + {"matrix": [3, 13], "x": 166, "y": 41, "flags": 4}, + {"matrix": [4, 0], "x": 2, "y": 52, "flags": 4}, + {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, + {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, + {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, + {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, + {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, + {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, + {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, + {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, + {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, + {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, + {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, + {"matrix": [4, 13], "x": 170, "y": 52, "flags": 4}, + {"matrix": [4, 16], "x": 211, "y": 52, "flags": 4}, + {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 18, "y": 64, "flags": 4}, + {"matrix": [5, 3], "x": 34, "y": 64, "flags": 4}, + {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, + {"matrix": [5, 10], "x": 131, "y": 64, "flags": 4}, + {"matrix": [5, 11], "x": 148, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 164, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 180, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 198, "y": 64, "flags": 4}, + {"matrix": [5, 16], "x": 211, "y": 64, "flags": 4}, + {"matrix": [5, 17], "x": 224, "y": 64, "flags": 4} + ] + }, + "url": "http://envious.design", + "usb": { + "device_version": "1.0.0", + "pid": "0xA400", + "vid": "0xE739" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "community_layouts": ["tkl_iso"], + "layouts": { + "LAYOUT_tkl_iso": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0, "w": 1}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0, "w": 1}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0, "w": 1}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0, "w": 1}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0, "w": 1}, + {"label": "0,7", "matrix": [0, 7], "x": 6.5, "y": 0, "w": 1}, + {"label": "0,8", "matrix": [0, 8], "x": 7.5, "y": 0, "w": 1}, + {"label": "0,9", "matrix": [0, 9], "x": 8.5, "y": 0, "w": 1}, + {"label": "0,10", "matrix": [0, 10], "x": 9.5, "y": 0, "w": 1}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0, "w": 1}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0, "w": 1}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0, "w": 1}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0, "w": 1}, + {"label": "0,15", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 1}, + {"label": "0,16", "matrix": [0, 16], "x": 16.25, "y": 0, "w": 1}, + {"label": "0,17", "matrix": [0, 17], "x": 17.25, "y": 0, "w": 1}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.5, "w": 1}, + {"label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.5, "w": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.5, "w": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.5, "w": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.5, "w": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.5, "w": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.5, "w": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.5, "w": 1}, + {"label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.5, "w": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.5, "w": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.5, "w": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.5, "w": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.5, "w": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"label": "1,15", "matrix": [1, 15], "x": 15.25, "y": 1.5, "w": 1}, + {"label": "1,16", "matrix": [1, 16], "x": 16.25, "y": 1.5, "w": 1}, + {"label": "1,17", "matrix": [1, 17], "x": 17.25, "y": 1.5, "w": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "2,2", "matrix": [2, 2], "x": 1.5, "y": 2.5, "w": 1}, + {"label": "2,3", "matrix": [2, 3], "x": 2.5, "y": 2.5, "w": 1}, + {"label": "2,4", "matrix": [2, 4], "x": 3.5, "y": 2.5, "w": 1}, + {"label": "2,5", "matrix": [2, 5], "x": 4.5, "y": 2.5, "w": 1}, + {"label": "2,6", "matrix": [2, 6], "x": 5.5, "y": 2.5, "w": 1}, + {"label": "2,7", "matrix": [2, 7], "x": 6.5, "y": 2.5, "w": 1}, + {"label": "2,8", "matrix": [2, 8], "x": 7.5, "y": 2.5, "w": 1}, + {"label": "2,9", "matrix": [2, 9], "x": 8.5, "y": 2.5, "w": 1}, + {"label": "2,10", "matrix": [2, 10], "x": 9.5, "y": 2.5, "w": 1}, + {"label": "2,11", "matrix": [2, 11], "x": 10.5, "y": 2.5, "w": 1}, + {"label": "2,12", "matrix": [2, 12], "x": 11.5, "y": 2.5, "w": 1}, + {"label": "2,13", "matrix": [2, 13], "x": 12.5, "y": 2.5, "w": 1}, + {"label": "2,15", "matrix": [2, 15], "x": 15.25, "y": 2.5, "w": 1}, + {"label": "2,16", "matrix": [2, 16], "x": 16.25, "y": 2.5, "w": 1}, + {"label": "2,17", "matrix": [2, 17], "x": 17.25, "y": 2.5, "w": 1}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"label": "3,2", "matrix": [3, 2], "x": 1.75, "y": 3.5, "w": 1}, + {"label": "3,3", "matrix": [3, 3], "x": 2.75, "y": 3.5, "w": 1}, + {"label": "3,4", "matrix": [3, 4], "x": 3.75, "y": 3.5, "w": 1}, + {"label": "3,5", "matrix": [3, 5], "x": 4.75, "y": 3.5, "w": 1}, + {"label": "3,6", "matrix": [3, 6], "x": 5.75, "y": 3.5, "w": 1}, + {"label": "3,7", "matrix": [3, 7], "x": 6.75, "y": 3.5, "w": 1}, + {"label": "3,8", "matrix": [3, 8], "x": 7.75, "y": 3.5, "w": 1}, + {"label": "3,9", "matrix": [3, 9], "x": 8.75, "y": 3.5, "w": 1}, + {"label": "3,10", "matrix": [3, 10], "x": 9.75, "y": 3.5, "w": 1}, + {"label": "3,11", "matrix": [3, 11], "x": 10.75, "y": 3.5, "w": 1}, + {"label": "3,12", "matrix": [3, 12], "x": 11.75, "y": 3.5, "w": 1}, + {"label": "3,13", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 1}, + {"label": "3,14", "matrix": [3, 14], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4.5, "w": 1}, + {"label": "4,2", "matrix": [4, 2], "x": 2.25, "y": 4.5, "w": 1}, + {"label": "4,3", "matrix": [4, 3], "x": 3.25, "y": 4.5, "w": 1}, + {"label": "4,4", "matrix": [4, 4], "x": 4.25, "y": 4.5, "w": 1}, + {"label": "4,5", "matrix": [4, 5], "x": 5.25, "y": 4.5, "w": 1}, + {"label": "4,6", "matrix": [4, 6], "x": 6.25, "y": 4.5, "w": 1}, + {"label": "4,7", "matrix": [4, 7], "x": 7.25, "y": 4.5, "w": 1}, + {"label": "4,8", "matrix": [4, 8], "x": 8.25, "y": 4.5, "w": 1}, + {"label": "4,9", "matrix": [4, 9], "x": 9.25, "y": 4.5, "w": 1}, + {"label": "4,10", "matrix": [4, 10], "x": 10.25, "y": 4.5, "w": 1}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4.5, "w": 1}, + {"label": "4,13", "matrix": [4, 13], "x": 12.25, "y": 4.5, "w": 2.75}, + {"label": "4,16", "matrix": [4, 16], "x": 16.25, "y": 4.5, "w": 1}, + {"label": "5,0", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"label": "5,1", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"label": "5,3", "matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"label": "5,6", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"label": "5,10", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, + {"label": "5,11", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, + {"label": "5,13", "matrix": [5, 13], "x": 12.5, "y": 5.5, "w": 1.25}, + {"label": "5,14", "matrix": [5, 14], "x": 13.75, "y": 5.5, "w": 1.25}, + {"label": "5,15", "matrix": [5, 15], "x": 15.25, "y": 5.5, "w": 1}, + {"label": "5,16", "matrix": [5, 16], "x": 16.25, "y": 5.5, "w": 1}, + {"label": "5,17", "matrix": [5, 17], "x": 17.25, "y": 5.5, "w": 1} + ] + } + } +} diff --git a/keyboards/enviousdesign/delirium/rgb/keymaps/default/keymap.c b/keyboards/enviousdesign/delirium/rgb/keymaps/default/keymap.c new file mode 100644 index 000000000000..d791874aff03 --- /dev/null +++ b/keyboards/enviousdesign/delirium/rgb/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_tkl_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_iso( + QK_BOOTLOADER, 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_MUTE, KC_VOLD, KC_VOLU, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_SAI, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_SAD, RGB_VAD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SPD, RGB_HUD + ) +}; + diff --git a/keyboards/enviousdesign/delirium/rgb/rgb.c b/keyboards/enviousdesign/delirium/rgb/rgb.c new file mode 100644 index 000000000000..e6a3354b299e --- /dev/null +++ b/keyboards/enviousdesign/delirium/rgb/rgb.c @@ -0,0 +1,35 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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 +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, 16, 16, 16); // assuming caps lock is at led #50 + } + if (host_keyboard_led_state().scroll_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(14, 16, 16, 16); // assuming scroll lock is at led #14 + } + if (get_highest_layer(layer_state) == 1) { + RGB_MATRIX_INDICATOR_SET_COLOR(83, 16, 16 ,16); + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rgb/rules.mk b/keyboards/enviousdesign/delirium/rgb/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/delirium/rgb/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/enviousdesign/mcro/readme.md b/keyboards/enviousdesign/mcro/readme.md new file mode 100644 index 000000000000..378fab8c3efa --- /dev/null +++ b/keyboards/enviousdesign/mcro/readme.md @@ -0,0 +1,30 @@ +# EnvKB MCRO + +![Image of EnvKB MCRO PCB](https://i.imgur.com/QnANWnBh.png) + +A small 12 Key macro pad for various uses + +* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data) +* Hardware Supported: EnvKB MCRO (Pi Pico) +* Hardware Availability: [GitHub](https://github.com/Envious-Data/Env-MCRO) + +Make example for this keyboard (after setting up your build environment): + + make enviousdesign/mcro:default + +Flashing example for this keyboard: + + make enviousdesign/mcro: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 top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: Hold down the `BOOTSEL` button on the Pi Pico, then either plug the board in or press the `RESET` button. +* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create. + +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. + diff --git a/keyboards/enviousdesign/mcro/rev1/info.json b/keyboards/enviousdesign/mcro/rev1/info.json new file mode 100644 index 000000000000..fe6a4ffe77c8 --- /dev/null +++ b/keyboards/enviousdesign/mcro/rev1/info.json @@ -0,0 +1,44 @@ +{ + "manufacturer": "Envious.Design", + "keyboard_name": "MCRO", + "maintainer": "Envious.Design", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP18", "GP19", "GP20", "GP21"], + "rows": ["GP4", "GP11", "GP15"] + }, + "processor": "RP2040", + "url": "http://envious.design", + "usb": { + "device_version": "1.0.0", + "pid": "0xA300", + "vid": "0xE739" + }, + "layouts": { + "LAYOUT_ortho_3x4": { + "layout": [ + {"label": "F13", "matrix": [0, 0], "x": 0, "y": 0, "w": 1}, + {"label": "F14", "matrix": [0, 1], "x": 1, "y": 0, "w": 1}, + {"label": "F15", "matrix": [0, 2], "x": 2, "y": 0, "w": 1}, + {"label": "F16", "matrix": [0, 3], "x": 3, "y": 0, "w": 1}, + {"label": "F17", "matrix": [1, 0], "x": 0, "y": 1.25, "w": 1}, + {"label": "F18", "matrix": [1, 1], "x": 1, "y": 1.25, "w": 1}, + {"label": "F19", "matrix": [1, 2], "x": 2, "y": 1.25, "w": 1}, + {"label": "F20", "matrix": [1, 3], "x": 3, "y": 1.25, "w": 1}, + {"label": "F21", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1}, + {"label": "F22", "matrix": [2, 1], "x": 1, "y": 2.5, "w": 1}, + {"label": "F23", "matrix": [2, 2], "x": 2, "y": 2.5, "w": 1}, + {"label": "F24", "matrix": [2, 3], "x": 3, "y": 2.5, "w": 1} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/enviousdesign/mcro/rev1/keymaps/default/keymap.c b/keyboards/enviousdesign/mcro/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..e9def4a38fcf --- /dev/null +++ b/keyboards/enviousdesign/mcro/rev1/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_ortho_3x4( + KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, + KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; + diff --git a/keyboards/enviousdesign/mcro/rev1/keymaps/via/keymap.c b/keyboards/enviousdesign/mcro/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..35b46697c141 --- /dev/null +++ b/keyboards/enviousdesign/mcro/rev1/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2022 Adam K (@Envious-Data) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_ortho_3x4( + KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, + KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; + diff --git a/keyboards/enviousdesign/mcro/rev1/keymaps/via/rules.mk b/keyboards/enviousdesign/mcro/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/enviousdesign/mcro/rev1/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/enviousdesign/mcro/rev1/rules.mk b/keyboards/enviousdesign/mcro/rev1/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/enviousdesign/mcro/rev1/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank diff --git a/keyboards/ep/comsn/mollydooker/config.h b/keyboards/ep/comsn/mollydooker/config.h index bf53058d5237..d5971524a69e 100644 --- a/keyboards/ep/comsn/mollydooker/config.h +++ b/keyboards/ep/comsn/mollydooker/config.h @@ -22,21 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#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 -#define RGBLED_NUM 84 -#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/ep/comsn/mollydooker/info.json b/keyboards/ep/comsn/mollydooker/info.json index 6c8825c915e8..868a418403d1 100644 --- a/keyboards/ep/comsn/mollydooker/info.json +++ b/keyboards/ep/comsn/mollydooker/info.json @@ -16,7 +16,21 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 35 + "hue_steps": 10, + "led_count": 84, + "max_brightness": 35, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/era/divine/config.h b/keyboards/era/divine/config.h new file mode 100644 index 000000000000..e1083fe5e299 --- /dev/null +++ b/keyboards/era/divine/config.h @@ -0,0 +1,20 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 PWMD0 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A \ No newline at end of file diff --git a/keyboards/era/divine/halconf.h b/keyboards/era/divine/halconf.h new file mode 100644 index 000000000000..5a527da781fd --- /dev/null +++ b/keyboards/era/divine/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/era/divine/info.json b/keyboards/era/divine/info.json new file mode 100644 index 000000000000..d02241da7822 --- /dev/null +++ b/keyboards/era/divine/info.json @@ -0,0 +1,117 @@ +{ + "manufacturer": "ERA", + "keyboard_name": "DIVINE 1.0.0", + "maintainer": "eerraa", + "backlight": { + "pin": "GP0", + "levels": 5 + }, + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP1", + "num_lock": "GP2", + "on_state": 0, + "scroll_lock": "GP3" + }, + "matrix_pins": { + "cols": ["GP13", "GP12", "GP19", "GP20", "GP21", "GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP18", "GP5", "GP6", "GP7"], + "rows": ["GP11", "GP10", "GP9", "GP8", "GP4"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x4552" + }, + "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.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.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}, + {"matrix": [0, 13], "x": 15.25, "y": 0}, + {"matrix": [0, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 15], "x": 17.25, "y": 0}, + {"matrix": [0, 16], "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, 8], "x": 9.75, "y": 1}, + {"matrix": [1, 9], "x": 10.75, "y": 1}, + {"matrix": [1, 10], "x": 11.75, "y": 1}, + {"matrix": [1, 11], "x": 12.75, "y": 1}, + {"matrix": [1, 12], "x": 13.75, "y": 1}, + {"matrix": [1, 13], "x": 14.75, "y": 1}, + {"matrix": [1, 14], "x": 15.75, "y": 1}, + {"matrix": [1, 15], "x": 16.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "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, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2}, + {"matrix": [2, 10], "x": 12, "y": 2}, + {"matrix": [2, 11], "x": 13, "y": 2}, + {"matrix": [2, 12], "x": 14, "y": 2}, + {"matrix": [2, 13], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"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, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 9.5, "y": 3}, + {"matrix": [3, 9], "x": 10.5, "y": 3}, + {"matrix": [3, 10], "x": 11.5, "y": 3}, + {"matrix": [3, 11], "x": 12.5, "y": 3}, + {"matrix": [3, 12], "x": 13.5, "y": 3}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.5, "y": 3.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.75, "y": 4, "w": 2.25}, + {"matrix": [4, 7], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9.5, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 16.5, "y": 4.25}, + {"matrix": [4, 15], "x": 17.5, "y": 4.25}, + {"matrix": [4, 16], "x": 18.5, "y": 4.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/divine/keymaps/default/keymap.c b/keyboards/era/divine/keymaps/default/keymap.c new file mode 100644 index 000000000000..a37cfdc059e4 --- /dev/null +++ b/keyboards/era/divine/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_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, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; \ No newline at end of file diff --git a/keyboards/era/divine/keymaps/via/keymap.c b/keyboards/era/divine/keymaps/via/keymap.c new file mode 100644 index 000000000000..a37cfdc059e4 --- /dev/null +++ b/keyboards/era/divine/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_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, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; \ No newline at end of file diff --git a/keyboards/era/divine/keymaps/via/rules.mk b/keyboards/era/divine/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/era/divine/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/era/divine/mcuconf.h b/keyboards/era/divine/mcuconf.h new file mode 100644 index 000000000000..7698b5d1392d --- /dev/null +++ b/keyboards/era/divine/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RP_PWM_USE_PWM0 +#define RP_PWM_USE_PWM0 TRUE \ No newline at end of file diff --git a/keyboards/era/divine/readme.md b/keyboards/era/divine/readme.md new file mode 100644 index 000000000000..3049e3b8400d --- /dev/null +++ b/keyboards/era/divine/readme.md @@ -0,0 +1,25 @@ +# DIVINE + +DIVINE Keyboard + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware Supported: DIVINE 1.0.0 PCB +* Hardware Availability: [ERA](https://github.com/eerraa) + +Make example for this keyboard (after setting up your build environment): + + make era/divine:default + +Flashing example for this keyboard: + + make era/divine: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 ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in 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/era/divine/rules.mk b/keyboards/era/divine/rules.mk new file mode 100644 index 000000000000..3922c569c4ec --- /dev/null +++ b/keyboards/era/divine/rules.mk @@ -0,0 +1 @@ +# File intentionally blank \ No newline at end of file diff --git a/keyboards/era/era65/config.h b/keyboards/era/era65/config.h index 41dbe2178a09..bd42a703f801 100644 --- a/keyboards/era/era65/config.h +++ b/keyboards/era/era65/config.h @@ -19,8 +19,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 - #define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior diff --git a/keyboards/era/era65/info.json b/keyboards/era/era65/info.json index 5c545a6fa8ed..d5fd61276782 100644 --- a/keyboards/era/era65/info.json +++ b/keyboards/era/era65/info.json @@ -2,16 +2,30 @@ "manufacturer": "ERA", "keyboard_name": "ERA65 1.0.4", "maintainer": "eerraa", + "backlight": { + "breathing": true, + "levels": 15, + "pin": "GP0" + }, "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, "features": { + "backlight": true, "bootmagic": true, "command": false, "console": false, "extrakey": true, "mousekey": true, - "nkro": true, - "backlight": true + "nkro": true + }, + "indicators": { + "caps_lock": "GP12" }, "matrix_pins": { "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP22", "GP23", "GP3"], @@ -24,14 +38,6 @@ "pid": "0x0001", "vid": "0x4552" }, - "backlight": { - "breathing": true, - "levels": 15, - "pin": "GP0" - }, - "indicators": { - "caps_lock": "GP12" - }, "layouts": { "LAYOUT_65_combo": { "layout": [ @@ -48,9 +54,9 @@ {"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, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [0, 14], "x": 15.5, "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}, @@ -63,9 +69,9 @@ {"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": [1, 14], "x": 15.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}, @@ -78,9 +84,9 @@ {"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], "w": 1.25, "x": 13.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, {"matrix": [2, 14], "x": 15.5, "y": 2}, - {"matrix": [3, 0], "w": 1.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}, @@ -92,13 +98,13 @@ {"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, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14.25, "y": 3.25}, {"matrix": [3, 14], "x": 15.5, "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, 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}, @@ -108,4 +114,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/klein/config.h b/keyboards/era/klein/config.h new file mode 100644 index 000000000000..1033bc738e70 --- /dev/null +++ b/keyboards/era/klein/config.h @@ -0,0 +1,27 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +/* BACKLIGHT PWM */ +#define BACKLIGHT_PWM_DRIVER PWMD7 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +/* RGB Matrix */ +#define RGB_MATRIX_DEFAULT_VAL 60 +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/era/klein/halconf.h b/keyboards/era/klein/halconf.h new file mode 100644 index 000000000000..f57e86df018d --- /dev/null +++ b/keyboards/era/klein/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/era/klein/info.json b/keyboards/era/klein/info.json new file mode 100644 index 000000000000..ac08cbb8a2bc --- /dev/null +++ b/keyboards/era/klein/info.json @@ -0,0 +1,590 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Klein", + "maintainer": "eerraa", + "backlight": { + "levels": 5, + "pin": "GP15" + }, + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "GP16", + "on_state": 0, + "scroll_lock": "GP17" + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"], + "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"] + }, + "processor": "RP2040", + "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": [ + {"matrix": [0, 7], "x": 4, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 20, "y": 2, "flags": 4}, + {"matrix": [0, 5], "x": 32, "y": 2, "flags": 4}, + {"matrix": [0, 4], "x": 45, "y": 1, "flags": 4}, + {"matrix": [0, 3], "x": 58, "y": 3, "flags": 4}, + {"matrix": [0, 2], "x": 71, "y": 5, "flags": 4}, + {"matrix": [0, 1], "x": 83, "y": 8, "flags": 4}, + {"matrix": [0, 0], "x": 96, "y": 10, "flags": 4}, + {"matrix": [1, 0], "x": 129, "y": 9, "flags": 4}, + {"matrix": [1, 1], "x": 141, "y": 7, "flags": 4}, + {"matrix": [1, 2], "x": 154, "y": 4, "flags": 4}, + {"matrix": [1, 3], "x": 166, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 179, "y": 1, "flags": 4}, + {"matrix": [1, 5], "x": 192, "y": 2, "flags": 4}, + {"matrix": [1, 6], "x": 211, "y": 2, "flags": 1}, + {"matrix": [1, 7], "x": 1, "y": 13, "flags": 1}, + {"matrix": [2, 6], "x": 21, "y": 15, "flags": 1}, + {"matrix": [2, 5], "x": 36, "y": 15, "flags": 4}, + {"matrix": [2, 4], "x": 50, "y": 15, "flags": 4}, + {"matrix": [2, 3], "x": 62, "y": 17, "flags": 4}, + {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4}, + {"matrix": [2, 1], "x": 87, "y": 22, "flags": 4}, + {"matrix": [2, 0], "x": 100, "y": 24, "flags": 4}, + {"matrix": [3, 1], "x": 125, "y": 23, "flags": 4}, + {"matrix": [3, 2], "x": 137, "y": 21, "flags": 4}, + {"matrix": [3, 3], "x": 150, "y": 18, "flags": 4}, + {"matrix": [3, 4], "x": 162, "y": 16, "flags": 4}, + {"matrix": [3, 5], "x": 175, "y": 15, "flags": 4}, + {"matrix": [3, 6], "x": 188, "y": 15, "flags": 4}, + {"matrix": [4, 6], "x": 201, "y": 15, "flags": 4}, + {"matrix": [4, 5], "x": 217, "y": 15, "flags": 4}, + {"matrix": [4, 3], "x": 0, "y": 27, "flags": 1}, + {"matrix": [4, 1], "x": 18, "y": 29, "flags": 1}, + {"matrix": [0, 8], "x": 38, "y": 29, "flags": 4}, + {"matrix": [0, 9], "x": 51, "y": 29, "flags": 4}, + {"matrix": [0, 10], "x": 64, "y": 31, "flags": 4}, + {"matrix": [0, 11], "x": 76, "y": 33, "flags": 4}, + {"matrix": [0, 12], "x": 89, "y": 36, "flags": 4}, + {"matrix": [0, 13], "x": 129, "y": 36, "flags": 4}, + {"matrix": [0, 15], "x": 142, "y": 33, "flags": 4}, + {"matrix": [1, 15], "x": 154, "y": 31, "flags": 4}, + {"matrix": [1, 14], "x": 167, "y": 29, "flags": 4}, + {"matrix": [1, 13], "x": 180, "y": 29, "flags": 4}, + {"matrix": [1, 12], "x": 193, "y": 29, "flags": 4}, + {"matrix": [1, 11], "x": 213, "y": 29, "flags": 1}, + {"matrix": [1, 10], "x": 21, "y": 42, "flags": 1}, + {"matrix": [1, 9], "x": 42, "y": 42, "flags": 4}, + {"matrix": [1, 8], "x": 60, "y": 57, "flags": 4}, + {"matrix": [2, 8], "x": 67, "y": 45, "flags": 4}, + {"matrix": [2, 9], "x": 80, "y": 47, "flags": 4}, + {"matrix": [2, 10], "x": 92, "y": 50, "flags": 4}, + {"matrix": [2, 11], "x": 126, "y": 50, "flags": 4}, + {"matrix": [2, 12], "x": 138, "y": 48, "flags": 4}, + {"matrix": [2, 13], "x": 151, "y": 45, "flags": 4}, + {"matrix": [2, 15], "x": 163, "y": 43, "flags": 4}, + {"matrix": [3, 14], "x": 177, "y": 42, "flags": 4}, + {"matrix": [3, 13], "x": 189, "y": 42, "flags": 4}, + {"matrix": [3, 12], "x": 213, "y": 42, "flags": 1}, + {"matrix": [3, 11], "x": 16, "y": 55, "flags": 1}, + {"matrix": [3, 10], "x": 55, "y": 43, "flags": 1}, + {"matrix": [3, 9], "x": 76, "y": 60, "flags": 4}, + {"matrix": [3, 8], "x": 96, "y": 64, "flags": 1}, + {"matrix": [4, 9], "x": 139, "y": 61, "flags": 4}, + {"matrix": [4, 11], "x": 166, "y": 57, "flags": 1}, + {"matrix": [4, 13], "x": 189, "y": 55, "flags": 1}, + {"matrix": [4, 14], "x": 202, "y": 55, "flags": 1}, + {"matrix": [4, 15], "x": 221, "y": 55, "flags": 1} + ], + "led_count": 67 + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0003", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_arrow": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3}, + {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_split_bs_rsft": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3}, + {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/default/keymap.c b/keyboards/era/klein/keymaps/default/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/klein/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/klein/keymaps/via/keymap.c b/keyboards/era/klein/keymaps/via/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/klein/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/klein/keymaps/via/rules.mk b/keyboards/era/klein/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/era/klein/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/era/klein/mcuconf.h b/keyboards/era/klein/mcuconf.h new file mode 100644 index 000000000000..b82cc49d7d07 --- /dev/null +++ b/keyboards/era/klein/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RP_PWM_USE_PWM7 +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/klein/readme.md b/keyboards/era/klein/readme.md new file mode 100644 index 000000000000..1efeafe45127 --- /dev/null +++ b/keyboards/era/klein/readme.md @@ -0,0 +1,23 @@ +# MontK Cervin Klein + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Klein +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/klein:default + +Flashing example for this keyboard: + + make era/klein: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 ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/users/nchristus/rules.mk b/keyboards/era/klein/rules.mk similarity index 100% rename from users/nchristus/rules.mk rename to keyboards/era/klein/rules.mk diff --git a/keyboards/era/sirind/klein_hs/config.h b/keyboards/era/sirind/klein_hs/config.h new file mode 100644 index 000000000000..bbd438736357 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/config.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +/* BACKLIGHT PWM */ +#define BACKLIGHT_PWM_DRIVER PWMD7 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/halconf.h b/keyboards/era/sirind/klein_hs/halconf.h new file mode 100644 index 000000000000..f57e86df018d --- /dev/null +++ b/keyboards/era/sirind/klein_hs/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/info.json b/keyboards/era/sirind/klein_hs/info.json new file mode 100644 index 000000000000..6d677f6748d1 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/info.json @@ -0,0 +1,467 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Klein_HS", + "maintainer": "eerraa", + "backlight": { + "levels": 5, + "pin": "GP15" + }, + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + }, + "indicators": { + "caps_lock": "GP16", + "on_state": 0, + "scroll_lock": "GP17" + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP9", "GP8", "GP7", "GP1", "GP2", "GP3"], + "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP4", "GP13", "GP12"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x4552" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 15], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 15], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_arrow": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 15], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3}, + {"matrix": [8, 15], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_split_bs_rsft": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 15], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3}, + {"matrix": [8, 15], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c b/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/klein_hs/keymaps/via/keymap.c b/keyboards/era/sirind/klein_hs/keymaps/via/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/klein_hs/keymaps/via/rules.mk b/keyboards/era/sirind/klein_hs/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/era/sirind/klein_hs/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/mcuconf.h b/keyboards/era/sirind/klein_hs/mcuconf.h new file mode 100644 index 000000000000..b82cc49d7d07 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RP_PWM_USE_PWM7 +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/readme.md b/keyboards/era/sirind/klein_hs/readme.md new file mode 100644 index 000000000000..86343271bbd2 --- /dev/null +++ b/keyboards/era/sirind/klein_hs/readme.md @@ -0,0 +1,23 @@ +# Mont Cervin Klein + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Klein_HS +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/sirind/klein_hs:default + +Flashing example for this keyboard: + + make era/sirind/klein_hs: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 ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/users/cbbrowne/cbbrowne.c b/keyboards/era/sirind/klein_hs/rules.mk similarity index 100% rename from users/cbbrowne/cbbrowne.c rename to keyboards/era/sirind/klein_hs/rules.mk diff --git a/keyboards/era/sirind/klein_sd/config.h b/keyboards/era/sirind/klein_sd/config.h new file mode 100644 index 000000000000..ae1d4a9e1d0f --- /dev/null +++ b/keyboards/era/sirind/klein_sd/config.h @@ -0,0 +1,25 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +/* BACKLIGHT PWM */ +#define BACKLIGHT_PWM_DRIVER PWMD7 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +/* RGB Matrix */ +#define RGB_MATRIX_DEFAULT_VAL 60 +#define RGB_DISABLE_WHEN_USB_SUSPENDED \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/halconf.h b/keyboards/era/sirind/klein_sd/halconf.h new file mode 100644 index 000000000000..f57e86df018d --- /dev/null +++ b/keyboards/era/sirind/klein_sd/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/info.json b/keyboards/era/sirind/klein_sd/info.json new file mode 100644 index 000000000000..53f89f2cb704 --- /dev/null +++ b/keyboards/era/sirind/klein_sd/info.json @@ -0,0 +1,588 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Klein_SD", + "maintainer": "eerraa", + "backlight": { + "pin": "GP15" + }, + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "GP16", + "on_state": 0, + "scroll_lock": "GP17" + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP9", "GP7", "GP6", "GP5", "GP4", "GP3"], + "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP2", "GP1", "GP8", "GP12", "GP13"] + }, + "processor": "RP2040", + "rgb_matrix": { + "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_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 + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 7], "x": 97, "y": 10, "flags": 4}, + {"matrix": [0, 6], "x": 84, "y": 8, "flags": 4}, + {"matrix": [0, 5], "x": 72, "y": 5, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 3, "flags": 4}, + {"matrix": [0, 3], "x": 46, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 2, "flags": 4}, + {"matrix": [0, 1], "x": 20, "y": 2, "flags": 4}, + {"matrix": [0, 0], "x": 4, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 1, "y": 13, "flags": 1}, + {"matrix": [1, 1], "x": 21, "y": 15, "flags": 1}, + {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 50, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 63, "y": 17, "flags": 4}, + {"matrix": [1, 5], "x": 76, "y": 20, "flags": 4}, + {"matrix": [1, 6], "x": 88, "y": 22, "flags": 4}, + {"matrix": [1, 7], "x": 101, "y": 24, "flags": 4}, + {"matrix": [2, 6], "x": 90, "y": 36, "flags": 4}, + {"matrix": [2, 5], "x": 78, "y": 33, "flags": 4}, + {"matrix": [2, 4], "x": 65, "y": 31, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 29, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 29, "flags": 4}, + {"matrix": [2, 1], "x": 18, "y": 29, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 27, "flags": 1}, + {"matrix": [3, 1], "x": 21, "y": 42, "flags": 1}, + {"matrix": [3, 2], "x": 42, "y": 42, "flags": 4}, + {"matrix": [3, 3], "x": 55, "y": 43, "flags": 4}, + {"matrix": [3, 4], "x": 68, "y": 45, "flags": 4}, + {"matrix": [3, 5], "x": 81, "y": 47, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 50, "flags": 4}, + {"matrix": [4, 6], "x": 97, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 77, "y": 60, "flags": 4}, + {"matrix": [4, 3], "x": 53, "y": 57, "flags": 1}, + {"matrix": [4, 1], "x": 16, "y": 55, "flags": 1}, + {"matrix": [0, 8], "x": 130, "y": 9, "flags": 4}, + {"matrix": [0, 9], "x": 143, "y": 7, "flags": 4}, + {"matrix": [0, 10], "x": 156, "y": 4, "flags": 4}, + {"matrix": [0, 11], "x": 168, "y": 2, "flags": 4}, + {"matrix": [0, 12], "x": 182, "y": 1, "flags": 4}, + {"matrix": [0, 13], "x": 195, "y": 2, "flags": 4}, + {"matrix": [0, 15], "x": 214, "y": 2, "flags": 1}, + {"matrix": [1, 15], "x": 220, "y": 15, "flags": 4}, + {"matrix": [1, 14], "x": 203, "y": 15, "flags": 4}, + {"matrix": [1, 13], "x": 191, "y": 15, "flags": 4}, + {"matrix": [1, 12], "x": 178, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 164, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 152, "y": 18, "flags": 4}, + {"matrix": [1, 9], "x": 139, "y": 21, "flags": 4}, + {"matrix": [1, 8], "x": 126, "y": 23, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 36, "flags": 4}, + {"matrix": [2, 9], "x": 144, "y": 33, "flags": 4}, + {"matrix": [2, 10], "x": 156, "y": 31, "flags": 4}, + {"matrix": [2, 11], "x": 169, "y": 29, "flags": 4}, + {"matrix": [2, 12], "x": 182, "y": 29, "flags": 4}, + {"matrix": [2, 13], "x": 195, "y": 29, "flags": 4}, + {"matrix": [2, 15], "x": 216, "y": 29, "flags": 1}, + {"matrix": [3, 15], "x": 216, "y": 42, "flags": 1}, + {"matrix": [3, 13], "x": 192, "y": 42, "flags": 4}, + {"matrix": [3, 12], "x": 179, "y": 42, "flags": 4}, + {"matrix": [3, 11], "x": 166, "y": 43, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 45, "flags": 4}, + {"matrix": [3, 9], "x": 140, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 128, "y": 50, "flags": 4}, + {"matrix": [4, 9], "x": 141, "y": 61, "flags": 4}, + {"matrix": [4, 11], "x": 168, "y": 57, "flags": 1}, + {"matrix": [4, 13], "x": 192, "y": 55, "flags": 1}, + {"matrix": [4, 14], "x": 205, "y": 55, "flags": 1}, + {"matrix": [4, 15], "x": 224, "y": 55, "flags": 1} + ] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0005", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 15], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 15], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_arrow": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 15], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3}, + {"matrix": [8, 15], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_split_bs_rsft": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 15], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 15], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 8], "x": 10.75, "y": 0}, + {"matrix": [5, 9], "x": 11.75, "y": 0}, + {"matrix": [5, 10], "x": 12.75, "y": 0}, + {"matrix": [5, 11], "x": 13.75, "y": 0}, + {"matrix": [5, 12], "x": 14.75, "y": 0}, + {"matrix": [5, 13], "x": 15.75, "y": 0}, + {"matrix": [5, 14], "x": 16.75, "y": 0}, + {"matrix": [5, 15], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"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": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 8], "x": 10.25, "y": 1}, + {"matrix": [6, 9], "x": 11.25, "y": 1}, + {"matrix": [6, 10], "x": 12.25, "y": 1}, + {"matrix": [6, 11], "x": 13.25, "y": 1}, + {"matrix": [6, 12], "x": 14.25, "y": 1}, + {"matrix": [6, 13], "x": 15.25, "y": 1}, + {"matrix": [6, 14], "x": 16.25, "y": 1}, + {"matrix": [6, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"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, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 8], "x": 10.5, "y": 2}, + {"matrix": [7, 9], "x": 11.5, "y": 2}, + {"matrix": [7, 10], "x": 12.5, "y": 2}, + {"matrix": [7, 11], "x": 13.5, "y": 2}, + {"matrix": [7, 12], "x": 14.5, "y": 2}, + {"matrix": [7, 13], "x": 15.5, "y": 2}, + {"matrix": [7, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "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": [8, 8], "x": 10, "y": 3}, + {"matrix": [8, 9], "x": 11, "y": 3}, + {"matrix": [8, 10], "x": 12, "y": 3}, + {"matrix": [8, 11], "x": 13, "y": 3}, + {"matrix": [8, 12], "x": 14, "y": 3}, + {"matrix": [8, 13], "x": 15, "y": 3}, + {"matrix": [8, 14], "x": 16, "y": 3}, + {"matrix": [8, 15], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.25, "y": 4}, + {"matrix": [9, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 11], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 13], "x": 15, "y": 4}, + {"matrix": [9, 14], "x": 16, "y": 4}, + {"matrix": [9, 15], "x": 17, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c b/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/klein_sd/keymaps/via/keymap.c b/keyboards/era/sirind/klein_sd/keymaps/via/keymap.c new file mode 100644 index 000000000000..88878bbcd936 --- /dev/null +++ b/keyboards/era/sirind/klein_sd/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/klein_sd/keymaps/via/rules.mk b/keyboards/era/sirind/klein_sd/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/era/sirind/klein_sd/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/mcuconf.h b/keyboards/era/sirind/klein_sd/mcuconf.h new file mode 100644 index 000000000000..b82cc49d7d07 --- /dev/null +++ b/keyboards/era/sirind/klein_sd/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 eerraa + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RP_PWM_USE_PWM7 +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/readme.md b/keyboards/era/sirind/klein_sd/readme.md new file mode 100644 index 000000000000..a021b843d787 --- /dev/null +++ b/keyboards/era/sirind/klein_sd/readme.md @@ -0,0 +1,23 @@ +# Mont Cervin Klein + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Klein_SD +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/sirind/klein_sd:default + +Flashing example for this keyboard: + + make era/sirind/klein_sd: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 ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in 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/era/sirind/klein_sd/rules.mk b/keyboards/era/sirind/klein_sd/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/era/sirind/klein_sd/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 3adcd0198bf1..af1e14c49f04 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 */ @@ -67,21 +63,6 @@ along with this program. If not, see . #endif #define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI) -/* ws2812 RGB LED */ -#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 -#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 +75,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 @@ -112,9 +91,8 @@ along with this program. If not, see . // RGB backlight -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110111 -#define DRIVER_COUNT 2 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC #define DRIVER_1_LED_TOTAL 24 #define DRIVER_2_LED_TOTAL 24 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -156,21 +134,21 @@ along with this program. If not, see . #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 +// #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 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 RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index 3683128234bc..455d294ef57f 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -243,7 +243,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGB_MATRIX_ENABLE // clang-format off -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* driver * | R location * | | G location diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h index 0c23a1296901..befc1146177e 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 5727d1118475..1b2942cd4288 100644 --- a/keyboards/ergodox_ez/info.json +++ b/keyboards/ergodox_ez/info.json @@ -6,15 +6,38 @@ "vid": "0x3297", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "brightness_steps": 12, + "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 + } + }, + "build": { + "debounce_type": "sym_eager_pr" + }, "ws2812": { "pin": "D7" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "processor": "atmega32u4", "bootloader": "halfkay", "debounce": 30, + "tapping": { + "toggle": 1 + }, "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { diff --git a/keyboards/ergodox_ez/keymaps/bdk/config.h b/keyboards/ergodox_ez/keymaps/bdk/config.h deleted file mode 100644 index e824b7310913..000000000000 --- a/keyboards/ergodox_ez/keymaps/bdk/config.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define ONESHOT_TAP_TOGGLE 2 -#define ONESHOT_TIMEOUT 167 -#define FORCE_NKRO diff --git a/keyboards/ergodox_ez/keymaps/bdk/keymap.c b/keyboards/ergodox_ez/keymaps/bdk/keymap.c deleted file mode 100644 index 20af6c18ed40..000000000000 --- a/keyboards/ergodox_ez/keymaps/bdk/keymap.c +++ /dev/null @@ -1,176 +0,0 @@ -#include QMK_KEYBOARD_H - -#define SHIFT_DOWN() (get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT))) -#define KC_FKEYS MO(FKEYS) - -// Layers -enum { - BASE=0, - SYMNUM, // Symbols and numbers (activated by holding enter) - FKEYS, // Function keys (activated by a thumb button) -}; - -// counter that increments on all key press events. This is needed for our LT -// handling -uint16_t press_counter = 0; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// Keymap 0: Base layer - -[BASE] = LAYOUT_ergodox( - // left hand --------------------------------------------------------------------------------------------------- - KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, - KC_GRV, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_LGUI, - KC_SLSH, KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_HOME, - KC_LCTL, KC_LALT, KC_PGUP, KC_PGDN, KC_NO, - // left thumb -------------------------------------------------------------------------------------------------- - KC_NO, KC_NO, - KC_NO, - KC_SPC, KC_TAB, KC_FKEYS, - // right hand -------------------------------------------------------------------------------------------------- - KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, - KC_RGUI, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, - KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_END, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_RCTL, - // right thumb ------------------------------------------------------------------------------------------------- - KC_NO, KC_NO, - KC_NO, - KC_DEL, KC_BSPC, KC_ENT -), -// SYMNUM -- numpad and function keys -[SYMNUM] = LAYOUT_ergodox( - // left hand --------------------------------------------------------------------------------------------------- - KC_TRNS, LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AMPR, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LCBR, KC_LBRC, KC_LPRN, KC_0, KC_MINS, - KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_SLSH, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // left thumb -------------------------------------------------------------------------------------------------- - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand -------------------------------------------------------------------------------------------------- - KC_TRNS, LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), KC_TRNS, - KC_TRNS, KC_PERC, KC_EQL, KC_LT, KC_GT, KC_EXLM, KC_TRNS, - KC_PLUS, KC_1, KC_RPRN, KC_RBRC, KC_RCBR, KC_TRNS, - KC_TRNS, KC_ASTR, KC_2, KC_3, KC_4, KC_5, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // right thumb ------------------------------------------------------------------------------------------------- - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -// FKEYS -- function keys -[FKEYS] = LAYOUT_ergodox( - // left hand --------------------------------------------------------------------------------------------------- - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // left thumb -------------------------------------------------------------------------------------------------- - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand -------------------------------------------------------------------------------------------------- - 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, - // right thumb ------------------------------------------------------------------------------------------------- - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -}; - -// Code to handle layer tap. -// -// The default code doesn't work for me, so I rolled my own code. The main -// difference is that it always tries to send modifier+key combination, rather -// than two keys. One place where this is noticable is if you tap the key, -// then try hold it. - -struct tap_start_info { - uint16_t timer; - uint16_t initial_press_counter; -}; - -static struct tap_start_info tap_start_infos[5]; - -// Quick check to see if a key is down. Note that this requires NKRO enabled -static bool key_down(uint8_t code) { - return (keyboard_report->nkro.bits[code>>3] & 1<<(code&7)) != 0; -} - -static bool handle_lt(uint16_t keycode, keyrecord_t *record, uint8_t layer, uint8_t index) { - struct tap_start_info* tap_start = tap_start_infos + index; - - if(record->event.pressed) { - layer_on(layer); - tap_start->timer = timer_read(); - tap_start->initial_press_counter = press_counter; - } else { - layer_off(layer); - // Only click the key if: - // - No other keys are pressed between the press and release events - // - The release happens before the ONESHOT_TIMEOUT - if(press_counter == tap_start->initial_press_counter && timer_elapsed(tap_start->timer) < ONESHOT_TIMEOUT) { - register_code16(keycode); - unregister_code16(keycode); - } - } - return false; -} - -static bool handle_mt(uint16_t keycode, keyrecord_t *record, uint8_t mods, uint8_t index) { - struct tap_start_info* tap_start = tap_start_infos + index; - - if(record->event.pressed) { - register_mods(mods); - tap_start->timer = timer_read(); - tap_start->initial_press_counter = press_counter; - } else { - unregister_mods(mods); - // Only click the key if: - // - No other keys are pressed between the press and release events - // - The release happens before the ONESHOT_TIMEOUT - if(press_counter == tap_start->initial_press_counter && timer_elapsed(tap_start->timer) < ONESHOT_TIMEOUT) { - register_code16(keycode); - unregister_code16(keycode); - } - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(record->event.pressed) { - press_counter++; - // The symbol layer allows sequences repeat the same "physical" key. - // For example "0)", which is like pressing the "0" key twice in a - // row. It's very easy to make a sequence of these where the ")" - // press comes before the "0" release. If that happens, force a - // release of the "0" key, otherwise nothing will happen. - uint8_t shortcode = keycode & 0xFF; - if(key_down(shortcode)) { - unregister_code(shortcode); - } - } - - switch(keycode) { - case KC_ENTER: - return handle_lt(keycode, record, SYMNUM, 0); - - case KC_TAB: - return handle_mt(keycode, record, MOD_BIT(KC_LCTL), 1); - - case KC_LSFT: - case KC_RSFT: - return handle_mt(KC_ESC, record, MOD_BIT(keycode), 2); - } - return true; -} diff --git a/keyboards/ergodox_ez/keymaps/bdk/readme.md b/keyboards/ergodox_ez/keymaps/bdk/readme.md deleted file mode 100644 index 36a211d321fd..000000000000 --- a/keyboards/ergodox_ez/keymaps/bdk/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# The BDK Ergodox Keyboard Layout - -## Dvorak-based - -This was the first alternative layout I switched to and I don't want to change -again. - -## Mod-tap / Layer-tap is great for thumb keys - -This means a key that activates a layer/modifier when you hold it down, but -results in a keyclick when you tap it. Thumb keys are great for this since -they are good for both high-usage keys as well as modifiers. - -The one thing to avoid is when you mean to tap a key, but hit the next key -before you release, which results in the modifier/layer instead of a tap. To -avoid this, I chose Enter/Tab as the tap keys, since they aren't chorded -together with other keys often. - -The other issue is I found several problems with using the standard MT,LT code, -so I rolled my own to handle it. - -## Don't have too many layers - -My first layouts had multiple layers that I could switch to, but that -overloaded my brain. This layout basically only uses 1 extra layer. -Technically there's also a function key layer, but I only use those keys for -a handlful of things: boot order, rename, reload page, that's basically it. - -## Brackets should be easy to use - -There's a lot of ways to lay out a symbol layer. I organized mine around -making the {[()]} chars easy to use since they're so frequent in programming. -I put them all on the symbol layer home row. - -I also arranged the numbers so 0/1 were also on the symbol layer home row. -This makes for fairly easy chording of "[0]" and "[1]". diff --git a/keyboards/ergodox_ez/keymaps/bdk/rules.mk b/keyboards/ergodox_ez/keymaps/bdk/rules.mk deleted file mode 100644 index 6c5163623907..000000000000 --- a/keyboards/ergodox_ez/keymaps/bdk/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# CONSOLE_ENABLE = yes -# DEBUG_ENABLE = yes -COMMAND_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/config.h b/keyboards/ergodox_ez/keymaps/bepo_tm_style/config.h deleted file mode 100755 index c03ee70bd516..000000000000 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/config.h +++ /dev/null @@ -1,26 +0,0 @@ -#include "../../config.h" - -// Sets good default for the speed of the mouse. -#undef MOUSEKEY_INTERVAL -#undef MOUSEKEY_DELAY -#undef MOUSEKEY_TIME_TO_MAX -#undef MOUSEKEY_MAX_SPEED - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 100 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_MAX_SPEED 7 - -#undef MOUSEKEY_WHEEL_MAX_SPEED -#undef MOUSEKEY_WHEEL_TIME_TO_MAX -#undef MOUSEKEY_WHEEL_DELAY - -#define MOUSEKEY_WHEEL_MAX_SPEED 5 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 60 -#define MOUSEKEY_WHEEL_DELAY 100 - -#undef TAPPING_TOGGLE -#undef TAPPING_TERM - -#define TAPPING_TOGGLE 1 -#define TAPPING_TERM 150 diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c deleted file mode 100755 index 45a101ec81ec..000000000000 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c +++ /dev/null @@ -1,353 +0,0 @@ -// An Ergodox EZ keymap meant to be used with a bÃĐpo layout (FR ergonomic -// layout, dvorak style). The overall design is slightly inspired by the -// TypeMatrix keyboard. Switching between a TypeMatrix and an Ergodox with this -// layout should be relatively easy. -// -// See the README.md file for an image of this keymap. - -#include QMK_KEYBOARD_H -#include "keymap_bepo.h" - -// The layers that we are defining for this keyboards. -#define BASE 0 -#define FN 1 -#define MOUSE 2 -#define NUMS 3 -#define SWAP 4 -#define SYSLEDS 5 - -// The Tap Dance identifiers, used in the TD keycode and tap_dance_actions array. -#define TAP_MACRO 0 - -// A 'transparent' key code (that falls back to the layers below it). -#define ___ KC_TRANSPARENT - -// A 'blocking' key code. Does nothing but prevent falling back to another layer. -#define XXX KC_NO - -// Some combined keys (one normal keycode when tapped and one modifier or layer -// toggle when held). -#define ESC_FN LT(FN, KC_ESC) // ESC key and FN layer toggle. -#define M_RSFT MT(MOD_RSFT, BP_M) // 'M' key and right shift modifier. -#define W_RCTL MT(MOD_RCTL, BP_W) // 'W' key and right control modifier. -#define SPC_RALT MT(MOD_RALT, KC_SPC) // SPACE key and right alt modifier. -#define PERC_FN LT(FN, BP_PERC) // '%' key and FN layer toggle. - -// The most portable copy/paste keys (windows (mostly), linux, and some terminal emulators). -#define MK_CUT LSFT(KC_DEL) // shift + delete -#define MK_COPY LCTL(KC_INS) // ctrl + insert -#define MK_PASTE LSFT(KC_INS) // shift + insert - -// Custom keycodes -enum { - // SAFE_RANGE must be used to tag the first element of the enum. - // DYNAMIC_MACRO_RANGE must always be the last element of the enum if other - // values are added (as its value is used to create a couple of other keycodes - // after it). - DYNAMIC_MACRO_RANGE = SAFE_RANGE, -}; - -// This file must be included after DYNAMIC_MACRO_RANGE is defined... -#include "dynamic_macro.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Layer 0: basic keys. - [BASE] = LAYOUT_ergodox( - /* left hand */ - BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, KC_DEL, - KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC, - KC_LSFT, BP_A, BP_U, BP_I, BP_E, BP_COMM, - KC_LCTL, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT, - ESC_FN, BP_ECIR, KC_LGUI, KC_LALT, SPC_RALT, - TT(SWAP), KC_MNXT, - KC_MPLY, - TT(FN), TT(NUMS), KC_MPRV, - /* right hand */ - KC_DEL, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, - KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, - BP_C, BP_T, BP_S, BP_R, BP_N, M_RSFT, - KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, W_RCTL, - SPC_RALT, KC_LALT, TT(SYSLEDS), BP_CCED, PERC_FN, - KC_LEFT, KC_RIGHT, - KC_UP, - KC_DOWN, TD(TAP_MACRO), TT(MOUSE)), - - // Layer 1: function and media keys. - [FN] = LAYOUT_ergodox( - /* left hand */ - KC_SLEP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, KC_LSFT, - ___, ___, MK_CUT, MK_COPY, MK_PASTE, KC_LCTL, ___, - ___, ___, ___, ___, ___, - ___, KC_VOLU, - KC_VOLD, - ___, ___, KC_MUTE, - /* right hand */ - ___, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - ___, ___, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F12, - ___, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, - KC_HOME, KC_END, - KC_PGUP, - KC_PGDN, ___, ___), - // Note that any change to the FN layer above must be added to - // the MOUSE layer below (except for the arrow keys). - - // Layer 2: Mouse control. - [MOUSE] = LAYOUT_ergodox( - /* left hand */ - KC_SLEP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, ___, - ___, ___, KC_BTN4, KC_MS_U, KC_BTN5, ___, ___, - ___, ___, KC_MS_L, KC_MS_D, KC_MS_R, KC_LSFT, - ___, ___, MK_CUT, MK_COPY, MK_PASTE, KC_LCTL, ___, - ___, ___, ___, ___, ___, - ___, KC_VOLU, - KC_VOLD, - ___, ___, KC_MUTE, - /* right hand */ - ___, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - ___, ___, XXX, KC_WH_U, XXX, XXX, KC_F12, - ___, KC_WH_L, KC_WH_D, KC_WH_R, XXX, ___, - ___, ___, KC_ACL0, KC_ACL1, KC_ACL2, ___, ___, - KC_BTN1, KC_BTN2, KC_BTN3, ___, ___, - ___, ___, - ___, - ___, ___, ___), - - // Layer 3: Numeric keypad and system keys. - [NUMS] = LAYOUT_ergodox( - /* left hand */ - KC_PSCR, KC_INS, KC_PAUS, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, - ___, ___, MK_CUT, MK_COPY, MK_PASTE, ___, ___, - ___, ___, ___, ___, ___, - ___, ___, - ___, - ___, ___, ___, - /* right hand */ - ___, ___, ___, ___, ___, ___, KC_NUM, - ___, KC_PEQL, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_SCRL, - KC_PCMM, KC_P4, KC_P5, KC_P6, KC_PPLS, ___, - KC_PENT, KC_P0, KC_P1, KC_P2, KC_P3, KC_PAST, ___, - ___, ___, ___, KC_PSLS, ___, - ___, ___, - ___, - ___, ___, ___), - - // Layer 4: hand swap, all keys are mirrored to the other side of the keyboard - // except for the layer toggle itself (so there is no right arrow when this - // layer is activated). - [SWAP] = LAYOUT_ergodox( - /* left hand */ - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, - TT(SWAP), ___, - ___, - ___, ___, ___, - /* right hand */ - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, - ___, TT(SWAP), - ___, - ___, ___, ___), - - // Layer 5: The LEDs are showing the "standard" caps/num/scroll lock indicator - // instead of their default which shows the currently active layers (FN, NUMS, - // and MOUSE in that order). - [SYSLEDS] = LAYOUT_ergodox( - /* left hand */ - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, - ___, ___, - ___, - ___, ___, ___, - /* right hand */ - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, - ___, ___, TT(SYSLEDS), ___, ___, - ___, ___, - ___, - ___, ___, ___), -}; - -// Whether the macro 1 is currently being recorded. -static bool is_macro1_recording = false; - -// The current set of active layers (as a bitmask). -// There is a global 'layer_state' variable but it is set after the call -// to layer_state_set_user(). -static layer_state_t current_layer_state = 0; -layer_state_t layer_state_set_user(layer_state_t state); - -// Method called at the end of the tap dance on the TAP_MACRO key. That key is -// used to start recording a macro (double tap or more), to stop recording (any -// number of tap), or to play the recorded macro (1 tap). -void macro_tapdance_fn(tap_dance_state_t *state, void *user_data) { - uint16_t keycode; - keyrecord_t record; - dprintf("macro_tap_dance_fn %d\n", state->count); - if (is_macro1_recording) { - keycode = DM_RSTP; - is_macro1_recording = false; - layer_state_set_user(current_layer_state); - } else if (state->count == 1) { - keycode = DM_PLY1; - } else { - keycode = DM_REC1; - is_macro1_recording = true; - layer_state_set_user(current_layer_state); - } - - record.event.pressed = true; - process_record_dynamic_macro(keycode, &record); - record.event.pressed = false; - process_record_dynamic_macro(keycode, &record); -} - -// The definition of the tap dance actions: -tap_dance_action_t tap_dance_actions[] = { - // This Tap dance plays the macro 1 on TAP and records it on double tap. - [TAP_MACRO] = ACTION_TAP_DANCE_FN(macro_tapdance_fn), -}; - -// Runs for each key down or up event. -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode != TD(TAP_MACRO)) { - // That key is processed by the macro_tapdance_fn. Not ignoring it here is - // mostly a no-op except that it is recorded in the macros (and uses space). - // We can't just return false when the key is a tap dance, because - // process_record_user, is called before the tap dance processing (and - // returning false would eat the tap dance). - if (!process_record_dynamic_macro(keycode, record)) { - return false; - } - } - - return true; // Let QMK send the enter press/release events -} - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); -}; - -// Runs constantly in the background, in a loop. -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; - -// Value to use to switch LEDs on. The default value of 255 is far too bright. -static const uint8_t max_led_value = 20; - -// Whether the given layer (one of the constant defined at the top) is active. -#define LAYER_ON(layer) (current_layer_state & (1<event.pressed) { -// layer_on(_LOWER); -// update_tri_layer(_LOWER, _RAISE, _ADJUST); -// } else { -// layer_off(_LOWER); -// update_tri_layer(_LOWER, _RAISE, _ADJUST); -// } -// return false; -// break; -// case RAISE: -// if (record->event.pressed) { -// layer_on(_RAISE); -// update_tri_layer(_LOWER, _RAISE, _ADJUST); -// } else { -// layer_off(_RAISE); -// update_tri_layer(_LOWER, _RAISE, _ADJUST); -// } -// return false; -// break; -// } -// return true; -//} diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/config.h b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/config.h deleted file mode 100644 index c03ee70bd516..000000000000 --- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/config.h +++ /dev/null @@ -1,26 +0,0 @@ -#include "../../config.h" - -// Sets good default for the speed of the mouse. -#undef MOUSEKEY_INTERVAL -#undef MOUSEKEY_DELAY -#undef MOUSEKEY_TIME_TO_MAX -#undef MOUSEKEY_MAX_SPEED - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 100 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_MAX_SPEED 7 - -#undef MOUSEKEY_WHEEL_MAX_SPEED -#undef MOUSEKEY_WHEEL_TIME_TO_MAX -#undef MOUSEKEY_WHEEL_DELAY - -#define MOUSEKEY_WHEEL_MAX_SPEED 5 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 60 -#define MOUSEKEY_WHEEL_DELAY 100 - -#undef TAPPING_TOGGLE -#undef TAPPING_TERM - -#define TAPPING_TOGGLE 1 -#define TAPPING_TERM 150 diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c deleted file mode 100644 index 87ad7e63e47c..000000000000 --- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c +++ /dev/null @@ -1,234 +0,0 @@ -// An Ergodox EZ keymap mostly following the programmer's dvorak layout. -// There is a standard QWERTY layer as well -// -// See the README.md file for an image of this keymap. - -#include QMK_KEYBOARD_H - -// The layers that we are defining for this keyboards. -#define BASE 0 -#define NUM 1 -#define QWERTY 2 -#define MAC 3 - -// The Tap Dance identifiers, used in the TD keycode and tap_dance_actions array. -#define TAP_MACRO 0 - -// SAFE_RANGE must be used to tag the first element of the enum. -// DYNAMIC_MACRO_RANGE must always be the last element of the enum if other -// values are added (as its value is used to create a couple of other keycodes -// after it). -enum custom_keycodes { - MC_ARROW = SAFE_RANGE, - DYNAMIC_MACRO_RANGE -}; - -// A 'transparent' key code (that falls back to the layers below it). -#define ___ KC_TRANSPARENT - -// A 'blocking' key code. Does nothing but prevent falling back to another layer. -#define XXX KC_NO - -// Some combined keys (one normal keycode when tapped and one modifier or layer -// toggle when held). -#define SPC_RALT MT(MOD_RALT, KC_SPC) // SPACE key and right alt modifier. - -// The most portable copy/paste keys (windows (mostly), linux, and some terminal emulators). -#define MK_CUT LSFT(KC_DEL) // shift + delete -#define MK_COPY LCTL(KC_INS) // ctrl + insert -#define MK_PASTE LSFT(KC_INS) // shift + insert -//Move mac desktop spaces -#define MAC_L LGUI(LSFT(KC_UP)) // cmd + shift + up -#define MAC_R LGUI(LSFT(KC_DOWN)) // cmd + shift + down - -// This file must be included after DYNAMIC_MACRO_RANGE is defined... -#include "dynamic_macro.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Layer 0: basic keys. - [BASE] = LAYOUT_ergodox_pretty( - KC_DLR, KC_AMPR, KC_LBRC, KC_LCBR, KC_RCBR, KC_LPRN, KC_CIRC, KC_F4, KC_EQUAL,KC_ASTR, KC_BSLS, KC_PLUS, KC_RBRC, KC_EXLM, - GUI_T(KC_BSLS), KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_PERC, KC_DELETE, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH, - MO(NUM), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, - SC_LSPO, KC_QUOTE, KC_Q, KC_J, KC_K, KC_X, KC_LALT, TD(TAP_MACRO),KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC, - KC_AT, KC_HASH, KC_GRAVE, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_HOME, KC_END, TO(QWERTY), - ALT_T(KC_APPLICATION), ALL_T(KC_NO), KC_PGUP, KC_LGUI, - KC_BSLS, TO(MAC), - KC_ENTER, KC_TAB, CTL_T(KC_ESCAPE), CTL_T(KC_ESCAPE), KC_BSPC, KC_SPACE), - - // Layer 1: function and numpad keys. - [NUM] = LAYOUT_ergodox_pretty( - ___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, ___, ___, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - ___, KC_EXLM, KC_COMMA, KC_DOT, KC_MS_BTN1, KC_MS_BTN2, ___, ___, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - XXX, ___, KC_LCBR, KC_RCBR, MC_ARROW, KC_GRAVE, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_UNDS, - ___, ___, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, ___, ___, KC_0, KC_1, KC_2, KC_3, KC_KP_SLASH, KC_BSLS, - ___, ___, ___, ___, ___, ___, KC_0, KC_KP_DOT, KC_EQUAL, ___, - ___, ___, KC_KP_ASTERISK, KC_KP_SLASH, - KC_LCTL, ___, - KC_KP_PLUS, KC_KP_MINUS, KC_DLR, KC_DELETE, KC_BSPC, KC_SPACE), - - // Layer 2: QWERTY control. - [QWERTY] = LAYOUT_ergodox_pretty( - /* left hand */ - KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RIGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, - KC_DELETE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, TO(BASE), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - MO(NUM), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, GUI_T(KC_QUOT), - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALT_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, SC_RSPC, - KC_GRAVE, KC_QUOTE, LALT(KC_TAB), KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TO(BASE), - ___, KC_LGUI, ___, KC_ESCAPE, - KC_HOME, KC_PGUP, - KC_ENTER, KC_TAB, KC_END, KC_PGDN, KC_BSPC, KC_SPACE), - - // Layer 3: Mac layer - [MAC] = LAYOUT_ergodox_pretty( - /* left hand */ - ___, KC_1, KC_2, KC_3, KC_4, KC_5, ___, ___, KC_6, KC_7, KC_8, KC_9, KC_0, ___, - ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, - ___, ___, ___, MAC_L, MAC_R, ___, ___, ___, ___, ___, - ___, ___, ___, ___, - ___, TO(BASE), - KC_LGUI, KC_LALT, KC_LGUI, KC_LGUI, KC_LALT, KC_LGUI), -}; - -// Whether the macro 1 is currently being recorded. -static bool is_macro1_recording = false; - -// The current set of active layers (as a bitmask). -// There is a global 'layer_state' variable but it is set after the call -// to layer_state_set_user(). -static layer_state_t current_layer_state = 0; -layer_state_t layer_state_set_user(layer_state_t state); - -// Method called at the end of the tap dance on the TAP_MACRO key. That key is -// used to start recording a macro (double tap or more), to stop recording (any -// number of tap), or to play the recorded macro (1 tap). -void macro_tapdance_fn(tap_dance_state_t *state, void *user_data) { - uint16_t keycode; - keyrecord_t record; - dprintf("macro_tap_dance_fn %d\n", state->count); - if (is_macro1_recording) { - keycode = DM_RSTP; - is_macro1_recording = false; - layer_state_set_user(current_layer_state); - } else if (state->count == 1) { - keycode = DM_PLY1; - } else { - keycode = DM_REC1; - is_macro1_recording = true; - layer_state_set_user(current_layer_state); - } - - record.event.pressed = true; - process_record_dynamic_macro(keycode, &record); - record.event.pressed = false; - process_record_dynamic_macro(keycode, &record); -} - -// The definition of the tap dance actions: -tap_dance_action_t tap_dance_actions[] = { - // This Tap dance plays the macro 1 on TAP and records it on double tap. - [TAP_MACRO] = ACTION_TAP_DANCE_FN(macro_tapdance_fn) -}; - -// Runs for each key down or up event. -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode != TD(TAP_MACRO)) { - // That key is processed by the macro_tapdance_fn. Not ignoring it here is - // mostly a no-op except that it is recorded in the macros (and uses space). - // We can't just return false when the key is a tap dance, because - // process_record_user, is called before the tap dance processing (and - // returning false would eat the tap dance). - if (!process_record_dynamic_macro(keycode, record)) { - return false; - } - - if(record->event.pressed) { - switch(keycode) { - case MC_ARROW: - SEND_STRING("=>"); - return false; - break; - } - } - } - - return true; // Let QMK send the enter press/release events -} - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - -}; - -// Value to use to switch LEDs on. The default value of 255 is far too bright. -static const uint8_t max_led_value = 20; - -// Whether the given layer (one of the constant defined at the top) is active. -#define LAYER_ON(layer) (current_layer_state & (1< items => groups.reduce(({start, acc},size) => ({ - acc: (acc.push(items.slice(start,start+size)),acc ), - start: start + size -}), {acc:[],start:0}).acc -findMaxLen = items => items.reduce((max,curr) => max < curr.length ? curr.length : max,0) -setLen = len => strings => strings.map(str => str.padEnd(len, " ")); -const format = string => { - const items = string.split(/,\s*(?![^()]*\))/) - const group = sliceBy([7,7,6,7,5,2,1,3]) - const resize = setLen(findMaxLen(items)); - const joinstr = ',\n' - const leftItems = group(items.slice(0,items.length/2)) - const rightItems = group(items.slice(items.length/2)) - const [left,right] = [leftItems.map(resize).join(joinstr),rightItems.map(resize).join(joinstr)] - return `\n${left},\n\n${right}\n` -} -*/ - -#define OSM_SF_CMD OSM(MOD_LGUI | MOD_LSFT) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_ergodox( - KC_EQL ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,OSM(MOD_HYPR) , - KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,TD(PASTE_DANCE) , - KC_DELETE ,KC_A ,LT(3,KC_S) ,LT(2,KC_D) ,LT(4,KC_F) ,KC_G , - KC_GRAVE ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,TD(COPY_CUT) , - KC_BSLS ,OSM(MOD_LCTL) ,OSM(MOD_LALT) ,KC_LEFT ,KC_RIGHT , - OSM_SF_CMD ,KC_PLUS , - KC_INSERT , - OSM(MOD_LSFT) ,LT(2,KC_BSPC) ,OSM(MOD_LGUI) , - - - TO(1) ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,LT(3,KC_0) ,KC_DQUO , - KC_UNDS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,RSFT_T(KC_MINUS) , - HYPR_H ,ALT_J ,CTL_K ,LT(6,KC_L) ,TD_CLN ,CMD_QUOT , - ALT_TAB ,KC_N ,MEH_T(KC_M) ,KC_COMMA ,KC_DOT ,KC_SLASH ,LT(4,KC_KP_ASTERISK), - LT(4,KC_ENTER) ,KC_DOWN ,KC_LBRC ,KC_RBRC ,OSL(2) , - KC_AUDIO_MUTE ,KC_ESCAPE , - KC_END , - KC_COLN ,QK_LEAD ,LT(4,KC_SPACE) - ), - - [1] = LAYOUT_ergodox( - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,AC_E ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - LT(5, KC_DELETE),AC_A ,KC_TRANSPARENT ,KC_TRANSPARENT ,FIND ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - OSM(MOD_LSFT) ,KC_TRANSPARENT ,KC_TRANSPARENT , - TO(8) ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_ENTER ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT), - - [2] = LAYOUT_ergodox( - KC_TRANSPARENT,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRANSPARENT, - KC_TRANSPARENT,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,KC_CALCULATOR , - KC_TRANSPARENT,KC_HASH ,KC_DLR ,KC_TRANSPARENT,KC_RPRN ,KC_GRAVE , - KC_TRANSPARENT,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT, - RGB_HUI , - KC_TRANSPARENT,KC_TRANSPARENT,RGB_HUD , - KC_DELETE ,KC_A ,KC_B ,KC_C ,KC_D ,KC_E ,KC_BSPC , - KC_ENTER ,KC_F ,KC_7 ,KC_8 ,KC_9 ,KC_PERC ,KC_TRANSPARENT, - KC_HASH ,KC_4 ,KC_5 ,KC_6 ,KC_PLUS ,KC_KP_ASTERISK, - KC_KP_ENTER ,KC_COLON ,KC_1 ,KC_2 ,KC_3 ,KC_SLASH ,KC_BSLS , - KC_0 ,KC_COMMA ,KC_DOT ,KC_EQUAL ,KC_TRANSPARENT, - RGB_TOG ,RGB_SLD , - RGB_VAI , - RGB_VAD ,KC_BSPC ,KC_SPACE - ), - - [3] = LAYOUT_ergodox( - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_LABK ,KC_RABK ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_AT ,KC_TRANSPARENT ,KC_EQL ,F_ARROW ,KC_GRAVE , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_LBRC ,KC_RBRC ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,IARROW ,ARROW , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - // Right hand - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - LALT(LSFT(KC_UP)) ,KC_HASH ,KC_LCBR ,KC_RCBR ,KC_KP_ASTERISK ,KC_PERC ,KC_DLR , - KC_AMPR ,KC_LPRN ,KC_RPRN ,CLN_EQ ,KC_KP_PLUS ,KC_PIPE , - LALT(LSFT(KC_DOWN)),KC_EXLM ,KC_TILD ,KC_CIRC ,ARROW ,KC_BSLS ,KC_BSLS , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - QK_BOOT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_SPACE -), - - [4] = LAYOUT_ergodox( - KC_TRANSPARENT ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRANSPARENT , - KC_TRANSPARENT ,LCTL(KC_Q) ,LCTL(KC_DOWN) ,LGUI(KC_DOWN) ,WIN_LEFT_HALF ,WIN_RIGHT_HALF ,LALT(LSFT(KC_UP)) , - LCTL(LSFT(KC_P)) ,LCTL(KC_A) ,SAVE ,LCTL(KC_D) ,KC_TRANSPARENT ,RGUI(KC_R) , - LCTL(LSFT(KC_F)) ,UNDO ,CUT ,KC_PSCR ,KC_TRANSPARENT ,LGUI(KC_RIGHT) ,LALT(LSFT(KC_DOWN)), - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - - LALT(KC_F4) ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , - LALT(KC_UP) ,LSFT(KC_HOME) ,LSFT(KC_LEFT) ,KC_UP ,LSFT(KC_RIGHT) ,LSFT(KC_END) ,KC_F13 , - KC_HOME ,KC_LEFT ,KC_DOWN ,KC_RIGHT ,KC_END ,KC_F12 , - LALT(KC_DOWN) ,LSFT(KC_INSERT) ,LCTL(LSFT(KC_J)) ,LSFT(KC_UP) ,KC_PGUP ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,LSFT(KC_DOWN) ,KC_PGDN ,WIN_TO_LEFT ,WIN_TO_RIGHT , - KC_TRANSPARENT ,KC_SYSTEM_SLEEP , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_BSPC ,KC_TRANSPARENT - ), - - [5] = LAYOUT_ergodox( - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,LCTL(KC_TAB) ,LCTL(LSFT(KC_TAB)) ,LGUI(KC_D) ,LCTL(KC_F) ,KC_TRANSPARENT , - LGUI(KC_L) ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,LSFT(KC_F9) ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,LCTL(LGUI(KC_LEFT)) ,LCTL(LGUI(KC_RIGHT)),KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,LCTL(KC_T) ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT -), - - [6] = LAYOUT_ergodox( - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_MS_ACCEL2 ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_MS_WH_DOWN ,KC_MS_UP ,KC_MS_WH_UP ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_MS_LEFT ,KC_MS_DOWN ,KC_MS_RIGHT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_MS_BTN3 ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_MS_BTN1 ,KC_MS_BTN2 ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_PGUP ,LCTL(LGUI(KC_RIGHT)),KC_MS_WH_UP ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT , - LGUI(RCTL(KC_LEFT)) ,KC_MS_WH_DOWN ,LCTL(KC_C) ,KC_TRANSPARENT ,KC_MEDIA_STOP ,KC_MEDIA_PLAY_PAUSE , - KC_PGDN ,LCTL(LSFT(KC_N)) ,LCTL(LSFT(KC_J)) ,KC_MEDIA_PREV_TRACK ,KC_MEDIA_NEXT_TRACK ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_AUDIO_VOL_UP ,KC_AUDIO_VOL_DOWN ,KC_AUDIO_MUTE ,KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT , - KC_TRANSPARENT , - KC_TRANSPARENT ,KC_TRANSPARENT ,KC_TRANSPARENT - ), - - [7] = LAYOUT_ergodox( - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_UP ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_LEFT ,KC_DOWN ,KC_RIGHT ,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT - ), - - [8] = LAYOUT_ergodox( - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_Q ,KC_W ,KC_E ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_ENTER ,KC_A ,KC_S ,KC_D ,KC_F ,KC_TRANSPARENT, - KC_TRANSPARENT,KC_Z ,KC_X ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT, - KC_SPACE ,KC_LSFT ,KC_TRANSPARENT, - - TO(0) ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_PGDN ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_ENTER ,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT, - KC_TRANSPARENT, - KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT - ), -}; -// Used for blinking leds on layers higher than 7 -uint16_t blink_timer = 0; -uint16_t blink_elapsed = 0; -bool blink_led_1 = false; -bool blink_led_2 = false; -bool blink_led_3 = false; - -void matrix_scan_kb(void){ - // first 7 layers do not need to blink - if(blink_led_1 || blink_led_2 || blink_led_3){ - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - blink_elapsed = timer_elapsed(blink_timer); - if(blink_elapsed > 2000) { blink_timer = timer_read();} - if(blink_elapsed < 1000) { - if(blink_led_1) ergodox_right_led_1_on(); - if(blink_led_2) ergodox_right_led_2_on(); - if(blink_led_3) ergodox_right_led_3_on(); - } - } - matrix_scan_user(); -}; - -layer_state_t layer_state_set_user(layer_state_t state) -{ - - uint8_t layer = get_highest_layer(state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - blink_led_1=false; - blink_led_2=false; - blink_led_3=false; - - switch (layer) - { - case 0: - rgblight_setrgb(0, 200, 200); - break; - case 1: - ergodox_right_led_1_on(); - rgblight_setrgb(0, 200, 0); // green - break; - case 2: - ergodox_right_led_2_on(); - rgblight_setrgb(0, 0, 255); - break; - case 3: - ergodox_right_led_3_on(); - rgblight_setrgb(255, 0, 0); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - rgblight_setrgb(200, 65, 0); - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - rgblight_setrgb(0, 80, 33); - break; - case 6: - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - rgblight_setrgb(0, 10, 200); - break; - case 7: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - rgblight_setrgb(90, 150, 90); - break; - case 8: - blink_led_1=true; - rgblight_setrgb(100, 0, 100); - break; - case 9: - rgblight_setrgb(200, 150, 90); - break; -// default: -// rgblight_setrgb(0, 200, 200); -// break; - } - return state; -}; - -// use leds to indicate when a one shot mod is on -void oneshot_mods_changed_user(uint8_t mods) { - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - // One shot checks - if (mods & MOD_MASK_SHIFT) { - ergodox_right_led_1_on(); - } - if (mods & MOD_MASK_CTRL) { - ergodox_right_led_2_on(); - } - if (mods & MOD_MASK_ALT) { - ergodox_right_led_3_on(); - } - // if (mods & MOD_MASK_GUI) { - // println("Oneshot mods GUI"); - // } - } - -void oneshot_locked_mods_changed_user(uint8_t mods) { - oneshot_mods_changed_user(mods); -} - -//=============== alt_tab callbacks -void alt_tab_activated(void){ - layer_on(7); // activate motion layer -} -void alt_tab_deactivated(void){ - layer_off(7); // activate motion layer -} diff --git a/keyboards/ergodox_ez/keymaps/danielo515/rules.mk b/keyboards/ergodox_ez/keymaps/danielo515/rules.mk deleted file mode 100644 index 99ab4f0e181b..000000000000 --- a/keyboards/ergodox_ez/keymaps/danielo515/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Set any rules.mk overrides for your specific keymap here. -# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file -LTO_ENABLE = yes -AUTO_SHIFT_ENABLE = no -TAP_DANCE_ENABLE = yes # Enable the tap dance feature. -LEADER_ENABLE = yes -CONSOLE_ENABLE = no -RGBLIGHT_ENABLE = yes -COMBO_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md b/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md deleted file mode 100644 index 5730a610516a..000000000000 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/README.md +++ /dev/null @@ -1,19 +0,0 @@ -Overview -======== - -This is a dvorak based layout for the Ergodox EZ. Its basic key layout is similar to the Atreus "dvorak_42_key" layout. In fact this layout was created for seamless switching between the Ergodox EZ and Atreus. On the base layer, the keys that don't exist on the Atreus are mapped to MEH shortcuts and can be interpreted by Autohotkey. This layout only makes use of the 42 keys that the Atreus also has for the main functionality. - -How to build ------------- -make ergodox_ez:dvorak_42_key:teensy - -Layers ------- -* BASE: basic dvorak layout -* KEYNAV: arrow-key navigation. Momentary toggle held by thumb allows the right hand to navigate through text as well as copy/paste/cut, page up/page down -* KEYSEL: similar to KEYNAV, except for shift-selection -* COMBINED: this is a layer that combines numbers, brackets and special characters. !@#$%^&*( can be typed by shift+COMBINED+1/2/3/etc.. -* BROWSER_CONTROL: primarily browser left/right tab, open new tab/delete tab, but also mouse keys. -* SHELL_NAV: Linux Bash shortcuts (move forward/backward in command line, Ctrl+C, recall last argument, etc -* SHELL_SCREEN: Linux screen (run multiple terminals in one window) shortcuts such as open new tabs, switch between tabs -* SCREEN_NAV: special layer for copy/pasting within Linux screen, allows using various copy/paste buffers \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c deleted file mode 100644 index 34284e146d23..000000000000 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ /dev/null @@ -1,339 +0,0 @@ -// Copyright 2022 LucW (@luc-languagetools) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "debug.h" -#include "action_layer.h" -#include "version.h" -#include "dvorak_42_key.h" - - -// to build this keymap -// make ergodox_ez:dvorak_42_key:teensy -// or: -// qmk compile -kb ergodox_ez -km dvorak_42_key -// flashing from rpi: -// sudo teensy_loader_cli -v -w .build/ergodox_ez_dvorak_42_key.hex --mcu atmega32u4 - -// keeping fork up to date: -// https://help.github.com/articles/configuring-a-remote-for-a-fork/ -// https://help.github.com/articles/syncing-a-fork/ -// pushing dev branch -// git push origin dev:dev - -// debounce settings -// remove these after getting a new keyboard -// #define DEBOUNCE 50 - - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - OSL(VSCODE), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TRNS, - OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, - OSL(SHELL_SCREEN), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(VSCODE), - MEH(KC_0), OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), - - // left thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - MO(COMBINED),MO(KEYNAV), KC_TRNS, - - // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_7), - MEH(KC_1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_TAB, - KC_D, KC_H, KC_T, KC_N, KC_S, RCTL(KC_BSPC), - MEH(KC_2), KC_B, KC_M, KC_W, KC_V, KC_Z, MEH(KC_8), - KC_BSPC, RCTL(KC_BSPC), KC_CAPS, OSM(MOD_LSFT),MEH(KC_9), - - // right thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_ENTER, KC_SPACE - - ), - - [KEYNAV] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_ESC, RCTL(KC_ENTER), RCTL(KC_K), RCTL(KC_Z), RCTL(KC_S), RCTL(KC_N), KC_TRNS, - KC_TRNS, MO(KEYSEL), KC_TRNS, RSFT(KC_TAB), KC_TAB, RCTL(KC_F), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NP_DUPE_LINE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // left thumb cluster - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - - - // right hand - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_G), - KC_TRNS,KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, MEH(KC_H), - LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), MEH(KC_I), - KC_TRNS,KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDN, MEH(KC_J), - KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), MEH(KC_K), - - // right thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS - ), - - // key selection layer - [KEYSEL] = LAYOUT_ergodox( - // left hand - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // bottom row - QK_BOOT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), KC_TRNS, - RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), KC_TRNS, - KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), KC_TRNS, - // bottom row - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS - ), - - // shell navigation layer - [SHELL_NAV] = LAYOUT_ergodox( - // left hand - KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,SHELL_GIT_DIFF, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, KC_TRNS, KC_TRNS, - KC_TRNS,SHELL_GIT_STATUS, SHELL_CDPRE, SHELL_LSLTR, SHELL_LS, SHELL_LSLA, - KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, KC_TRNS, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RCTL(KC_D), KC_HOME, KC_UP, KC_END, RCTL(KC_L), RCTL(KC_X), - LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), RCTL(KC_W), - KC_TRNS, RCTL(KC_U), LALT(KC_DOT), RCTL(KC_R), KC_BTN2, RCTL(KC_K), RCTL(KC_C), - // bottom row - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS - ), - - - // linux screen layer - [SHELL_SCREEN] = LAYOUT_ergodox( - // left hand - KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, SCREEN_READREG_3, SCREEN_READREG_2, SCREEN_READREG_1, KC_TRNS, KC_TRNS, - KC_TRNS,KC_TRNS, SCREEN_PASTEREG_3, SCREEN_PASTEREG_2, SCREEN_PASTEREG_1, SCREEN_DETACH, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, SCREEN_7, SCREEN_8, SCREEN_9, SCREEN_RENAME, KC_TRNS, - SCREEN_TAB_LEFT, SCREEN_4, SCREEN_5, SCREEN_6, SCREEN_TAB_RIGHT, SCREEN_COPY_MODE, - KC_TRNS, KC_TRNS, SCREEN_1, SCREEN_2, SCREEN_3, SCREEN_NUMBER, SCREEN_PASTE, - // bottom row - SCREEN_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, SCREEN_KILL, SCREEN_NEW_TAB - ), - - // android studio shortcuts - [ANDROID_STUDIO] = LAYOUT_ergodox( - // left hand - 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, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - AS_CMT_LINE, AS_COPYLINEDOWN, AS_FINDUSAGE, AS_GO_DECLARATION, AS_GO_IMPLEMENTATION, AS_LINE, AS_BRACKET, - AS_CLOSETAB, AS_TABLEFT, AS_TABRIGHT, AS_SYMBOL, AS_CLASS, AS_BACK, - AS_CMT_BLOCK, KC_TRNS, AS_BM_PREV, AS_BM_NEXT, KC_TRNS, AS_CLOSETOOLWINDOW, AS_BM_TOGGLE, - // bottom row - KC_TRNS, AS_BM_LIST, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, AS_DEL_LINE, KC_TRNS - ), - - // vscode shortcuts shortcuts - [VSCODE] = LAYOUT_ergodox( - // left hand - KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, VS_CMT_BLOCK, VS_CMT_LINE, VS_BM_LISTALL, KC_TRNS, - KC_TRNS, KC_TRNS, VS_TOGGLE_TERMINAL, VS_FOCUS_TERMINAL, VS_FOCUS_EDITOR, VS_BM_LIST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, VS_BM_CLEARALL, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, VS_COPYLINEDOWN, VS_REFERENCES, VS_DEFINITION, VS_IMPLEMENTATION, VS_LINE, VS_BRACKET, - VS_CLOSETAB, VS_TABLEFT, VS_TABRIGHT, VS_SYMBOLEDITOR, VS_FILE, VS_BACK, - KC_TRNS, VS_JUMPY, VS_BM_PREV, VS_BM_NEXT, VS_GROUP_1, VS_GROUP_2, VS_BM_TOGGLE, - // bottom row - VS_COMMANDS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, VS_DEL_LINE, KC_TRNS - ), - - - [COMBINED] = LAYOUT_ergodox( - - // left hand - KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, - KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_UNDS, - KC_TRNS,KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, KC_PIPE, - KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, KC_BSLS, - KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, KC_DOT, - // bottom row - KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS), - - - [BROWSER_CONTROL] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, WINDOWS10_WORKSPACE_LEFT, WINDOWS10_WORKSPACE_RIGHT, WINDOWS10_TASK_VIEW, KC_TRNS, - // bottom row - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, KC_TRNS, - KC_DOWN, RCTL(KC_PGUP), RCTL(KC_PGDN),KC_MS_WH_DOWN, LALT(KC_LEFT), KC_TRNS, - KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, KC_TRNS, - // bottom row - RCTL(LSFT(KC_TAB)), RCTL(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, RCTL(KC_W), RCTL(KC_T) - ), - - - // shortcuts to be intercepted by autohotkey - [SHORTCUTS] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, OSM(MOD_LSFT), OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_LCTL), KC_TRNS, KC_TRNS, - // bottom row - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - // thumb cluster - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,DF(BASE),KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, - KC_TRNS, MEH(KC_I), MEH(KC_J), MEH(KC_K), MEH(KC_L), MEH(KC_M), MEH(KC_N), - MEH(KC_O), MEH(KC_P), MEH(KC_Q), MEH(KC_R), MEH(KC_S), MEH(KC_T), - KC_TRNS, MEH(KC_U), MEH(KC_V), MEH(KC_W), MEH(KC_X), MEH(KC_Y), MEH(KC_Z), - // bottom row - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - // thumb cluster - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS - ), - - -}; - - - - - -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 . -*/ - -// See: users/ericgebhart. diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md b/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md deleted file mode 100644 index 4f71bf39ee4c..000000000000 --- a/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -Overview -======== - -These are my ergodox_ez keymaps. There isn't much here. Go take a look at my Userspace readme. -That's where all the code is. diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk index 9da5278ed916..aaf4e53f6eb1 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk @@ -31,7 +31,6 @@ SWAP_HANDS_ENABLE = no # Allow swapping hands of keyboard. # POINTING_DEVICE_ENABLE = no # AUTO_SHIFT_ENABLE = no -# AUTO_SHIFT_MODIFIERS = no # This don't need argument? # CUSTOM_MATRIX # Custom matrix file for the ErgoDox EZ diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c index bd4fd10ad110..5ce5f5298f61 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c @@ -4,7 +4,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { switch (layer) { case DVORAK: - rgblight_sethsv_noeeprom(GREEN); + rgblight_sethsv_noeeprom(HSV_GREEN); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); if (PLOVER_MODE) { diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/config.h b/keyboards/ergodox_ez/keymaps/ifohancroft/config.h deleted file mode 100644 index b279371a0b48..000000000000 --- a/keyboards/ergodox_ez/keymaps/ifohancroft/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2022 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define FORCE_NKRO -#ifdef TAPPING_TOGGLE -# undef TAPPING_TOGGLE -#endif -#define TAPPING_TOGGLE 3 - diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c b/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c deleted file mode 100644 index 58c3beaeaa6e..000000000000 --- a/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c +++ /dev/null @@ -1,151 +0,0 @@ -/* Copyright 2022 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 - * *---------------------------------------------------------------------* *---------------------------------------------------------------------* - * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Del | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | Esc | A | S | D | F | G | | | | H | J | K | L | ; | ' | - * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| - * | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift | - * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| - * | Ctrl | Super | Alt | | OSL(1) | | TT(1) | | Alt | Super | Ctrl | - * *-------------------------------------------------* *-------------------------------------------------* - * - * *-------------------* *-------------------* - * | | | | | | - * *---------+---------+---------| |---------+---------+---------* - * | | | | | | | | - * | Bckspc | Enter |---------| |---------| Enter | Space | - * | | | SH_OS | | | | | - * *---------+---------+---------* *---------+---------+---------* - */ - - LAYOUT_ergodox_pretty( - 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_DEL, - 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_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_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_NO, OSL(1), TT(1), KC_NO, KC_RALT, KC_RGUI, KC_RCTL, - - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_BSPC, KC_ENT, SH_OS, KC_NO, KC_ENT, KC_SPC - ), - - /* Function Keys Layer - * *---------------------------------------------------------------------* *---------------------------------------------------------------------* - * | NumLock | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | | + | 7 | 8 | 9 | * | | | | | | | | | | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | | - | 4 | 5 | 6 | / | | | | Left | Down | Up | Right | | | - * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| - * | | 0 | 1 | 2 | 3 | . | | NK_TOGG | | | | | | - * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| - * | | | | | | | | Left | Down | Up | Right | - * *-------------------------------------------------* *-------------------------------------------------* - * - * *-------------------* *-------------------* - * | | | | | | - * *---------+---------+---------| |---------+---------+---------* - * | | | | | | | | - * | | Enter |---------| |---------| | | - * | | | PgUp | | PgDn | | | - * *---------+---------+---------* *---------+---------+---------* - */ - - LAYOUT_ergodox_pretty( - KC_NUM, 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_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - - _______, _______, _______, _______, - _______, _______, - _______, KC_PENT, KC_PGUP, KC_PGDN, _______, _______ - ), - - /* Empty Layer */ - LAYOUT_ergodox_pretty( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - /* Empty Layer */ - LAYOUT_ergodox_pretty( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - ) -}; - - /* Swap Hands - * *-------------------------------------------------* - * | Del | \ | ' | | | - * |---------+---------+---------+---------+---------+---------* - * | 6 | Y | H | N | | | - * |---------+---------+---------+---------+---------+---------| - * | 7 | U | J | M | | | - * |---------+---------+---------+---------+---------+---------| - * | 8 | I | K | , | | Space | - * |---------+---------+---------+---------+---------+---------| - * | 9 | O | L | . | | | - * |---------+---------+---------+---------+---------+---------| - * | 0 | P | ; | / | | | - * |---------+---------+---------+---------| |---------| - * | = | ] | | | | | - * *---------------------------------------* *---------* - */ - -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{0, 13}, {1, 13}, {2, 13}, {3, 0}, {4, 0}}, - {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 1}, {5, 1}}, - {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 2}, {5, 2}}, - {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 3}, {5, 10}}, - {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 4}, {5, 9}}, - {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {0, 0}, {5, 8}}, - {{0, 7}, {1, 7}, {0, 0}, {3, 7}, {0, 0}, {5, 7}}, - - {{0, 7}, {1, 7}, {0, 0}, {3, 7}, {0, 0}, {5, 7}}, - {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {0, 0}, {5, 8}}, - {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}}, - {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {5, 10}}, - {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {5, 11}}, - {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}, {5, 12}}, - {{0, 13}, {1, 13}, {2, 13}, {3, 13}, {4, 13}} -}; - diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md b/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md deleted file mode 100644 index 7a94a05eae84..000000000000 --- a/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -![IFo Hancroft ErgoDox EZ Layout Image](https://i.imgur.com/bSWyBCV.png) - -# IFo Hancroft's ErgoDox EZ Layout - -- Layer 0: A QWERTY Layer. -- Layer 1: A Function Layer. -- Layer 2: Empty Layer. -- Layer 3: Empty Layer. - -This keymap also does the following: - -- Forces NKRO on -- Enables: - - Via - - The Swap Hands feature -- Disables: - - Mouse Key - - Extra Key diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk b/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk deleted file mode 100644 index 3b18c2b9d284..000000000000 --- a/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = no -SWAP_HANDS_ENABLE = yes -VIA_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/kou/keymap.c b/keyboards/ergodox_ez/keymaps/kou/keymap.c deleted file mode 100644 index b938b5f16832..000000000000 --- a/keyboards/ergodox_ez/keymaps/kou/keymap.c +++ /dev/null @@ -1,312 +0,0 @@ -#include QMK_KEYBOARD_H -#include "debug.h" -#include "action_layer.h" -#include "version.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define NPAD 2 // number pad -#define MDIA 3 // media keys -#define OTHR 4 // other keys - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - EPRM, - VRSN, - RGB_SLD -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | 1! | 2@ | 3# | 4$ | 5% | `~ | | \| | 6 | 7 | 8 | 9 | 0 | BkSp | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | Del | | =+ | Y | U | I | O | P | '" | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | RCtrl | - * |--------+------+------+------+------+------| Esc | | -_ |------+------+------+------+------+--------| - * | LShift | Z/L2 | X | C | V | B | | | | N | M | , | . | //L3 | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ~L1 | LAlt | LGui | ~L1 | Space| | Left | Right| LGui | LAlt | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | (*1) | (*2) | | L2 | L1 | - * ,------|------|------| |------+--------+------. - * | | | L3 | | (*3) | | | - * | Enter| Esc |------| |------| Up | Down | - * | /LSft| /LCtr| L4 | | (*4) | | | - * `--------------------' `----------------------' - * (*1) -> Ctrl + Alt + U (Webstorm: Toggle Camel Case) - * (*2) -> Ctrl + Shift + Alt + P (Webstorm: Pritter Format) - * (*3) -> Ctrl + Shift + Alt + Up (Webstorm: Move Previous Change) - * (*4) -> Ctrl + Shift + Alt + Down (Webstorm: Move Next Change) - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, LT(NPAD, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_ESC, - MO(SYMB), KC_LALT, KC_LGUI, MO(SYMB), KC_SPC, - LSFT(LALT(KC_U)), LCTL(LSFT(LALT(KC_P))), - TG(MDIA), - SFT_T(KC_ENT), CTL_T(KC_ESC), TG(OTHR), - - - // right hand - KC_BSLS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL, - KC_MINS, KC_N, KC_M, KC_COMM, KC_DOT, LT(MDIA, KC_SLSH), KC_RSFT, - KC_LEFT, KC_RGHT, KC_RGUI, KC_RALT, MO(SYMB), - TG(NPAD), TG(SYMB), - LCTL(LSFT(LALT(KC_UP))), - LCTL(LSFT(LALT(KC_DOWN))), KC_UP, KC_DOWN - ), - - - -/* Keymap 1: Symbol Layer - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | | | | [ | ] | | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | F6 | F7 | F8 | F9 | F10 | | | | ! | @ | # | $ | % | ` | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | F11 | F12 | GUI+1| GUI+2| GUI+3|------| |------| ^ | & | * | ~ | | | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | { | } | \ | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | Home | End | | | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| PgUp | PgDn | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, - KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_GRV, - KC_CIRC, KC_AMPR, KC_ASTR, KC_TILD, KC_PIPE, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_BSLS, KC_TRNS, - KC_HOME, KC_END, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_PGUP, KC_PGDN -), - - - -/* Keymap 2: Number pad Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | |NumLk | * | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | + | | 7 | 8 | 9 | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| | 4 | 5 | 6 | | | - * |--------+------+------+------+------+------| | | - |------+------+------+------+------+--------| - * | | | | | | | | | | | 1 | 2 | 3 | / | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | 0 | . | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// Number Pad -[NPAD] = LAYOUT_ergodox( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_NUM, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, - KC_PPLS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, - KC_TRNS, KC_P4, KC_P5, KC_P6, KC_TRNS, KC_TRNS, - KC_PMNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_TRNS, - KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - - - -/* Keymap 3: Mouse Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | WUp | | | | | WUp | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| WDn |------| |------| | WDn | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | |MsAcl0| | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | |Brwser|Brwser| - * | Lclk | Rclk |------| |------|Back |Fwd | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[MDIA] = LAYOUT_ergodox( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_WH_U, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, 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_ACL0, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_BTN1, KC_BTN2, KC_TRNS, - - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_WBAK, KC_WFWD -), - - - -/* Keymap 4: - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// -[OTHR] = LAYOUT_ergodox( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - -// 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); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - break; - default: - // none - break; - } -}; diff --git a/keyboards/ergodox_ez/keymaps/kou/readme.md b/keyboards/ergodox_ez/keymaps/kou/readme.md deleted file mode 100644 index b77f32c72fd3..000000000000 --- a/keyboards/ergodox_ez/keymaps/kou/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# ErgoDox EZ Kou Keymap Configuration - -## Changelog - -* Jun 22, 2018 - * Update keymap. - - enable prettier format of WebStorm. - - arrange key of toggle-camel-case. -* Sep 5, 2017 - * Update keymap. -* Jul 20, 2017 - * Update keymap. -* May 19, 2017 - * Update keymap. -* Jan 18, 2017 - * Update keymap. -* Jan 10, 2017 - * Update keymap. -* Jan 7, 2017: - * create kou keymap. - -## How to build - -```bash -# in project root -$ make git-submodule -$ make ergodox_ez:kou -``` diff --git a/keyboards/ergodox_ez/keymaps/lukaus/config.h b/keyboards/ergodox_ez/keymaps/lukaus/config.h deleted file mode 100644 index 95d5fc46e158..000000000000 --- a/keyboards/ergodox_ez/keymaps/lukaus/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#define CONFIG_USER_H - -#define TAPPING_TERM 200 - -#ifdef RGBLIGHT_ENABLE -#undef RGBLIGHT_SAT_STEP -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 7 -#define RGBLIGHT_EFFECT_SNAKE_LENGTH 7 -#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 -#endif // RGBLIGHT_ENABLE - -#define FORCE_NKRO - -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c deleted file mode 100644 index 5529abbb6b00..000000000000 --- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c +++ /dev/null @@ -1,843 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" - -#include "keymap_german.h" - -#include "keymap_nordic.h" - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - - // Programmer's Dvorak "macros" : - // To be paired with get_mods to enable both - // Shift functionality and Programmer's Dvorak - - DVP_ESC, // Grave escape basically i think - DVP_AMPR, - DVP_LBRACKET, - DVP_LCBR, - DVP_RCBR, - DVP_LPRN, - DVP_AT, - - DVP_EQUAL, - DVP_ASTERISK, - DVP_RPRN, - DVP_PLUS, - DVP_RBRACKET, - DVP_EXLM, - DVP_HASH, - - RU_2, - RU_3, - RU_4, - RU_6, - RU_7, - RU_DOT, - - SHFT_COMMA, - SHFT_DOT, - - RGB_SLD, - RGB_FF0000, - RGB_008000, - RGB_0000FF, - RGB_FFFFFF, - RGB_800080 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Programmer's Dvorak layer - [0] = LAYOUT_ergodox( - DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_AT, - KC_TAB, KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(4), - MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, KC_QUOTE, KC_Q, KC_J, KC_K, KC_X, KC_HYPR, - KC_LCTL, KC_LALT, KC_LGUI, LCTL(KC_C), LCTL(KC_V), - - KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, MO(4), KC_END, - - DVP_EQUAL, DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, - TT(4), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH, - KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, - KC_MEH, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(3), - KC_DELETE, KC_BSLS, KC_RGUI, KC_RCTL, LCTL(KC_F), - - KC_F17, KC_F18, KC_PGUP, KC_PGDN, KC_ENTER, KC_BSPC - ), - // Gaming QWERTY layer - [1] = LAYOUT_ergodox( - KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F14, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F23, - MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F24, - KC_LCTL, KC_F8, KC_LALT, KC_F14, KC_F13, - - KC_HOME, TO(0), KC_F15, KC_SPACE, KC_LCTL, KC_LALT, - - KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, - KC_F24, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, - KC_F17, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, - KC_DELETE, KC_F19, KC_LGUI, KC_F21, KC_F22, - - KC_F17, KC_F18, KC_PGUP, KC_PGDN, KC_ENTER, KC_BSPC - ), - [2] = LAYOUT_ergodox( - KC_ESCAPE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_C, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TO(0), - MO(3), KC_1, KC_2, KC_3, KC_4, KC_5, - KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - KC_LCTL, KC_F8, KC_LALT, KC_I, KC_S, - - KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSFT, KC_END, - - KC_NO, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_NO, KC_NO, - TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_NO, KC_NO, - KC_KP_4, KC_KP_5, KC_KP_6, KC_EQUAL, KC_NO, KC_NO, - KC_NO, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, KC_NO, KC_NO, - KC_KP_0, KC_KP_DOT, KC_NO, KC_NO, KC_NO, - - TO(0), KC_F18, KC_PGUP, KC_PGDN, KC_ENTER, KC_BSPC - ), - // Function Layer - [3] = LAYOUT_ergodox( - KC_DLR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_MEDIA_PREV_TRACK,KC_MEDIA_PLAY_PAUSE,KC_MEDIA_NEXT_TRACK,KC_NO, TT(4), - KC_TRANSPARENT, KC_TRANSPARENT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_TRANSPARENT, - KC_LSFT, LALT(KC_Z), KC_TRANSPARENT, KC_TRANSPARENT, KC_F12, KC_TRANSPARENT, ALL_T(KC_NO), - KC_LCTL, KC_LALT, KC_LGUI, KC_CAPS, LSFT(KC_F12), - - KC_PSCR, KC_PGUP, KC_PGDN, KC_SPACE, KC_LSFT, KC_INSERT, - - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_NO, KC_HOME, KC_TRANSPARENT, KC_PSCR, KC_SCRL, KC_TRANSPARENT, KC_TRANSPARENT, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, - MEH_T(KC_NO), KC_CALCULATOR, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_RSFT, - KC_DELETE, KC_INSERT, KC_TRANSPARENT, KC_F19, KC_RCTL, - - TO(2),KC_TRANSPARENT,KC_TRANSPARENT,LALT(KC_F10),KC_ENTER,KC_BSPC - ), - // Keypad, Lighting, and Mouse emulation layer - ///* - [4] = LAYOUT_ergodox( - KC_ESCAPE, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO, - KC_TAB, KC_NO, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_UP, TO(0), - KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, - KC_LSFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5), - KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, - - KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSFT, KC_END, - - KC_NO, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, KC_NO, RGB_VAI, - TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_NO, RGB_VAD, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NO, RGB_HUI, - KC_NO, KC_KP_1, KC_KP_2, KC_KP_3, KC_EQUAL, RGB_SLD, RGB_HUD, - KC_KP_0, KC_KP_DOT, KC_KP_ENTER, RGB_MOD, RGB_TOG, - - KC_F17, KC_F18, KC_PGUP, KC_PGDN, KC_ENTER, KC_BSPC - ) - //*/ - /* - // Keypad, Lighting, and Mouse emulation layer - [4] = KEYMAP( - KC_ESCAPE, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO, - KC_TAB, KC_NO, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_UP, TO(0), - KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, - KC_LSFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5), - KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, - - KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSFT, KC_END, - - KC_NO, KC_I, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, RGB_VAI, - TO(0), KC_G, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, RGB_VAD, - SHFT_COMMA, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, RGB_HUI, - KC_NO, SHFT_DOT, KC_KP_1, KC_KP_2, KC_KP_3, KC_EQUAL, RGB_HUD, - KC_NO, KC_KP_0, KC_KP_DOT, KC_KP_ENTER, RGB_TOG, - - KC_F17, KC_F18, KC_PGUP, KC_PGDN, KC_ENTER, KC_BSPC - ) - */ - -}; - -void led_set_keymap(uint8_t usb_led) { - -} - -void matrix_init_user (void) { - -} - - -bool left_shift_down = false; -bool right_shift_down = false; - -bool numlock = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - switch (keycode) { - case KC_LEFT_SHIFT: - if (record->event.pressed) - { - left_shift_down = true; - return true; - } - else - { - left_shift_down = false; - return true; - } - break; - case KC_RIGHT_SHIFT: - - if (record->event.pressed) - { - right_shift_down = true; - return true; - } - else - { - right_shift_down = false; - return true; - } - break; - case KC_NUM_LOCK: - - if (record->event.pressed) - { - numlock = !numlock; - } - break; - - case DVP_ESC: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - SEND_STRING("~"); - return false; - } - else - { - if(record->event.pressed) - SEND_STRING(SS_DOWN(X_ESCAPE)); - else - SEND_STRING(SS_UP(X_ESCAPE)); - return false; - } - break; - - case DVP_AMPR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - SEND_STRING("%"); - - } - } - else - { - if(record->event.pressed) - SEND_STRING("&"); - } - return false; - - break; - - case SHFT_DOT: - if(record->event.pressed) - SEND_STRING(">"); - break; - - case SHFT_COMMA: - if(record->event.pressed) - SEND_STRING("<"); - break; - - case DVP_LBRACKET: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_7); - unregister_code(KC_7); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("["); - } - return false; - - return false; - break; - - case DVP_LCBR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_5); - unregister_code(KC_5); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("{"); - } - return false; - break; - - case DVP_RCBR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_3); - unregister_code(KC_3); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("}"); - } - return false; - break; - - case DVP_LPRN: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_1); - unregister_code(KC_1); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("("); - } - return false; - break; - - case DVP_AT: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_LEFT_SHIFT); - register_code(KC_6); - unregister_code(KC_6); - unregister_code(KC_LEFT_SHIFT); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("@"); - } - return false; - break; - - - case DVP_EQUAL: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_9); - unregister_code(KC_9); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("="); - } - return false; - break; - - case DVP_ASTERISK: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_0); - unregister_code(KC_0); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("*"); - } - return false; - break; - - case DVP_RPRN: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_2); - unregister_code(KC_2); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING(")"); - } - return false; - break; - - case DVP_PLUS: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_4); - unregister_code(KC_4); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("+"); - } - return false; - break; - - case DVP_RBRACKET: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_6); - unregister_code(KC_6); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("]"); - } - return false; - break; - - case DVP_EXLM: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_8); - unregister_code(KC_8); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("!"); - } - return false; - break; - - case DVP_HASH: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; - - // Russian - case RU_2: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; -case RU_3: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; -case RU_4: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; -case RU_6: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; -case RU_7: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; - - case RU_DOT: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; - - - case RGB_SLD: - if (record->event.pressed) { - rgblight_mode(1); - } - return false; - break; - - case RGB_FF0000: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0xff,0x00,0x00); - #endif - } - return false; - break; - - case RGB_008000: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0x00,0x80,0x00); - #endif - } - return false; - break; - - case RGB_0000FF: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0x00,0x00,0xff); - #endif - } - return false; - break; - - case RGB_FFFFFF: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0xff,0xff,0xff); - #endif - } - return false; - break; - - case RGB_800080: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_setrgb(0x80,0x00,0x80); - #endif - } - return false; - break; - - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - - uint8_t layer = get_highest_layer(state); - - // ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - case 0: - break; - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - break; - default: - break; - } - return state; - -}; diff --git a/keyboards/ergodox_ez/keymaps/lukaus/readme.md b/keyboards/ergodox_ez/keymaps/lukaus/readme.md deleted file mode 100644 index af091bb1b9a1..000000000000 --- a/keyboards/ergodox_ez/keymaps/lukaus/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Lukaus' keymap - -Programmer's Dvorak as default layer with Qwerty gaming layer and two function layers diff --git a/keyboards/ergodox_ez/keymaps/lukaus/rules.mk b/keyboards/ergodox_ez/keymaps/lukaus/rules.mk deleted file mode 100644 index fe05f599b925..000000000000 --- a/keyboards/ergodox_ez/keymaps/lukaus/rules.mk +++ /dev/null @@ -1 +0,0 @@ -#UNICODE_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c deleted file mode 100644 index ab1fd0e889f7..000000000000 --- a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c +++ /dev/null @@ -1,188 +0,0 @@ -#include QMK_KEYBOARD_H -#include "debug.h" -#include "action_layer.h" - -// http://www.keyboard-layout-editor.com/#/gists/9be130e4c9b503317619 - -#define BASE 0 // default layer -#define SYMB_R 1 // symbols (activated by right hand) -#define SYMB_L 2 // symbols (activated by left hand) -#define NAV 3 // navigation - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Prose layer - * - * Layer switch keys: - * [tap/toggle] - * (momentary) - * {toggle} - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | Del | | BSPC | 6 | 7 | 8 | 9 | 0 | BSPC | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | Ctrl/| |Ctrl/ | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| Esc | | ; |------+------+------+------+------+--------| - * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------|Alt/ | |Alt/ |------+------+------+------+------+--------| - * | Shift | Z | X | C | V | B |Tab | |Ins | N | M | , | . | / | Shift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Ctrl |Super | Alt |[Nav] |[Symb]| |[Symb]|[Nav] | Alt | Ctrl | Enter| - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Shift| Alt | | Alt | Shift | - * ,------|------|------| |------+--------+------. - * | | |[Nav] | |[Nav] | | | - * | Tab | Esc |------| |------| Space | Bspc | - * | | | Ctrl | | Ctrl | | | - * `--------------------' `----------------------' - */ -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - LT(NAV,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELETE, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, CTL_T(KC_ESC), - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALT_T(KC_TAB), - KC_LCTL, KC_LGUI, KC_LALT,KC_NO, MO(NAV), - - KC_LCTL, KC_LALT, - MO(NAV), - KC_TAB, LT(SYMB_L,KC_ESC), KC_LSFT, - // right hand - KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - CTL_T(KC_SCLN),KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - ALT_T(KC_INS), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, - MO(NAV),KC_NO, KC_RALT,KC_RGUI, CTL_T(KC_ENT), - KC_RALT, KC_RCTL, - MO(NAV), - KC_RSFT, LT(SYMB_R,KC_SPACE), KC_BSPC - ), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ` | ~ | * | & | / | < | | > | \ | 7 | 8 | 9 | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | _ | ^ | % | $ | ( |------| |------| ) | 4 | 5 | 6 | - | Enter | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | | = | # | @ | ! | { | | | | } | 1 | 2 | 3 | + | Enter | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | " | | | | | | 0 | . | . | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | ? | : |------| |------| ; | . | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[SYMB_L] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_GRV , KC_TILD, KC_ASTR, KC_AMPR, KC_SLSH, LSFT(KC_COMM), - KC_TRNS, KC_UNDS, KC_CIRC, KC_PERC, KC_DLR, KC_LPRN, - KC_TRNS, KC_EQL, KC_HASH, KC_AT, KC_EXLM, KC_LCBR, KC_LBRC, - LSFT(KC_QUOT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - LSFT(KC_SLSH), KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - LSFT(KC_DOT), KC_BSLS, KC_7, KC_8, KC_9, KC_PIPE, KC_TRNS, - KC_RPRN, KC_4, KC_5, KC_6, KC_MINS, KC_ENT, - KC_RBRC, KC_RCBR, KC_1, KC_2, KC_3, KC_PLUS, KC_ENT, - KC_0, KC_DOT, KC_DOT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_SCLN, KC_DOT -), - -[SYMB_R] = LAYOUT_ergodox( // same as above, but avoids clash between SYMB and ;/: - // left hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_GRV , KC_TILD, KC_ASTR, KC_AMPR, KC_SLSH, LSFT(KC_COMM), - KC_TRNS, KC_UNDS, KC_CIRC, KC_PERC, KC_DLR, KC_LPRN, - KC_TRNS, KC_EQL, KC_HASH, KC_AT, KC_EXLM, KC_LCBR, KC_LBRC, - LSFT(KC_QUOT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - LSFT(KC_SLSH), KC_COLN, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - LSFT(KC_DOT), KC_BSLS, KC_7, KC_8, KC_9, KC_PIPE, KC_TRNS, - KC_RPRN, KC_4, KC_5, KC_6, KC_MINS, KC_ENT, - KC_RBRC, KC_RCBR, KC_1, KC_2, KC_3, KC_PLUS, KC_ENT, - KC_0, KC_DOT, KC_DOT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_DOT -), -/* Keymap 2: Navigation Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 |Break | |PrntSc| F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | --- |MsLeft|MsUp |MsDown|MsRght|------| |------| Left | Down | Up | Right| F11 | Enter| - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | --- | Btn4 |ScrlDn|ScrlUp| Btn5 | | | | Home | PgDwn| PgUp | End | F12 | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[NAV] = LAYOUT_ergodox( - // left hand - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PAUSE, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS, KC_BTN1, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, - KC_TRNS, KC_BTN2, KC_BTN4, KC_MS_WH_UP, KC_MS_WH_DOWN, KC_BTN5, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_ENT, - KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, 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 -), -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - - uint8_t layer = get_highest_layer(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - case 2: - ergodox_right_led_1_on(); - break; - case 3: - case 4: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } -}; diff --git a/keyboards/ergodox_ez/keymaps/matrixman/readme.md b/keyboards/ergodox_ez/keymaps/matrixman/readme.md deleted file mode 100644 index 1f72d732216f..000000000000 --- a/keyboards/ergodox_ez/keymaps/matrixman/readme.md +++ /dev/null @@ -1,100 +0,0 @@ -The Matrixman Ergodox / Split-Planck Keyboard Layout -==================================================== - -### The problem - -These layouts were designed to give my aching pinkeys a break - -### The Design - - - Pinkeys do less: - - Left q, a, z, `, _, =, [Shift], [F1] [Click], [Right Click] - - Right p, ', /, |, -, +, [Shift], [F10], [F11], [F12] - - Index fingers do more: - - Left: r, f, v, t, g, b, &, $, !, /, (, {, <, [, [Ctrl], [Tab], [Alt], [PrintScr] - - Right: u, j, m, y, h, n, 7, 4, 1, \, ), }, >, ], ;, [Ctrl], [Insert], [Alt], [Pause] - - Thumbs do more: - - Left: [Esc], :, [Shift], [Tab] - - Right: [Space], ;, [Shift], [Backspace] - - Palm Presses too: - - Left: [Ctrl], " - - Right: [Ctrl, [Enter] - -### The Plan - -I keep an Ergodox at home and at work, and when I'm mobile, I carry a planck. -These keymaps are designed to minimize the difficulty of switching between the two. - -### Other features - -- 10-key at home row for right hand -- "Matching" symbols use same finger on opposite hand: <> [] {} /\ () 1! 2@ 3# 4$ 5% 6^ 7& 8* -_ += -- Supports vim-like (hjkl) movements: - - mouse movement and scrolling - - arrow keys and nav keys (home, end, pg up, pg down) -- All non-modal keys mapped (all keys from a typical 105 key keyboard except caps, num, and scroll lock) - -The Planck Layout ------------------ - -For a picture, see here: http://www.keyboard-layout-editor.com/#/gists/eb0696806831fc0d93c9 - -### Prose Layer - - qwert▓▓yuiop - asdfg▓;hjkl' - zxcvb▓▓nm,./ - ▓▓▓▓▓▓▓ ▓▓▓▓ - -### Symbol Layer - - `~*&/<>\789| - _^%$([])456- - =#@!{▓▓}123+ - "▓,?:▓▓;0▓.▓ - -### Nav Layer - - FKEYF▓▓KEYFK - mouse▓▓arowE - scrol▓▓seekY - ▓▓▓▓▓▓▓▓▓▓▓▓ - - -The Ergodox Layout ------------------- - -For a picture, see here: http://www.keyboard-layout-editor.com/#/gists/9be130e4c9b503317619 - -Wherever the Ergodox has keys that the Planck doesn't, whichever key would be expected on a typical 105 key is in that place - -### Prose Layer - -▓▓▓▓▓▓▓ ▓▓▓▓▓▓ -▓qwert▓ ▓yuiop\ -▓asdfg▓ ;hjkl;' -▓zxcvb nm,./▓ -▓▓▓▓▓▓ ▓▓▓▓▓▓ - ▓▓ ▓▓ - ▓▓▓ ▓ ▓ - -### Symbol Layer - -▓▓▓▓▓▓ ▓▓▓▓▓▓ -▓`~*&/< >\789|\ -▓_^%$([ ])456-▓ -▓=#@!{ }123+▓ -"▓▓▓▓▓▓ 0▓.▓▓ - ▓▓ ▓▓ - ?:▓ ▓;. - - -### Nav Layer - -▓▓▓▓▓▓▓ ▓▓▓▓▓▓ -▓FKEYF▓ ▓KEYFK▓ -▓mouse▓ arowE▓ -▓scrol seekY▓ -▓▓▓▓▓▓ ▓▓▓▓▓▓ - ▓▓ ▓▓ - ▓▓▓ ▓▓▓ diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h b/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h deleted file mode 100644 index 232b608be934..000000000000 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Set any config.h overrides for your specific keymap here. - See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file -*/ -#define ORYX_CONFIGURATOR -#undef TAPPING_TERM -#define TAPPING_TERM 175 - -#undef MOUSEKEY_DELAY -#define MOUSEKEY_DELAY 20 - -#undef MOUSEKEY_MAX_SPEED -#define MOUSEKEY_MAX_SPEED 14 - -#undef MOUSEKEY_TIME_TO_MAX -#define MOUSEKEY_TIME_TO_MAX 30 - -#undef MOUSEKEY_WHEEL_INTERVAL -#define MOUSEKEY_WHEEL_INTERVAL 50 - -#undef MK_COMBINED -#define MK_COMBINED - -// /* Temporarily defining a tapping term that is ridiculous to see if i can tell if lt is working. */ -// #undef TAPPING_TERM -// #define TAPPING_TERM 499 - -/* Turning permissive hold off in order to test the tapping term. */ -#undef PERMISSIVE_HOLD -#define PERMISSIVE_HOLD diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c deleted file mode 100644 index 14c3a46b6923..000000000000 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +++ /dev/null @@ -1,433 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" -#include "keymap_german.h" -#include "keymap_nordic.h" -#include "keymap_french.h" -#include "keymap_spanish.h" -#include "keymap_hungarian.h" -#include "keymap_swedish.h" -#include "keymap_brazilian_abnt2.h" -#include "keymap_canadian_multilingual.h" -#include "keymap_swiss_de.h" -#include "keymap_japanese.h" -#include "keymap_bepo.h" - -#define KC_MAC_UNDO LGUI(KC_Z) -#define KC_MAC_CUT LGUI(KC_X) -#define KC_MAC_COPY LGUI(KC_C) -#define KC_MAC_PASTE LGUI(KC_V) -#define KC_PC_UNDO LCTL(KC_Z) -#define KC_PC_CUT LCTL(KC_X) -#define KC_PC_COPY LCTL(KC_C) -#define KC_PC_PASTE LCTL(KC_V) -#define ES_LABK_MAC KC_GRAVE -#define ES_RABK_MAC LSFT(KC_GRAVE) -#define ES_BSLS_MAC ALGR(KC_6) -#define NO_PIPE_ALT KC_GRAVE -#define NO_BSLS_ALT KC_EQUAL - -enum custom_keycodes { - RGB_SLD = SAFE_RANGE, - MS_WH_UP, - MS_WH_DOWN, - MS_WH_RIGHT, - MS_WH_LEFT, -}; - -// tapdance keycodes -enum td_keycodes { - CTRL_TO12, - SHIFT_TO13, - ALT_TO11, -}; - -// define a type containing as many tapdance states as you need -typedef enum { - SINGLE_TAP, - SINGLE_HOLD, -} td_state_t; - -// create a global instance of the tapdance state type -static td_state_t td_state; - -// declare your tapdance functions: - -// function to determine the current tapdance state -int cur_dance (tap_dance_state_t *state); - -// `finished` and `reset` functions for each tapdance keycode -void ctrlto12_finished (tap_dance_state_t *state, void *user_data); -void ctrlto12_reset (tap_dance_state_t *state, void *user_data); -void altto11_finished (tap_dance_state_t *state, void *user_data); -void altto11_reset (tap_dance_state_t *state, void *user_data); -void shiftto13_finished (tap_dance_state_t *state, void *user_data); -void shiftto13_reset (tap_dance_state_t *state, void *user_data); - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ergodox_pretty( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_INSERT, KC_Q, LGUI_T(KC_W), MT(MOD_HYPR, KC_E),LT(5,KC_R), KC_T, KC_NO, KC_NO, KC_Y, LT(6,KC_U), MT(MOD_HYPR, KC_I),RGUI_T(KC_O), KC_P, KC_PSCR, - KC_ESCAPE, LSFT_T(KC_A), LCTL_T(KC_S), LALT_T(KC_D), LT(1,KC_F), KC_G, KC_H, LT(2,KC_J), RALT_T(KC_K), RCTL_T(KC_L), RSFT_T(KC_SCLN),KC_CAPS, - KC_HOME, LT(9,KC_Z), MT(MOD_LGUI | MOD_LCTL,KC_X), LT(7,KC_C), LT(3,KC_V), KC_B, KC_NO, KC_NO, KC_N, LT(4,KC_M), LT(8,KC_COMMA), MT(MOD_RGUI | MOD_RCTL, KC_DOT), KC_QUOTE, KC_END, - KC_NO, KC_NO, KC_NO, KC_NO, KC_DELETE, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - TO(10), KC_BSPC, KC_NO, KC_NO, KC_ENTER, KC_SPACE - ), - [1] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_TRANSPARENT, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_0, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [2] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_HYPR, KC_RGUI, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LPRN, KC_RPRN, KC_ASTR, KC_SLASH, KC_NO, KC_NO, KC_TRANSPARENT, KC_RALT, KC_RCTL, KC_RSFT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, MT(MOD_RGUI | MOD_RCTL, KC_NO), KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [3] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_TRANSPARENT, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [4] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_HYPR, KC_RGUI, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LBRC, KC_RBRC, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_NO, KC_RALT, KC_RCTL, KC_RSFT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_TRANSPARENT, KC_NO, MT(MOD_RGUI | MOD_RCTL, KC_NO), KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [5] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_TRANSPARENT, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_HASH, KC_BSLS, KC_GRAVE, KC_TILD, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [6] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_TRANSPARENT, KC_HYPR, KC_RGUI, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_UNDS, KC_EQUAL, KC_MINUS, KC_PLUS, KC_NO, KC_NO, KC_NO, KC_RALT, KC_RCTL, KC_RSFT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, MT(MOD_RGUI | MOD_RCTL, KC_NO), KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [7] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_AT, KC_DLR, KC_PERC, KC_CIRC, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [8] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LCBR, KC_RCBR, KC_AMPR, KC_PIPE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [9] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_AUDIO_VOL_UP,KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK,KC_AUDIO_VOL_DOWN,KC_MEDIA_NEXT_TRACK,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [10] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_MS_BTN2, KC_ACL2, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, TD(SHIFT_TO13), TD(CTRL_TO12), TD(ALT_TO11), KC_MS_BTN1, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_ACL0, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) - ), - [11] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) - ), - [12] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_ACL2, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), MO(14), KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) - ), - [13] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_LSFT, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) - ), - [14] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, MS_WH_UP, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WH_LEFT, MS_WH_DOWN, MS_WH_RIGHT, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = get_highest_layer(state); - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - break; - case 6: - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - case 7: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - default: - break; - } - return state; -}; - -// determine the tapdance state to return -int cur_dance (tap_dance_state_t *state) { - if (state->count == 1) { - if (state->interrupted && state->pressed && state->interrupting_keycode == KC_MS_BTN1) {return SINGLE_HOLD;} - if (state->interrupted && state->pressed && state->interrupting_keycode == 22273) {return SINGLE_HOLD;} - if (state->interrupted && state->pressed && state->interrupting_keycode == 22272) {return SINGLE_HOLD;} - if (state->interrupted && state->pressed && state->interrupting_keycode == KC_TAB) {return SINGLE_HOLD;} - else if (state->interrupted || !state->pressed) { - // if (state->interrupted) { - // print("interrupted\n"); - // uprintf("Shift: %u\n", KC_LSFT); - // uprintf("Control: %u\n", KC_LCTL); - // uprintf("%u\n",state->interrupting_keycode); - // } - return SINGLE_TAP; - } - else { return SINGLE_HOLD; } - } - else { return 2; } // any number higher than the maximum state value you return above -} -// /* Backup in case previous code is hard to piece together. */ -// int cur_dance (tap_dance_state_t *state) { -// if (state->count == 1) { -// if (state->interrupted || !state->pressed) { return SINGLE_TAP; } -// else { return SINGLE_HOLD; } -// } -// else { return 2; } // any number higher than the maximum state value you return above -// } - -void ctrlto12_finished (tap_dance_state_t *state, void *user_data) { - td_state = cur_dance(state); - switch (td_state) { - case SINGLE_TAP: - layer_on(12); - break; - case SINGLE_HOLD: - if (state->interrupted && (state->interrupting_keycode == 22273 || state->interrupting_keycode == 43)) { - register_mods(MOD_BIT(KC_LCTL)); - break; - } - register_mods(MOD_BIT(KC_LCTL)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - register_code16(LCTL(KC_MS_BTN1)); - } - break; - } -} - -void ctrlto12_reset (tap_dance_state_t *state, void *user_data) { - switch (td_state) { - case SINGLE_TAP: - break; - case SINGLE_HOLD: - if (state->interrupted && (state->interrupting_keycode == 22273 || state->interrupting_keycode == 43) ) { - unregister_mods(MOD_BIT(KC_LCTL)); - break; - } - unregister_mods(MOD_BIT(KC_LCTL)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - unregister_code16(LCTL(KC_MS_BTN1)); - } - break; - } -} - -void shiftto13_finished (tap_dance_state_t *state, void *user_data) { - td_state = cur_dance(state); - switch (td_state) { - case SINGLE_TAP: - layer_on(13); - break; - case SINGLE_HOLD: - if (state->interrupted && (state->interrupting_keycode == 22272 || state->interrupting_keycode == 43) ) { - register_mods(MOD_BIT(KC_LSFT)); - break; - } - register_mods(MOD_BIT(KC_LSFT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - register_code16(LSFT(KC_MS_BTN1)); - } - break; - } -} - -void shiftto13_reset (tap_dance_state_t *state, void *user_data) { - switch (td_state) { - case SINGLE_TAP: - break; - case SINGLE_HOLD: - if (state->interrupted && (state->interrupting_keycode == 22272 || state->interrupting_keycode == 43) ) { - unregister_mods(MOD_BIT(KC_LSFT)); - break; - } - unregister_mods(MOD_BIT(KC_LSFT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - unregister_code16(LSFT(KC_MS_BTN1)); - } - break; - } -} - -void altto11_finished (tap_dance_state_t *state, void *user_data) { - td_state = cur_dance(state); - switch (td_state) { - case SINGLE_TAP: - layer_on(11); - break; - case SINGLE_HOLD: - register_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - register_code16(LALT(KC_MS_BTN1)); - } - break; - } -} - -void altto11_reset (tap_dance_state_t *state, void *user_data) { - switch (td_state) { - case SINGLE_TAP: - break; - case SINGLE_HOLD: - unregister_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here - if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { - unregister_code16(LALT(KC_MS_BTN1)); - } - break; - } -} - -// define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions -tap_dance_action_t tap_dance_actions[] = { - [CTRL_TO12] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlto12_finished, ctrlto12_reset), - [SHIFT_TO13] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftto13_finished, shiftto13_reset), - [ALT_TO11] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altto11_finished, altto11_reset), -}; - -/* Debugging functions */ - -void keyboard_post_init_user(void) { - // Customise these values to desired behaviour -// debug_enable=true; -// debug_matrix=true; -// debug_keyboard=true; -// debug_mouse=true; -} - -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: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); - // #endif - switch (keycode) { - case MS_WH_DOWN: - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MS_WH_DOWN)); - } - break; - case MS_WH_UP: - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MS_WH_UP)); - } - break; - case MS_WH_LEFT: - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MS_WH_LEFT)); - } - break; - case MS_WH_RIGHT: - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MS_WH_RIGHT)); - } - break; - } - return true; -} diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md b/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md deleted file mode 100644 index ff3c8d142cca..000000000000 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# The nathanvercaemert ErgoDox EZ configuration - -Centered around the home row and the use of mouse keys, this configuration focuses on minimal finger movement. No key is more than one unit away from the home row. - -## Layers - -* Base Layer - * The two main thumb keys provide a loop to the mouse key layer. Pressing the left followed by the right always guarantees that you are on the base layer. - * There are a lot of dual function keys on the base layer. - * The layout of the letters is qwerty. - * Pinkys, ring fingers, and middle fingers apply dual function modifiers (along with the keys above and below the ring fingers.) -* Numbers, Symbols, and Function Keys. - * From the base layer, many keys are dual function layer switches. - * The switch on one hand changes the home row of the other hand to a row of symbols in most cases. - * The left index finger, and the key below it, change the right hand to the numbers and function keys - respectfully. -* Mouse Layer - * Clicking the main left thumb key navigates to the mouse layer (10.) Some dual function keys (technically tap dance functions) allow the left hand to apply modifiers to mouse clicks while tapping switches to - navigation layers. -* Navigation Layers - * From the Mouse Layer, taps to the left home row navigate to scroll keys, arrow keys, and page keys. -* Notes on Acceleration - * Designated as "Slow" and "Fast" on the mouse layers (movement and scroll,) these keys can be held to allow for slow/precise or fast/efficient control. - -Here is the image of my keymap: - -![Imgur Image](https://i.imgur.com/x6VgH9Z.png) \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk b/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk deleted file mode 100644 index 0dadd4371f5f..000000000000 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Set any rules.mk overrides for your specific keymap here. -# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file -LTO_ENABLE = yes -COMMAND_ENABLE = no -RGBLIGHT_ENABLE = no -TAP_DANCE_ENABLE=yes - -# Debugging -CONSOLE_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/nfriend/config.h b/keyboards/ergodox_ez/keymaps/nfriend/config.h deleted file mode 100644 index 141d7ac89a2a..000000000000 --- a/keyboards/ergodox_ez/keymaps/nfriend/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2020 Nathan Friend - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -#undef DEBOUNCE -#define DEBOUNCE 15 - -#undef ONESHOT_TIMEOUT -#define ONESHOT_TIMEOUT 1003 - -#define PERMISSIVE_HOLD - -#define RGBLIGHT_SLEEP diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c deleted file mode 100644 index 13a06f6065e4..000000000000 --- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c +++ /dev/null @@ -1,1096 +0,0 @@ -/* Copyright (C) 2020 Nathan Friend - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H -#include "version.h" -#include "keymap_german.h" -#include "keymap_nordic.h" -#include "keymap_french.h" -#include "keymap_spanish.h" -#include "keymap_hungarian.h" - -#define KC_MAC_UNDO LGUI(KC_Z) -#define KC_MAC_CUT LGUI(KC_X) -#define KC_MAC_COPY LGUI(KC_C) -#define KC_MAC_PASTE LGUI(KC_V) -#define KC_PC_UNDO LCTL(KC_Z) -#define KC_PC_CUT LCTL(KC_X) -#define KC_PC_COPY LCTL(KC_C) -#define KC_PC_PASTE LCTL(KC_V) -#define ___ KC_TRNS - -/* Shortcut for Option+Ctrl */ -#define OC(keycode) LALT(LCTL(keycode)) - -enum layer_names { - - /* Base layers */ - _COLEMAK, - _QWERTY, - _DVORAK, - - /* Keys the base layers share */ - _COMMON, - - /* OS layers */ - _MAC, - _WINDOWS, - - /* Symbols */ - _NUMPAD, - _SYMBOLS, - - /* Window management */ - _WM_MAC, - _WM_WINDOWS, - - /* Navigation */ - _ARROWS_MAC, - _ARROWS_WINDOWS, - - _MISC -}; - -enum custom_keycodes { - RGB_SLD = SAFE_RANGE, /* Can always be here */ - HSV_0_255_255, - HSV_120_255_128, - HSV_240_255_255, - MAC_MODE, - WINDOWS_MODE, - DYNAMIC_MACRO_RANGE, /* This needs to be last! */ -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* clang-format off */ - - [_COLEMAK] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_Q, /**/ KC_W, /**/ KC_F, /**/ KC_P, /**/ KC_G, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_A, /**/ KC_R, /**/ KC_S, /**/ KC_T, /**/ KC_D, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_J, /**/ KC_L, /**/ KC_U, /**/ KC_Y, /**/ KC_SCLN, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_H, /**/ KC_N, /**/ KC_E, /**/ KC_I, /**/ KC_O, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_K, /**/ KC_M, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_SLASH, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_QWERTY] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_Q, /**/ KC_W, /**/ KC_E, /**/ KC_R, /**/ KC_T, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_A, /**/ KC_S, /**/ KC_D, /**/ KC_F, /**/ KC_G, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_Y, /**/ KC_U, /**/ KC_I, /**/ KC_O, /**/ KC_P, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_H, /**/ KC_J, /**/ KC_K, /**/ KC_L, /**/ KC_SCLN, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_N, /**/ KC_M, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_SLASH, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_DVORAK] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_QUOTE, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_P, /**/ KC_Y, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_A, /**/ KC_O, /**/ KC_E, /**/ KC_U, /**/ KC_I, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_SCLN, /**/ KC_Q, /**/ KC_J, /**/ KC_K, /**/ KC_X, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_F, /**/ KC_G, /**/ KC_C, /**/ KC_R, /**/ KC_L, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_D, /**/ KC_H, /**/ KC_T, /**/ KC_N, /**/ KC_S, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_B, /**/ KC_M, /**/ KC_W, /**/ KC_V, /**/ KC_Z, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_COMMON] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_ESCAPE,/**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_TAB, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/MO(_SYMBOLS), _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/KC_LSFT, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LT(_NUMPAD,KC_TAB), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ KC_SPACE, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ KC_AUDIO_VOL_DOWN, - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ KC_BSPC, /**/ _______, /**/ KC_ENTER, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_6, /**/ KC_7, /**/ KC_8, /**/ KC_9, /**/ KC_0, /**/ KC_F12, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_HYPR, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ KC_BSLS, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/MO(_SYMBOLS),// - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_MEH, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/KC_RSFT, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/TT(_MISC), - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ KC_CAPS, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - KC_AUDIO_VOL_UP,/**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ KC_ESCAPE,/**/ KC_ENTER, /**/ KC_SPACE /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_MAC] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LCTL(LGUI(LSFT(KC_4))), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______ ,/**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LALT(KC_BSPC), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - KC_LCTL, /**/ KC_LGUI, /**/ KC_LALT, /**/MO(_WM_MAC), MO(_ARROWS_MAC), - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/LCTL(LGUI(KC_Q)), - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_LGUI, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - RGUI(RSFT(KC_7)),/**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - MO(_ARROWS_MAC), MO(_WM_MAC),/**/ KC_LALT, /**/ KC_LGUI, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - LCTL(LGUI(KC_Q)),/**/ KC_CAPS, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_WINDOWS] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LGUI(LSFT(KC_S)), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LCTL(KC_BSPC), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - KC_LGUI, /**/ KC_LCTL, /**/ KC_LALT, MO(_WM_WINDOWS), MO(_ARROWS_WINDOWS), - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/LGUI(KC_L),/**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_LCTL, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - LALT(KC_PSCR), /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - MO(_ARROWS_WINDOWS), MO(_WM_WINDOWS), KC_RALT, /**/ KC_RCTL, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/LGUI(KC_L),/**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_NUMPAD] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ XXXXXXX, /**/ KC_ESCAPE, LALT(KC_KP_MINUS), KC_PERC, /**/KC_KP_SLASH, _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ XXXXXXX, /**/ KC_KP_7, /**/ KC_KP_8, /**/ KC_KP_9, /**/KC_KP_ASTERISK, _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_COLN, /**/ KC_KP_4, /**/ KC_KP_5, /**/ KC_KP_6, /**/KC_KP_MINUS, _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_COMMA, /**/ KC_KP_1, /**/ KC_KP_2, /**/ KC_KP_3, /**/KC_KP_PLUS,/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_0, /**/ KC_0, /**/ KC_DOT, /**/KC_KP_ENTER, ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ KC_0 /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_SYMBOLS] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_F1, /**/ KC_F2, /**/ KC_F3, /**/ KC_F4, /**/ KC_F5, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_LCBR, /**/ KC_RCBR, /**/ KC_PERC, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - LGUI(KC_BSPC), /**/ KC_HASH, /**/ KC_UNDS, /**/ KC_LPRN, /**/ KC_RPRN, /**/ KC_AMPR, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_BSLS, /**/ KC_SLASH, /**/KC_LBRC, KC_RBRC, /**/ KC_TILD, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_F6, /**/ KC_F7, /**/ KC_F8, /**/ KC_F9, /**/ KC_F10, /**/ KC_F11, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_CIRC, /**/KC_KP_PLUS,/**/KC_KP_MINUS, KC_GRAVE, /**/ KC_SCLN, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_PIPE, /**/ KC_EQUAL, /**/ KC_QUOTE, /**/ KC_COLN, /**/ KC_DQUO, /**/LGUI(KC_DELETE), - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_DLR, /**/ KC_ASTR, /**/ KC_LABK, /**/ KC_RABK, /**/ KC_SLASH, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_WM_MAC] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ OC(KC_C), /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ OC(KC_U), OC(LGUI(KC_LEFT)),OC(KC_ENTER),OC(LGUI(KC_RIGHT)), OC(KC_I),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ OC(KC_J), OC(KC_LEFT), OC(KC_BSPC), OC(KC_RIGHT), OC(KC_K), /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_UP, /**/ OC(KC_E), /**/ OC(KC_F), /**/ OC(KC_T), /**/ OC(KC_G), /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/KC_LEFT, KC_DOWN, /**/ KC_RIGHT, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ OC(KC_C), /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ OC(KC_U), OC(LGUI(KC_LEFT)),OC(KC_ENTER),OC(LGUI(KC_RIGHT)), OC(KC_I),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ OC(KC_J), OC(KC_LEFT), OC(KC_BSPC), OC(KC_RIGHT), OC(KC_K), /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ OC(KC_D), /**/ OC(KC_E), /**/ OC(KC_F), /**/ OC(KC_T), /**/ KC_UP, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ KC_LEFT, /**/ KC_DOWN, /**/KC_RIGHT,// - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_ARROWS_MAC] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/LGUI(KC_Q),/**/LGUI(KC_W),/**/LGUI(KC_F),/**/LGUI(KC_P),/**/LGUI(KC_G),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_LCTL, /**/ KC_LGUI, /**/ KC_LSFT, /**/ KC_LALT, /**/LGUI(KC_D),/*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/LGUI(KC_Z),/**/LGUI(KC_X),/**/LGUI(KC_C),/**/LGUI(KC_V),/**/LGUI(KC_B),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/RGUI(KC_J),/**/ KC_BSPC, /**/ KC_UP, /**/ KC_DELETE, RGUI(KC_SCLN), _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/RGUI(KC_H),/**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_ENTER, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/RGUI(KC_K),/**/RGUI(KC_M), RGUI(KC_COMMA), RGUI(KC_DOT), RGUI(KC_SLASH), _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_ARROWS_WINDOWS] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/LCTL(KC_Q),/**/LCTL(KC_W),/**/LCTL(KC_F),/**/LCTL(KC_P),/**/LCTL(KC_G),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_LGUI, /**/ KC_HYPR, /**/ KC_LSFT, /**/ KC_LCTL, /**/LCTL(KC_D),/*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/LCTL(KC_Z),/**/LCTL(KC_X),/**/LCTL(KC_C),/**/LCTL(KC_V),/**/LCTL(KC_B),/**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/RCTL(KC_J),/**/ KC_BSPC, /**/ KC_UP, /**/ KC_DELETE, RCTL(KC_SCLN), _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/RCTL(KC_H),/**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_ENTER, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/RCTL(KC_K),/**/RCTL(KC_M), RCTL(KC_COMMA), RCTL(KC_DOT), RCTL(KC_SLASH), _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [_MISC] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ KC_F14, /**/ KC_F15, /**/ _______, /**/ _______, /**/ _______, /**/ QK_BOOT, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ KC_MS_UP, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/KC_MS_LEFT,/**/KC_MS_DOWN,/**/KC_MS_RIGHT, _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ RGB_MOD, /**/HSV_0_255_255, - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/HSV_120_255_128, - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/KC_MS_BTN1,/**/KC_MS_BTN2,/**/HSV_240_255_255, - /**/ /**/ /**/ /**/ - /*=============================================*/ - - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/KC_MEDIA_EJECT, - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/DF(_DVORAK), DF(_QWERTY), DF(_COLEMAK),// - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, WINDOWS_MODE, MAC_MODE, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ RGB_TOG, /**/ RGB_SLD, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ RGB_VAI, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ RGB_VAD, /**/ RGB_HUD, /**/ RGB_HUI /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - /* clang-format on */ -}; - -bool suspended = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QK_CLEAR_EEPROM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - rgblight_mode(1); - } - return false; - break; - case HSV_0_255_255: - if (record->event.pressed) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv(0, 255, 255); -#endif - } - return false; - break; - case HSV_120_255_128: - if (record->event.pressed) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv(120, 255, 128); -#endif - } - return false; - break; - case HSV_240_255_255: - if (record->event.pressed) { -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv(240, 255, 255); -#endif - } - return false; - break; - case MAC_MODE: - if (record->event.pressed) { - layer_on(_MAC); - layer_off(_WINDOWS); - } - return false; - break; - case WINDOWS_MODE: - if (record->event.pressed) { - layer_on(_WINDOWS); - layer_off(_MAC); - } - return false; - break; - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = get_highest_layer(state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - - if (layer == _ARROWS_MAC || layer == _ARROWS_WINDOWS) { - ergodox_right_led_1_on(); - } else if (layer == _SYMBOLS) { - ergodox_right_led_2_on(); - } else if (layer == _NUMPAD) { - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - } else if (layer == _WM_MAC || layer == _WM_WINDOWS) { - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - } else if (layer == _MISC) { - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - } else if (layer == _WINDOWS) { - ergodox_right_led_3_on(); - } else if (layer == _MAC) { - /* do nothing */ - } - - return state; -}; - -void keyboard_post_init_user(void) { - /* This layer is always on */ - layer_on(_COMMON); - - /* Default to Mac layout */ - layer_on(_MAC); -} diff --git a/keyboards/ergodox_ez/keymaps/nfriend/readme.md b/keyboards/ergodox_ez/keymaps/nfriend/readme.md deleted file mode 100644 index 0a19e2d04296..000000000000 --- a/keyboards/ergodox_ez/keymaps/nfriend/readme.md +++ /dev/null @@ -1,52 +0,0 @@ -# [nfriend](https://gitlab.com/nfriend)'s ErgoDox EZ configuration - -![nfriend's ErgoDox EZ keymap](https://i.imgur.com/CMMmdBc.png) - -[View this keymap on -keyboard-layout-editor.com.](http://www.keyboard-layout-editor.com/#/gists/01283b322a647c96ef75955a9b0bac68) - -Color legend: - -- **Black:** Primary layer. -- **Blue:** Symbol layer. Accessed by holding either of the to sym - keys on either end of the keyboard. -- **Green:** Numpad layer. Accessed by holding the to numpad key. -- **Red:** Arrow layer. Accessed by holding either of the to arrows - thumb keys. -- **Teal:** Window management layer. Accessed by holding either of the to - WM thumb keys. - - Note: this layer is not pictured on this keymap since is tightly coupled - to [Magnet](https://magnet.crowdcafe.com/). -- **Yellow:** Miscellaneous layer. Includes LED control, layout toggling - (Colemak/Dvorak/QWERTY), platform toggling (Windows/Mac), and other - experimental features. - - Note: this layer is only partially pictured on this keymap - -## Caveats - -In its current state, this keymap is fairly Mac-centric. Some of the features -implemented in the Mac layers have not yet been ported to the corresponding -Windows layers. - -## Building - -To build this layout, open a command window in the root directory of this -repository and run: - -```bash -make ergodox_ez:nfriend -``` - -This will create a `.build/ergodox_ez_nfriend.hex` file which can be flashed -using the [Teensy loader](https://www.pjrc.com/teensy/loader.html). After the -`.hex` file has been loaded into Teensy, the keyboard can be reprogrammed by -pressing the bottom-right key of the right half of the keyboard and the -top-right key of the left half (the RESET key in the screenshot -above). - -## Developing - -Use the template in `./template.c` to help create new layers quickly. - -This layout was originally based on [this EZ Configurator -configuration](https://configure.ergodox-ez.com/ergodox-ez/layouts/x9MWL/latest/0). diff --git a/keyboards/ergodox_ez/keymaps/nfriend/rules.mk b/keyboards/ergodox_ez/keymaps/nfriend/rules.mk deleted file mode 100644 index 721d8036010c..000000000000 --- a/keyboards/ergodox_ez/keymaps/nfriend/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Set any rules.mk overrides for your specific keymap here. -# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file -DEBOUNCE_TYPE = sym_eager_pk -LTO_ENABLE = yes -COMMAND_ENABLE = no -UNICODE_ENABLE = no -UNICODEMAP_ENABLE = no -DYNAMIC_MACRO_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/nfriend/template.c b/keyboards/ergodox_ez/keymaps/nfriend/template.c deleted file mode 100644 index dc4294d595b6..000000000000 --- a/keyboards/ergodox_ez/keymaps/nfriend/template.c +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (C) 2020 Nathan Friend - * - * This program is free software: you can 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 . - */ - -/* clang-format off */ - -[LAYER_NAME] = LAYOUT_ergodox( - /* Left hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - /* Right hand */ - - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - /*==============================*/ - /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ _______, /**/ _______, /**/ _______ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ -), diff --git a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c deleted file mode 100644 index dcdaa7098ba2..000000000000 --- a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c +++ /dev/null @@ -1,334 +0,0 @@ -// pvinis ergodox ez -// ,------------------------------------. ┌────┮────┮────┮────┮────┮────┮──────┐ -// | | | | | | | | │ │ │ │ │ │ │ │ -// |------+----+----+----+----+---------| ├────┾────┾────┾────┾────┾────┾──────â”Ī -// | | | | | | | | │ │ │ │ │ │ │ │ -// |------+----+----+----x----x----| | │ ├────╆━━━━╅────┾────┾────┾──────â”Ī -// | | | | | | |----| ├────â”Ī ┃ ┃ │ │ │ │ -// |------+----+----+----x----x----| | │ ├────╄━━━━╃────┾────┾────┾──────â”Ī -// | | | | | | | | │ │ │ │ │ │ │ │ -// `------+----+----+----+----+---------' └────â”ī────┾────┾────┾────┾────┾────┮─┘ -// | | | | | | │ │ │ │ │ │ -// `------------------------' └────â”ī────â”ī────â”ī────â”ī────┘ -// ,---------. ┌────┮────┐ -// | | | │ │ │ -// ,----+----+----| ├────┾────┾────┐ -// | | | | │ │ │ │ -// | | |----| ├────â”Ī │ │ -// | | | | │ │ │ │ -// `--------------' └────â”ī────â”ī────┘ - -#include QMK_KEYBOARD_H -#include "pvinis.h" -#include "mousekey.h" - -// layers -enum { - MOUSE = 8, -}; - -// extra keys -enum { - NONE = 30, - TD_LAYR, // SYSCTL and MOUSE layer switch -}; - -// application selection -// this is sending ctrl-alt-gui-, and this is picked up by hammerspoon -#define AP_SLCK ALLM(KC_S) -#define AP_XCOD ALLM(KC_X) -#define AP_MSGR ALLM(KC_M) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // ,------------------------------------. ,------------------------------------. - // |4xFLSH| | | | | |Opt | | | | | | | | | - // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| - // | Tab | | | | | | | | | | | | | | | - // |------+----+----+----x----x----| | | |----x----x----+----+----+------| - // |EscCtl| | | | | |----| |----| | | | | | Ent | - // |------+----+----+----x----x----| | | |----x----x----+----+----+------| - // |LShift| | | | | | | | | | | | | |RShift| - // `------+----+----+----+----+---------' `---------+----+----+----+----+------' - // | | | |Cmd |LOWR| |RASE|RAlt| | | | - // `------------------------' `------------------------' - // ,---------. ,---------. - // |QWER| | | | | - // ,----+----+----| |----+----+----. - // | Ba | L | | | | | | - // | ck |Shi |----| |----| |Spc | - // | spc| ft | | | | | | - // `--------------' `--------------' - [LR_BASE] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, - KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT , - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, - _______, _______, _______, KC_LGUI, SYMBOL , SYSCTL , KC_RALT, _______, _______, _______, - QWERTY , CARPALX, _______, _______, - _______, _______, - KC_BSPC, _______, _______, _______, _______, KC_SPC - // clang-format on - ), - - // ,------------------------------------. ,------------------------------------. - // | | NUMBERS_L | | | - | NUMBERS_R | = | - // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| - // | | | [ | | ] | | | - // |------+ | | | | +------| - // | | QWERTY_L |----| |----| QWERTY_R | | - // |------+ | ( | | ) | +------| - // | | | | | | | | - // `------+----+----+----+----+---------' `---------+----+----+----+----+------' - // | | ` | | | | | | | | ' | | - // `------------------------' `------------------------' - // ,---------. ,---------. - // | | | | | | - // ,----+----+----| |----+----+----. - // | | | | | | | | - // | | |----| |----| | | - // | | | | | | | | - // `--------------' `--------------' - // See `users/pvinis/pvinis.h` - [LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - _______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL , - _______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______, - _______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______, - _______, _________________QWERTY_L3_________________, KC_LPRN, KC_RPRN, _________________QWERTY_R3_________________, _______, - _______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_QUOT , _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - // clang-format off - ), - - // ,------------------------------------. ,------------------------------------. - // | | NUMBERS_L | | | | NUMBERS_R | | - // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| - // | | | | | | | | - // |------+ | | | | +------| - // | | CARPALX_L |----| |----| CARPALX_R | | - // |------+ | | | | +------| - // | | | | | | | | - // `------+----+----+----+----+---------' `---------+----+----+----+----+------' - // | | | | | | | | | | | | - // `------------------------' `------------------------' - // ,---------. ,---------. - // | | | | | | - // ,----+----+----| |----+----+----. - // | | | | | | | | - // | | |----| |----| | | - // | | | | | | | | - // `--------------' `--------------' - // See `users/pvinis/pvinis.h` - [LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - _______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______, - _______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______, - _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______, - _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - // clang-format on - ), - - // See `users/pvinis/pvinis.h` - [LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - _______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______, - _______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______, - _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, - _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - // clang-format off - ), - - // See `users/pvinis/pvinis.h` - [LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - // clang-format on - ), - - // See `users/pvinis/pvinis.h` - [LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper( - // clang-format off - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // clang-format on - ), - - /* MOUSE - * a keymap to control my system. - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ^ | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | MsUp | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | |MidClk| - * ,------|------|------| |------+------+------. - * | | | | | |Left |Right | - * | | |------| |------| Click| Click| - * | | | ^ | | | | | - * `--------------------' `--------------------' - */ - [MOUSE] = LAYOUT_ergodox_pretty( - // clang-format off - 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_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_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_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_MS_U ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_NO ,KC_NO - ,KC_NO - ,KC_NO ,KC_NO ,KC_NO - // clang-format on - ), -}; - -// keyboard initialization -void keyboard_post_init_user_keymap(void) { - ergodox_led_all_on(); - for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { - ergodox_led_all_set(i); - wait_ms(5); - } - wait_ms(1000); - for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { - ergodox_led_all_set(i); - wait_ms(10); - } - ergodox_led_all_off(); - - // restore default brightness for future use - ergodox_led_all_set(LED_BRIGHTNESS_HI); -} - -// light up leds based on the layer -layer_state_t layer_state_set_user_keymap(layer_state_t state) { - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (get_highest_layer(state)) { - case LR_SYSCTL: - ergodox_right_led_3_on(); // blue - break; - case LR_KBCTL: - ergodox_right_led_1_on(); // red - break; - case LR_SYMBOL: - ergodox_right_led_2_on(); // green - break; - default: - break; - } - return state; -} - -// tap dances - -// flash keyboard on 4x tap, with leds -// void flash_each_tap(tap_dance_state_t *state, void *user_data) { -// switch (state->count) { -// case 1: -// ergodox_right_led_3_on(); -// break; -// case 2: -// ergodox_right_led_2_on(); -// break; -// case 3: -// ergodox_right_led_1_on(); -// break; -// case 4: -// ergodox_right_led_3_off(); -// wait_ms(50); -// ergodox_right_led_2_off(); -// wait_ms(50); -// ergodox_right_led_1_off(); -// break; -// } -// } - -// void flash_dance_finished(tap_dance_state_t *state, void *user_data) { -// if (state->count >= 4) { -// reset_keyboard(); -// reset_tap_dance(state); -// } -// } - -// void flash_dance_reset(tap_dance_state_t *state, void *user_data) { -// ergodox_right_led_1_off(); -// wait_ms(50); -// ergodox_right_led_2_off(); -// wait_ms(50); -// ergodox_right_led_3_off(); -// } - -// SYSCTL on first tap, MOUSE ON second tap -// void layers_dance_finished(tap_dance_state_t *state, void *user_data) { -// uint8_t layer = get_highest_layer(layer_state); - -// switch(state->count) { -// case 1: -// switch(layer) { -// case LR_SYSCTL: -// layer_off(LR_SYSCTL); -// break; -// case MOUSE: -// layer_off(MOUSE); -// break; -// default: -// layer_on(LR_SYSCTL); -// break; -// } -// break; -// case 2: -// layer_on(MOUSE); -// break; -// } -// } - -// tap_dance_action_t tap_dance_actions[] = { -// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), -// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ), -// }; diff --git a/keyboards/ergodox_ez/keymaps/pvinis/readme.md b/keyboards/ergodox_ez/keymaps/pvinis/readme.md deleted file mode 100644 index af272105415f..000000000000 --- a/keyboards/ergodox_ez/keymaps/pvinis/readme.md +++ /dev/null @@ -1,65 +0,0 @@ -pvinis' keymap -============== - -This is a getting-used-to keymap for the [ErgoDox EZ][ez]. It's very much a work in progress. - -[ez]: https://ergodox-ez.com/ - -## Table of Contents - -* [Todo](#todo) -* [Layouts](#layouts) - - [Base layer](#base-layer) - - [Beginner layer](#beginner-layer) - - [QWERTY layer](#qwerty-layer) - - [CARPALX layer](#carpalx-layer) - - [System Control layer](#system-control-layer) - - [Template layers](#template-layers) -* [Building](#building) - -# Todo - -- [ ] Generate images from keymap -- [ ] Implement algernon's heatmap -- [ ] Implement `KC_POP` - -# Layouts - -## Base layer - -This is the base layer that contains the common buttons of all keymaps. Right now, it has the top left button as a `flash` button when it's tapped 4 times, and the two thumb islands. The islands contain the `space` and `enter` keys on the right, the `backspace` and `shift` on the left, and all the 1x1 keys are just layer switches. -Every time I connect the keyboard, I press the `BEGIN` layer switch, and then start typing. -Recently, I added a few application "shortcuts", that basically call `ctrl`+`alt`+`cmd`+``, and `` is `S` for Slack, `X` for Xcode, `M` for Messenger. Using [Hammerspoon][hammerspoon], I show/hide the application. - -[hammerspoon]: http://www.hammerspoon.org/ - -## Beginner layer - -This is a basic keymap I use right now until I'm comfortable typing on the Ergodox. Currently uses a QWERTY layout, and the `([{}])` on the middle keys. Not a perfect layout, and its going to go away at some point, but for now thats my daily driver. - -## QWERTY layer - -This is basically the same as the `BEGIN` layer, but it might go away. I'm not using it, but I should have a QWERTY layout on the keyboard, in case someone else wants to try it out, or if I completely forget how keyboards work! At some point, this and the `BEGIN` layer will become one. - -## CARPALX layer - -This is here as a placeholder. I want to transition to [Carpalx QGMLWY][carpalx] or [White][white] at some point. They both look very interesting and more comfortable to type on, but after I'm confident with typing on the Ergodox. - -[carpalx]: http://mkweb.bcgsc.ca/carpalx/?full_optimization -[white]: https://github.com/mw8/white_keyboard_layout - -## System Control layer - -This one is a layer that, in time, will have controls like mouse movement, volume up/down, mute, sleep, restart, shutdown, etc. - -## Template layers - -I have two commented out layers that are just templates, so I can easily create a new layer. - -# Building - -``` -$ git clone https://github.com/qmk/qmk_firmware.git -$ cd qmk_firmware/keyboards/ergodox/keymaps/pvinis -$ make -``` diff --git a/keyboards/ergodox_ez/keymaps/pvinis/rules.mk b/keyboards/ergodox_ez/keymaps/pvinis/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/ergodox_ez/keymaps/pvinis/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/rishka/config.h b/keyboards/ergodox_ez/keymaps/rishka/config.h deleted file mode 100644 index c8f8180bcc15..000000000000 --- a/keyboards/ergodox_ez/keymaps/rishka/config.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#define PERMISSIVE_HOLD - -#undef MOUSEKEY_TIME_TO_MAX -#define MOUSEKEY_TIME_TO_MAX 0 - -#undef MOUSEKEY_WHEEL_MAX_SPEED -#undef MOUSEKEY_WHEEL_TIME_TO_MAX - -#define MOUSEKEY_WHEEL_MAX_SPEED 1 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 0 - -#define MK_C_OFFSET_1 20 -#define MK_C_OFFSET_2 30 - -#undef MK_MOMENTARY_ACCEL diff --git a/keyboards/ergodox_ez/keymaps/rishka/keymap.c b/keyboards/ergodox_ez/keymaps/rishka/keymap.c deleted file mode 100644 index f6ca540e63a2..000000000000 --- a/keyboards/ergodox_ez/keymaps/rishka/keymap.c +++ /dev/null @@ -1,210 +0,0 @@ - -#include QMK_KEYBOARD_H -#include "version.h" -#include "rishka.h" -enum layers { - BASE, // default layer - WIN, // Switch keys that are needed in windows - SYMB, // symbols - MDIA, // media keys - GAME, // Gamepad setup - FIRMWARE // Layer to trigger reset/refresh -}; -enum custom_keycodes { - VRSN = SAFE_RANGE, - RGB_SLD -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[BASE] = LAYOUT_ergodox_pretty_wrapper( - KC_EQL, ________________NUMBERS_L__________________, TG(WIN), OSX_LOCK, ________________NUMBERS_R__________________, KC_MINS, - KC_DEL, _________________QWERTY_L1_________________, TG(SYMB), TG(SYMB), _________________QWERTY_R1_________________, KC_BSLS, - KC_BSPC, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, LT(MDIA, KC_QUOT), - OS_LSFT, _________________QWERTY_L3_________________, ALL_T(KC_NO), TG(MDIA), _________________QWERTY_R3_________________, OS_RSFT, - LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, OSL(SYMB), - ALT_T(KC_APP), TG(GAME), KC_LALT, CTL_T(KC_ESC), - LT(FIRMWARE, KC_HOME), KC_PGUP, - KC_SPC, GUI_T(KC_BSPC), ALT_T(KC_END), GUI_T(KC_PGDN), CTL_T(KC_TAB), ALT_T(KC_ENT) -), - -[WIN] = LAYOUT_ergodox_pretty_wrapper( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_TAB, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, - _______, KC_ESC, _______, _______, - _______, _______, - _______, KC_BSPC, KC_LALT, KC_PGDN, CTL_T(KC_TAB), _______ -), - -[SYMB] = LAYOUT_ergodox_pretty_wrapper( -VRSN, ______________________F_L__________________, KC_F11, KC_F12 , ______________________F_R__________________, KC_NUM, -_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______, -_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, -_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______, -_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PSLS, _______, - RGB_MOD, RGB_VAI, RGB_HUI, RGB_SLD, - RGB_VAD, RGB_HUD, - _______, _______, _______, RGB_TOG, _______, _______ -), - -[MDIA] = LAYOUT_ergodox( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_MS_U, _______, KC_WH_U, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_BTN1, KC_BTN2, - _______, KC_BTN5, - KC_BTN4, - KC_BTN1, KC_BTN2, KC_BTN3, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_WH_U, _______, _______, _______, - _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, KC_MPLY, - _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, - KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, - _______, _______, - _______, - KC_ACL2, KC_ACL1, KC_ACL0 -), - -[GAME] = LAYOUT_ergodox( - // left hand - KC_ESCAPE, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_F1, KC_Y, KC_Q, KC_W, KC_E, KC_R, KC_T, - KC_TAB, KC_LSFT, KC_A, KC_S, KC_D, KC_F, - KC_LCTL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_G, - LT(BASE, KC_L), KC_J, KC_I, KC_O, KC_M, - KC_ESCAPE, _______, - KC_ENTER, - KC_SPACE, KC_LCTL, KC_LALT, - // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT), - MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB), - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN, KC_TAB, KC_ENT -), - -[FIRMWARE] = LAYOUT_ergodox( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - QK_BOOT, _______, _______, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, EE_CLR -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case VRSN: - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - return false; - #ifdef RGBLIGHT_ENABLE - case RGB_SLD: - rgblight_mode(1); - return false; - #endif - } - } - return true; -} - -// Runs just one time when the keyboard initializes. -void keyboard_post_init_user(void) { -#ifdef RGBLIGHT_COLOR_LAYER_0 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); -#endif -}; - -// Runs whenever there is a layer state change. -layer_state_t layer_state_set_user(layer_state_t state) { - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - - uint8_t layer = get_highest_layer(state); - switch (layer) { - case 0: - #ifdef RGBLIGHT_COLOR_LAYER_0 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); - #else - #ifdef RGBLIGHT_ENABLE - rgblight_init(); - #endif - #endif - break; - case 1: - ergodox_right_led_1_on(); - #ifdef RGBLIGHT_COLOR_LAYER_1 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); - #endif - break; - case 2: - ergodox_right_led_2_on(); - #ifdef RGBLIGHT_COLOR_LAYER_2 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); - #endif - break; - case 3: - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_3 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); - #endif - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - #ifdef RGBLIGHT_COLOR_LAYER_4 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); - #endif - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_5 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); - #endif - break; - case 6: - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_6 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); - #endif - break; - case 7: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_7 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7); - #endif - break; - default: - break; - } - - return state; -}; diff --git a/keyboards/ergodox_ez/keymaps/rishka/rules.mk b/keyboards/ergodox_ez/keymaps/rishka/rules.mk deleted file mode 100644 index c867f89718f2..000000000000 --- a/keyboards/ergodox_ez/keymaps/rishka/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# TAP_DANCE_ENABLE = yes -MOUSEKEY_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/rmw/config.h b/keyboards/ergodox_ez/keymaps/rmw/config.h deleted file mode 100644 index 1b7528a4a72c..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/config.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2013 Oleg Kostyuk -Edited like hell 2017+ by Reed Williams - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 MACOSX - -#define USB_MAX_POWER_CONSUMPTION 500 - -/* Set 0 if debouncing isn't needed */ -#undef DEBOUNCE -#define DEBOUNCE 5 - - -#define ONESHOT_TIMEOUT 900 // how long before oneshot times out -//#define ONESHOT_TAP_TOGGLE 2 // how many taps before oneshot toggle is triggered - -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE - -#undef MOUSEKEY_DELAY -#define MOUSEKEY_DELAY 20 -#undef MOUSEKEY_MAX_SPEED -#define MOUSEKEY_MAX_SPEED 6 -#undef MOUSEKEY_TIME_TO_MAX -#define MOUSEKEY_TIME_TO_MAX 254 -#undef MOUSEKEY_WHEEL_MAX_SPEED -#define MOUSEKEY_WHEEL_MAX_SPEED 10 -#undef MOUSEKEY_WHEEL_TIME_TO_MAX -#define MOUSEKEY_WHEEL_TIME_TO_MAX 254 - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -//#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c b/keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c deleted file mode 100644 index 9d230aaae08a..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c +++ /dev/null @@ -1,188 +0,0 @@ -#include "rmw.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [QWERTY] = LAYOUT_ergodox( - TD(FRBK2), KC_1, KC_2, KC_3, KC_4, KC_5, KC_F4, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TO(EDIT), - OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G, - LCTL(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, SFT_T(KC_B), KC_TAB, - TD(CTLALL), OSL(ADJUST), TD(GUCTL), TD(SGCA), TD(AGC), - OS_CMD, OS_CTL , - KC_ESCAPE, - KC_BSPC, TD(SHENT), OSL(EDIT), - - KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - TO(NUMPAD), 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_QUOTE, - CTL_T(KC_B), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), LCTL(KC_RIGHT), - TD(GCA), TD(CTLALL), KC_LBRC, KC_RBRC, KC_MS_BTN1, - OS_CALT, KC_TAB, - KC_DEL, - KC_CAPS, SFTENT, KC_SPC), - - - [MINIMAK4] = LAYOUT_ergodox( - TD(FRBK2), KC_1, KC_2, KC_3, KC_4, KC_5, KC_F4, - KC_TAB, KC_Q, KC_W, KC_D, KC_R, KC_K, TO(EDIT), - 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, SFT_T(KC_B), KC_TAB, - TD(CTLALL), OSL(ADJUST), TD(GUCTL), TD(SGCA), TD(AGC), - OS_CMD, OS_CTL , - KC_ESCAPE, - KC_BSPC, TD(SHENT), OSL(EDIT), - KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - TO(NUMPAD), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, LT(JSYM,KC_J), KC_E, KC_L, LT(EDIT,KC_SCLN), KC_QUOTE, - CTL_T(KC_B), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MS_BTN1, - TD(GCA), TD(CTLALL), LGUI(KC_GRV), KC_RBRC, KC_MS_BTN1, - OS_ALT, KC_TAB, - KC_DEL, - KC_CAPS, SFT_T(KC_ENT), KC_SPC), - - [NUMPAD] = LAYOUT_ergodox(VRSN, KC_F11, KC_F12, KC_F1, KC_F2, KC_F3, _______, - _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, TO(QWERTY), - _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, - _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_Y), _______, - _______, _______, _______, _______, _______, - _______, _______, KC_PSCR, _______, _______, TO(QWERTY), - - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - TO(EDIT), _______, KC_7, KC_8, KC_9, KC_KP_MINUS, _______, - _______, KC_4, KC_5, KC_6, KC_KP_PLUS, _______, - _______, KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH, _______, - KC_0, KC_DOT, KC_EQUAL, KC_KP_ASTERISK, _______, - _______, _______, KC_INSERT, TO(EDIT), _______, _______), - - [EDIT] = LAYOUT_ergodox(_______, _______, KC_MS_WH_UP, KC_MS_BTN1, KC_MS_BTN2, _______, _______, - _______, LGUI(LALT(KC_ESCAPE)), KC_MS_WH_DOWN, LALT(S(KC_LEFT)), LALT(S(KC_RIGHT)), _______, TO(NUMPAD), - _______, _______, LGUI(KC_GRV), LALT(KC_LEFT), LALT(KC_RIGHT), _______, - LCTL(KC_RIGHT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_Y), _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, TO(NUMPAD), - _______, _______, _______, S(KC_UP), _______, _______, KC_DELETE, - TO(QWERTY), LGUI(KC_T), KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, - LGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LGUI(KC_RIGHT), _______, - _______, S(LGUI(KC_LEFT)), S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), S(LGUI(KC_RIGHT)), LCTL(KC_LEFT), - _______, _______, FORM_GET, FORM_PUT, _______, - _______, _______, _______, S(KC_F10), _______, _______), - - [FSYM] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_TILD, KC_EXLM, _______, _______, - LCTL(KC_RIGHT), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, DEL_WRD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, KC_CIRC, KC_AMPR , KC_ASTR, KC_GRV , _______, _______, - KC_EQUAL, KC_MINUS, KC_UNDS, KC_BSLS, KC_COLON, KC_DQT , - _______, _______, KC_PLUS , KC_SLSH, KC_PIPE, _______ , _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - - [JSYM] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, 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, _______, - _______, _______, _______, _______, _______, _______, LCTL(KC_LEFT), - _______, _______, _______, _______, _______, - _______, _______, _______, _______, LGUI(KC_DOWN), _______), - - [MEDIA] = LAYOUT_ergodox(_______, _______, KC_MS_BTN4, _______, KC_MS_BTN5, _______, _______, - _______, KC_MS_WH_UP, KC_MS_WH_LEFT, KC_MS_UP, KC_MS_WH_RIGHT, _______, _______, - _______, KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, - _______, _______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, - _______, _______, _______, _______, KC_MS_BTN3, - _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, KC_AUDIO_VOL_DOWN, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, _______, _______, - KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD, _______, _______, _______, - _______, _______, _______, _______, KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE), - - [ADJUST] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, TO(EDIT), TO(NUMPAD), TO(FSYM), TO(JSYM), TO(MEDIA), - _______, _______, _______, _______, _______, _______, _______, - _______, TO(QWERTY), DF(MINIMAK4), DF(QWERTY), _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - case FORM_GET: - if (record->event.pressed) { - tap_code(KC_BTN1); - tap_code16(G(KC_A)); - tap_code16(G(KC_C)); - } - return false; - case FORM_PUT: - if (record->event.pressed) { - tap_code(KC_BTN1); - tap_code16(G(KC_A)); - tap_code16(G(KC_V)); - } - return false; - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case QWERTY: - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - break; - case NUMPAD: - ergodox_right_led_1_on(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - break; - case EDIT: - ergodox_right_led_1_off(); - ergodox_right_led_2_on(); - ergodox_right_led_3_off(); - break; - case FSYM: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_off(); - break; - case JSYM: - ergodox_right_led_1_on(); - ergodox_right_led_2_off(); - ergodox_right_led_3_on(); - break; - case MEDIA: - ergodox_right_led_1_off(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - case ADJUST: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - } - return state; -} diff --git a/keyboards/ergodox_ez/keymaps/rmw/keymap-win.c b/keyboards/ergodox_ez/keymaps/rmw/keymap-win.c deleted file mode 100644 index aada71fd4f59..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/keymap-win.c +++ /dev/null @@ -1,159 +0,0 @@ -#include "rmw.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [QWERTY] = LAYOUT_ergodox( // LEFT HAND - TD(FRBK), KC_1, KC_2, KC_3, KC_4, KC_5, KC_F4, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TO(EDIT), - OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G, - OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, SFT_T(KC_B), KC_TAB, - TD(CTLAND), OSL(ADJUST), TD(SCAG), TD(TDGUI), TD(ACG), - OS_ALT, OS_CTL , - KC_ESCAPE, - KC_BSPC, TD(SHENT), OSL(EDIT), - - // RIGHT HAND - KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - TO(NUMPAD), 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_QUOTE, - CTL_T(KC_B), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), TD(SHENT), - TD(CAG), TD(TDGUI), KC_LBRC, KC_RBRC, KC_MS_BTN1, - OS_ALT, KC_TAB, - KC_DEL, - KC_CAPS, SFT_T(KC_ENT), KC_SPC), - - - [NUMPAD] = LAYOUT_ergodox(VRSN, KC_F11, KC_F12, KC_F1, KC_F2, KC_F3, _______, - _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, TO(0), - _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, - _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Y), _______, - _______, _______, _______, _______, _______, - _______, _______, KC_PSCR, _______, _______, TO(0), - - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - TO(EDIT), _______, KC_7, KC_8, KC_9, KC_KP_MINUS, _______, - _______, KC_4, KC_5, KC_6, KC_KP_PLUS, _______, - _______, KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH, _______, - KC_0, KC_DOT, KC_EQUAL, KC_KP_ASTERISK, _______, - _______, _______, KC_INSERT, TO(EDIT), _______, _______), - - [EDIT] = LAYOUT_ergodox(KC_ESCAPE, LALT(LCTL(KC_DELETE)), KC_MS_WH_UP, KC_MS_BTN1, KC_MS_BTN2, _______, _______, - _______, LCTL(S(KC_ESCAPE)), KC_MS_WH_DOWN, LCTL(S(KC_LEFT)), LCTL(S(KC_RIGHT)), _______, TO(NUMPAD), - _______, _______, KC_LEFT, LCTL(KC_LEFT), LCTL(KC_RIGHT), _______, - _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Y), _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, TO(NUMPAD), - _______, _______, _______, S(KC_UP), _______, _______, KC_DELETE, - TO(0), LCTL(KC_T), KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, - KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______, - _______, S(KC_HOME), S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), S(KC_END), _______, - _______, _______, _______, _______, _______, - _______, _______, _______, S(KC_F10), _______, _______), - - [FSYM] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_TILD, KC_EXLM, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, KC_CIRC, KC_AMPR , KC_ASTR, KC_GRV , _______, _______, - KC_EQUAL, KC_MINUS, KC_UNDS, KC_BSLS, KC_COLON, KC_DQT , - _______, _______, KC_PLUS , KC_SLSH, KC_PIPE, _______ , _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - - [JSYM] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, 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, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - - [MEDIA] = LAYOUT_ergodox(_______, _______, KC_MS_BTN4, _______, KC_MS_BTN5, _______, _______, - _______, KC_MS_WH_UP, KC_MS_WH_LEFT, KC_MS_UP, KC_MS_WH_RIGHT, _______, _______, - _______, KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, - _______, _______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, - _______, _______, _______, _______, KC_MS_BTN3, - _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, KC_AUDIO_VOL_DOWN, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, _______, _______, - KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, _______, _______, _______, - _______, _______, _______, _______, KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE), - - [ADJUST] = LAYOUT_ergodox(_______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, TO(EDIT), TO(NUMPAD), TO(FSYM), TO(JSYM), TO(MEDIA), - _______, _______, _______, _______, _______, _______, _______, - _______, TO(QWERTY), _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______), - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - } - return true; -} - - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case QWERTY: - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - break; - case NUMPAD: - ergodox_right_led_1_on(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - break; - case EDIT: - ergodox_right_led_1_off(); - ergodox_right_led_2_on(); - ergodox_right_led_3_off(); - break; - case FSYM: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_off(); - break; - case JSYM: - ergodox_right_led_1_on(); - ergodox_right_led_2_off(); - ergodox_right_led_3_on(); - break; - case MEDIA: - ergodox_right_led_1_off(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - case ADJUST: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - } - return state; -} diff --git a/keyboards/ergodox_ez/keymaps/rmw/keymap.c b/keyboards/ergodox_ez/keymaps/rmw/keymap.c deleted file mode 100644 index d2cff99429d0..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" - -#define LONGPRESS_DELAY 180 -#define LAYER_TOGGLE_DELAY 350 - -#ifdef MACOSX -#include "keymap-mac.c" -#endif - -#ifdef WINDOWS -#include "keymap-win.c" -#endif diff --git a/keyboards/ergodox_ez/keymaps/rmw/readme.md b/keyboards/ergodox_ez/keymaps/rmw/readme.md deleted file mode 100644 index 36e0d1de00d6..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# RMW Ergodox_EZ Layout - -This is the keymap I use on the Ergodox_EZ I use for work. I write reports and code in a variety of languages on this board and the various layers provide plenty of flexibility for navigating, editing text, and writing code and prose. - -I switched to a Mac in the past year, so my keymap now mostly gets used in the Mac mode; simply edit the keymap.c file to uncomment \#include keymap-win.c and comment out \#include keymap-mac.c to change back to the Windows version, but I haven't been updating that map as I've made changes moving forward on the Mac version. - -## The theory of this keymap - -The base layer is either QWERTY or MINIMAK4, as desired. Overlaid on that base layer are various layers triggered by one-shots, TOs, and LTs. Tapdances are used to cram lots of mods into few keys and provide freedom to hit combinations with either hand. Mods and layer things are one-shot (where reasonable) because I prefer that. - -An EDIT layer provides text navigation, selection, and editing capabilities in home position. The EXCEL layer offers a numpad and various spreadsheet-useful navigations and operations. Holding S will put the numpad under your right hand in home position. Keys F and J offer various useful symbols (mostly) on the opposite hand when held, including \[\]\(\)\{\} under the left pointer and middle fingers on bottom, middle, and top rows respectively. The MEDIA layer provides media controls (obvs) and some mouse movement and nav, in case I don't feel like reaching for the trackball/trackpad/mouse. diff --git a/keyboards/ergodox_ez/keymaps/rmw/rules.mk b/keyboards/ergodox_ez/keymaps/rmw/rules.mk deleted file mode 100644 index 31e0fcf29339..000000000000 --- a/keyboards/ergodox_ez/keymaps/rmw/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE=yes diff --git a/keyboards/ergodox_ez/keymaps/saha/keymap.c b/keyboards/ergodox_ez/keymaps/saha/keymap.c deleted file mode 100644 index 4aaf326587bb..000000000000 --- a/keyboards/ergodox_ez/keymaps/saha/keymap.c +++ /dev/null @@ -1,254 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "debug.h" -#include "action_layer.h" - -#define BASE 0 // Base layer - QWERTY -#define SPEC 1 // Special keys favoring programming in c-like languages -#define NUM 2 // Numeric layer with number row functional keys - -#define ___ KC_TRNS -#define BSLASH LSFT(KC_SLSH) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_ergodox( - - // Left side - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_VOLU, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ KC_F11, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_VOLD, /**/ KC_Q, /**/ KC_W, /**/ KC_E, /**/ KC_R, /**/ KC_T, /**/ KC_ESC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_MPLY, /**/ KC_A, /**/ KC_S, /**/ KC_D, /**/ KC_F, /**/ KC_G, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_MUTE, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ KC_BSPC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ ___, /**/ KC_RALT, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ KC_DEL, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ KC_LALT, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - // Right side - // - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_F12, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_Y, /**/ KC_U, /**/ KC_I, /**/ KC_O, /**/ KC_P, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_H, /**/ KC_J, /**/ KC_K, /**/ KC_L, /**/ KC_SCLN, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_ENT, /**/ KC_N, /**/ KC_M, /**/ KC_COMM, /**/ KC_DOT, /**/ KC_SLSH, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ MO(NUM), /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_RSFT, /**/ MO(SPEC) /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - - [SPEC] = LAYOUT_ergodox( - - // Left side - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_HASH, /**/ KC_DLR, /**/ KC_PERC, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_GRV, /**/ KC_QUOT, /**/ KC_LCBR, /**/ KC_RCBR, /**/ KC_PLUS, /**/ KC_ESC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_TAB, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ KC_EQUAL, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_HASH, /**/ KC_PERC, /**/ KC_LBRC, /**/ KC_RBRC, /**/ KC_MINUS, /**/ KC_BSPC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ ___, /**/ KC_LALT, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ KC_DEL, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ KC_LALT, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - // Right side - // - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_CIRC, /**/ KC_AMPR, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_AMPR, /**/ KC_HOME, /**/ KC_UP, /**/ KC_END, /**/ KC_CIRC, /**/ KC_F7, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_EXLM, /**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_COLN, /**/ KC_F8, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_ENT, /**/ KC_PIPE, /**/ KC_UNDS, /**/ KC_LT, /**/ KC_GT, /**/ KC_BSLS, /**/ KC_F9, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/KC_F10,/**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_RSFT, /**/ ___ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - - [NUM] = LAYOUT_ergodox( - - // Left side - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_F1, /**/ KC_F2, /**/ KC_F3, /**/ KC_F4, /**/ KC_F5, /**/ KC_F11, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_HASH, /**/ KC_DLR, /**/ KC_PERC, /**/ KC_ESC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /*===============*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*==========================================================================================*/ /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_HASH, /**/ KC_PERC, /**/ KC_LBRC, /**/ KC_RBRC, /**/ KC_MINUS, /**/ KC_BSPC, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ ___, /**/ KC_LALT, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ KC_DEL, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ /**/ /**/ KC_LALT, /**/ - /**/ /**/ /**/ /**/ - /**/ /**/ /*===============*/ - /**/ /**/ /**/ /**/ - /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTL, /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - - // Right side - // - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_F12, /**/ KC_F6, /**/ KC_F7, /**/ KC_F8, /**/ KC_F9, /**/ KC_F10, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_CIRC, /**/ KC_AMPR, /**/ KC_ASTR, /**/ KC_LPRN, /**/ KC_RPRN, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*===============*/ KC_6, /**/ KC_7, /**/ KC_8, /**/ KC_9, /**/ KC_0, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ /*==========================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /**/ KC_ENT, /**/ KC_PIPE, /**/ KC_UNDS, /**/ KC_COMM, /**/ KC_DOT, /**/ KC_BSLS, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ - /*=========================================================================================================*/ - /**/ /**/ /**/ /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/ ___, /**/ - /**/ /**/ /**/ /**/ /**/ /**/ - /*=======================================================================*/ - - /*==============================*/ - /**/ /**/ /**/ - /**/ ___, /**/ ___, /**/ - /**/ /**/ /**/ - /*=============================================*/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ /**/ /**/ - /**/ /**/ /**/ /**/ - /*===============*/ /**/ /**/ - /**/ /**/ /**/ /**/ - /**/ ___, /**/ KC_RSFT, /**/ ___ /**/ - /**/ /**/ /**/ /**/ - /*=============================================*/ - ), - -}; diff --git a/keyboards/ergodox_ez/keymaps/skug/config.h b/keyboards/ergodox_ez/keymaps/skug/config.h deleted file mode 100644 index abf1c635f10d..000000000000 --- a/keyboards/ergodox_ez/keymaps/skug/config.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -#define FORCE_NKRO - -#undef LSPO_KEY -#undef RSPC_KEY -#define LSPO_KEY KC_8 // Nordic Left SpaceCadet -#define RSPC_KEY KC_9 // Nordic Right SpaceCadet diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c deleted file mode 100644 index d878b8a9da02..000000000000 --- a/keyboards/ergodox_ez/keymaps/skug/keymap.c +++ /dev/null @@ -1,251 +0,0 @@ -/* Copyright 2018 Andreas LindhÃĐ, Christoffer Holmberg - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - - - - -#include QMK_KEYBOARD_H -#include "version.h" -#include "keymap_swedish.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys -#define ARRW 3 // arrow + soon mouse - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - EPRM, - VRSN, - RGB_SLD -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | ! | " | # | # | % | Ins | | L1 | & | / | ( | ) | = | ? | - * | | 1 | 2 @ | 3 ÂĢ | 4 $ | 5 | | | | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | Å | - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | L4 | A | S | D | F | G |------| |------| H | J | K | L |Ö / L3| Ä/L2 | - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| Back | |Forwd |------+------+------+------+------+--------| - * | LShift/| Z | X | C | V | B | | | | N | M | ; | : | _ | RShift/| - * | ( | | | | | | | | | | | , | . | - | ) | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | '/ | ` |Alt | Left | Right| | Spc | Bksp | AltGr| * | ~/ | - * | Ctrl | ' | | | | | | | | | Ctrl | - * `----------------------------------' `----------------------------------' - * ,-------------. ,---------------. - * | <>| | End | | Home | ^ | - * ,------|------|------| |------+--------+------. - * | Left | Right| PgDn | | PgUp | Up | Down | - * |------|------|------| |------|--------|------| - * | Ctrl/| Alt/ | | | | Alt/ | Ctrl/| - * | Enter| Esc | Lgui | | Lgui | Esc | Enter| - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_ -// Otherwise, it needs KC_* -[BASE] = LAYOUT_ergodox_80( // layer 0 : default - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_INS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), - MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, - SC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_WBAK, - CTL_T(SE_QUOT), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, - SE_LABK, KC_END, - KC_LEFT, KC_RIGHT, KC_PGDN, - CTL_T(KC_ENT), ALT_T(KC_ESC), KC_LGUI, - - // right hand - TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_ODIA), LT(SYMB, SE_ADIA), - KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, SC_RSPC, - KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CTL_T(SE_TILD), - KC_HOME, SE_CIRC, - KC_PGUP, KC_UP, KC_DOWN, - KC_LGUI, ALT_T(KC_ESC), CTL_T(KC_ENT) -), -/* Keymap: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | - | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | < | > | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * |------|------|------| |------|------|------| - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = LAYOUT_ergodox_80( - // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,_______, - _______,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV, - _______,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,_______, - EPRM, _______, _______, SE_LABK , SE_RABK, - _______,_______, - _______,_______,_______, - _______,_______,_______, - // right hand - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, _______, - _______, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, _______, - _______,KC_DOT, KC_0, SE_EQL, _______, - _______, _______, - _______, _______, _______, - _______, _______, _______ -), - -/* Keymap: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | MsUp | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | |MsLeft|MsDown|MsRght| | |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | |------|------| |------|------|------| - * | | | | | | |BrBck | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[MDIA] = LAYOUT_ergodox_80( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_MS_U, _______, _______, _______, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_BTN1, KC_BTN2, - _______, _______, - _______, _______, _______, - _______, _______, _______, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, - KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, - _______, _______, - _______, _______, _______, - _______, _______, KC_WBAK -), - // Keymap: Ducky Style arrows -[ARRW] = LAYOUT_ergodox_80( - SE_HALF, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP , _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_DEL, _______, - _______, _______, - _______, _______, _______, - _______, _______, _______, - // right hand - TO(BASE), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, _______, _______, - _______, _______, _______ -), - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - -// 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); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // Binary: lsb at bottom - case 1: - ergodox_right_led_3_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_board_led_on(); - default: - // none - break; - } -}; diff --git a/keyboards/ergodox_ez/keymaps/skug/readme.md b/keyboards/ergodox_ez/keymaps/skug/readme.md deleted file mode 100644 index 5c155619c051..000000000000 --- a/keyboards/ergodox_ez/keymaps/skug/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Nordic Qwerty layout for ErgoDox EZ, based on Andreas Lindhe's version - -*NOTE:* it might still be desirable to set the software layout to sv_SE in your -OS. diff --git a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c deleted file mode 100644 index 0d60e46bfc24..000000000000 --- a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c +++ /dev/null @@ -1,204 +0,0 @@ -#include QMK_KEYBOARD_H -#include "debug.h" -#include "action_layer.h" -#include "version.h" - -#define BASE 0 // default layer -#define MDIA 1 // media keys - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - EPRM, - VRSN, - RGB_SLD -}; - -bool capsOn = false; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | Bksp | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | { | | } | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * |HyperCaps| A | S | D | F | G |------| |------| H | J | K | L |; / L1| Enter | - * |--------+------+------+------+------+------| Alt | | L1 |------+------+------+------+------+--------| - * | LShift | Z/L1 | X | C | V | B | | | | N | M | , | . | ? | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |lCrtr | [ | ] | ` | ' | | Left | Up | Down | Right| PlayWin | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * |PRTSRN| Win | | Home | End | - * ,------|------|------| |------+--------+------. - * | | | Ins | | PgUp | | | - * | Space|Backsp|------| |------| Enter |Space | - * | |ace | Del | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LCBR, - ALL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, LT(MDIA,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, - KC_LCTL, KC_LBRC, KC_RBRC, KC_GRV, KC_QUOT, - KC_PSCR, KC_LGUI, - KC_INS, - KC_SPC,KC_BSPC,KC_DEL, - // right hand - KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL, KC_BSPC, - KC_RCBR, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_ENT, - TG(MDIA), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, - KC_LEFT, KC_UP,KC_DOWN,KC_RGHT, GUI_T(KC_MPLY), - KC_HOME, KC_END, - KC_PGUP, - KC_PGDN,KC_ENT, KC_SPC - ), -/* Keymap 1: Media and mouse keys - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * |BootLoad | | Lclk | MsUp | Rclk | | | | | | | Up | | | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | Left | Down | Right| | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsAcl0|MsAcl1|MsAcl2| | | | | | | Mute | Mute | | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | Prev |VolUp |VolDn | Next | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// Functions -[MDIA] = LAYOUT_ergodox( - // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - QK_BOOT,_______,KC_BTN1,KC_MS_U,KC_BTN2,_______,_______, - _______,_______,KC_MS_L,KC_MS_D,KC_MS_R,_______, - _______,_______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,_______, - // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______, - _______,_______,_______, KC_UP ,_______,_______,_______, - _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, - _______,_______,_______,KC_MUTE,KC_MUTE,_______,_______, - KC_MPRV,KC_VOLU,KC_VOLD,KC_MNXT,_______, - _______, _______, - _______, - _______, _______, _______ -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { -#ifdef RGBLIGHT_COLOR_LAYER_0 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); -#endif -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - uint8_t layer = get_highest_layer(layer_state); - - if(layer == 1) - { - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - ergodox_right_led_3_set (LED_BRIGHTNESS_HI); - } - - if(capsOn) - { - ergodox_right_led_1_set (LED_BRIGHTNESS_HI); - ergodox_right_led_1_on (); - } - - if(keyboard_report->mods & MOD_BIT(KC_LSFT)) - { - ergodox_right_led_1_set (LED_BRIGHTNESS_HI); - ergodox_right_led_1_on (); - } else { - ergodox_right_led_1_set (LED_BRIGHTNESS_LO); - - if(!capsOn) - { - ergodox_right_led_1_off (); - } - } - - if(keyboard_report->mods & MOD_BIT(KC_LALT)) - { - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - ergodox_right_led_2_on (); - } else { - ergodox_right_led_2_set (LED_BRIGHTNESS_LO); - if(layer != 1) - { - ergodox_right_led_2_off (); - } - } - - if(keyboard_report->mods & MOD_BIT(KC_LCTL)) - { - ergodox_right_led_3_set (LED_BRIGHTNESS_HI); - ergodox_right_led_3_on (); - } else { - ergodox_right_led_3_set (LED_BRIGHTNESS_LO); - if(layer != 1) - { - ergodox_right_led_3_off (); - } - } -}; - -void led_set_user(uint8_t usb_led){ - if (usb_led & (1 << USB_LED_CAPS_LOCK)) - { - capsOn = true; - }else { - capsOn = false; - } -} diff --git a/keyboards/ergodox_ez/keymaps/stamm/config.h b/keyboards/ergodox_ez/keymaps/stamm/config.h deleted file mode 100644 index 1262ce655976..000000000000 --- a/keyboards/ergodox_ez/keymaps/stamm/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2020 Rustam Zagirov - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/* - Set any config.h overrides for your specific keymap here. - See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file -*/ -#pragma once - -#define ORYX_CONFIGURATOR -#define LEADER_TIMEOUT 500 -#define LEADER_PER_KEY_TIMING - -#define TAPPING_TERM 200 -#define TAPPING_TERM_PER_KEY -#define PERMISSIVE_HOLD -/* #define PERMISSIVE_HOLD_PER_KEY */ - -#define HOLD_ON_OTHER_KEY_PRESS -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY - -#define QUICK_TAP_TERM 0 -#define QUICK_TAP_TERM_PER_KEY - -/* #define RETRO_TAPPING */ -#undef LED_BRIGHTNESS_DEFAULT -#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_LO) diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c deleted file mode 100644 index b7be1f72c139..000000000000 --- a/keyboards/ergodox_ez/keymaps/stamm/keymap.c +++ /dev/null @@ -1,279 +0,0 @@ -/* Copyright 2020 Rustam Zagirov - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "version.h" - -#define KC_MAC_UNDO LGUI(KC_Z) -#define KC_MAC_CUT LGUI(KC_X) -#define KC_MAC_COPY LGUI(KC_C) -#define KC_MAC_PASTE LGUI(KC_V) -#define KC_PC_UNDO LCTL(KC_Z) -#define KC_PC_CUT LCTL(KC_X) -#define KC_PC_COPY LCTL(KC_C) -#define KC_PC_PASTE LCTL(KC_V) -#define ES_LABK_MAC KC_GRAVE -#define ES_RABK_MAC LSFT(KC_GRAVE) -#define ES_BSLS_MAC ALGR(KC_6) -#define NO_PIPE_ALT KC_GRAVE -#define NO_BSLS_ALT KC_EQUAL -#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc) - -#define E_NUMBERS LT(_1_NUMBERS, KC_E) -#define R_MOUSE LT(_2_MOUSE, KC_R) - -#define ARROWS MO(_3_ARROW) - -enum custom_keycodes { - RGB_SLD = SAFE_RANGE, - ALT_TAB, -}; - -bool is_alt_tab_active = false; // ADD this near the begining of keymap.c -uint16_t alt_tab_timer = 0; // we will be using them soon. - -enum layers { - _0_BASE, - _1_NUMBERS, - _2_MOUSE, - _3_ARROW, -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_0_BASE] = LAYOUT_ergodox( - KC_NUBS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AUDIO_MUTE, - QK_LEAD, KC_Q, KC_W, E_NUMBERS, R_MOUSE, KC_T, XXXXXXX, - LCTL(KC_B), LSFT_T(KC_A), LCTL_T(KC_S), LALT_T(KC_D), LGUI_T(KC_F), KC_G, - KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, - ALT_TAB, XXXXXXX, XXXXXXX, MO(_1_NUMBERS), ARROWS, - KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, - XXXXXXX, - KC_ENTER, KC_TAB, KC_ESCAPE, - KC_CAPS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINUS, - XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - KC_H, RGUI_T(KC_J), RALT_T(KC_K), RCTL_T(KC_L), RSFT_T(KC_SCLN), KC_QUOTE, - KC_RBRC, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_EQUAL, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, - XXXXXXX, - KC_ESCAPE, KC_BSPC, KC_SPACE -), -[_1_NUMBERS] = LAYOUT_ergodox( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______, - - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, _______, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, - KC_0, KC_KP_DOT, _______, KC_EQUAL, _______, - _______, _______, - _______, - _______, _______, _______ -), -[_2_MOUSE] = LAYOUT_ergodox( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - - RGB_HUI, RGB_HUD, - _______, - _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, - RGB_MOD, RGB_TOG, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______, - RGB_SLD, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, - TOGGLE_LAYER_COLOR, _______, KC_MS_WH_UP, _______, KC_MS_WH_DOWN, _______, _______, - _______, _______, _______, _______, _______, - - RGB_VAD, RGB_VAI, - _______, - _______, _______, _______ -), -[_3_ARROW] = LAYOUT_ergodox( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - - _______, _______, - _______, - _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - - _______, _______, - _______, - _______, _______, _______ -), -}; - - -/* bool suspended = false; */ -void keyboard_post_init_user(void) { - rgblight_disable(); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_SLD: - if (record->event.pressed) { - rgblight_mode(1); - } - return false; - case ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LGUI); - } - alt_tab_timer = timer_read(); - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - break; - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - ergodox_led_all_off(); - /* rgblight_disable(); */ - switch (get_highest_layer(state)) { - case _1_NUMBERS: - ergodox_right_led_1_on(); - /* rgblight_enable(); - rgblight_mode(1); - rgblight_sethsv(HSV_BLUE);*/ - break; - case _2_MOUSE: - ergodox_right_led_2_on(); - break; - case _3_ARROW: - ergodox_right_led_3_on(); - break; - /* case 7: */ - /* ergodox_right_led_1_on(); */ - /* ergodox_right_led_2_on(); */ - /* ergodox_right_led_3_on(); */ - /* break; */ - default: - break; - } - return state; - -}; - - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - /* case SFT_T(KC_SPC): */ - /* return TAPPING_TERM + 1250; */ - case E_NUMBERS: - return 200; - case LT(_2_MOUSE, KC_R): - return 200; - /* case LGUI_T(KC_F): */ - /* return 50; */ - default: - return TAPPING_TERM; - } -} -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case E_NUMBERS: - case R_MOUSE: - case LSFT_T(KC_A): - case LCTL_T(KC_S): - case LALT_T(KC_D): - case LGUI_T(KC_F): - case RGUI_T(KC_J): - case RALT_T(KC_K): - case RCTL_T(KC_L): - case RSFT_T(KC_SEMICOLON): - case ARROWS: - return false; - default: - return false; - } -} - -uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LT(_1_NUMBERS, KC_E): - case R_MOUSE: - case LSFT_T(KC_A): - case LCTL_T(KC_S): - case LALT_T(KC_D): - case LGUI_T(KC_F): - case RGUI_T(KC_J): - case RALT_T(KC_K): - case RCTL_T(KC_L): - case RSFT_T(KC_SEMICOLON): - case ARROWS: - return QUICK_TAP_TERM; - default: - return 0; - } -} - -void leader_end_user(void) { - if (leader_sequence_one_key(KC_F)) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - if (leader_sequence_one_key(KC_S)) { - SEND_STRING ("sudo -i\n"); - } - if (leader_sequence_one_key(KC_H)) { - SEND_STRING ("--help\n"); - } - if (leader_sequence_two_keys(KC_D, KC_D)) { - SEND_STRING(SS_LGUI("ac")); - /* SEND_STRING(SS_LGUI("a") SS_LGUI("c")); */ - } - if (leader_sequence_three_keys(KC_D, KC_D, KC_S)) { - SEND_STRING("https://start.duckduckgo.com\n"); - } - if (leader_sequence_two_keys(KC_A, KC_S)) { - register_code(KC_LGUI); - register_code(KC_S); - unregister_code(KC_S); - unregister_code(KC_LGUI); - } -} - -void matrix_scan_user(void) { - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > 1000) { - unregister_code(KC_LGUI); - is_alt_tab_active = false; - } - } -} diff --git a/keyboards/ergodox_ez/keymaps/stamm/readme.md b/keyboards/ergodox_ez/keymaps/stamm/readme.md deleted file mode 100644 index 9ca886aa922e..000000000000 --- a/keyboards/ergodox_ez/keymaps/stamm/readme.md +++ /dev/null @@ -1,97 +0,0 @@ -# Stamm layouts for ergodox_ez - -4 layers: - -* QUERTY -* Numbers -* Mouse -* Arrows - -On home row there are hold dual keys: -- shift, ctrl, alt, cmd — on the fingers on the left hand -- cmd, alt, ctrl, shift — mirrored on the finger on the righ hand - -Top row behaves like shifter numbers row. -Hold E switch to layer with numbers. -Hold R switch to mouse controll layer. - -``` - 0_Base -╭────────┮─────┮─────┮─────┮─────┮─────┮─────â•Ū ╭─────┮─────┮─────┮─────┮─────┮─────┮────────â•Ū -│ ` │ ! │ @ │ # │ $ │ % │Mute │ │Capsl│ ^ │ & │ * │ ( │ ) │ - │ -├────────┾─────┾─────┾─────┾─────┾─────┾─────â”Ī ├─────┾─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ Lead │ Q │ W │E|LT1│R|LT2│ T │ │ │ │ Y │ U │ I │ O │ P │ [ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│Ctrl + B│A | ⇧│S | ⌃│D | âŒĨ│F | ⌘│ G ├─────â”Ī ├─────â”Ī H │J | ⌘│K | âŒĨ│L | ⌃│; | ⇧│ ' │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ] ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ \ │ Z │ X │ C │ V │ B │ │ │ │ N │ M │ , │ . │ / │ = │ -╰──┮─────┾─────┾─────┾─────┾─────┾─────â”ī─────â•Ŋ ╰─────â”ī─────┾─────┾─────┾─────┾─────┾─────┮──â•Ŋ - │⎇ + T│ │ │ │Arrow│ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ ╭─────┮─────â•Ū ╭─────┮─────â•Ū ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ - │Vol- │Vol+ │ │Play │Next │ - ╭─────┾─────┾─────â”Ī ├─────┾─────┾─────â•Ū - │ │ │ │ │ │ │ │ - │Enter│ Tab ├─────â”Ī ├─────â”ĪBspac│ âŽĩ │ - │ │ │ Esc │ │ Esc │ │ │ - ╰─────â”ī─────â”ī─────â•Ŋ ╰─────â”ī─────â”ī─────â•Ŋ - - 1_Numbers -╭────────┮─────┮─────┮─────┮─────┮─────┮─────â•Ū ╭─────┮─────┮─────┮─────┮─────┮─────┮────────â•Ū -│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ -├────────┾─────┾─────┾─────┾─────┾─────┾─────â”Ī ├─────┾─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ * │ F12 │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ ├─────â”Ī ├─────â”Ī │ 4 │ 5 │ 6 │ + │ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ \ │ │ -╰──┮─────┾─────┾─────┾─────┾─────┾─────â”ī─────â•Ŋ ╰─────â”ī─────┾─────┾─────┾─────┾─────┾─────┮──â•Ŋ - │Reset│ │ │ │ │ │ 0 │ . │ │ = │ │ - ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ ╭─────┮─────â•Ū ╭─────┮─────â•Ū ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ - │ │ │ │ │ │ - ╭─────┾─────┾─────â”Ī ├─────┾─────┾─────â•Ū - │ │ │ │ │ │ │ │ - │ │ ├─────â”Ī ├─────â”Ī │ │ - │ │ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â•Ŋ ╰─────â”ī─────â”ī─────â•Ŋ - - 2_Mouse -╭────────┮─────┮─────┮─────┮─────┮─────┮─────â•Ū ╭─────┮─────┮─────┮─────┮─────┮─────┮────────â•Ū -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├────────┾─────┾─────┾─────┾─────┾─────┾─────â”Ī ├─────┾─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │RgbMo│RgbTo│MsBtn│MsUp │MsBtn│ │ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ ├─────â”Ī ├─────â”ĪRgbSl│MsLef│MsDow│MsRig│ │ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │Toggl├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │ │ │MsWhU│ │MsWhD│ │ │ -╰──┮─────┾─────┾─────┾─────┾─────┾─────â”ī─────â•Ŋ ╰─────â”ī─────┾─────┾─────┾─────┾─────┾─────┮──â•Ŋ - │ │ │ │ │ │ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ ╭─────┮─────â•Ū ╭─────┮─────â•Ū ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ - │RgbHu│RgbHu│ │RgbVa│RgbVa│ - ╭─────┾─────┾─────â”Ī ├─────┾─────┾─────â•Ū - │ │ │ │ │ │ │ │ - │ │ ├─────â”Ī ├─────â”Ī │ │ - │ │ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â•Ŋ ╰─────â”ī─────â”ī─────â•Ŋ - - 3_Arrow -╭────────┮─────┮─────┮─────┮─────┮─────┮─────â•Ū ╭─────┮─────┮─────┮─────┮─────┮─────┮────────â•Ū -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├────────┾─────┾─────┾─────┾─────┾─────┾─────â”Ī ├─────┾─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ ├─────â”Ī ├─────â”Ī ← │ ↓ │ ↑ │ → │ │ │ -├────────┾─────┾─────┾─────┾─────┾─────â”Ī │ │ ├─────┾─────┾─────┾─────┾─────┾────────â”Ī -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -╰──┮─────┾─────┾─────┾─────┾─────┾─────â”ī─────â•Ŋ ╰─────â”ī─────┾─────┾─────┾─────┾─────┾─────┮──â•Ŋ - │ │ │ │ │ │ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ ╭─────┮─────â•Ū ╭─────┮─────â•Ū ╰─────â”ī─────â”ī─────â”ī─────â”ī─────â•Ŋ - │ │ │ │ │ │ - ╭─────┾─────┾─────â”Ī ├─────┾─────┾─────â•Ū - │ │ │ │ │ │ │ │ - │ │ ├─────â”Ī ├─────â”Ī │ │ - │ │ │ │ │ │ │ │ - ╰─────â”ī─────â”ī─────â•Ŋ ╰─────â”ī─────â”ī─────â•Ŋ - -``` - -Copyright © 2020 Rustam Zagirov. Released under [GPL-2.0](/LICENSE). diff --git a/keyboards/ergodox_ez/keymaps/stamm/rules.mk b/keyboards/ergodox_ez/keymaps/stamm/rules.mk deleted file mode 100644 index 619224bef45b..000000000000 --- a/keyboards/ergodox_ez/keymaps/stamm/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Set any rules.mk overrides for your specific keymap here. -# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file -LTO_ENABLE = yes -COMMAND_ENABLE = no -LEADER_ENABLE = yes -RGBLIGHT_ENABLE = yes - -TAP_DANCE_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c deleted file mode 100644 index 0e5d7e3a222d..000000000000 --- a/keyboards/ergodox_ez/keymaps/steno/keymap.c +++ /dev/null @@ -1,250 +0,0 @@ -#include QMK_KEYBOARD_H -#include "debug.h" -#include "action_layer.h" -#include "keymap_steno.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys -#define TXBOLT 3 // TxBolt Steno Virtual Serial -#define TXBOLT2 4 // TxBolt Steno Virtual Serial Alternative Layout - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | TX | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | BOLT |------+------+------+------+------+--------| - * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(TXBOLT), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), - MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT - ), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = LAYOUT_ergodox( - // left hand - M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | QK_BOOT | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[MDIA] = LAYOUT_ergodox( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_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_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -/* Keymap 3: TxBolt (Serial) - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | BKSPC | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | # | # | # | # | # | | | | # | # | # | # | # | # | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | S | T | P | H | * |------| |------| * | F | P | L | T | D | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | S | K | W | R | * | | | | * | R | B | G | S | Z | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | A | O |------| |------| E | U | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// TxBolt over Serial -[TXBOLT] = LAYOUT_ergodox( - KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, KC_NO, - KC_NO, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, - KC_NO, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_NO, - STN_A, STN_O, KC_NO, - // right hand - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, - STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, - KC_NO, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_NO, - KC_NO, STN_E, STN_U -), -/* Keymap 4: TxBolt (Serial) Alternative - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | # | # | # | # | # | | | | # | # | # | # | # | # | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | S | T | P | H | * | | | | * | F | P | L | T | D | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | S | K | W | R | * |------| |------| * | R | B | G | S | Z | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | A | O | | E | U | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// TxBolt over Serial -[TXBOLT2] = LAYOUT_ergodox( - KC_NO, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, KC_NO, - KC_NO, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, KC_NO, - KC_NO, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, STN_A, STN_O, - KC_NO, KC_NO, - KC_NO, - KC_NO, KC_NO, KC_NO, - // right hand - KC_NO, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, - KC_TRNS, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, - STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - STN_E, STN_U, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_NO, - KC_NO, KC_NO, KC_NO -), -}; - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - - uint8_t layer = get_highest_layer(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; diff --git a/keyboards/ergodox_ez/keymaps/steno/readme.md b/keyboards/ergodox_ez/keymaps/steno/readme.md deleted file mode 100644 index d67cde2a3cf3..000000000000 --- a/keyboards/ergodox_ez/keymaps/steno/readme.md +++ /dev/null @@ -1,92 +0,0 @@ -# ErgoDox EZ Steno Configuration - -This layout has a layer that uses the TxBolt Stenograph protocol over a Virtual Serial port. It requires something like Plover in order to function. - -In Plover, you can select TX Bolt as the Stenotype Machine, and find the COM port that was assigned. In this way, your regular keyboard will still function normally, and you can switch back and forth between the Steno and Keyboard layers. - -

-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |   =    |   1  |   2  |   3  |   4  |   5  | LEFT |           | RIGHT|   6  |   7  |   8  |   9  |   0  |   -    |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * | Del    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  TX  |   Y  |   U  |   I  |   O  |   P  |   \    |
- * |--------+------+------+------+------+------|      |           | BOLT |------+------+------+------+------+--------|
- * | BkSp   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|' / Cmd |
- * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
- * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
- *                                 ,------|------|------|       |------+--------+------.
- *                                 |      |      | Home |       | PgUp |        |      |
- *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
- *                                 |      |ace   | End  |       | PgDn |        |      |
- *                                 `--------------------'       `----------------------'
- */
-/* Keymap 1: Symbol Layer
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * |Version |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |      |
- *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      |
- *                                 |      |      |------|       |------|      |      |
- *                                 |      |      |      |       |      |      |      |
- *                                 `--------------------'       `--------------------'
- */
-/* Keymap 2: Media keys
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * | RESET  |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |------|           |------|      |      |      |      |      |  Play  |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |VolUp |VolDn | Mute |      |      |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |      |
- *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |Brwser|
- *                                 |      |      |------|       |------|      |Back  |
- *                                 |      |      |      |       |      |      |      |
- *                                 `--------------------'       `--------------------'
- */
-/* Keymap 3: TxBolt (Serial)
- *
- * ,--------------------------------------------------.           ,--------------------------------------------------.
- * | BKSPC  |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
- * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |   #  |   #  |   #  |   #  |   #  |      |           |      |   #  |   #  |   #  |   #  |   #  |   #    |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   S  |   T  |   P  |   H  |   *  |------|           |------|   *  |   F  |   P  |   L  |   T  |   D    |
- * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   S  |   K  |   W  |   R  |   *  |      |           |      |   *  |   R  |   B  |   G  |   S  |   Z    |
- * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |      |      |      |      |
- *   `----------------------------------'                                       `----------------------------------'
- *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |      |
- *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      |
- *                                 |   A  |   O  |------|       |------|   E  |   U  |
- *                                 |      |      |      |       |      |      |      |
- *                                 `--------------------'       `--------------------'
- */
-
diff --git a/keyboards/ergodox_ez/keymaps/steno/rules.mk b/keyboards/ergodox_ez/keymaps/steno/rules.mk deleted file mode 100644 index 4b64fd22de6a..000000000000 --- a/keyboards/ergodox_ez/keymaps/steno/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER -# Not enough interupts, so something has to go -MOUSEKEY_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/vim/config.h b/keyboards/ergodox_ez/keymaps/vim/config.h deleted file mode 100644 index 12928595010c..000000000000 --- a/keyboards/ergodox_ez/keymaps/vim/config.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H -#endif - -#define NORMAL_MODE 0 -#define INSERT_MODE 1 -#define SYMB 2 -#define MOUSE 3 - -#include "../../config.h" diff --git a/keyboards/ergodox_ez/keymaps/vim/keymap.c b/keyboards/ergodox_ez/keymaps/vim/keymap.c deleted file mode 100644 index c1c037ef234c..000000000000 --- a/keyboards/ergodox_ez/keymaps/vim/keymap.c +++ /dev/null @@ -1,370 +0,0 @@ -#include QMK_KEYBOARD_H -#include "quantum_keycodes.h" -#include "action_layer.h" -#include "version.h" -#include "vim.h" - -#define VERSION_STRING QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION -#define X_____X KC_TRNS -#define KC_ATM LGUI(LSFT(KC_P)) -#define KC_ATP LGUI(LCTL(KC_P)) -#define TO_NORM TO(NORMAL_MODE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Normal mode - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TAB | | WORD | END | | | | | | YANK | UNDO | | OPEN | PUT | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | ⎋ | | | DEL | | |------| |------| ← | ↓ | ↑ | → | | ⎋ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | SHIFT | | | |VISUAL| BACK | | | | | | | | | SHIFT | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * |SPACE |DELETE|------| |------|ENTER |BACKSP| - * | | | | | | | | - * `--------------------' `--------------------' - */ - [NORMAL_MODE] = LAYOUT_ergodox( - // Layer 2 Left Hand - X_____X,X_____X,X_____X,X_____X,X_____X,X_____X,X_____X, - KC_TAB ,X_____X,VIM_W, VIM_E ,X_____X,X_____X,X_____X, - X_____X,VIM_A ,VIM_S ,VIM_D ,X_____X,X_____X, - KC_LSFT,X_____X,VIM_X ,VIM_C ,VIM_V ,VIM_B ,X_____X, - KC_LCTL,KC_LALT,X_____X,X_____X,X_____X, - - KC_HOME,KC_END , - TO(SYMB), - GUI_T(KC_SPC), KC_ESC ,_______, - - - // Layer 2 Right Hand - X_____X,X_____X,X_____X,X_____X,X_____X,X_____X,X_____X, - X_____X,VIM_Y ,VIM_U ,VIM_I ,VIM_O ,VIM_P ,X_____X, - VIM_H ,VIM_J ,VIM_K ,VIM_L ,X_____X,X_____X, - X_____X,X_____X,X_____X,X_____X,X_____X,X_____X,KC_LSFT, - X_____X,X_____X,X_____X,KC_RALT,KC_RCTL, - - KC_PGUP, KC_PGDN, - TO(SYMB), - KC_DEL , KC_ENT, GUI_T(KC_BSPC) -), - - /* Insert mode - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | NORMAL | 1 | 2 | 3 | 4 | 5 | ⇧⌘P | | PROJ | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | â‡Ĩ | Q | W | E | R | T | ` | | - | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | ⎋ | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| = | | + |------+------+------+------+------+--------| - * | L⇧ | Z | X | C | V | B | | | | N | M | , | . | / | R⇧ | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ⌃ | âŒĨ | ( | [ | { | | } | ] | ) | âŒĨ | ⌃ | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | HOME | END | | PGDN | PGUP | - * ,------|------|------| |------+------+------. - * |SPACE | | | | | | BSPC | - * | |NORMAL|------| |------| ENTER| | - * | ⌘ | | | | | | ⌘ | - * `--------------------' `--------------------' - */ - [INSERT_MODE] = LAYOUT_ergodox( - // Left Hand - NOR_MOD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_ATM, - KC_TAB ,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, - KC_ESC ,KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, - KC_LCTL,KC_LALT,KC_LPRN,KC_LBRC, KC_LCBR, - - KC_HOME,KC_END , - TO(SYMB), - GUI_T(KC_SPC),KC_ESC ,TO_NORM, - - - // Right Hand - KC_ATP , KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_MINS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, - KC_PLUS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,KC_RSFT, - KC_RCBR,KC_RBRC, KC_RPRN,KC_RALT,KC_RCTL, - - KC_PGUP, KC_PGDN, - TO(SYMB), - MO(MOUSE) , KC_ENT, GUI_T(KC_BSPC) - ), - - [SYMB] = LAYOUT_ergodox( - // Left Hand - NOR_MOD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_ATM, - KC_TAB ,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_GRV, - _______,KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, - KC_LCTL,KC_LALT,KC_LPRN,KC_LBRC, KC_LCBR, - - _______,_______, - _______, - _______,_______,TO_NORM, - - // Right Hand - KC_ATP , KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_MINS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, - KC_PLUS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,KC_RSFT, - KC_RCBR,KC_RBRC, KC_RPRN,KC_RALT,KC_RCTL, - - _______,_______, - _______, - _______,_______,_______ - ), - - [MOUSE] = LAYOUT_ergodox( - // Left Hand - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, - - _______,_______, - _______, - _______,_______,_______, - - // Right Hand - _______,_______,_______,_______,_______,_______,_______, - _______,_______,KC_BTN1,KC_BTN3,KC_BTN2,_______,_______, - KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, - - _______,_______, - _______, - _______,_______,_______ - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool SHIFTED = (keyboard_report->mods & MOD_BIT(KC_LSFT)) | - (keyboard_report->mods & MOD_BIT(KC_RSFT)); - - switch (keycode) { - - case VIM_A: - if (record->event.pressed) { SHIFTED ? VIM_APPEND_LINE() : VIM_APPEND(); } - return false; - - case VIM_B: - if (record->event.pressed) { - switch(VIM_QUEUE) { - case KC_NO: VIM_BACK(); break; - case VIM_C: VIM_CHANGE_BACK(); break; - case VIM_D: VIM_DELETE_BACK(); break; - case VIM_V: VIM_VISUAL_BACK(); break; - } - } - return false; - - case VIM_C: - if (record->event.pressed) { - switch(VIM_QUEUE) { - case KC_NO: SHIFTED ? VIM_CHANGE_LINE() : VIM_LEADER(VIM_C); break; - case VIM_C: VIM_CHANGE_WHOLE_LINE(); break; - } - } - return false; - - case VIM_D: - if (record->event.pressed) { - switch(VIM_QUEUE) { - case KC_NO: SHIFTED ? VIM_DELETE_LINE() : VIM_LEADER(VIM_D); break; - case VIM_D: VIM_DELETE_WHOLE_LINE(); break; - } - } - return false; - - case VIM_E: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: VIM_END(); break; - case VIM_C: VIM_CHANGE_END(); break; - case VIM_D: VIM_DELETE_END(); break; - case VIM_V: VIM_VISUAL_END(); break; - } - } - return false; - - case VIM_H: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: VIM_LEFT(); break; - case VIM_C: VIM_CHANGE_LEFT(); break; - case VIM_D: VIM_DELETE_LEFT(); break; - case VIM_V: VIM_VISUAL_LEFT(); break; - } - } - return false; - - case VIM_I: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: layer_on(INSERT_MODE); break; - case VIM_C: VIM_LEADER(VIM_CI); break; - case VIM_D: VIM_LEADER(VIM_DI); break; - case VIM_V: VIM_LEADER(VIM_VI); break; - } - } - return false; - - case VIM_J: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: SHIFTED ? VIM_JOIN() : VIM_DOWN(); break; - case VIM_C: VIM_CHANGE_DOWN(); break; - case VIM_D: VIM_DELETE_DOWN(); break; - case VIM_V: VIM_VISUAL_DOWN(); break; - } - } - return false; - - case VIM_K: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: VIM_UP(); break; - case VIM_C: VIM_CHANGE_UP(); break; - case VIM_D: VIM_DELETE_UP(); break; - case VIM_V: VIM_VISUAL_UP(); break; - } - } - return false; - - case VIM_L: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: VIM_RIGHT(); break; - case VIM_C: VIM_CHANGE_RIGHT(); break; - case VIM_D: VIM_DELETE_RIGHT(); break; - case VIM_V: VIM_VISUAL_RIGHT(); break; - } - } - return false; - - case VIM_O: - if (record->event.pressed) { SHIFTED ? VIM_OPEN_ABOVE() : VIM_OPEN(); } - return false; - - case VIM_P: - if (record->event.pressed) { SHIFTED ? VIM_PUT_BEFORE() : VIM_PUT(); } - return false; - - case VIM_S: - if (record->event.pressed) { SHIFTED ? VIM_CHANGE_WHOLE_LINE() : VIM_SUBSTITUTE(); } - return false; - - case VIM_U: - if (record->event.pressed) { VIM_UNDO(); } - return false; - - case VIM_V: - if (record->event.pressed) { VIM_LEADER(VIM_V); } - return false; - - case VIM_W: - if (record->event.pressed) { - switch (VIM_QUEUE) { - case KC_NO: VIM_WORD(); break; - case VIM_C: VIM_CHANGE_WORD(); break; - case VIM_CI: VIM_CHANGE_INNER_WORD(); break; - case VIM_D: VIM_DELETE_WORD(); break; - case VIM_DI: VIM_DELETE_INNER_WORD(); break; - case VIM_V: VIM_VISUAL_WORD(); break; - case VIM_VI: VIM_VISUAL_INNER_WORD(); break; - } - } - return false; - - case VIM_X: - if (record->event.pressed) { VIM_CUT(); } - return false; - - case VIM_Y: - if (record->event.pressed) { SHIFTED ? VIM_YANK_LINE() : VIM_YANK(); } - return false; - - // dynamically generate these. - case EPRM: - if (record->event.pressed) { eeconfig_init(); } - return false; - case VRSN: - if (record->event.pressed) { SEND_STRING(VERSION_STRING); } - return false; - case RGB_SLD: - if (record->event.pressed) { rgblight_mode(1); } - return false; - } - - // End by clearing the queue unless keycode is a - // if ((record->event.pressed) && - // (keycode != VIM_I || - // keycode != VIM_C || - // keycode != VIM_D || - // keycode != VIM_V)) { - // VIM_LEADER(KC_NO); - // } - - return true; -}; - -void matrix_init_user(void) { - debug_enable = true; - VIM_LEADER(KC_NO); -}; - -void matrix_scan_user(void) { - uint8_t layer = get_highest_layer(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - case 3: - ergodox_right_led_3_on(); - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - break; - case 6: - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - case 7: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - break; - default: - break; - } - -}; diff --git a/keyboards/ergodox_ez/keymaps/vim/readme.md b/keyboards/ergodox_ez/keymaps/vim/readme.md deleted file mode 100644 index 8f7c6852446e..000000000000 --- a/keyboards/ergodox_ez/keymaps/vim/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Vim-like keymap for macOS - -This keymap adds vim emulation to the keyboard firmware. Layer 0 is 'normal mode', providing a number of commands like `w`, `e`, `a`, `dw`, etc. - -The keymap works by using macOS text-editing shortcuts, so currently it only chooches on macOS. diff --git a/keyboards/ergodox_ez/keymaps/vim/rules.mk b/keyboards/ergodox_ez/keymaps/vim/rules.mk deleted file mode 100644 index 6c605daecf53..000000000000 --- a/keyboards/ergodox_ez/keymaps/vim/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/vim/vim.h b/keyboards/ergodox_ez/keymaps/vim/vim.h deleted file mode 100644 index 2f3b859943d2..000000000000 --- a/keyboards/ergodox_ez/keymaps/vim/vim.h +++ /dev/null @@ -1,755 +0,0 @@ -#include "config.h" -#include "print.h" -#include "keycode.h" -#include "quantum.h" -#include "quantum_keycodes.h" - -#define NOR_MOD TO(NORMAL_MODE) -#define INS_MOD TO(INSERT_MODE) - -#define PRESS(keycode) register_code16(keycode) -#define RELEASE(keycode) unregister_code16(keycode) - -uint16_t VIM_QUEUE = KC_NO; - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - VIM_A, - VIM_B, - VIM_C, - VIM_CI, - VIM_D, - VIM_DI, - VIM_E, - VIM_H, - VIM_I, - VIM_J, - VIM_K, - VIM_L, - VIM_O, - VIM_P, - VIM_S, - VIM_U, - VIM_V, - VIM_VI, - VIM_W, - VIM_X, - VIM_Y, - EPRM, - VRSN, - RGB_SLD, -}; - -void VIM_APPEND(void); -void VIM_APPEND_LINE(void); -void VIM_BACK(void); -void VIM_CHANGE_BACK(void); -void VIM_CHANGE_DOWN(void); -void VIM_CHANGE_END(void); -void VIM_CHANGE_INNER_WORD(void); -void VIM_CHANGE_LEFT(void); -void VIM_CHANGE_LINE(void); -void VIM_CHANGE_RIGHT(void); -void VIM_CHANGE_UP(void); -void VIM_CHANGE_WHOLE_LINE(void); -void VIM_CHANGE_WORD(void); -void VIM_CUT(void); -void VIM_DELETE_BACK(void); -void VIM_DELETE_DOWN(void); -void VIM_DELETE_END(void); -void VIM_DELETE_INNER_WORD(void); -void VIM_DELETE_LEFT(void); -void VIM_DELETE_LINE(void); -void VIM_DELETE_RIGHT(void); -void VIM_DELETE_UP(void); -void VIM_DELETE_WHOLE_LINE(void); -void VIM_DELETE_WORD(void); -void VIM_END(void); -void VIM_JOIN(void); -void VIM_OPEN(void); -void VIM_OPEN_ABOVE(void); -void VIM_PUT(void); -void VIM_SUBSTITUTE(void); -void VIM_UNDO(void); -void VIM_VISUAL_BACK(void); -void VIM_VISUAL_DOWN(void); -void VIM_VISUAL_END(void); -void VIM_VISUAL_INNER_WORD(void); -void VIM_VISUAL_LEFT(void); -void VIM_VISUAL_RIGHT(void); -void VIM_VISUAL_UP(void); -void VIM_VISUAL_WORD(void); -void VIM_WORD(void); -void VIM_YANK(void); - -void TAP(uint16_t keycode) { - PRESS(keycode); - RELEASE(keycode); -} - -void CMD(uint16_t keycode) { - PRESS(KC_LGUI); - TAP(keycode); - RELEASE(KC_LGUI); -} - -void CTRL(uint16_t keycode) { - PRESS(KC_LCTL); - TAP(keycode); - RELEASE(KC_LCTL); -} - -void SHIFT(uint16_t keycode) { - PRESS(KC_LSFT); - TAP(keycode); - RELEASE(KC_LSFT); -} - -void ALT(uint16_t keycode) { - PRESS(KC_LALT); - TAP(keycode); - RELEASE(KC_LALT); -} - -/** - * Sets the `VIM_QUEUE` variable to the incoming keycode. - * Pass `KC_NO` to cancel the operation. - * @param keycode - */ -void VIM_LEADER(uint16_t keycode) { - VIM_QUEUE = keycode; - switch(keycode) { - case VIM_C: print("\e[32mc\e[0m"); break; - case VIM_CI: print("\e[32mi\e[0m"); break; - case VIM_D: print("\e[32md\e[0m"); break; - case VIM_DI: print("\e[32mi\e[0m"); break; - case VIM_V: print("\e[32mv\e[0m"); break; - case VIM_VI: print("\e[32mi\e[0m"); break; - case KC_NO: print("❎"); break; - } -} - -/*** - * ####### # # ####### ##### # # ####### ####### - * # # ## # # # # # # # # # - * # # # # # # # # # # # # - * # # # # # ##### ##### ####### # # # - * # # # # # # # # # # # # - * # # # ## # # # # # # # # - * ####### # # ####### ##### # # ####### # - * - */ - -/** - * Vim-like `append` command. - * Works by sending →. - */ -void VIM_APPEND(void) { - print("\e[31ma\e[0m"); - TAP(KC_RIGHT); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `back` command - * Simulates vim's `b` command by sending âŒĨ← - */ -void VIM_BACK(void) { - print("\e[31mb\e[0m"); - ALT(KC_LEFT); -} - -/** - * Vim-like `cut` command - * Simulates vim's `x` command by sending ⇧→ then ⌘X. - */ -void VIM_CUT(void) { - print("\e[31mx\e[0m"); - SHIFT(KC_RIGHT); - CMD(KC_X); -} - -/** - * Vim-like `down` command - * Sends ↓ - */ -void VIM_DOWN(void) { - print("\e[31mj\e[0m"); - TAP(KC_DOWN); -} - -/** - * Vim-like `end` command - * Simulates vim's `e` command by sending âŒĨ→ - */ -void VIM_END(void) { - print("\e[31me\e[0m"); - ALT(KC_RIGHT); -} - -/** - * Vim-like `left` command - * Sends ← - */ -void VIM_LEFT(void) { - print("\e[31mh\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_LEFT); -} - -/** - * Vim-like `open` command. - * Works by sending ⌘→ to move to the end of the line, `enter` to open a new line, - * then switching to insert mode. - */ -void VIM_OPEN(void) { - print("\e[31mo\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_RIGHT); - TAP(KC_ENTER); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `put` command - * Simulates vim's `p` command by sending ⌘V - */ -void VIM_PUT(void) { - print("\e[31mp\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_V); -} - -/** - * Vim-like `put before` command - * Simulates vim's `P` command by sending ↑, ⌘←, then ⌘V - */ -void VIM_PUT_BEFORE(void) { - print("\e[31mP\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_UP); - CMD(KC_LEFT); - CMD(KC_V); -} - -/** - * Vim-like `right` command - * Sends → - */ -void VIM_RIGHT(void) { - print("\e[31ml\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_RIGHT); -} - -/** - * Vim-like `substitute` command - * Simulates vim's `s` command by sending ⇧→ to select the next character, then - * ⌘X to cut it, then entering insert mode. - */ -void VIM_SUBSTITUTE(void) { - print("\e[31ms\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_RIGHT); - CMD(KC_X); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `undo` command - * Simulates vim's `u` command by sending ⌘Z - */ -void VIM_UNDO(void) { - print("\e[31mu\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_Z); -} - -/** - * Vim-like `up` command - * Sends ↑ - */ -void VIM_UP(void) { - print("\e[31mk\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_UP); -} - -/** - * Vim-like `word` command - * Simulates vim's `w` command by moving the cursor first to the - * end of the current word, then to the end of the next word, - * then to the beginning of that word. - */ -void VIM_WORD(void) { - print("\e[31mw\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - TAP(KC_RIGHT); - TAP(KC_RIGHT); - TAP(KC_LEFT); - RELEASE(KC_LALT); -} - -/** - * Vim-like `yank` command - * Simulates vim's `y` command by sending ⌘C - */ -void VIM_YANK(void) { - print("\e[31my\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_C); -} - -/** - * Vim-like `yank line` command - * Simulates vim's `y` command by sending ⌘← then ⇧⌘→ then ⌘C - */ -void VIM_YANK_LINE(void) { - print("\e[31mY\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_LEFT); - PRESS(KC_LSFT); - CMD(KC_RIGHT); - RELEASE(KC_LSFT); - CMD(KC_C); -} - -/*** - * ##### # # ### ####### ####### ####### ###### - * # # # # # # # # # # - * # # # # # # # # # - * ##### ####### # ##### # ##### # # - * # # # # # # # # # - * # # # # # # # # # # - * ##### # # ### # # ####### ###### - * - */ - -/** - * Vim-like `append to line` command - * Simulates vim's `A` command by sending ⌘→ then switching to insert mode. - */ -void VIM_APPEND_LINE(void) { - print("\e[31mA\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_RIGHT); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change line` command - * Simulates vim's `C` command by sending ⌃K then switching to insert mode. - */ -void VIM_CHANGE_LINE(void) { - print("\e[31mC\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_LINE(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like 'delete line' command - * Simulates vim's `D` command by sending ⌃K to kill the line - */ -void VIM_DELETE_LINE(void) { - print("\e[31mD\e[0m"); - VIM_LEADER(KC_NO); - CTRL(KC_K); -} - -/** - * Vim-like 'join lines' command - * Simulates vim's `J` command by sending ⌘→ to go to the end of the line, then - * DELETE to join the lines - */ -void VIM_JOIN(void) { - print("\e[31mJ\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_RIGHT); - TAP(KC_DELETE); - VIM_LEADER(KC_NO); -} - -/** - * Vim-like 'open above' command - * Simulates vim's `O` command by sending ⌘→ to go to the start of the line, - * enter to move the line down, ↑ to move up to the new line, then switching to - * insert mode. - */ -void VIM_OPEN_ABOVE(void) { - print("\e[31mO\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_LEFT); - TAP(KC_ENTER); - TAP(KC_UP); - layer_on(INSERT_MODE); -} - -/** - * Vim-like 'change whole line' command - * Simulates vim's `S` `cc` or `c$` commands by sending ⌘← to go to the start of the line, - * ⌃K to kill the line, then switching to insert mode. - */ -void VIM_CHANGE_WHOLE_LINE(void) { - print("\e[31mS\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_LEFT); - VIM_CHANGE_LINE(); -} - -/*** - * ###### ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * # # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # # - * # # # # # # # # # # # # # - * ###### # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `delete to end` command - * Simulates vim's `de` command by sending âŒĨ⇧→ then ⌘X. - */ -void VIM_DELETE_END(void) { - print("\e[31me\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_RIGHT); // select to end of this word - RELEASE(KC_LALT); - CMD(KC_X); -} - -/** - * Vim-like `delete whole line` command - * Simulates vim's `dd` command by sending ⌘← to move to start of line, - * selecting the whole line, then sending ⌘X to cut the line. - * alternate method: ⌘âŒŦ, ⌃K - */ -void VIM_DELETE_WHOLE_LINE(void) { - print("\e[31md\e[0m"); - VIM_LEADER(KC_NO); - CMD(KC_LEFT); - PRESS(KC_LSFT); - CMD(KC_RIGHT); - RELEASE(KC_LSFT); - CMD(KC_X); -} - -/** - * Vim-like `delete word` command - * Simulates vim's `dw` command by sending âŒĨ⇧→→← then ⌘X to select to the start - * of the next word then cut. - */ -void VIM_DELETE_WORD(void) { - print("\e[31mw\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_RIGHT); // select to end of this word - SHIFT(KC_RIGHT); // select to end of next word - SHIFT(KC_LEFT); // select to start of next word - RELEASE(KC_LALT); - CMD(KC_X); // delete selection -} - -/** - * Vim-like `delete back` command - * Simulates vim's `db` command by selecting to the end of the word then deleting. - */ -void VIM_DELETE_BACK(void) { - print("\e[31mb\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_LEFT); // select to start of word - SHIFT(KC_DEL); // delete selection - RELEASE(KC_LSFT); -} - -/** - * Vim-like `delete left` command - * Simulates vim's `dh` command by sending ⇧← then ⌘X. - */ -void VIM_DELETE_LEFT(void) { - print("\e[31mh\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_LEFT); - CMD(KC_X); -} - -/** - * Vim-like `delete right` command - * Simulates vim's `dl` command by sending ⇧→ then ⌘X. - */ -void VIM_DELETE_RIGHT(void) { - print("\e[31ml\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_RIGHT); - CMD(KC_X); -} - -/** - * Vim-like `delete up` command - * Simulates vim's `dk` command by sending ↑ then deleting the line. - */ -void VIM_DELETE_UP(void) { - print("\e[31mk\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_UP); - VIM_DELETE_LINE(); -} - -/** - * Vim-like `delete down` command - * Simulates vim's `dj` command by sending ↓ then deleting the line. - */ -void VIM_DELETE_DOWN(void) { - print("\e[31mj\e[0m"); - VIM_LEADER(KC_NO); - TAP(KC_DOWN); - VIM_DELETE_LINE(); -} - -/*** - * ###### ### ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # # - * # # # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * ###### ### # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `delete inner word` command - * Simulates vim's `diw` command by moving back then cutting to the end of the word. - */ -void VIM_DELETE_INNER_WORD(void) { - print("\e[31mw\e[0m"); - VIM_LEADER(KC_NO); - VIM_BACK(); - VIM_DELETE_END(); -} - -/*** - * ##### ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # - * # # # # # # # # # # # # # - * # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # - * # # # # # # # # # # # # # - * ##### # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `change back` command - * Simulates vim's `cb` command by first deleting to the start of the word, - * then switching to insert mode. - */ -void VIM_CHANGE_BACK(void) { - print("\e[31mb\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_BACK(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change down` command - * Simulates vim's `cj` command by sending ↓ then changing the line. - */ -void VIM_CHANGE_DOWN(void) { - print("\e[31mj\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_DOWN(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change to end` command - * Simulates vim's `ce` command by first deleting to the end of the word, - * then switching to insert mode. - */ -void VIM_CHANGE_END(void) { - print("\e[31mce\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_END(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change left` command - * Simulates vim's `ch` command by deleting left then switching to insert mode. - */ -void VIM_CHANGE_LEFT(void) { - print("\e[31mch\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_LEFT(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change right` command - * Simulates vim's `cl` command by deleting right then switching to insert mode. - */ -void VIM_CHANGE_RIGHT(void) { - print("\e[31mcl\e[0m"); - VIM_DELETE_RIGHT(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change up` command - * Simulates vim's `ck` command by deleting up then switching to insert mode. - */ -void VIM_CHANGE_UP(void) { - print("\e[31mck\e[0m"); - VIM_DELETE_UP(); - layer_on(INSERT_MODE); -} - -/** - * Vim-like `change word` command - * Simulates vim's `cw` command by first deleting to the end of the word, - * then switching to insert mode. - */ -void VIM_CHANGE_WORD(void) { - print("\e[31mcw\e[0m"); - VIM_LEADER(KC_NO); - VIM_DELETE_WORD(); - layer_on(INSERT_MODE); -} - -/*** - * ##### ### ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * # # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * ##### ### # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `change inner word` command - * Simulates vim's `ciw` command by deleting the inner word then switching to insert mode. - */ -void VIM_CHANGE_INNER_WORD(void) { - print("\e[31mciw\e[0m"); - VIM_DELETE_INNER_WORD(); - layer_on(INSERT_MODE); -} - -/*** - * # # ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * # # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # # - * # # # # # # # # # # # # # - * # # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `visual select back` command - * Simulates vim's `vb` command by selecting to the enc of the word. - */ -void VIM_VISUAL_BACK(void) { - print("\e[31mvb\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_LEFT); // select to start of word - RELEASE(KC_LALT); -} - -/** - * Vim-like `visual select to end` command - * Simulates vim's `ve` command by selecting to the end of the word. - */ -void VIM_VISUAL_END(void) { - print("\e[31mve\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_RIGHT); // select to end of this word - RELEASE(KC_LALT); -} - -/** - * Vim-like `visual select word` command - * Simulates vim's `vw` command by selecting to the end of the word. - */ -void VIM_VISUAL_WORD(void) { - print("\e[31mvw\e[0m"); - VIM_LEADER(KC_NO); - PRESS(KC_LALT); - SHIFT(KC_RIGHT); // select to end of this word - SHIFT(KC_RIGHT); // select to end of next word - SHIFT(KC_LEFT); // select to start of next word - RELEASE(KC_LALT); -} - -/** - * Vim-like `visual left` command - * Simulates vim's `vh` command by sending ⇧←. - */ -void VIM_VISUAL_LEFT(void) { - print("\e[31mvh\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_LEFT); -} - -/** - * Vim-like `visual right` command - * Simulates vim's `vl` command by sending ⇧→. - */ -void VIM_VISUAL_RIGHT(void) { - print("\e[31mvl\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_RIGHT); -} - -/** - * Vim-like `visual up` command - * Simulates vim's `vk` command by sending ⇧↑. - */ -void VIM_VISUAL_UP(void) { - print("\e[31mvk\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_UP); -} - -/** - * Vim-like `visual down` command - * Simulates vim's `vj` command by sending ⇧↓. - */ -void VIM_VISUAL_DOWN(void) { - print("\e[31mdj\e[0m"); - VIM_LEADER(KC_NO); - SHIFT(KC_DOWN); -} - -/*** - * # # ### ###### ###### ####### ####### ### # # ####### ###### - * # # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # # - * # # # ###### ###### ##### ##### # # ##### # # - * # # # # # # # # # # # # # # - * # # # # # # # # # # # # # # - * # ### # # # ####### # ### # # ####### ###### - * - */ - -/** - * Vim-like `visual inner word` command - * Simulates vim's `viw` command by moving back then selecting to the end of the word. - */ -void VIM_VISUAL_INNER_WORD(void) { - print("\e[31mviw\e[0m"); - VIM_LEADER(KC_NO); - VIM_BACK(); - VIM_VISUAL_END(); -} diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c index fe40ab797e71..23ef91b74feb 100644 --- a/keyboards/ergodox_ez/led_i2c.c +++ b/keyboards/ergodox_ez/led_i2c.c @@ -22,7 +22,7 @@ along with this program. If not, see . # include "ergodox_ez.h" -void rgblight_call_driver(LED_TYPE *led, uint8_t led_num) { +void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) { i2c_init(); i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT); int i = 0; diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk index b51e93061b94..bba3bd86aef7 100644 --- a/keyboards/ergodox_ez/rules.mk +++ b/keyboards/ergodox_ez/rules.mk @@ -17,12 +17,11 @@ UNICODE_ENABLE = no # Unicode SWAP_HANDS_ENABLE= no # Allow swapping hands of keyboard RGB_MATRIX_ENABLE = no # enable later -DEBOUNCE_TYPE = sym_eager_pr # project specific files SRC += matrix.c \ led_i2c.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes # Disable unsupported hardware AUDIO_SUPPORTED = no diff --git a/keyboards/ergodox_stm32/rules.mk b/keyboards/ergodox_stm32/rules.mk index e730df82aa91..5481eef1a2ee 100644 --- a/keyboards/ergodox_stm32/rules.mk +++ b/keyboards/ergodox_stm32/rules.mk @@ -15,8 +15,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover CUSTOM_MATRIX = yes # Custom matrix file UNICODE_ENABLE = yes # Unicode -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c index 093d586eba7c..e2a9f0b32239 100644 --- a/keyboards/ergoslab/keymaps/default/keymap.c +++ b/keyboards/ergoslab/keymaps/default/keymap.c @@ -16,7 +16,7 @@ enum layer_names { #endif const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_ergoslab( + [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, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LBRC, KC_LPRN, KC_ESC, MO(MDIA),KC_RGUI, KC_TAB, TG(MOUS), KC_BSPC, KC_RPRN, KC_RBRC ), - [MDIA] = LAYOUT_ergoslab( + [MDIA] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, KC_MUTE, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [NUMB] = LAYOUT_ergoslab( + [NUMB] = LAYOUT( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_BSLS, KC_PIPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_GRV, KC_COLN, KC_TILD, _______, _______, _______, @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [MOUS] = LAYOUT_ergoslab( + [MOUS] = LAYOUT( _______, _______, KC_MS_U, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN3, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ergoslab/rev1/config.h b/keyboards/ergoslab/rev1/config.h deleted file mode 100644 index 414de0ed1580..000000000000 --- a/keyboards/ergoslab/rev1/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2019 Tom Saleeba - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 -// FIXME this following line should enable our layer status LEDs to work on both -// sides without need to wire them into a chain. It doesn't though. Uncommenting -// means the slave side of the keyboard stops working (and the LEDs don't work). -// #define RGBLED_SPLIT {1,1} - -/* - * 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 d786799810d5..51c522043b37 100644 --- a/keyboards/ergoslab/rev1/info.json +++ b/keyboards/ergoslab/rev1/info.json @@ -16,13 +16,19 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "D3" }, "processor": "atmega32u4", "bootloader": "caterina", + "layout_aliases": { + "LAYOUT_ergoslab": "LAYOUT" + }, "layouts": { - "LAYOUT_ergoslab": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0.625}, {"matrix": [0, 1], "x": 1, "y": 0.125}, diff --git a/keyboards/ergotravel/keymaps/ian/config.h b/keyboards/ergotravel/keymaps/ian/config.h deleted file mode 100644 index fcec22e2d481..000000000000 --- a/keyboards/ergotravel/keymaps/ian/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -// #define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS - -#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 -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ergotravel/keymaps/ian/keymap.c b/keyboards/ergotravel/keymaps/ian/keymap.c deleted file mode 100644 index cd1e01043eb4..000000000000 --- a/keyboards/ergotravel/keymaps/ian/keymap.c +++ /dev/null @@ -1,91 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -enum custom_layers { - _COLEMAK, - _ADJUST, - _RAISE, - _LOWER, - _QWERTY -}; - -#define BASELYR TO(_COLEMAK) // base layer -#define LOWER MO(_LOWER) // momentary lower layer -#define RAISE MO(_RAISE) // momentary raise layer -#define ADJUST MO(_ADJUST) // momentary adjust layer -#define QWERTY TG(_QWERTY) -#define LLOWER TG(_LOWER) // lock for lower layer -#define LRAISE TG(_RAISE) // lock for raise layer -#define LHALF LALT(LGUI(KC_LEFT)) // spec left half screen -#define TLHALF LCTL(LGUI(KC_LEFT)) // spec top left half -#define BLHALF LCTL(LSFT(LGUI(KC_LEFT))) // spec bottom left half -#define RHALF LALT(LGUI(KC_RIGHT)) // spec right half screen -#define TRHALF LCTL(LGUI(KC_RIGHT)) // spec top right half -#define BRHALF LCTL(LSFT(LGUI(KC_RIGHT))) // spec bottom right half -#define SAFBCK LGUI(KC_LBRC) // safari back -#define SAFFWD LGUI(KC_RBRC) // safari forward -#define CENTER LALT(LGUI(KC_C)) // spec center -#define FULL LALT(LGUI(KC_F)) // spec full screen - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_COLEMAK] = LAYOUT( - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G ,KC_LCBR, KC_RCBR, 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_LPRN, KC_RPRN, KC_H , KC_N , KC_E , KC_I , KC_O ,KC_QUOT, - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_LBRC , KC_RBRC , KC_K , KC_M ,KC_COMM, KC_DOT,KC_SLSH,KC_ENT , - //,------+-------+-------+-------+-------+-------+-------. .-------+-------+-------+-------+-------+-------+-------. - ADJUST ,KC_LCTL,KC_LALT,KC_LGUI, LOWER, KC_SPC, KC_LSFT, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RGHT - //,------+-------+-------+-------+-------/-------/ \-------\-------+-------+-------+-------+-------' - ), - - [_ADJUST] = LAYOUT( - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - BASELYR,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, QK_BOOT , - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - 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_F10 ,KC_F11 ,KC_F12 ,LLOWER ,XXXXXXX, XXXXXXX,LRAISE ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX - //`------+-------+-------+-------+-------/-------/ \------\-------+-------+-------+-------+-------' - ), - - [_RAISE] = LAYOUT( - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - BASELYR,KC_EXLM, KC_AT, KC_HASH, KC_DLR,KC_LCBR,XXXXXXX, XXXXXXX, KC_RCBR, TLHALF, CENTER, TRHALF, XXXXXXX, KC_BSPC, - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - KC_TILD,KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,XXXXXXX, XXXXXXX, KC_RPRN, LHALF, FULL, RHALF, XXXXXXX, KC_VOLU, - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - KC_GRV, KC_MINS,KC_PLUS,KC_UNDS,KC_EQL, KC_LBRC,XXXXXXX, XXXXXXX, KC_RBRC, BLHALF, XXXXXXX, BRHALF, XXXXXXX, KC_VOLD, - //|-------+-------+-------+-------+-------+-------+-------. .-------+-------+-------+-------+-------+-------+-------| - XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_TRNS,KC_SPC, KC_LSFT, KC_TRNS, XXXXXXX, KC_F14, KC_F15, KC_MUTE - //`-------+-------+-------+-------+-------/-------/ \------\-------+-------+-------+-------+-------' - ), - - [_LOWER] = LAYOUT( - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - BASELYR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR,XXXXXXX, XXXXXXX, KC_RCBR, KC_7, KC_8, KC_9, KC_MINS, KC_BSPC, - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - XXXXXXX, XXXXXXX, SAFBCK, XXXXXXX, SAFFWD, KC_LPRN,XXXXXXX, XXXXXXX, KC_RPRN, KC_4, KC_5, KC_6, KC_PLUS, XXXXXXX, - //,------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC,XXXXXXX, XXXXXXX, KC_RBRC, KC_1, KC_2, KC_3, KC_ASTR, KC_ENT, - //|-------+-------+-------+-------+-------+-------+-------. .-------+-------+-------+-------+-------+-------+-------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_SPC, KC_LSFT, KC_0, KC_0, KC_DOT, KC_SLASH, XXXXXXX - //`-------+-------+-------+-------+-------/-------/ \------\-------+-------+-------+-------+-------' - ) - -}; - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - - } - return true; -} - diff --git a/keyboards/ergotravel/keymaps/jarred/config.h b/keyboards/ergotravel/keymaps/jarred/config.h deleted file mode 100644 index c2948493ed66..000000000000 --- a/keyboards/ergotravel/keymaps/jarred/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 USE_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS diff --git a/keyboards/ergotravel/keymaps/jarred/keymap.c b/keyboards/ergotravel/keymaps/jarred/keymap.c deleted file mode 100644 index adedebe6efae..000000000000 --- a/keyboards/ergotravel/keymaps/jarred/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2018 Jarred Steenvoorden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "jarred.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT_ergotravel_grid_wrapper( - QWERTY_L1, KC_NO, KC_NO, QWERTY_R1, - QWERTY_L2, KC_NO, KC_NO, QWERTY_R2, - QWERTY_L3, KC_NO, KC_NO, QWERTY_R3, - QWERTY_4_12), - - [_LW] = LAYOUT_ergotravel_grid_wrapper( - LOWER_L1, KC_NO, KC_NO, LOWER_R1, - LOWER_L2, KC_NO, KC_NO, LOWER_R2, - LOWER_L3, KC_NO, KC_NO, LOWER_R3, - LOWER_4_12), - - [_NV] = LAYOUT_ergotravel_grid_wrapper( - NAV_L1, KC_NO, KC_NO, NAV_R1, - NAV_L2, KC_NO, KC_NO, NAV_R2, - NAV_L3, KC_NO, KC_NO, NAV_R3, - NAV_4_12), - - [_NP] = LAYOUT_ergotravel_grid_wrapper( - NUMPAD_L1, KC_NO, KC_NO, NUMPAD_R1, - NUMPAD_L2, KC_NO, KC_NO, NUMPAD_R2, - NUMPAD_L3, KC_NO, KC_NO, NUMPAD_R3, - NUMPAD_4_12), - - [_MS] = LAYOUT_ergotravel_grid_wrapper( - MOUSE_L1, KC_NO, KC_NO, MOUSE_R1, - MOUSE_L2, KC_NO, KC_NO, MOUSE_R2, - MOUSE_L3, KC_NO, KC_NO, MOUSE_R3, - MOUSE_4_12) -}; diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 40cf1e37525d..000000000000 --- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ -XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX \ -) diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/ergotravel/keymaps/rs/config.h b/keyboards/ergotravel/keymaps/rs/config.h deleted file mode 100644 index 53487d0f9248..000000000000 --- a/keyboards/ergotravel/keymaps/rs/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#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 -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ergotravel/keymaps/rs/keymap.c b/keyboards/ergotravel/keymaps/rs/keymap.c deleted file mode 100644 index f8c6de56bc7f..000000000000 --- a/keyboards/ergotravel/keymaps/rs/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#include QMK_KEYBOARD_H -#include "rs.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_GRV, KC_BSLS, KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - KC_ESCC, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_PIPE, KC_MINS, 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_SPC, KC_BSPC, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_ENTS, - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - KC_FN ,_______,KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_BSPC, KC_CODE,KC_LEFT, KC_UP ,KC_DOWN,KC_RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - [_CODE] = LAYOUT( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - KC_GRV ,KC_EXLM, KC_AT ,KC_HASH, KC_DLR,KC_PERC,_______, _______,KC_CIRC,KC_LPLT,KC_ASTR,KC_RPGT,KC_NEQL,_______, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,_______, _______,KC_MINS,KC_LBRC, KC_UP ,KC_RBRC,_______,KC_BSLS, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DOT, _______,KC_AMPR,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_PIPE, - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______ - //`----+----+----+----+----/----/ \----\----+----+----+----+----' - ), - [_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_BRMU, _______,_______,_______,KC_PGUP,_______,_______,_______, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - _______,_______,_______,_______,_______, KC_RST,KC_BRMD, KC_VOLU,_______,KC_CTRA,KC_PGDN,KC_CTRE,_______,_______, - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - _______,_______,_______,_______,_______,_______, KC_VOLD,KC_MUTE,_______,_______,_______,_______ - //`----+----+----+----+----/----/ \----\----+----+----+----+----' - ), -}; diff --git a/keyboards/ergotravel/keymaps/rs/readme.md b/keyboards/ergotravel/keymaps/rs/readme.md deleted file mode 100644 index d23ab66877a5..000000000000 --- a/keyboards/ergotravel/keymaps/rs/readme.md +++ /dev/null @@ -1 +0,0 @@ -See [rs readme](../../../../users/rs/readme.md). \ No newline at end of file diff --git a/keyboards/ergotravel/keymaps/yanfali/config.h b/keyboards/ergotravel/keymaps/yanfali/config.h deleted file mode 100644 index 194503df2d4e..000000000000 --- a/keyboards/ergotravel/keymaps/yanfali/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#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 -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - -#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_LGUI))) diff --git a/keyboards/ergotravel/keymaps/yanfali/keymap.c b/keyboards/ergotravel/keymaps/yanfali/keymap.c deleted file mode 100644 index b2b62484a9ee..000000000000 --- a/keyboards/ergotravel/keymaps/yanfali/keymap.c +++ /dev/null @@ -1,108 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 16 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( - //,---------------------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------. - 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_MINUS, - //|---------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - MT(MOD_LCTL, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LCBR, KC_RCBR, 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_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - //|---------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - ADJUST, ADJUST, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - //`---------------------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' - ), - - [_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_BSPC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_Y, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, RAISE, _______, _______, _______, _______ - //`--------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' - ), - - - [_RAISE] = LAYOUT( - //,--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------. - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, _______, KC_Y, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, RAISE, _______, _______, _______, _______ - //`--------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' - ), - - [_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, QK_BOOT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, RAISE, _______, _______, _______, _______ - //`--------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' - ) - -}; - - - - - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/ergotravel/keymaps/yanfali/rules.mk b/keyboards/ergotravel/keymaps/yanfali/rules.mk deleted file mode 100644 index ab3621cd7ed7..000000000000 --- a/keyboards/ergotravel/keymaps/yanfali/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -BOOTLOADER = qmk-dfu - -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -LTO_ENABLE = yes diff --git a/keyboards/ergotravel/rev1/config.h b/keyboards/ergotravel/rev1/config.h index 326a8f8ffe77..790a2696fbe1 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 01fd3265e941..77aecec0ed14 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 01118712d2d4..3dae9f6603fa 100644 --- a/keyboards/esca/getawayvan/config.h +++ b/keyboards/esca/getawayvan/config.h @@ -19,21 +19,6 @@ along with this program. If not, see . #define GRAVE_ESC_CTRL_OVERRIDE -#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 -#define RGBLED_NUM 51 -#define RGBLIGHT_HUE_STEP 20 -#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/esca/getawayvan/info.json b/keyboards/esca/getawayvan/info.json index ba31f9c260bd..2a473d0c11b5 100644 --- a/keyboards/esca/getawayvan/info.json +++ b/keyboards/esca/getawayvan/info.json @@ -17,7 +17,21 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 128 + "hue_steps": 20, + "led_count": 51, + "max_brightness": 128, + "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 + } }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/esca/getawayvan_f042/config.h b/keyboards/esca/getawayvan_f042/config.h index 01118712d2d4..3dae9f6603fa 100644 --- a/keyboards/esca/getawayvan_f042/config.h +++ b/keyboards/esca/getawayvan_f042/config.h @@ -19,21 +19,6 @@ along with this program. If not, see . #define GRAVE_ESC_CTRL_OVERRIDE -#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 -#define RGBLED_NUM 51 -#define RGBLIGHT_HUE_STEP 20 -#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/esca/getawayvan_f042/info.json b/keyboards/esca/getawayvan_f042/info.json index e39d2b4c22dd..08a18b5f0a1d 100644 --- a/keyboards/esca/getawayvan_f042/info.json +++ b/keyboards/esca/getawayvan_f042/info.json @@ -17,7 +17,21 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 128 + "hue_steps": 20, + "led_count": 51, + "max_brightness": 128, + "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 + } }, "processor": "STM32F042", "bootloader": "stm32-dfu", diff --git a/keyboards/eternal_keypad/config.h b/keyboards/eternal_keypad/config.h index 6eaf9220c73e..e2e4c258cc45 100644 --- a/keyboards/eternal_keypad/config.h +++ b/keyboards/eternal_keypad/config.h @@ -17,19 +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 -#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 - /* 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/eternal_keypad/info.json b/keyboards/eternal_keypad/info.json index f10b4ab8a4d3..d17b501909c1 100644 --- a/keyboards/eternal_keypad/info.json +++ b/keyboards/eternal_keypad/info.json @@ -16,6 +16,22 @@ "bootmagic": { "matrix": [0, 1] }, + "rgblight": { + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/eternal_keypad/keymaps/kyek/config.h b/keyboards/eternal_keypad/keymaps/kyek/config.h deleted file mode 100644 index 36ab46334c0a..000000000000 --- a/keyboards/eternal_keypad/keymaps/kyek/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 duckyb - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 ONESHOT_TIMEOUT 2000 -#define FORCE_NKRO diff --git a/keyboards/eternal_keypad/keymaps/kyek/keymap.c b/keyboards/eternal_keypad/keymaps/kyek/keymap.c deleted file mode 100644 index 1dd2f2f0b3f4..000000000000 --- a/keyboards/eternal_keypad/keymaps/kyek/keymap.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright 2021 duckyb - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _ARROW, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base Layer - * ,-------------------------------------. - * | | Esc | 1| 2| 3| 4| 5| 6| - * | |-------+---+---+---+---+---+---| - * | | Tab | Q| W| E| R| T| 7| - * |----||-------+---+---+---+---+---+---| - * | F13|| Enter | A| S| D| F| G| 8| - * |----||-------+---+---+---+---+---+---| - * | F14|| Shift | Z| X| C| V| B| 9| - * |----||-------------------------------| - * | F15|| LCtrl | _FN |Alt| Space | 0| - * `----'`-------------------------------' - */ - [_BASE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, - KC_F13, KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_8, - KC_F14, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_9, - KC_LGUI, KC_LCTL, OSL(_FN), KC_LALT, KC_SPC, LT(_ARROW, KC_0) - ), - /* Arrows Layer - * ,-----------------------------------------. - * | | | | | | | | | - * | |-------+----+----+-----+---+---+---| - * | | | | UP| | | | | - * |----||-------+----+----+-----+---+---+---| - * | || |LEFT|DOWN|RIGHT| | | | - * |----||-------+----+----+-----+---+---+---| - * | || | | | | | | | - * |----||-----------------------------------| - * | RST|| | | | | | - * `----'`-----------------------------------' - */ - [_ARROW] = LAYOUT( - _______, _______, _______, _______, RGB_MODE_RGBTEST, RGB_TOG, RGB_HUI, - _______, _______, KC_UP, _______, _______, RGB_MODE_PLAIN, RGB_HUD, - _______, KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______, RGB_MODE_BREATHE, RGB_VAI, - _______, _______, _______, _______, _______, _______, RGB_MODE_SWIRL, RGB_VAD, - QK_BOOT, _______, _______, _______, _______, _______ - ), - /* Function Layer - * ,-------------------------------------. - * | | | F1| F2| F3| F4| F5| F6| - * | |-------+---+---+---+---+---+---| - * | | | P| O| I| U| Y| F7| - * |----||-------+---+---+---+---+---+---| - * | || Bspc | ;| L| K| J| H| F8| - * |----||-------+---+---+---+---+---+---| - * | || |Gui| M| N|F12|F11| F9| - * |----||-------------------------------| - * | || | | | |F10| - * `----'`-------------------------------' - */ - [_FN] = LAYOUT( - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6, - _______, KC_P , KC_O , KC_I , KC_U , KC_Y , KC_F7, - _______, KC_BSPC, KC_SCLN, KC_L , KC_K , KC_J , KC_H , KC_F8, - _______, _______, _______, KC_M , KC_N , KC_F12, KC_F11, KC_F9, - _______, _______, _______, _______, _______, KC_F10 - ) -}; diff --git a/keyboards/eternal_keypad/keymaps/kyek/readme.md b/keyboards/eternal_keypad/keymaps/kyek/readme.md deleted file mode 100644 index d4c6162b0f2f..000000000000 --- a/keyboards/eternal_keypad/keymaps/kyek/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Kyek's personal keymap for eternal_keypad diff --git a/keyboards/eternal_keypad/keymaps/lefty/config.h b/keyboards/eternal_keypad/keymaps/lefty/config.h deleted file mode 100644 index 36ab46334c0a..000000000000 --- a/keyboards/eternal_keypad/keymaps/lefty/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 duckyb - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 ONESHOT_TIMEOUT 2000 -#define FORCE_NKRO diff --git a/keyboards/eternal_keypad/keymaps/lefty/keymap.c b/keyboards/eternal_keypad/keymaps/lefty/keymap.c deleted file mode 100644 index 2b14774aebe2..000000000000 --- a/keyboards/eternal_keypad/keymaps/lefty/keymap.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright 2021 duckyb - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _BASE, - _ARROW, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base Layer - * ,-------------------------------------. - * | | Esc | 1| 2| 3| 4| 5| 6| - * | |-------+---+---+---+---+---+---| - * | | Tab | Q| W| E| R| T| 7| - * |----||-------+---+---+---+---+---+---| - * | F13|| Enter | D| S| A| F| G| 8| - * |----||-------+---+---+---+---+---+---| - * | F14|| Shift | Z| X| C| V| B| 9| - * |----||-------------------------------| - * | F15|| LCtrl | _FN |Alt| Space | 0| - * `----'`-------------------------------' - */ - [_BASE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, - KC_F13, KC_ENT, KC_D, KC_S, KC_A, KC_F, KC_G, KC_8, - KC_F14, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_9, - KC_F15, KC_LCTL, OSL(_FN), KC_LALT, KC_SPC, LT(_ARROW, KC_0) - ), - /* Arrows Layer - * ,--------------------------------------------------. - * | | | | | | | | | - * | |-------+----+----+-----+----+-------+-------| - * | | | | UP| |RGB?| HUE+ | HUE- | - * |----||-------+----+----+-----+----+-------+-------| - * | || |LEFT|DOWN|RIGHT| |BRIGHT+|BRIGHT-| - * |----||-------+----+----+-----+----+-------+-------| - * | || | | | | | MODE+ | MODE- | - * |----||--------------------------------------------| - * | RST|| | | | | | - * `----'`--------------------------------------------' - */ - [_ARROW] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP, _______, RGB_TOG, RGB_HUI, RGB_HUD, - _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, RGB_VAI, RGB_VAD, - _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD, - QK_BOOT, _______, _______, _______, _______, _______ - ), - /* Function Layer - * ,-------------------------------------. - * | | | F1| F2| F3| F4| F5| F6| - * | |-------+---+---+---+---+---+---| - * | | | P| O| I| U| Y| F7| - * |----||-------+---+---+---+---+---+---| - * | || Bspc | ;| L| K| J| H| F8| - * |----||-------+---+---+---+---+---+---| - * | || |Gui| M| N|F12|F11| F9| - * |----||-------------------------------| - * | || | | | |F10| - * `----'`-------------------------------' - */ - [_FN] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - _______, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_F7, - _______, KC_BSPC, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_F8, - _______, _______, KC_LGUI, KC_M, KC_N, KC_F12, KC_F11, KC_F9, - _______, _______, _______, _______, _______, KC_F10 - ) -}; diff --git a/keyboards/etiennecollin/wave/info.json b/keyboards/etiennecollin/wave/info.json new file mode 100644 index 000000000000..5e31a1ca2afd --- /dev/null +++ b/keyboards/etiennecollin/wave/info.json @@ -0,0 +1,104 @@ +{ + "keyboard_name": "Wave", + "maintainer": "etiennecollin", + "manufacturer": "Etienne Collin", + "url": "https://github.com/etiennecollin/wave", + "bootloader_instructions": "Press the button marked RESET on the PCB or bridge the pins marked RST and GND on the Elite-C", + "tags": ["ortho", "split"], + + "build": { + "lto": true + }, + "development_board": "elite_c", + "pin_compatible": "elite_c", + "usb": { + "device_version": "0.0.1", + "vid": "0x6967", + "pid": "0x0000" + }, + + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + + "matrix_pins": { + "direct": [ + ["C6", "D4", "D0", "D1", "D3"], + ["B6", "B5", "B4", "E6", "D7"], + ["F6", "F7", "B1", "B3", "B2"], + ["NO_PIN", "NO_PIN", "F5", "F4", "B0"] + ] + }, + "community_layouts": ["split_3x5_3"], + "split": { + "enabled": true, + "soft_serial_pin": "D2", + "usb_detect": { + "enabled": true + }, + "matrix_pins": { + "right": { + "direct": [ + ["D3", "D1", "D0", "D4", "C6"], + ["D7", "E6", "B4", "B5", "B6"], + ["B2", "B3", "B1", "F7", "F6"], + ["B0", "F4", "F5", "NO_PIN", "NO_PIN"] + ] + } + } + }, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0.93 }, + { "matrix": [0, 1], "x": 1, "y": 0.31 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0.28 }, + { "matrix": [0, 4], "x": 4, "y": 0.42 }, + + { "matrix": [4, 0], "x": 7, "y": 0.42 }, + { "matrix": [4, 1], "x": 8, "y": 0.28 }, + { "matrix": [4, 2], "x": 9, "y": 0 }, + { "matrix": [4, 3], "x": 10, "y": 0.31 }, + { "matrix": [4, 4], "x": 11, "y": 0.93 }, + + { "matrix": [1, 0], "x": 0, "y": 1.93 }, + { "matrix": [1, 1], "x": 1, "y": 1.31 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1.28 }, + { "matrix": [1, 4], "x": 4, "y": 1.42 }, + + { "matrix": [5, 0], "x": 7, "y": 1.42 }, + { "matrix": [5, 1], "x": 8, "y": 1.28 }, + { "matrix": [5, 2], "x": 9, "y": 1 }, + { "matrix": [5, 3], "x": 10, "y": 1.31 }, + { "matrix": [5, 4], "x": 11, "y": 1.93 }, + + { "matrix": [2, 0], "x": 0, "y": 2.93 }, + { "matrix": [2, 1], "x": 1, "y": 2.31 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2.28 }, + { "matrix": [2, 4], "x": 4, "y": 2.42 }, + + { "matrix": [6, 0], "x": 7, "y": 2.42 }, + { "matrix": [6, 1], "x": 8, "y": 2.28 }, + { "matrix": [6, 2], "x": 9, "y": 2 }, + { "matrix": [6, 3], "x": 10, "y": 2.31 }, + { "matrix": [6, 4], "x": 11, "y": 2.93 }, + + { "matrix": [3, 2], "x": 2.8, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.8, "y": 3.75 }, + { "matrix": [3, 4], "x": 4.8, "y": 3.5, "h": 1.5 }, + + { "matrix": [7, 0], "x": 6.2, "y": 3.5, "h": 1.5 }, + { "matrix": [7, 1], "x": 7.2, "y": 3.75 }, + { "matrix": [7, 2], "x": 8.2, "y": 3.5 } + ] + } + } +} diff --git a/keyboards/etiennecollin/wave/keymaps/default/config.h b/keyboards/etiennecollin/wave/keymaps/default/config.h new file mode 100644 index 000000000000..8d60295560f3 --- /dev/null +++ b/keyboards/etiennecollin/wave/keymaps/default/config.h @@ -0,0 +1,34 @@ +/* Copyright 2023 Etienne Collin (@etiennecollin) + * + * This program is free software: you can 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 + +// Activate caps word by pressing Left Shift + Right Shift +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat +#define QUICK_TAP_TERM 0 + +// Maximum time between taps of tap dances +#define TAPPING_TERM 175 + +// Perform hold action if pressing a dual-role key, tapping another key and +// releasing the dual-role key withing tapping term +#define PERMISSIVE_HOLD + +// Perform hold action if pressing a dual-role key, pressing another key, +// releasing the dual-role key and releasing the other key withing tapping term +#define HOLD_ON_OTHER_KEY_PRESS \ No newline at end of file diff --git a/keyboards/etiennecollin/wave/keymaps/default/keymap.json b/keyboards/etiennecollin/wave/keymaps/default/keymap.json new file mode 100644 index 000000000000..993a1b854c12 --- /dev/null +++ b/keyboards/etiennecollin/wave/keymaps/default/keymap.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "author": "etiennecollin", + "keyboard": "etiennecollin/wave", + "notes": "This is a keymap file for etiennecollin/wave", + "keymap": "default", + "layout": "LAYOUT_split_3x5_3", + "config": { + "features": { + "caps_word": true + } + }, + "layers": [ + [ + "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", + "LGUI_T(KC_A)", "LALT_T(KC_S)", "LCTL_T(KC_D)", "LSFT_T(KC_F)", "KC_G", "KC_H", "LSFT_T(KC_J)", "LCTL_T(KC_K)", "LALT_T(KC_L)", "LGUI_T(KC_SCLN)", + "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", + "KC_ESC", "KC_SPC", "KC_TAB", "KC_ENT", "KC_BSPC", "MO(1)" + ], + [ + "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", + "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "_______" + ] + ] +} \ No newline at end of file diff --git a/keyboards/etiennecollin/wave/keymaps/default/readme.md b/keyboards/etiennecollin/wave/keymaps/default/readme.md new file mode 100644 index 000000000000..16586cc1f7eb --- /dev/null +++ b/keyboards/etiennecollin/wave/keymaps/default/readme.md @@ -0,0 +1,6 @@ +# Default keymap + +This is a really simple QWERTY keymap with a single number/symbol layer. +It uses home row modifiers and the caps word feature because of the limited number of keys. + +For a more complete layout, see the `feature` layout. diff --git a/keyboards/etiennecollin/wave/keymaps/test/keymap.json b/keyboards/etiennecollin/wave/keymaps/test/keymap.json new file mode 100644 index 000000000000..e73c86727309 --- /dev/null +++ b/keyboards/etiennecollin/wave/keymaps/test/keymap.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "author": "etiennecollin", + "keyboard": "etiennecollin/wave", + "notes": "This is a keymap file for etiennecollin/wave", + "keymap": "test", + "layout": "LAYOUT_split_3x5_3", + "config": { + "features": { + "console": true, + "debug": true + } + }, + "layers": [ + [ + "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", + "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", + "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", + "KC_ESC", "KC_SPC", "KC_TAB", "KC_ENT", "KC_BSPC", "KC_DEL" + ] + ] +} \ No newline at end of file diff --git a/keyboards/etiennecollin/wave/keymaps/test/readme.md b/keyboards/etiennecollin/wave/keymaps/test/readme.md new file mode 100644 index 000000000000..3d3400b8f68e --- /dev/null +++ b/keyboards/etiennecollin/wave/keymaps/test/readme.md @@ -0,0 +1,4 @@ +# Test keymap + +Inspired by the [ferris sweep test keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/test). +A simple QWERTY keymap used to test the keyboard. As such, it should not be used for other purposes than testing. diff --git a/keyboards/etiennecollin/wave/readme.md b/keyboards/etiennecollin/wave/readme.md new file mode 100644 index 000000000000..a66c6f71d3c2 --- /dev/null +++ b/keyboards/etiennecollin/wave/readme.md @@ -0,0 +1,37 @@ +# Wave + +![Wave pcb](https://i.imgur.com/oWF1Fnr.png) + +_The Wave is a small, reversible keyboard inspired by the [Ferris](https://github.com/pierrechevalier83/ferris), the [Ferris Sweep](https://github.com/davidphilipbarr/Sweep), the [Swoop](https://github.com/jimmerricks/swoop) and the [Sweep36](https://github.com/sadekbaroudi/sweep36). It aims to solve a few issues I found with the keyboards._ + +- Keyboard Maintainer: [Etienne Collin](https://github.com/etiennecollin) +- Hardware Supported: [Wave](https://github.com/etiennecollin/wave) +- Hardware Availability: Print the PCB with gerber files from [latest release in the repository](https://github.com/etiennecollin/wave/releases/latest) + +Make example for this keyboard (after setting up your build environment): + + make etiennecollin/wave:default + +Flashing example for this keyboard: + + make etiennecollin/wave: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). + +## Recommended Keymap + +For an everyday keyboard, it is recommended to use the `feature` keymap, as the default keymap is extremely barebone. Here is a make example: + + make etiennecollin/wave:feature + +Flashing example: + + make etiennecollin/wave:feature:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +- **Bootmagic reset**: Hold down the top left key of the left half of the keyboard and plug in the keyboard +- **Physical reset button**: Briefly press the reset button on the front of the PCB or short the GND and RST pins on the controller +- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/etiennecollin/wave/rules.mk b/keyboards/etiennecollin/wave/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/etiennecollin/wave/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/eu_isolation/keymaps/bigspace/config.h b/keyboards/eu_isolation/keymaps/bigspace/config.h deleted file mode 100644 index ad4389af3e46..000000000000 --- a/keyboards/eu_isolation/keymaps/bigspace/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2020 Austin "TuckTuckFloof" Ashmore -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General 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 COMBO_TERM 175 diff --git a/keyboards/eu_isolation/keymaps/bigspace/keymap.c b/keyboards/eu_isolation/keymaps/bigspace/keymap.c deleted file mode 100644 index 7568659de0d1..000000000000 --- a/keyboards/eu_isolation/keymaps/bigspace/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright 2020 Austin "TuckTuckFloof" Ashmore -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more 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, - _FN1, - _FN2 -}; - -// I put these combos in because they're easy to impliment and it gives you an idea of what you need to do -// Go nuts, have fun! It's why I build the board :) -enum WOMBO_COMBOS { - VOLUME_UP = 0, - VOLUME_DOWN -}; - -const uint16_t PROGMEM VOLUME_UP_COMBO[] = { KC_F1, KC_F2, COMBO_END }; -const uint16_t PROGMEM VOLUME_DN_COMBO[] = { KC_F3, KC_F4, COMBO_END }; - -combo_t key_combos[] = { - [VOLUME_UP] = COMBO(VOLUME_UP_COMBO, KC_VOLU), - [VOLUME_DOWN] = COMBO(VOLUME_DN_COMBO, KC_VOLD) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_euiso_bigspace( - 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_F1, KC_F2, 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_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_ENT, - KC_LGUI, KC_LALT, KC_SPC, MO(_FN2), MO(_FN1) - ), - - [_FN1] = LAYOUT_euiso_bigspace( - 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_ESC , KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, - _______, _______, _______, KC_VOLD, KC_MNXT - ), - - [_FN2] = LAYOUT_euiso_bigspace( - 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_ESC , KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_VOLU, _______, - _______, _______, _______, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/eu_isolation/keymaps/bigspace/readme.md b/keyboards/eu_isolation/keymaps/bigspace/readme.md deleted file mode 100644 index 48b22cbd0973..000000000000 --- a/keyboards/eu_isolation/keymaps/bigspace/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Default layout for B I G S P A C E - -Default keymap for the 7u layout -A L L H A I L B I G S P A C E diff --git a/keyboards/eu_isolation/keymaps/bigspace/rules.mk b/keyboards/eu_isolation/keymaps/bigspace/rules.mk deleted file mode 100644 index ab1e438182a3..000000000000 --- a/keyboards/eu_isolation/keymaps/bigspace/rules.mk +++ /dev/null @@ -1 +0,0 @@ -COMBO_ENABLE = yes diff --git a/keyboards/eu_isolation/keymaps/mit/config.h b/keyboards/eu_isolation/keymaps/mit/config.h deleted file mode 100644 index ad4389af3e46..000000000000 --- a/keyboards/eu_isolation/keymaps/mit/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2020 Austin "TuckTuckFloof" Ashmore -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General 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 COMBO_TERM 175 diff --git a/keyboards/eu_isolation/keymaps/mit/keymap.c b/keyboards/eu_isolation/keymaps/mit/keymap.c deleted file mode 100644 index 68cdaa750a69..000000000000 --- a/keyboards/eu_isolation/keymaps/mit/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Copyright 2020 Austin "TuckTuckFloof" Ashmore -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more 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, - _FN1, - _FN2 -}; - -// I put these combos in because they're easy to impliment and it gives you an idea of what you need to do -// Go nuts, have fun! It's why I build the board :) -enum WOMBO_COMBOS { - VOLUME_UP = 0, - VOLUME_DOWN -}; - -const uint16_t PROGMEM VOLUME_UP_COMBO[] = { KC_F1, KC_F2, COMBO_END }; -const uint16_t PROGMEM VOLUME_DN_COMBO[] = { KC_F3, KC_F4, COMBO_END }; - -combo_t key_combos[] = { - [VOLUME_UP] = COMBO(VOLUME_UP_COMBO, KC_VOLU), - [VOLUME_DOWN] = COMBO(VOLUME_DN_COMBO, KC_VOLD) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_euiso_mit( - 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_F1, KC_F2, LT(2,KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - 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_LCTL, KC_DEL, KC_LALT, KC_LGUI, MO(_FN1), KC_SPC, MO(_FN1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - [_FN1] = LAYOUT_euiso_mit( - KC_UNDS, KC_HASH, KC_EXLM, KC_TILD, KC_LPRN, KC_RPRN, KC_DQUO, KC_7, KC_8, KC_9, KC_0, KC_EQL, - KC_TRNS, KC_TRNS, KC_MINS, KC_AT, KC_AMPR, KC_PIPE, KC_LCBR, KC_RCBR, KC_QUOT, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS, - KC_TRNS, KC_TRNS, KC_BSLS, KC_CIRC, KC_DLR, KC_PERC, KC_LBRC, KC_RBRC, KC_GRV, KC_1, KC_2, KC_3, KC_ASTR, KC_SLSH, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [_FN2] = LAYOUT_euiso_mit( - KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, - KC_TRNS, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - 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/eu_isolation/keymaps/mit/readme.md b/keyboards/eu_isolation/keymaps/mit/readme.md deleted file mode 100644 index 81ad5f4a21dc..000000000000 --- a/keyboards/eu_isolation/keymaps/mit/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Default layout for MIT - -2u ortho space, fairly standard diff --git a/keyboards/eu_isolation/keymaps/mit/rules.mk b/keyboards/eu_isolation/keymaps/mit/rules.mk deleted file mode 100644 index ab1e438182a3..000000000000 --- a/keyboards/eu_isolation/keymaps/mit/rules.mk +++ /dev/null @@ -1 +0,0 @@ -COMBO_ENABLE = yes diff --git a/keyboards/evolv/config.h b/keyboards/evolv/config.h index ee7e07977276..f962b74196e7 100644 --- a/keyboards/evolv/config.h +++ b/keyboards/evolv/config.h @@ -22,21 +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 -#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 - -#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 d4b51621269d..4274e9e43770 100644 --- a/keyboards/evolv/info.json +++ b/keyboards/evolv/info.json @@ -22,12 +22,30 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "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 + } }, "processor": "STM32F072", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_evolv_ansi": "LAYOUT_ansi", + "LAYOUT_iso_ansi": "LAYOUT_iso" + }, "layouts": { - "LAYOUT_evolv_ansi": { + "LAYOUT_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -136,7 +154,7 @@ {"matrix": [5, 14], "x": 15, "y": 5.5} ] }, - "LAYOUT_evolv_iso": { + "LAYOUT_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/evolv/keymaps/default/keymap.c b/keyboards/evolv/keymaps/default/keymap.c index 22866270411e..d049c356b9f1 100755 --- a/keyboards/evolv/keymaps/default/keymap.c +++ b/keyboards/evolv/keymaps/default/keymap.c @@ -17,35 +17,19 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#define MEDIA_KEY_DELAY 100 - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_evolv_ansi( + [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_INS , - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_DEL , 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_BSPC, KC_DEL , 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_PGUP, KC_MPRV, KC_MPLY, KC_MNXT, KC_CAPS, KC_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_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 , MO(1) , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_evolv_ansi( + [1] = LAYOUT_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [2] = LAYOUT_evolv_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [3] = LAYOUT_evolv_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/evolv/keymaps/gondolindrim/keymap.c b/keyboards/evolv/keymaps/gondolindrim/keymap.c deleted file mode 100755 index bf0944fbd100..000000000000 --- a/keyboards/evolv/keymaps/gondolindrim/keymap.c +++ /dev/null @@ -1,410 +0,0 @@ -/* -Copyright 2021 Álvaro "Gondolindrim" Volpato - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* ---------------------------------------------- EVOLV75 GONDOLINDRIM LAYOUT -This is the firmware for the Evolv75 CE (pre-Alpha) PCBs as designed by Gondolindrim. - -The final objective is to achieve a joystic encoder feature where the encoder can exhibit multiple behaviours, hereby called "encoder modes", which can be switched seamlessly by the user. In order to make the user know what encoder mode is active at a given instant, the keyboard has RGB underglow LEDs that shine a particular color; each mode has its own color. - -Modes, their behaviours and their colors are user-customizable. -*/ - -/* ---------------------------------------------- BASIC DEFINITIONS -DON"T CHANGE ANY OF THESE. -*/ - -#include QMK_KEYBOARD_H -typedef uint8_t color[3]; -#define COLOR(h,s,v) ((color){h,s,v}) - -// Defining custom keycodes -enum keyboard_keycodes { - ENCCLK = 0x5F80, // For "encoder click" - ENCNTH, // "Encoder north" - ENCSTH, // "Encoder south" - ENCEST, // "Encoder east" - ENCWST, // "Encoder west" - ALTTABN, // For alt-tab-switch, next - ALTTABP, // For alt-tab-switch, previous - ALTTABC, // For alt-tab-click - ENCMUP, // Encoder mode up - ENCMDN // Encoder mode down -}; - -// Defining the encoder mode data structure -typedef struct _encoder_mode_t { - color indicator_color; - uint16_t clockwise_key[4]; - uint16_t counterclockwise_key[4]; - uint16_t clicked_key[4]; - uint16_t north_key[4]; - uint16_t south_key[4]; - uint16_t east_key[4]; - uint16_t west_key[4]; -} encoder_mode_t; - -/* ---------------------------------------------- COLORS -Colors are defined as HSV values where the values range from 0 to 255. Template: - -#define COLOR( ) - -Use these to define the colors for encoder modes. -*/ - -#define CYAN COLOR(128,255,255) -#define PINK COLOR(191,255,255) -#define YELLOW COLOR(36,255,255) -#define WHITE COLOR(0,0,255) -#define STARTUP_COLOR WHITE - -/* ---------------------------------------------- DELAYS -These delays define some important behaviours on the firmware. - -MEDIA_KEY_DELAY is used throughout the code to hold certain keycodes for a time before holding them; this allows the use of media keys like volume up and down everywhere. - -ALT_TAB_DELAY is the time delay the firmware holds the LALT key before letting it go; in practical use this means once you rotate the encoder in alt-tabbing mode, it will keep the alt-tab window held for this amount of time. - -ENCODER_CLICK_DELAY defines a delayed behavior for the encoder click. Once you click it, a timer is triggered and monitored. If the click is held for more than this macro (defaults to 1000 or 1 second), encoder modes start cycling, each per second, and stops when you release. If you hold the click for shorter than the time defined in this macro, then the firmware registers the key contained in the .clicked_key list of that mode. -*/ - -#define MEDIA_KEY_DELAY 20 -#define ALT_TAB_DELAY 2000 -#define ENCODER_CLICK_DELAY 1000 - -// -------------------------------------------- ENCODER MODES -/* Encoder mode list -WARNING: DO NOT, ABSOLUTELY DO NOT use ENCNTH, ENCSTH, ENCWST or ENCEST in any of the encoder mode keys. The reason is because these keycodes are used in process_record_user and they point to these very same encoder mode keys; this could generate a loop in process_record_user and freeze the keyboard. - -You can add and remove modes at will as long as you have at least one. -*/ -const encoder_mode_t encoder_modes[] = { - // PINK MODE: "media mode". Encoder controls volume (and mode change on layer 1); click does media pause (mute on layer 1), directionals do arrows. - { .indicator_color = PINK, - .clockwise_key = {KC_VOLU, ENCMUP, KC_VOLU, KC_VOLU}, - .counterclockwise_key = {KC_VOLD, ENCMDN, KC_VOLD, KC_VOLD}, - .clicked_key = {KC_MUTE, KC_MUTE, KC_MPLY, KC_MUTE}, - .north_key = {KC_UP, KC_UP, KC_UP, KC_UP}, - .south_key = {KC_DOWN, KC_DOWN, KC_DOWN, KC_DOWN}, - .east_key = {KC_RGHT, KC_RGHT, KC_RGHT, KC_RGHT}, - .west_key = {KC_LEFT, KC_LEFT, KC_LEFT, KC_LEFT} - }, - /* CYAN MODE: "application mode". Switches back and forth between applications ("alt-tabbing"); click stops the alt-tabbing at the selected application. When on layer 1, encoder changes modes. East-west switches tabs ("ctrl-tabbing") and north-sourh maximizes/minimizes windows (GUI plus up and down). Note: these are modifier keys defined natively in QMK - - C(kc) means hold left control and press kc - - MEH(kc) means hold left control, left shift and press kc - - G(kc) means hold LGUI and press kc -*/ - { .indicator_color = CYAN, - .clockwise_key = {ALTTABN, ENCMUP, ALTTABN, ALTTABN}, - .counterclockwise_key = {ALTTABP, ENCMDN, ALTTABP, ALTTABP}, - .clicked_key = {ALTTABC, ALTTABC, ALTTABC, ALTTABC}, - .north_key = {G(KC_UP),G(KC_UP), G(KC_UP), G(KC_UP)}, - .south_key = {G(KC_DOWN), G(KC_DOWN), G(KC_DOWN), G(KC_DOWN)}, - .east_key = {C(KC_TAB), C(KC_TAB), C(KC_TAB), C(KC_TAB)}, - .west_key = {S(C(KC_TAB)), S(C(KC_TAB)), S(C(KC_TAB)), S(C(KC_TAB))} - }, - // YELLOW MODE: "navigation mode". Encoder mimicks mousehwheel, click does mouseclick. North-wouth does page up/down, east-west do home and end. - { .indicator_color = YELLOW, - .clockwise_key = {KC_WH_U, ENCMUP, KC_WH_U, KC_WH_U}, - .counterclockwise_key = {KC_WH_D, ENCMDN, KC_WH_D, KC_WH_D}, - .clicked_key = {KC_BTN1, KC_BTN2, KC_BTN1, KC_BTN1}, - .north_key = {KC_PGUP, KC_PGUP, KC_PGUP, KC_PGUP}, - .south_key = {KC_PGDN, KC_PGDN, KC_PGDN, KC_PGDN}, - .east_key = {KC_END, KC_END, KC_END, KC_END}, - .west_key = {KC_HOME, KC_HOME, KC_HOME, KC_HOME} - } - // Insert your custom encoder mode here -}; - -#define NUM_ENCODER_MODES ARRAY_SIZE(encoder_modes) // DO NOT CHANGE THIS. NUM_ENCODER_MODES calculates how many modes there are. - -// This counter is used to track what encoder mode is being used at a certain time -int encoder_mode_count = 0; - -/* ---------------------------------------------- RGB STARTING COLOR -Due to the way rgblight.c stores to and re-stores RGB configurations from EEPROM, the first time the MCU boots up, the EEPROM will not have stored the default value for the RGB animation which in QMK is the static red light; however, during the first bootup, this EEPROM will be set so that, in all subsequent bootups, the RGBs will glow red instead of whatever color the first encoder mode is. What these lines do is re-define the default RGB color so that the default RGB color is defined the same as encoder mode [0] so that the RGB will glow this color once the keyboard boots. DONT CHANGE THIS. -*/ -#define RGBLIGHT_DEFAULT_HUE encoder_modes[0].indicator_color[0] -#define RGBLIGHT_DEFAULT_SAT encoder_modes[0].indicator_color[1] -#define RGBLIGHT_DEFAULT_VAL encoder_modes[0].indicator_color[2] - -/* ---------------------------------------------- DEFINING DEFAULT KEYMAP -Adapt this at will with the caveat that you should not have more nor less than four layers. And let's be honest, if you find yourself needing more than four layers on a 75% keyboard you are probably doing something wrong. -*/ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_evolv_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_INS , - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_DEL , ENCNTH, - KC_TAB , KC_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_PGUP, ENCWST , ENCCLK, ENCEST, - KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN, ENCSTH, - KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , MO(1) , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCNTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCWST , ENCCLK, ENCEST, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCSTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [2] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCNTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCWST , ENCCLK, ENCEST, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCSTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [3] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCNTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCWST , ENCCLK, ENCEST, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ENCSTH, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______) -}; - -/* ---------------------------------------------- END OF USER CUSTOMIZABLE CODE -Everything past here are functions that operate the firmware. There is nothing to be customized by the user for encoder modes or keyboard keymap. -*/ - -/* ---------------------------------------------- SET INDICATOR COLOR FUNCTION -This is the function used when the RGB colors need to change. -*/ -void set_indicator_colors(const color target_color){ - rgblight_sethsv(target_color[0],target_color[1],target_color[2]); -}; - -// Board init: RGB indicator is set to the first encoder mode color, also encoder mode is set to first mode. -void keyboard_pre_init_user(void){ - set_indicator_colors(STARTUP_COLOR); - encoder_mode_count = 0; -}; - -void keyboard_post_init_user(void){ - set_indicator_colors(encoder_modes[0].indicator_color); -}; - -/* ---------------------------------------------- SPECIAL KEYCODE PROCESSING - The heart of this firmware is the process_custom_keycode function; this allows all the customized keycodes ENCMUP, ENCMDN, ALTTABN, ALLTABP and so on to be used in any place including the encoder callback. Its main mechanic is calling the process_record_user function, where there is a function for each one of the customized keycodes. - What process_custom_keycode does is, if a "normal" keycode is passed on, then it is registered and held for a small period of time (MEDIA_KEY_DELAY to be more specific). This "holding" allows it to correctly register media keys. However, if a custom keycode is used, then the function executes process_record_user again, but now with a new argument keycode that will be whatever is mapped inside the special key requested. - Admittedly, this implementation looks redundant: process_record_user calls process_custom_keycode which calls process_record_user again. However, the ingenuity of this recursion is this allows any of the custom keycodes to be mappable both to encoder action as well as keys by having their behavior mapped to a single function in a switch-case structure. For instance, by having the encoder update function encoder_update_user use process_custom_keycode, the code for each custom keycode can be present in a single place in the code, that is, in process_record_user. On another hand, if the user wants to map a certain special keycode to a particular key, they can do so; for instance, if the user wants to map the encoder mode switch keys ENCMUP/ENCMDN to, say, left and right keys of layer 1, they can also do so. - The glaring problem with this approach is the same as with all recursions: a recursion mapped to itself is a loop, meaning that it is very easy to put the program in a loop within process_record_user by nesting the custom keycodes, for instance, using the keycode ENCNTH in a north key in any of the modes. This then requires a certain care from whoever is adapting or customizing their encoder modes to not use ENCNTH, ENCSTH, ENCWST, ENCEST in the keymap or the encoder modes. The way the firmware deals with this is by only processing keycodes inside the 0x5F85 and 0x5F89 range which exclude these keys; if the given keycode is in the 0x5F80 to 0x5F84 range, which pertains to these forbidden keycodes, nothing is done; to the user it will seem like nothing happens. - In the case of the encoder rotating action, in order to call process_record_user a placeholder record is used, the idea being to use values not obtainable phisically on the keyboard like col 20, row 20, with a timer right at the begginig of the code initialization. -keyrecord_t record { - keyevent_t event { - keypos_t key { - uint8_t col - uint8_t row - } - bool pressed - uint16_t time - } -} - -Despite this long description, process_custom_kc is fairly simple. It tests the passed keycode and, if it is one of the custom-defined keys in the forbidden range, nothing is done; if it's one of the good ones, process_record_user is called and the function for that particular keycode will be executed. In other cases, if the event was a press the keycode is registered and held for MEDIA_KEY_DELAY ms. In the case the event was a release, the keycode is unregistered. -*/ - -keyrecord_t placeholder_record ; -//placeholder_record->event.key.col = 20; -//placeholder_record.event.key.row = 20; -//placeholder_record.event.time = timer_read32(); - -uint16_t mapped_code = 0; -uint32_t held_keycode_timer = 0; -void process_custom_keycode(uint16_t keycode, keyrecord_t *record){ - if (keycode >= 0x05F80 && keycode < 0x5F85) ; - else if (keycode >= 0x5F85 && keycode <= 0x5F89) process_record_user(keycode, record); - else { - // Note: (un)register_keycode16 need to be the 16 bit versions in case modifier keys like C(), G() and so on are used. This is specially true for the "application control" encoder mode. - if (record->event.pressed){ - register_code16(keycode); - held_keycode_timer = timer_read32(); - while (timer_elapsed32(held_keycode_timer) < MEDIA_KEY_DELAY); - } else unregister_code16(keycode); - } -} - -// Basically calls process_custom_keycode in a press event and then in a release event. This is basically done to tap custom keycodes. -void tap_custom_keycode(uint16_t keycode){ - placeholder_record.event.pressed = true; - process_custom_keycode(keycode, &placeholder_record); - placeholder_record.event.pressed = false; - process_custom_keycode(keycode, &placeholder_record); -} - -/* ---------------------------------------------- LAYER UPDATING -Keeps track of the highest active layer. -*/ -int current_layer = 0 ; // Updated in layer_state_set_user each time a layer change is made -layer_state_t layer_state_set_user(layer_state_t state) { - current_layer = get_highest_layer(state); - return state; -} - -/* ---------------------------------------------- ENCODER MDOE CYCLING -Pretty straightforward: cycles encoder mode forwards if passed a true value and backwards otherwise. - -Some care is taken for two edge cases: - - The user is at mode 0 and the encoder mode is changed backwards - - The user is at the last mode and changes it forward. - -The program deals with this last case by taking the division remainder, which will take encoder_mode_count to 0. For the first case, encoder_mode_count is just made equal to the last (highest) mode. -*/ -void cycle_encoder_mode(bool forward){ - forward ? encoder_mode_count++ : encoder_mode_count-- ; - if (encoder_mode_count == -1) encoder_mode_count = NUM_ENCODER_MODES - 1; - encoder_mode_count = encoder_mode_count%NUM_ENCODER_MODES ; // This makes sure encoder_mode_count keeps cycling between 0,1,...,NUM_ENCODER_MODES and doesnt eventually overflow - set_indicator_colors( encoder_modes[ encoder_mode_count ].indicator_color ); // Set indicator color to the corresponding defined color -} - -/* ---------------------------------------------- PROCESSING ALT-TABBING -This function process the alt-tabbing keycode ALTTABS. The process works in a few steps: -- At first, the flag is_alt_tab_active is false. When the user first uses this keycode (rotating the encoder, for instance) then the function turns the flag and "presses" left alt (KC_LALT), also triggering a timer alt_tab_timer. -- The alt_tab_timer is supposed to keep track of how many miliseconds the alt-tab window should be kept, that is, how much time the LALT keycode should be held. The objective being, once the user cycles through the applications to the desired one, they select it either by not rotating the applications anymore or clicking the encoder. -- Finally, the function shoots out the KC_TAB keycode if the encoder was rotated clockwise or the S(KC_TAB) (shift + tab) if the encoder was rotated counterclockwise. -- If the user cycles the encoder still while alt-tab is active, then the function refreshes the timer and shoots out tab or shift+tab. -- The function that keeps track of the timer expiration is housekeeping_task_user, where if the alt_tab_timer surpasses the defined ALT_TAB_DELAY macro (defaults to 2 seconds or 2000 ms) then the release_alt_tab function is called: the LALT keycode is released and the is_alt_tab_active flag is set to false again -- The release_alt_tab function is also called when the ALTTABC keycode is hit, thus selecting the desired application. -*/ - -// This bool records if LALT is pressed or not. Due to the automatic disabling of the ALT-TAB of the ALTTABS custom keystroke, the automatic disabling can un-register KC_LALT even when the LALT key is phisically pressed. Hence there needs to be two bools: one that keebs track of the ALT-TAB activity and one that keeps track of LALT so that the automatic disabling will not disable LALT if it is phisically pressed. -bool is_lalt_pressed = false; -bool is_alt_tab_active = false; // Flag to check if alt tab is active -uint32_t alt_tab_timer = 0; // Time trigger for alt tab -void process_alt_tabbing(bool next){ - if(!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read32(); - tap_code16(next ? KC_TAB : S(KC_TAB)); -} - -void release_alt_tab(void){ - is_alt_tab_active = false; - unregister_code(KC_LALT); -} - -/* ---------------------------------------------- ENCODER UPDATE CALLBACK -This taps the keycode stored in the encoder mode struct, at the current encoder mode, at the current layer. Because the user can use non-QMK-native keycodes in the encoder, like the alt-tabbing keycodes like ALTTABP and ATLTTABN, the tap function is the custom tap one. -*/ - -bool encoder_update_user(uint8_t index, bool clockwise) { - mapped_code = clockwise ? encoder_modes[ encoder_mode_count ].clockwise_key[ current_layer ] : encoder_modes[ encoder_mode_count ].counterclockwise_key[ current_layer ] ; // mapped code is the clockwise key if a clockwise motion is sensed, otherwise it registers the counterclockwise key - tap_custom_keycode(mapped_code); - return false; // This function needs to return false in order to inhibit the action of encoder_update_user as defined in evolv.c -} - -/* ---------------------------------------------- DEALING WITH THE ENCODER CLICK -The encoder used in the Evolv has a construction particularity in that not only it has rotation and clicking but also directional joystic capabilities in the four cardinal directions, as in, it can also register four directions. The way that this works is, there are A,B and a common pin for the encoder rotation , with a PUSH and a COM pin. The encoder pins work pretty much like common encoders, as does the switch click: once you click it, PUSH and COM short-circuit, so the pushing mechanic can be easily integrated into a switch matrix and treated like a switch would. - -The problem, however, lies in the directionals. For each directional, say N,S,W,E, there is a corresponding pin on the encoder; once one directional is hit its pin is shorted with PUSH and COM. This means that the directionals can be treated as four short-circuit keys and integrated into the matrix, but with the added hassle that every time one of them is registered, the encoder push is also registered. - -The way this firmware deals with this problem is threefold. - -- First, there is a is_click_blocked flag that is set true whenever one of the directionals is sensed by the matrix; the name suggests that in this case the click keycode processing should be "blocked". This allows the firmware to differentiate between an event where a directional was hit (the encoder push is recognized but is_click_blocked is true) and an event where only the push was used (is_click_blocked is false albeit the push being sensed). -- Second, in order to prevent the encoder push key from registering before the flag is set, a 20ms delay takes place when the encoder click was sensed; this means that when a directional is hit, the encoder action is guaranteed to be processed only after the is_click_blocked flag is true. -- Finally, held_click_timer and is_click_held are used to differentiate between a click short push and a long push; when a directional key is hit, is_click_held is immediately reset, further preventing any action corresponding to the encoder push click being held down. - -automatic_encoder_mode_cycle is a flag used by the housekeeping function to communicate an encoder mode change was made during an encoder push, meaning that the user has held the encoder enough to trigger an encoder mode change. What the housekeeping function does is constantly monitor the timer so that, when it extrapolates the designated ENCODER_CLICK_DELAY, a mode change takes place; the held_click_timer timer is refreshed. The problem is that, once the user reaches their desired mode and releases the encoder, the timer had been refreshed and is lower than the designated delay, which would cause the "fast click" keycode to be triggered, which is of course unwanted. Hence the algorithm filters out these situations by knowing when the automatic mode change has taken place and not registering the click key, only resetting the automatic_encoder_mode_cycle flag. - -Finally, the process_encoder_click function has two parts. In a click press event, it sets the flag is_click_held and triggers a timer. When the encoder push is released, the timer is sampled and the pertinent action is taken depending on how much time the encoder was held for. -*/ - -uint32_t held_click_timer = 0; -bool is_click_held = false; -bool is_shift_held = false; -bool automatic_encoder_mode_cycle = false; // This flag registers if the encoder mode was automatically cycled -bool is_click_blocked = false; -void process_encoder_click(bool clickpress){ - // What to do when the encoder is pressed: turn the flag to true, start (or refresh) timer - if (clickpress) { - is_click_held = true; - held_click_timer = timer_read32(); - } else { // What to do when encoder is released - is_click_held = false; - // Checking if the time the encoder click was held was smaller than the delay defined and if an automatic mode change was not already performed. If it was, just register whatever it is the click does. - if (timer_elapsed32(held_click_timer) < ENCODER_CLICK_DELAY && !automatic_encoder_mode_cycle ) tap_custom_keycode(encoder_modes[ encoder_mode_count ].clicked_key[ current_layer ]); - automatic_encoder_mode_cycle = false; - } -} - -bool process_directional(uint16_t keycode, keyrecord_t *record){ - is_click_held = false; - is_click_blocked = record->event.pressed ; - process_custom_keycode( keycode , record ); - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_LSFT: - case KC_RSFT: - is_shift_held = record->event.pressed; - break; - case KC_LALT: // If this is not defined, if the encoder is activated in the alt-tab mode while the LALT key is pressed, the menu goes away. - is_lalt_pressed = record->event.pressed; - break; -// ---------------------------------------------- CUSTOM KEYCODES: they do their thing and retun false right away to prevent any further action -// --------------------- Encoder directionals (note: process_directional always returns false) - case ENCNTH: return process_directional( encoder_modes[ encoder_mode_count ].north_key[ current_layer ] , record); - case ENCSTH: return process_directional( encoder_modes[ encoder_mode_count ].south_key[ current_layer ] , record); - case ENCEST: return process_directional( encoder_modes[ encoder_mode_count ].east_key[ current_layer ] , record); - case ENCWST: return process_directional( encoder_modes[ encoder_mode_count ].west_key[ current_layer ] , record); -// --------------------- Encoder click - case ENCCLK: - held_keycode_timer = timer_read32(); - while (timer_elapsed32(held_keycode_timer) < 20); - if(!is_click_blocked) process_encoder_click(record->event.pressed); - return false; // Skip all further processing of this key -// --------------------- Alt-tabbing - case ALTTABN: - case ALTTABP: - if(record->event.pressed) process_alt_tabbing(keycode == ALTTABN); // alt-tabs forward if the keycode is ALTTABN, else alt-tabs backwards if it's ALTTABP - return false; - case ALTTABC: - if(record->event.pressed) release_alt_tab(); - return false; -// --------------------- Encoder mode up/down - case ENCMUP: - case ENCMDN: - if(record->event.pressed) cycle_encoder_mode(keycode == ENCMUP); // Cycles encoder mode up if keycode is ENCMUP, else cycles backwards if the keycode is ENCMDN - return false; -// ---------------------------------------------- DEFAULT - default: - return true; - } - return true; -} - -/* ---------------------------------------------- HOUSEKEEPING -Housekeeping keeps track of three events: -- Keeps track of the alt-tabbing timer. If it surpasses ALT_TAB_DELAY the release_alt_tab function is called; -- Keeps track of the encoder click hold timer; if the encoder click is held for more than a certain delay, cycles encoder mode and sets the automatic_mode_change flag. -- The is_click_blocked flag marks if the encoder click has been registered with a directional key (recall that in this encoder, when a directional key is hit, both the directional key and the encoder push key are triggered in the keymap). In this case, only the directional should be registered. Hence, this housekeeping function resets the held_click_timer timer because, if this is not done, if the directional key is held for more than ENCODER_CLICK_DELAY then this will trigger an automatic mode change. -*/ -void housekeeping_task_user(void) { - if (is_alt_tab_active){ - if (is_lalt_pressed) alt_tab_timer = timer_read32(); // If the user is holding the LALT key, refresh the timer - else if (timer_elapsed32(alt_tab_timer) > ALT_TAB_DELAY) release_alt_tab(); // If the timer surpasses the delay, release alt tab - } - if (is_click_blocked) held_click_timer = timer_read32(); // To prevent mode changing when directionals are held - if (is_click_held && timer_elapsed32(held_click_timer) > ENCODER_CLICK_DELAY ){ - automatic_encoder_mode_cycle = true; - held_click_timer = timer_read32(); - if (is_shift_held) cycle_encoder_mode(false); - else cycle_encoder_mode(true); - } -} diff --git a/keyboards/evolv/keymaps/iso/keymap.c b/keyboards/evolv/keymaps/iso/keymap.c index 391bcdf5bbf1..379b9a51caf2 100755 --- a/keyboards/evolv/keymaps/iso/keymap.c +++ b/keyboards/evolv/keymaps/iso/keymap.c @@ -17,35 +17,19 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#define MEDIA_KEY_DELAY 100 - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_evolv_iso( + [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_INS , - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_DEL , 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_BSPC, KC_DEL , 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_ENT , KC_PGUP, KC_MPRV, KC_MPLY, KC_MNXT, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN, KC_VOLD, KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , MO(1) , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_evolv_iso( + [1] = LAYOUT_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [2] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [3] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/evolv/keymaps/via/keymap.c b/keyboards/evolv/keymaps/via/keymap.c index 391bcdf5bbf1..379b9a51caf2 100755 --- a/keyboards/evolv/keymaps/via/keymap.c +++ b/keyboards/evolv/keymaps/via/keymap.c @@ -17,35 +17,19 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#define MEDIA_KEY_DELAY 100 - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_evolv_iso( + [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_INS , - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_DEL , 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_BSPC, KC_DEL , 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_ENT , KC_PGUP, KC_MPRV, KC_MPLY, KC_MNXT, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN, KC_VOLD, KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , MO(1) , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_evolv_iso( + [1] = LAYOUT_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [2] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - [3] = LAYOUT_evolv_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/evolv/rules.mk b/keyboards/evolv/rules.mk index e6378f4a599f..87802fbd6f55 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/keymaps/LEdiodes/keymap.c b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c deleted file mode 100644 index f244bb882180..000000000000 --- a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c +++ /dev/null @@ -1,50 +0,0 @@ -/* -Copyright 2021 Evelien Dekkers - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -// These are all aliases for the function layers. -#define _L0 0 -#define _L1 1 -#define _L2 2 -#define _L3 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_L0] = LAYOUT_split_space( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), - KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTL), - -[_L2] = LAYOUT_split_space( - _______, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DOWN, BL_UP, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -[_L1] = LAYOUT_split_space( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -[_L3] = LAYOUT_split_space( - _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, QK_BOOT) -}; diff --git a/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c b/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c deleted file mode 100644 index 9bd33618000d..000000000000 --- a/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -/* -Copyright 2021 Evelien Dekkers - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define _MA 0 //Main layer -#define _LO 1 //FN1 -#define _RA 2 //FN - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT_split_space( - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, - KC_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_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTL), - -[_LO] = LAYOUT_split_space( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT), - -[_RA] = LAYOUT_split_space( - _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, - KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) - -}; - diff --git a/keyboards/evyd13/atom47/keymaps/evyd13/readme.md b/keyboards/evyd13/atom47/keymaps/evyd13/readme.md deleted file mode 100644 index 679595385710..000000000000 --- a/keyboards/evyd13/atom47/keymaps/evyd13/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is the default keymap as found on the Vortex Core, with some added buttons for RGB and backlight control. diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c deleted file mode 100644 index da90eae9d366..000000000000 --- a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c +++ /dev/null @@ -1,155 +0,0 @@ -/* -Copyright 2021 Evelien Dekkers - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -/* enum custom_keycodes { - SHIFTEN = SAFE_RANGE, - LOWER, - RAISE, - SPACFNL, - SPACFNR, - MAIN, - ADJUST -}; */ - -#define _MAIN 0 -#define _SPLEFT 1 -#define _SPRIGHT 2 -#define _LOWER 3 -#define _RAISE 4 -#define _ADJUST 5 - -#define _DPAD 6 -#define _DPADNUM 7 - - -#define SHIFTEN RSFT_T(KC_ENT) -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) -#define SPACFNL LT(_SPLEFT, KC_SPC) -#define SPACFNR LT(_SPRIGHT, KC_SPC) - -#define DP_ON TO(_DPAD) -#define DP_OFF TO(_MAIN) -#define DPADNUM MO(_DPADNUM) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - // Primary layer - [_MAIN] = LAYOUT_split_space( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, - KC_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, SHIFTEN, - KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACFNL, SPACFNR, RAISE, KC_RALT, KC_APP, KC_RCTL - ), - - // Main Fn navigation layer - [_SPLEFT] = LAYOUT_split_space( - _______, KC_VOLU, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______, _______, - _______, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL , - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - // Primary numeric layer using right Spacebar - [_SPRIGHT] = LAYOUT_split_space( - KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, - _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - // Secondary symbol layer, also Lower - [_LOWER] = LAYOUT_split_space( - KC_TILD, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_SCRL, KC_PAUS, - KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY - ), - - // Numpad layer // Also a homage to Planck with the media player/pause button - [_RAISE] = LAYOUT_split_space( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY - ), - - // Safety layer for special functions - [_ADJUST] = LAYOUT_split_space( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DP_ON, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_DPAD] = LAYOUT_split_space( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, - KC_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_UP, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, DPADNUM, KC_SPC, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_DPADNUM] = LAYOUT_split_space( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, - _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, - _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { -/* case MAIN: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_MAIN); - } - return false; - break; */ - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; -/* case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; */ - } - return true; -} diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md b/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md deleted file mode 100644 index 42d83702310e..000000000000 --- a/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md +++ /dev/null @@ -1 +0,0 @@ -Juno's junonum keymap adapted for Atom47. \ No newline at end of file diff --git a/keyboards/evyd13/atom47/keymaps/phsc138/config.h b/keyboards/evyd13/atom47/keymaps/phsc138/config.h deleted file mode 100644 index ccd556b90d9a..000000000000 --- a/keyboards/evyd13/atom47/keymaps/phsc138/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2022 PHSC138 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 150 // Tap dance time limit diff --git a/keyboards/evyd13/atom47/keymaps/phsc138/keymap.c b/keyboards/evyd13/atom47/keymaps/phsc138/keymap.c deleted file mode 100644 index f9fec678cdab..000000000000 --- a/keyboards/evyd13/atom47/keymaps/phsc138/keymap.c +++ /dev/null @@ -1,390 +0,0 @@ -/* Copyright 2022 PHSC138 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// These are all aliases for the function layers. -enum custom_layers { - _BASE, - _PROG, - _GAME, - _FN, - _FN1, - _NUM -}; - - -// Tap Dance -typedef struct { - char is_press_action; - int state; -} tap; - -enum { - SINGLE_TAP = 1, - SINGLE_HOLD = 2, - DOUBLE_TAP = 3, - DOUBLE_HOLD = 4, - DOUBLE_SINGLE_TAP = 5, // Send two single taps - TRIPLE_TAP = 6, - TRIPLE_HOLD = 7 -}; - -// Tap dance enums -enum { - PN_SWAP = 0, - LAPO = 1, - LCPO = 2, - RAPC = 3, - RCPC = 4, - D20 = 5 -}; - -enum custom_keycodes { - PROF_MAC = QK_USER -}; - - -uint8_t cur_dance (tap_dance_state_t *state); -void pn_finished (tap_dance_state_t *state, void *user_data); -void pn_reset (tap_dance_state_t *state, void *user_data); - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// TREE: 'pn' to enter custom layers: - // _BASE - // _FN - // _FN1 - // _NUM - // _PROG - // _PROG - // _FN - // _FN1 - // _NUM - // _GAME - // _GAME - // _BASE - -// Tap pn for toggle to _PROG, or hold for numpad -[_BASE] = LAYOUT_split_space( - QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), - KC_LCTL, KC_LGUI, KC_LALT, TD(PN_SWAP), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTL), - - -// LEFT AND RIGHT SHIFT: '(' and ')' when tapped, shift when held -// LEFT AND RIGHT CTRL: '{' and '}' when tapped, ctrl when held -// LEFT AND RIGHT ALT: '[' and ']' when tapped, ctrl when held -[_PROG] = LAYOUT_split_space( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - SC_LSPO, _______, _______, _______, _______, _______, _______, _______, _______, _______, SC_RSPC, _______, - TD(LCPO), _______, TD(LAPO), TO(_GAME), _______, _______, _______, TD(RAPC), _______, TD(RCPC)), - - -// Macro for right space is bhop -// Maco for 'fn' is move forward -// Macro for 'fn1' is spin constantly -// Macro for right shift is D20 -[_GAME] = LAYOUT_split_space( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TD(D20), XXXXXXX, - _______, _______, _______, TO(_BASE), _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______), - - -[_FN] = LAYOUT_split_space( - _______, KC_VOLD, KC_VOLU, KC_MUTE, QK_RBT, _______, KC_CALC, KC_PGUP, _______, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_INS, _______, - _______, _______, _______, _______, _______, KC_HOME, KC_END, BL_TOGG, BL_DOWN, BL_UP, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - -[_FN1] = LAYOUT_split_space( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - -[_NUM] = LAYOUT_split_space( - _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, PROF_MAC, _______, _______, - _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, - _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_DOT, _______, _______, _______, - _______, _______, _______, _______, _______, KC_0, _______, _______, DB_TOGG, QK_BOOT), -}; - - -/*--- Profile Macro ---*/ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case PROF_MAC: - if (record->event.pressed) { - // When keycode PROF_MAC is pressed - SEND_STRING("if [ $shell = 'zsh' ]; then echo \"echo \"Lock your computer -PHSC138\"\" >> ~/.zshrc\nclear; else echo \"echo \"Lock your computer -PHSC138\"\" >> ~/.profile\nclear; fi\n"); - } else { - // When keycode QMKBEST is released - } - break; - } - return true; -}; -/*--- End Profile Macro ---*/ - -/* Return an integer that corresponds to what kind of tap dance should be executed. - * - * How to figure out tap dance state: interrupted and pressed. - * - * Interrupted: If the state of a dance dance is "interrupted", that means that another key has been hit - * under the tapping term. This is typically indicitive that you are trying to "tap" the key. - * - * Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term - * has ended, but the key is still being pressed down. This generally means the key is being "held". - * - * One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold" - * feature. In general, advanced tap dances do not work well if they are used with commonly typed letters. - * For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters. - * - * Good places to put an advanced tap dance: - * z,q,x,j,k,v,b, any function key, home/end, comma, semi-colon - * - * Criteria for "good placement" of a tap dance key: - * Not a key that is hit frequently in a sentence - * Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or - * in a web form. So 'tab' would be a poor choice for a tap dance. - * Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the - * letter 'p', the word 'pepper' would be quite frustating to type. - * - * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested - * - */ -uint8_t cur_dance(tap_dance_state_t *state) { - if(state->count == 1) { - if(state->interrupted || !state->pressed) return SINGLE_TAP; - //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'. - else return SINGLE_HOLD; - } else if(state->count == 2) { - /* - * DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap - * action when hitting 'pp'. Suggested use case for this return value is when you want to send two - * keystrokes of the key, and not the 'double tap' action/macro. - */ - if(state->interrupted) return DOUBLE_SINGLE_TAP; - else if(state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; - } - //Assumes no one is trying to type the same letter three times (at least not quickly). - //If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add - //an exception here to return a 'TRIPLE_SINGLE_TAP', and define that enum just like 'DOUBLE_SINGLE_TAP' - if(state->count == 3) { - if(state->interrupted || !state->pressed) return TRIPLE_TAP; - else return TRIPLE_HOLD; - } - else return 8; //magic number. At some point this method will expand to work for more presses -} - -//instanalize an instance of 'tap' for the 'pn' tap dance. -static tap pn_tap_state = { - .is_press_action = 1, - .state = 0 -}; - -void pn_finished(tap_dance_state_t *state, void *user_data) { - pn_tap_state.state = cur_dance(state); - switch(pn_tap_state.state) { - case SINGLE_TAP: layer_on(_PROG); break; - case SINGLE_HOLD: layer_on(_NUM); break; - //case DOUBLE_TAP: register_code(KC_ESC); break; - //case DOUBLE_HOLD: register_code(KC_LALT); break; - //case DOUBLE_SINGLE_TAP: register_code(KC_X); unregister_code(KC_X); register_code(KC_X); - //Last case is for fast typing. Assuming your key is `f`: - //For example, when typing the word `buffer`, and you want to make sure that you send `ff` and not `Esc`. - //In order to type `ff` when typing fast, the next character will have to be hit within the `TAPPING_TERM`, which by default is 200ms. - } -} - -void pn_reset(tap_dance_state_t *state, void *user_data) { - switch(pn_tap_state.state) { - //case SINGLE_TAP: unregister_code(KC_X); break; - case SINGLE_HOLD: layer_off(_NUM); break; - //case DOUBLE_TAP: unregister_code(KC_ESC); break; - //case DOUBLE_HOLD: unregister_code(KC_LALT); - //case DOUBLE_SINGLE_TAP: unregister_code(KC_X); - } - pn_tap_state.state = 0; -} - -static tap lalt_tap_state = { - .is_press_action = 1, - .state = 0 -}; - -void lalt_finished(tap_dance_state_t *state, void *user_data) { - lalt_tap_state.state = cur_dance(state); - switch(lalt_tap_state.state) { - case SINGLE_TAP: register_code(KC_LBRC); break; - case SINGLE_HOLD: register_code(KC_LALT); break; - } -} - -void lalt_reset(tap_dance_state_t *state, void *user_data) { - switch(lalt_tap_state.state) { - case SINGLE_TAP: unregister_code(KC_LBRC); break; - case SINGLE_HOLD: unregister_code(KC_LALT); break; - } - lalt_tap_state.state = 0; -} - -static tap ralt_tap_state = { - .is_press_action = 1, - .state = 0 -}; - -void ralt_finished(tap_dance_state_t *state, void *user_data) { - ralt_tap_state.state = cur_dance(state); - switch(ralt_tap_state.state) { - case SINGLE_TAP: register_code(KC_RBRC); break; - case SINGLE_HOLD: register_code(KC_RALT); break; - } -} - -void ralt_reset(tap_dance_state_t *state, void *user_data) { - switch(ralt_tap_state.state) { - case SINGLE_TAP: unregister_code(KC_RBRC); break; - case SINGLE_HOLD: unregister_code(KC_RALT); break; - } - ralt_tap_state.state = 0; -} - -static tap rctl_tap_state = { - .is_press_action = 1, - .state = 0 -}; - -void rctl_finished(tap_dance_state_t *state, void *user_data) { - rctl_tap_state.state = cur_dance(state); - switch(rctl_tap_state.state) { - case SINGLE_TAP: register_code(KC_RSFT); register_code(KC_RBRC); break; - case SINGLE_HOLD: register_code(KC_RCTL); break; - } -} - -void rctl_reset(tap_dance_state_t *state, void *user_data) { - switch(rctl_tap_state.state) { - case SINGLE_TAP: unregister_code(KC_RSFT); unregister_code(KC_RBRC); break; - case SINGLE_HOLD: unregister_code(KC_RCTL); break; - } - rctl_tap_state.state = 0; -} - -static tap lctl_tap_state = { - .is_press_action = 1, - .state = 0 -}; - -void lctl_finished(tap_dance_state_t *state, void *user_data) { - lctl_tap_state.state = cur_dance(state); - switch(lctl_tap_state.state) { - case SINGLE_TAP: register_code(KC_LSFT); register_code(KC_LBRC); break; - case SINGLE_HOLD: register_code(KC_LCTL); break; - } -} - -void lctl_reset(tap_dance_state_t *state, void *user_data) { - switch(lctl_tap_state.state) { - case SINGLE_TAP: unregister_code(KC_LSFT); unregister_code(KC_LBRC); break; - case SINGLE_HOLD: unregister_code(KC_LCTL); break; - } - lctl_tap_state.state = 0; -} - -static tap d20_tap_state = { - .is_press_action = 1, - .state = 0, -}; - -int d20_srand = 0; -uint32_t timer_seed; - -void d20_finished(tap_dance_state_t *state, void *user_data) { - d20_tap_state.state = cur_dance(state); - switch(d20_tap_state.state) { - case SINGLE_HOLD: { - if(d20_srand == 0){ - timer_seed = timer_read32(); - srand((unsigned int)timer_seed); - d20_srand = 1; - } - - SEND_STRING("Seed: "); - // uint32_t has max size of 4294967296 - char SEED_STR_SIZE = 16; - // Initialize seed_str - char seed_str[SEED_STR_SIZE]; - for (int iter=0;iter < SEED_STR_SIZE;iter++) seed_str[iter] = 0; - - int i = SEED_STR_SIZE - 2; // Leave null byte on end of string - while (timer_seed && i >= 0) { - seed_str[i] = timer_seed % 10 + '0'; - timer_seed /= 10; - i -= 1; - } - i++; - - // Move all characters over i spaces - char move = i; - while (i < SEED_STR_SIZE -1) { - seed_str[i-move] = seed_str[i]; - seed_str[i] = 0; - i += 1; - } - - send_string(seed_str); - break; - // Else allow fall through - } - case SINGLE_TAP: { - if(d20_srand == 0){ - timer_seed = timer_read(); - srand((unsigned int)timer_seed); - d20_srand = 1; - } - - unsigned char roll = rand() % 20 + 1; - char res[3]; - res[0] = (char)((char)(roll / 10) + '0'); - res[1] = (char)(roll % 10 + '0'); - - send_string(res); - - break; - } - } -} - -void d20_reset(tap_dance_state_t *state, void *user_data) { - d20_tap_state.state = 0; -} - -tap_dance_action_t tap_dance_actions[] = { - [PN_SWAP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, pn_finished, pn_reset), - [LAPO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lalt_finished, lalt_reset), - [RAPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ralt_finished, ralt_reset), - [LCPO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lctl_finished, lctl_reset), - [RCPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rctl_finished, rctl_reset), - [D20] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, d20_finished, d20_reset), -}; diff --git a/keyboards/evyd13/atom47/keymaps/phsc138/readme.md b/keyboards/evyd13/atom47/keymaps/phsc138/readme.md deleted file mode 100644 index 6817befa8e7d..000000000000 --- a/keyboards/evyd13/atom47/keymaps/phsc138/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# PHSC138's Layout for the atom47 -## Base layer -The base layer is a standard vortex core layout - -## Layer 1 (PROG) -This layer contains space cadet bindings to make programming easier. Ex: tapping left shift will input an open parenthesis - -## Layer 2 (GAME) -This layer contains game specific macros, currently only a D20 has been implemented - -## Layer 3 (FN) -This can be activated by pressing the `fn` key. This layer contains mostly the same bindings as the base vortex core except vim keybinds have replaced the arrow keys. - -## Layer 4 (FN1) -This can be activated by pressing the `fn1` key. This is the default vortex core layer. - -## Layer 5 (NUM) -This is a numpad that can be activated by holding the PN key. This also has some useful keys, such as `QC_BOOT`. diff --git a/keyboards/evyd13/atom47/keymaps/phsc138/rules.mk b/keyboards/evyd13/atom47/keymaps/phsc138/rules.mk deleted file mode 100644 index c6a2d559888e..000000000000 --- a/keyboards/evyd13/atom47/keymaps/phsc138/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -MOUSEKEY_ENABLE = no -NKRO_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h index 352b89dad95d..e14ecadbf091 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 b1642612eacb..8c5720d0c487 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 deleted file mode 100644 index 5f37dc519b04..000000000000 --- a/keyboards/evyd13/atom47/rev3/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Evelien Dekkers - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 // Number of LEDs in your strip -#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/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json index dc9b13961f2b..fc4046d3fc3a 100644 --- a/keyboards/evyd13/atom47/rev3/info.json +++ b/keyboards/evyd13/atom47/rev3/info.json @@ -18,6 +18,21 @@ "levels": 5, "breathing": true }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h index ae0151d512d8..53bbf4f51b38 100644 --- a/keyboards/evyd13/atom47/rev5/config.h +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -38,18 +38,7 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -// This is a 7-bit address, that gets left-shifted and bit 0 -// set to 0 for write, 1 for read (as per I2C protocol) -// The address will vary depending on your wiring: -// 00 <-> GND -// 01 <-> SCL -// 10 <-> SDA -// 11 <-> VCC -// ADDR1 represents A1:A0 of the 7-bit address. -// ADDR2 represents A3:A2 of the 7-bit address. -// The result is: 0b101(ADDR2)(ADDR1) -#define DRIVER_ADDR_1 0b1010000 -#define DRIVER_COUNT 1 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define RGB_MATRIX_LED_COUNT 64 // RGB Matrix Animation modes. Explicitly enabled @@ -85,18 +74,18 @@ along with this program. If not, see . #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 +// #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 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/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json index c442c74549cc..bb068b1536d2 100644 --- a/keyboards/evyd13/atom47/rev5/info.json +++ b/keyboards/evyd13/atom47/rev5/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"], diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c index adec48e6bbe3..7bf2a961ff6d 100644 --- a/keyboards/evyd13/atom47/rev5/rev5.c +++ b/keyboards/evyd13/atom47/rev5/rev5.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include "quantum.h" -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h index abfa0fe63d02..230ff5e311e8 100644 --- a/keyboards/evyd13/eon65/config.h +++ b/keyboards/evyd13/eon65/config.h @@ -16,18 +16,6 @@ #pragma once - #define RGBLED_NUM 10 -#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 - /* 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/evyd13/eon65/info.json b/keyboards/evyd13/eon65/info.json index a58c3a523300..7d0f3ab2e00f 100644 --- a/keyboards/evyd13/eon65/info.json +++ b/keyboards/evyd13/eon65/info.json @@ -13,6 +13,21 @@ "rows": ["D3", "D5", "B1", "B2", "B3"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c b/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c deleted file mode 100644 index 00df8b8c71ac..000000000000 --- a/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c +++ /dev/null @@ -1,46 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* - * Default Layer [0] - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │Del│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │P U│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │Caps L│A │S │D │F │G │H │J │K │L │; │' │Return │P D│ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │Shift │Z │X │C │V │B │N │M │, │. │/ │Shift │↑ │Fn │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮┮┮───┾───┾───â”Ī - * │Ctrl│Opt │Cmd │ Space │Cmd │Opt │█│← │↓ │→ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”īâ”īâ”ī───â”ī───â”ī───┘ - */ - [0] = LAYOUT_65_ansi_blocker(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* - * Fn Layer [1] - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī - * │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │ │Pause │ │ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮┮┮───┾───┾───â”Ī - * │Vol-│Rwd │F FD│ Play │Stp │ │█│Prv│ │Nxt│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”īâ”īâ”ī───â”ī───â”ī───┘ - */ - [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, KC_TRNS, - KC_BRIU, KC_TRNS, KC_TRNS, KC_END, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT, KC_TRNS, - KC_BRID, KC_TRNS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, - KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NUM, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, - KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_NO, KC_MPRV, KC_NO, KC_MNXT - ) -}; diff --git a/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md b/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md deleted file mode 100644 index 333577030aed..000000000000 --- a/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# [Sendy YK](https://mr.sendyyk.com)'s Keymap -`LAYOUT_65_ansi_blocker` - -### Default Layer [0] -``` -┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ -│Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │Del│ -├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī -│Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │P U│ -├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī -│Caps L│A │S │D │F │G │H │J │K │L │; │' │Return │P D│ -├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī -│Shift │Z │X │C │V │B │N │M │, │. │/ │Shift │↑ │Fn │ -├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮┮┮───┾───┾───â”Ī -│Ctrl│Opt │Cmd │ Space │Cmd │Opt │█│← │↓ │→ │ -└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”īâ”īâ”ī───â”ī───â”ī───┘ -``` - -### Fn Layer [1] -``` -┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ -│` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │ -├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī -│Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│ │ -├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī -│Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │ │ -├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī -│Vol+ │ │ │Cal│ │ │N L│Ml │ │ │ │Pause │ │ │ -├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮┮┮───┾───┾───â”Ī -│Vol-│Rwd │F FD│ Play │Stp │ │█│Prv│ │Nxt│ -└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”īâ”īâ”ī───â”ī───â”ī───┘ -``` - -## Build The Firmware -You will need to build the firmware. To do so go to your terminal window and run the compile command: - - qmk compile -kb evyd13/eon65 -km mrsendyyk -See [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h index 04247c7e73c6..230ff5e311e8 100644 --- a/keyboards/evyd13/eon87/config.h +++ b/keyboards/evyd13/eon87/config.h @@ -16,18 +16,6 @@ #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 - /* 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/evyd13/eon87/info.json b/keyboards/evyd13/eon87/info.json index fc134b502fb1..bc9dcec1286e 100644 --- a/keyboards/evyd13/eon87/info.json +++ b/keyboards/evyd13/eon87/info.json @@ -13,6 +13,21 @@ "rows": ["B1", "B2", "B3", "D4", "D1", "D5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h b/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h deleted file mode 100644 index 5f6d85596614..000000000000 --- a/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 2020 Evy Dekkers - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 PS2_DRIVER_USART -#define PS2_CLOCK_PIN D5 -#define PS2_DATA_PIN D2 - -/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ -/* set DDR of CLOCK as input to be slave */ -#define PS2_USART_INIT() do { \ - PS2_CLOCK_DDR &= ~(1<. - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_ortho_6x4( - KC_ESC, KC_TAB, KC_EQL, KC_BSPC, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_P0, KC_PDOT, KC_PENT), -}; diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md b/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md deleted file mode 100644 index d434753b1709..000000000000 --- a/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is a keymap for the GH80-3700 with PS/2 mouse functionality enabled. \ No newline at end of file diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk b/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk deleted file mode 100644 index 3218145955ec..000000000000 --- a/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change yes to no to disable -# -PS2_MOUSE_ENABLE = yes -PS2_ENABLE = yes -PS2_DRIVER = usart diff --git a/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c b/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c deleted file mode 100644 index 5f2ca6ad8dfa..000000000000 --- a/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2020 Evelien Dekkers - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_MPLY, 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, MO(1), KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_APP), - [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; diff --git a/keyboards/evyd13/nt660/keymaps/evyd13/config.h b/keyboards/evyd13/nt660/keymaps/evyd13/config.h deleted file mode 100644 index 9b18f58269ef..000000000000 --- a/keyboards/evyd13/nt660/keymaps/evyd13/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RETRO_TAPPING diff --git a/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c b/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c deleted file mode 100644 index 96e2f3bef354..000000000000 --- a/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2020 Evy Dekkers - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _MA 0 -#define _GA 1 -#define _FL 2 -#define _SP 3 - -#define SPACE LT(_SP, KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_MA] = 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_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_BSLS, KC_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, - KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, SPACE, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - -[_GA] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______), - -[_FL] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -[_SP] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; diff --git a/keyboards/evyd13/plain60/keymaps/audio/config.h b/keyboards/evyd13/plain60/keymaps/audio/config.h deleted file mode 100644 index 50309173b409..000000000000 --- a/keyboards/evyd13/plain60/keymaps/audio/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define AUDIO_PIN B7 diff --git a/keyboards/evyd13/plain60/keymaps/audio/keymap.c b/keyboards/evyd13/plain60/keymaps/audio/keymap.c deleted file mode 100644 index 1acacd0ff84e..000000000000 --- a/keyboards/evyd13/plain60/keymaps/audio/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// 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 _layers { - _MA, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_MA] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(_FN, KC_UP), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(_FN, KC_APP), KC_RCTL), - -[_FN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - AU_TOGG, MU_TOGG, MU_NEXT, CK_TOGG, _______, _______, _______, _______) -}; diff --git a/keyboards/evyd13/plain60/keymaps/audio/rules.mk b/keyboards/evyd13/plain60/keymaps/audio/rules.mk deleted file mode 100644 index 600978d17e67..000000000000 --- a/keyboards/evyd13/plain60/keymaps/audio/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_ENABLE = yes -RAW_ENABLE = no -DYNAMIC_KEYMAP_ENABLE = no - diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h b/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h deleted file mode 100644 index 420b2e80a10c..000000000000 --- a/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2019 Sebastian Spindler - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 Underglow */ -#define WS2812_DI_PIN B7 -#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 -#define RGBLED_NUM 30 // Number of LEDs -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c deleted file mode 100644 index bb332bad001c..000000000000 --- a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -/* -Copyright 2019 Sebastian Spindler - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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_extras/keymap_german.h" - -//Layer renaming -#define _DL 0 //default -#define _FUN 1 //function layer -#define _LED 2 //LED configurations - -//Keymapping renaming -#define ______ KC_TRNS //renaming KC_TRNS for readability in keymaps -#define RGB_MI RGB_MODE_FORWARD //increase RGB mode -#define RGB_MD RGB_MODE_REVERSE //decrease RGB mode -#define RGB_ST RGB_M_P //rgb static -#define MONKEY LCTL(LALT(KC_DEL)) //ctrl+alt+del == monkey grip -#define SPECIAL LT(_FUN, DE_CIRC) // - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_DL] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, ______, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, ______, - SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA,DE_ADIA, DE_HASH, KC_ENT, - KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , ______, KC_ALGR, TG(_LED), KC_RCTL ), - - [_FUN] = 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_PGDN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_HOME, ______, ______, KC_END, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, - ______, ______, ______, ______ , ______, KC_LEFT, KC_DOWN, KC_RIGHT ), - - [_LED] = LAYOUT( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, - ______, RGB_TOG, RGB_MI, RGB_MD, RGB_ST, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______ , ______, ______, TG(_LED), ______ ), -}; diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk b/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk deleted file mode 100644 index 62eb851505f8..000000000000 --- a/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -#Copyright 2019 Sebastian Spindler - -#This program is free software: you can redistribute it and/or modify -#it under the terms of the GNU General Public License as published by -#the Free Software Foundation, either version 2 of the License, or -#(at your option) any later version. - -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. - -#You should have received a copy of the GNU General Public License -#along with this program. If not, see . - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality (+4870) - diff --git a/keyboards/evyd13/solheim68/info.json b/keyboards/evyd13/solheim68/info.json index a08f7860274d..f348b9855681 100644 --- a/keyboards/evyd13/solheim68/info.json +++ b/keyboards/evyd13/solheim68/info.json @@ -15,6 +15,7 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["68_ansi", "68_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -261,6 +262,88 @@ {"matrix": [4, 15], "x": 16.25, "y": 4} ] }, + "LAYOUT_68_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": [2, 14], "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": [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": [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, 14], "x": 15.25, "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": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4} + ] + }, "LAYOUT_68_ansi_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -342,6 +425,89 @@ {"matrix": [4, 15], "x": 16.25, "y": 4} ] }, + "LAYOUT_68_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": [2, 14], "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": [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.25, "y": 1}, + {"matrix": [1, 15], "x": 16.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": 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": [3, 14], "x": 15.25, "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": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4} + ] + }, "LAYOUT_68_iso_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/evyd13/solheim68/matrix_diagram.md b/keyboards/evyd13/solheim68/matrix_diagram.md new file mode 100644 index 000000000000..aa2026434519 --- /dev/null +++ b/keyboards/evyd13/solheim68/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix diagram for Evyd13 solheim68 + +``` +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┐ ┌───────┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2E │0D ││0E │0F │ │0D │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───â”Ī └─┮─────â”Ī +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───┘ ┌──â”ī┐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 ││3E │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī┮──â”ī┾───┾───┐ +│40 │41 │42 │46 │4A │4B │4C │ │4D │4E │4F │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +``` diff --git a/keyboards/evyd13/ta65/config.h b/keyboards/evyd13/ta65/config.h index e17b637a1eeb..28be4f1a5b44 100644 --- a/keyboards/evyd13/ta65/config.h +++ b/keyboards/evyd13/ta65/config.h @@ -21,17 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* Backlight configuration - */ -#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 -#define RGBLED_NUM 8 diff --git a/keyboards/evyd13/ta65/info.json b/keyboards/evyd13/ta65/info.json index d1195a597be8..38da22f40679 100644 --- a/keyboards/evyd13/ta65/info.json +++ b/keyboards/evyd13/ta65/info.json @@ -18,6 +18,21 @@ {"pin_a": "B2", "pin_b": "B1"} ] }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/evyd13/ta65/keymaps/evyd13/config.h b/keyboards/evyd13/ta65/keymaps/evyd13/config.h deleted file mode 100644 index 9b18f58269ef..000000000000 --- a/keyboards/evyd13/ta65/keymaps/evyd13/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RETRO_TAPPING diff --git a/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c b/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c deleted file mode 100644 index 2881f9923c1a..000000000000 --- a/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c +++ /dev/null @@ -1,45 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// 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 { - _MA, - _GA, - _FL, - _SP -}; - -#define SPACE LT(_SP, KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_MA] = LAYOUT_65_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_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_BSLS, KC_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_CAPS, KC_LGUI, KC_LALT, SPACE, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - -[_GA] = LAYOUT_65_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______), - -[_FL] = LAYOUT_65_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, QK_BOOT, KC_PSCR, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - -[_SP] = LAYOUT_65_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_UP, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/config.h b/keyboards/evyd13/wasdat/keymaps/konstantin/config.h deleted file mode 100644 index 3c2583e2d46f..000000000000 --- a/keyboards/evyd13/wasdat/keymaps/konstantin/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define LAYER_FN -#define LAYER_NUMPAD diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c deleted file mode 100644 index fcbab46b7219..000000000000 --- a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -#include QMK_KEYBOARD_H -#include "konstantin.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│SLk│Pau│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bspace ││Ins│Hom│PgU│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ││Del│End│PgD│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐Ent │└───â”ī───â”ī───┘ - * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ - * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ RShift │ │ ↑ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ - * │LCtl│LGui│LAlt│ Space │RAlt│RGui│FnFL│RCtl││ ← │ ↓ │ → │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ - */ - [L_BASE] = LAYOUT_tkl_iso( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, RAL_RGU, 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, FN_FNLK, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Fn layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │Num│Mut│ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ - * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Clear ││Ply│Stp│Vo+│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī - * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │UCM│ │ │ │ │ │ ││Prv│Nxt│Vo-│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │└───â”ī───â”ī───┘ - * │ │M← │M↓ │M→ │MW↑│ │ │ │ │ │ │ │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ - * │ │ │MA0│MA2│MW←│MW→│ │ │App│ │ │ │ │ │PgU│ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ - * │ │DtPR│DtNA│ MW↓ │ │ │ │ ││Hom│PgD│End│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ - */ - [L_FN] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD, KC_MUTE, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, CLEAR, KC_MPLY, KC_MSTP, KC_VOLU, - KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, _______, _______, _______, _______, KC_PGUP, - _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - /* Numpad layer - * ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │Num│ │ - * └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ - * │ │ │ │ │ │ │ │P7 │P8 │P9 │P- │ − │ = │ ││ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī - * │ │ │ │ │ │ │ │P4 │P5 │P6 │P+ │ ( │ ) │ ││ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐PEnt│└───â”ī───â”ī───┘ - * │ │ │ │ │ │ │ │P1 │P2 │P3 │P* │ × │ │ │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī ┌───┐ - * │ │ │ │ │ │ │ │P0 │P0 │ , │P. │P/ │ ÷ │ │ │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ - * │ │ │ │ │ │ │ │ ││ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ - */ - [L_NUMPAD] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, MINUS, EQUALS, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, L_PAREN, R_PAREN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PAST, TIMES, _______, KC_PENT, - _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P0, COMMA, KC_PDOT, KC_PSLS, DIVIDE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk b/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk deleted file mode 100644 index e5fc55e912a2..000000000000 --- a/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Generic features -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -COMMAND_ENABLE = yes -CONSOLE_ENABLE = yes -EXTRAKEY_ENABLE = yes -MOUSEKEY_ENABLE = yes -NKRO_ENABLE = yes -TAP_DANCE_ENABLE = yes -UNICODEMAP_ENABLE = yes - -# Keyboard-specific features -VIA_ENABLE = yes - -# Firmware size reduction -GRAVE_ESC_ENABLE = no -MAGIC_ENABLE = no -SPACE_CADET_ENABLE = no diff --git a/keyboards/evyd13/wonderland/config.h b/keyboards/evyd13/wonderland/config.h deleted file mode 100644 index 1f7440aa2017..000000000000 --- a/keyboards/evyd13/wonderland/config.h +++ /dev/null @@ -1,32 +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 - -/* Backlight configuration - */ -#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 -#define RGBLED_NUM 12 diff --git a/keyboards/evyd13/wonderland/info.json b/keyboards/evyd13/wonderland/info.json index 621be9423253..1609c9697184 100644 --- a/keyboards/evyd13/wonderland/info.json +++ b/keyboards/evyd13/wonderland/info.json @@ -18,6 +18,21 @@ "esc_output": "F0", "led": "B1" }, + "rgblight": { + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h b/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h deleted file mode 100644 index 38383cffc258..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 USE_LEDS_FOR_LAYERS -#define STOPLIGHT_LED diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c b/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c deleted file mode 100755 index b8b62981df08..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright 2019 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "brandonschlack.h" - -// LEDs -#define TOP_LED B1 -#define MIDDLE_LED B2 -#define BOTTOM_LED B3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = LAYOUT( - KC_HOME, 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_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_PGDN, HY_CAPS, KC_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, PLY_FN1, - KC_LOPT, KC_LCMD, SPC_RAI, KC_LCTL, SPC_RAI, KC_RCMD, KC_ROPT -), -[_FN1] = LAYOUT( - KC_MUTE, QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_SLPD, - KC_VOLU, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_DEL, - KC_VOLD, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, KC_MPRV, KC_MNXT, KC_PGDN, KC_UP, KC_MPLY, - _______, RGB_LYR, RGB_THM, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, RGT_SFT, _______, - _______, _______, _______, _______, _______, _______, _______ - -), -[_FN2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - -), -[_ADJUST] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - -) -/* -[_BLANK] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - -) -*/ -}; - -#ifdef STOPLIGHT_LED -bool is_led_stoplight_active = false; -uint8_t led_stoplight_index = 0; -uint16_t led_stoplight_timer = 0; -void matrix_scan_led_stoplight(void); - -void led_stoplight_start(void) { - writePinHigh(TOP_LED); - writePinHigh(MIDDLE_LED); - writePinHigh(BOTTOM_LED); - - is_led_stoplight_active = true; - led_stoplight_timer = timer_read(); -}; - -void led_stoplight_set(pin_t pin) { - writePinLow(pin); -}; - -void led_stoplight_end(void) { - // Reset timer and status variables - led_stoplight_index = 0; - is_led_stoplight_active = false; - led_stoplight_timer = 0; - led_update_kb(host_keyboard_led_state()); -}; - -void matrix_scan_led_stoplight(void) { - if (is_led_stoplight_active) { - if (timer_elapsed(led_stoplight_timer) > (1000 * (led_stoplight_index + 1))) { - switch (led_stoplight_index){ - case 0: - led_stoplight_set(TOP_LED); - led_stoplight_index++; - break; - case 1: - led_stoplight_set(MIDDLE_LED); - led_stoplight_index++; - break; - case 2: - led_stoplight_set(BOTTOM_LED); - led_stoplight_index++; - break; - default: - led_stoplight_index = 0; - is_led_stoplight_active = false; - led_stoplight_timer = 0; - led_update_kb(host_keyboard_led_state()); - break; - } - } - } -}; -#endif - -void keyboard_post_init_keymap(void) { -#ifdef STOPLIGHT_LED - led_stoplight_start(); -#endif -}; - -void matrix_scan_keymap(void) { -#ifdef STOPLIGHT_LED - matrix_scan_led_stoplight(); -#endif -}; - -#ifdef USE_LEDS_FOR_LAYERS -// example of how to use LEDs as layer indicators -static uint8_t top = 0; -static uint8_t middle = 0; - -layer_state_t layer_state_set_keymap(layer_state_t state) { - top = middle = 0; - state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); - - switch (get_highest_layer(state)) { - case _FN1: - top = 1; - break; - case _FN2: - middle = 1; - break; - case _ADJUST: - top = 1; - middle = 1; - break; - default: // for any other layers, or the default layer - break; - } - return state; -} - -// override kb level function -bool led_update_user(led_t usb_led) { - if (!is_led_stoplight_active) { - writePin(TOP_LED, !top); - writePin(MIDDLE_LED, !middle); - writePin(BOTTOM_LED, !usb_led.caps_lock); // still use bottom for Caps Lock - }; - return false; // we are using LEDs for something else override kb -} -#endif diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk b/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk deleted file mode 100755 index 80361c34fddc..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Build Options -# comment out to disable the options. -# -MOUSEKEY_ENABLE = yes # Mouse keys -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -VELOCIKEY_ENABLE = no - diff --git a/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c b/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c deleted file mode 100644 index 47256db374cb..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - _BASE, - _FUNC -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = 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_DEL, KC_BSPC, - KC_F10, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_F11, KC_CAPS, KC_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, SC_LAPO, KC_LGUI, RGUI(KC_SPC), KC_SPC, SC_RAPC, KC_RCTL - ), -[_FUNC] = LAYOUT( - RGB_TOG, VK_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT, - RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, - KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, - _______, KC_LALT, _______, _______, _______, KC_RALT, _______ - ) -}; diff --git a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c deleted file mode 100644 index 3dc90de8f2da..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c +++ /dev/null @@ -1,42 +0,0 @@ -#include QMK_KEYBOARD_H - -#define CAPSTL CTL_T(KC_CAPS) - -enum layers { - _BASE, - _GAME, - _FUNC, - _RGB -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = 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_PGUP, KC_PGDN, - 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, CAPSTL, KC_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_DEL, MO(2), - TG(1), SC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, SC_RAPC, MO(3) - ), -[_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_SPC, _______, _______, _______, _______ - ), -[_FUNC] = LAYOUT( - KC_PSCR, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, KC_VOLU, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, - KC_LSFT, KC_BRIU, KC_BRID, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, - KC_MPLY, KC_LALT, _______, _______, _______, KC_RALT, XXXXXXX - ), -[_RGB] = LAYOUT( - RGB_TOG, VK_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT, - RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -RGB_RMOD, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, - KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, - _______, KC_LALT, _______, _______, _______, KC_RALT, XXXXXXX - ) -}; diff --git a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md deleted file mode 100644 index a5381fff3273..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -## Rafael-Azevedo a layout for everyday use and gaming - -### This layout was designed for everyday work with all necessary keys reachable from the home row, while having a toggle layer moving the space and backspace to a more traditional location. - -* The main layer gives you access to home, end, pgup and pgdn. While keeping control, delete, backspace, and enter reachable when your fingers are in the home row. -* The main layer also includes capslock key while tapped and it becomes control when pressed. -* **Toggle(1)[Game]:** Toggles into a gaming layout that gives you space on your left hand thumb and moves the backspace to the traditional location. That way you can game one handed while using a mouse. -* **MO(2)[_FUNC]:** Is a momentary layer for all special functions including F keys , volume control, and print screen. It also keys character C and V, allowing you to copy and paste while using arrow keys. This is an easy to reach location for all special funtionality that is not normally used. -* **M(3)[_RGB]:** Is a momentary layer that gives you all the RGB control and keyboard Reset. This moves the funtionality not normally used to a place you won't accidently hit and get annoyed at. diff --git a/keyboards/evyd13/wonderland/keymaps/rys/keymap.c b/keyboards/evyd13/wonderland/keymaps/rys/keymap.c deleted file mode 100644 index f7dcab8b4d6c..000000000000 --- a/keyboards/evyd13/wonderland/keymaps/rys/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - _BASE, - _FUNC -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = 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, XXXXXXX, 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_DEL, - KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_NUBS, KC_LALT, KC_SPC, KC_NUHS, KC_RCTL - ), -[_FUNC] = LAYOUT( - RGB_TOG, VK_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, QK_BOOT, - RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, -RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, - _______, KC_LALT, _______, _______, _______, KC_RALT, _______ - ) -}; diff --git a/keyboards/exclusive/e65/config.h b/keyboards/exclusive/e65/config.h index 9d31e13dcb9e..b7e8690b3cc7 100644 --- a/keyboards/exclusive/e65/config.h +++ b/keyboards/exclusive/e65/config.h @@ -21,18 +21,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -# 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 -# 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 3fab8ca8abdb..76f37e9883ba 100644 --- a/keyboards/exclusive/e65/info.json +++ b/keyboards/exclusive/e65/info.json @@ -21,6 +21,23 @@ "caps_lock": "B6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e65/keymaps/crd/keymap.c b/keyboards/exclusive/e65/keymaps/crd/keymap.c deleted file mode 100644 index 865db0a79230..000000000000 --- a/keyboards/exclusive/e65/keymaps/crd/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL = 0, // Base Layer - _FL, // Function Layer - _LL // Lights layer -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_BL] = LAYOUT_65_ansi_7u_wk_splitbs( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(_FL, KC_UP), KC_DEL, - MO(_LL), KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT), - - [_FL] = LAYOUT_65_ansi_7u_wk_splitbs( - _______, KC_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, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_SCRL, KC_PAUS, KC_UP, _______, _______, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - - [_LL] = LAYOUT_65_ansi_7u_wk_splitbs( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAD, - _______, _______, _______, _______, _______, RGB_RMOD, RGB_HUD, RGB_MOD), -}; \ No newline at end of file diff --git a/keyboards/exclusive/e65/keymaps/crd/readme.md b/keyboards/exclusive/e65/keymaps/crd/readme.md deleted file mode 100644 index ac58f84249a4..000000000000 --- a/keyboards/exclusive/e65/keymaps/crd/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# crd's Keymap - -Difference from base layout: - * split backspace - * blocker bottom row - * HHKB Fn layer on Up key when held - * lights layer on left Ctrl diff --git a/keyboards/exclusive/e65/keymaps/madhatter/keymap.c b/keyboards/exclusive/e65/keymaps/madhatter/keymap.c deleted file mode 100644 index 97461dd7d869..000000000000 --- a/keyboards/exclusive/e65/keymaps/madhatter/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _QWERTY, - _FNM -}; - -#define FNM MO(_FNM) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_65_ansi_7u_wk_splitbs( - 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_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,KC_PGUP, - KC_TILD, KC_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_LALT, KC_LGUI, KC_SPC, FNM, KC_LEFT,KC_DOWN,KC_RGHT - ), - - [_FNM] = LAYOUT_65_ansi_7u_wk_splitbs( - 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_MPLY, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, QK_BOOT, KC_VOLU, - AG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_MNXT, - _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R - ), -}; diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c deleted file mode 100644 index aeceb7ba4306..000000000000 --- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - BASE, // qwerty linux - OSX, // qwerty osx - - _ADJUST, // function key layer -}; - -enum keycodes { - // default layout switcher - LAY_LIN = SAFE_RANGE, - LAY_OSX -}; - -// clang-format off - -/* - * ,---------------------------------------------------------------------| - * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |\ |Esc | Ins | - * |---------------------------------------------------------------------| - * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | BSpc| PgUp| - * |---------------------------------------------------------------------| - * |LCTRL |A |S |D |F |G |H |J |K |L |; |' | Enter | PgDn | - * |---------------------------------------------------------------------| - * |Shft |Z |X |C |V |B |N |M |, |. |/ | Shift | Up |Del | - * |---------------------------------------------------------------------| - * |Ctrl|GUI |Alt | Space |Alt| Ctrl|▓|Lt |Dn |Rt | - * `---------------------------------------------------------------------|' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_65_ansi_blocker_splitbs( - 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, LT(_ADJUST,KC_INS), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, - - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN,KC_RGHT), - - [OSX] = LAYOUT_65_ansi_blocker_splitbs( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LGUI, KC_RALT, _______, _______, _______), - - [_ADJUST] = LAYOUT_65_ansi_blocker_splitbs( - QK_BOOT, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST), - BL_TOGG, BL_DOWN,BL_UP, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, - _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAD, RGB_HUD), - - -}; - -// clang-format on - -extern rgblight_config_t rgblight_config; - -bool edit = false; -rgblight_config_t temp_config; - -void keyboard_post_init_user(void) { temp_config.raw = rgblight_config.raw; } - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - /* layout switcher */ - case LAY_LIN: - if (record->event.pressed) { - set_single_persistent_default_layer(BASE); - } - return false; - break; - case LAY_OSX: - if (record->event.pressed) { - set_single_persistent_default_layer(OSX); - } - return false; - break; - case RGB_MOD: - // allows to set the rgb mode while in the ADJUST layer which uses - // its own mode - if (record->event.pressed) { - rgblight_mode(temp_config.mode); - rgblight_step(); - temp_config.mode = rgblight_config.mode; - } - return false; - break; - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - if (state == BASE && edit == true) { - temp_config.hue = rgblight_get_hue(); - temp_config.sat = rgblight_get_sat(); - temp_config.val = rgblight_get_val(); - edit = false; - } - - switch (get_highest_layer(state)) { - case _ADJUST: - temp_config.mode = rgblight_get_mode(); - rgblight_mode_noeeprom(1); - rgblight_setrgb(0xD3, 0x7F, 0xED); - edit = true; - break; - default: - rgblight_mode(temp_config.mode); - rgblight_sethsv(temp_config.hue, temp_config.sat, temp_config.val); - break; - } - return state; -} diff --git a/keyboards/exclusive/e65/keymaps/masterzen/readme.md b/keyboards/exclusive/e65/keymaps/masterzen/readme.md deleted file mode 100644 index 5e1909ff1b7b..000000000000 --- a/keyboards/exclusive/e65/keymaps/masterzen/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# masterzen's Keymap - -![masterzen keymap Layout Image](https://imgur.com/a/cJpZQBn) - -Keymap Maintainer: [masterzen](https://github.com/masterzen) - -Difference from base layout: - * split backspace - * blocker bottom row - * Fn is on the Ins key when hold - * supports both a windows/linux keymap and osx keymap - * layer change is reflected in the underglow rgb leds - diff --git a/keyboards/exclusive/e6_rgb/config.h b/keyboards/exclusive/e6_rgb/config.h index c6acec265872..62eb2320f70c 100644 --- a/keyboards/exclusive/e6_rgb/config.h +++ b/keyboards/exclusive/e6_rgb/config.h @@ -4,23 +4,6 @@ */ #pragma once -//rgb light setting -#define RGBLED_NUM 6 -#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 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND -#define DRIVER_ADDR_1 0b1010000 - -#define DRIVER_COUNT 1 #define RGB_MATRIX_LED_COUNT 63 diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index 2da1fbce6848..f34f40cc1f64 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -7,7 +7,7 @@ void matrix_init_kb(void) { matrix_init_user(); } -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/exclusive/e6_rgb/info.json b/keyboards/exclusive/e6_rgb/info.json index 0381b209a8f4..3b833c3a97f7 100644 --- a/keyboards/exclusive/e6_rgb/info.json +++ b/keyboards/exclusive/e6_rgb/info.json @@ -9,13 +9,30 @@ "device_version": "0.6.2" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["D7", "B4", "B5", "B6", "C6", "C7", "F7", "F0", "B0", "B1", "D2", "D3", "B3", "B2"], "rows": ["F1", "F4", "F5", "F6", "D6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c deleted file mode 100644 index 4c719e7481fd..000000000000 --- a/keyboards/exclusive/e6_rgb/keymaps/allleds/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_END, - KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, TG(1), KC_RCTL - ), - [1] = LAYOUT_60_tsangan_hhkb( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, - QK_BOOT, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, TG(0), _______ - ), -}; diff --git a/keyboards/exclusive/e6_rgb/keymaps/allleds/readme.md b/keyboards/exclusive/e6_rgb/keymaps/allleds/readme.md deleted file mode 100644 index f9d6b26522f9..000000000000 --- a/keyboards/exclusive/e6_rgb/keymaps/allleds/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -This keymap turns RGB underglow and per-key RGB ON at the same time. - -While this is the case: - -RGB_TOG, RGB_MOD, etc to control the RGB underglow - -F13-F17 were used to control the per key RGB - -- F13 to turn the RGB on/off -- F14 to change the effect mode -- F15 to increase the HUE -- F16 to increase the SAT -- F17 to increase the VAL diff --git a/keyboards/exclusive/e6_rgb/keymaps/allleds/rules.mk b/keyboards/exclusive/e6_rgb/keymaps/allleds/rules.mk deleted file mode 100644 index c2a46039d6b6..000000000000 --- a/keyboards/exclusive/e6_rgb/keymaps/allleds/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/exclusive/e6v2/le/config.h b/keyboards/exclusive/e6v2/le/config.h deleted file mode 100644 index 8c0ffda30b53..000000000000 --- a/keyboards/exclusive/e6v2/le/config.h +++ /dev/null @@ -1,33 +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 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 -#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 8fbbcbfea3fc..551efa299c14 100644 --- a/keyboards/exclusive/e6v2/le/info.json +++ b/keyboards/exclusive/e6v2/le/info.json @@ -23,6 +23,24 @@ "caps_lock": "B7", "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c b/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c deleted file mode 100644 index 34a4f60a3e64..000000000000 --- a/keyboards/exclusive/e6v2/le/keymaps/eric/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /*rBase layer */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_LGUI, KC_SPACE, KC_SPACE, KC_RGUI, KC_RGUI, KC_RALT, KC_RCTL, KC_RCTL - ), - - /* Function layer */ - [1] = LAYOUT( - KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), MO(2), KC_TRNS - ), - - /* Reset layer */ - [2] = LAYOUT( - QK_BOOT, KC_A, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/exclusive/e6v2/le/keymaps/johu/keymap.c b/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c deleted file mode 100644 index 20c449dab1ce..000000000000 --- a/keyboards/exclusive/e6v2/le/keymaps/johu/keymap.c +++ /dev/null @@ -1,98 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _BL 0 -#define _FL 1 -#define _SL 2 -#define _CL 3 - -// Tap dance defines -#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl -#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt) -#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift -#define KC_SPFN LT(_SL, KC_SPC) // Tap for space, hold for function layer (aka SpaceFN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Layer 0: Base layer (Default layer) - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * |Tab/Hyper| Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl/Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift/Ent | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `--------------------------------------------------------------------' - */ - [_BL] = LAYOUT_60_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_GRV, - HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - CTL_ESC, KC_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, SFT_ENT, MO(_FL), - KC_LGUI, KC_LALT, KC_SPFN, KC_RALT, KC_RGUI - ), - -/* Layer 1: FN Layer - * ,-----------------------------------------------------------------------------------------. - * | CL | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | Psc | Slck| Paus| Up | | Del | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | CL | - * `--------------------------------------------------------------------' - */ - [_FL] = LAYOUT_60_hhkb( - TG(_CL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, KC_MSTP, MO(_CL) - ), - -/* Layer 2: Space FN Layer -* ,-----------------------------------------------------------------------------------------. -* | CL | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | -* |-----------------------------------------------------------------------------------------+ -* | | | | | | | | PgUp| | PgDn| | | | Del | -* |-----------------------------------------------------------------------------------------+ -* | | Vol-| Vol+| Mute| | | Left| Down| Up |Right| | | | -* |-----------------------------------------------------------------------------------------+ -* | | Prev| Play| Next| | | Home| End | | | | | | -* |-----------------------------------------------------------------------------------------+ -* | | | | | CL | -* `--------------------------------------------------------------------' -*/ - [_SL] = LAYOUT_60_hhkb( - TG(_CL), KC_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_PGUP, _______, KC_PGDN, _______, _______, _______, KC_DEL, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, - _______, _______, _______, _______, MO(_CL) - ), - -/* Layer 3: Control Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | QK_BOOT | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `--------------------------------------------------------------------' - */ - [_CL] = LAYOUT_60_hhkb( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, BL_TOGG, BL_STEP, BL_DOWN, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/exclusive/e6v2/le/keymaps/johu/readme.md b/keyboards/exclusive/e6v2/le/keymaps/johu/readme.md deleted file mode 100644 index 605a14a1c3f5..000000000000 --- a/keyboards/exclusive/e6v2/le/keymaps/johu/readme.md +++ /dev/null @@ -1,40 +0,0 @@ -# johu's E6-V2 Last Edition (LE) HHKB -Make example for this keyboard (after setting up your build environment): -```bash -$ make e6v2/le:johu -``` - -Or to make and flash: -```bash -$ make e6v2/le:johu:dfu -``` - -See the [build environment setup] and the [make instructions] for more -information. Brand new to QMK? Start with our [Complete Newbs Guide]. - -## Layer 0: Base Layer -* HHKB Qwerty layout plus some specials: - * The Space key sends `Space` when tapped, toggles to *Space FN Layer* when held - * [Grave Escape] - * The Ctrl key sends `Esc` when tapped, `Ctrl` when held - * The Tab key sends `Tab` when tapped, [Hyper] (`Super+Ctrl+Alt+Shift`) when held - * The right Shift key sends `Enter` when tapped, `Shift` when held - -## Layer 1: Function Layer -* Default HHKB function layer includig the iconic diamond arrow cluster -* Multimedia controls - -## Layer 2: Space FN Layer -* VIM style arrow cluster -* Multimedia controls - -## Layer 3: Control Layer -* Reset button -* RGB controls -* Caps Lock - -[build environment setup]: https://docs.qmk.fm/#/getting_started_build_tools -[make instructions]: https://docs.qmk.fm/#/getting_started_make_guide -[Complete Newbs Guide]: https://docs.qmk.fm/#/newbs -[Grave Escape]: https://beta.docs.qmk.fm/features/feature_grave_esc -[Hyper]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key diff --git a/keyboards/exclusive/e6v2/le_bmc/config.h b/keyboards/exclusive/e6v2/le_bmc/config.h deleted file mode 100644 index bb3f00287eb0..000000000000 --- a/keyboards/exclusive/e6v2/le_bmc/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2019 MechMerlin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLED_NUM 6 -#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/exclusive/e6v2/le_bmc/info.json b/keyboards/exclusive/e6v2/le_bmc/info.json index c0d2ffa868bb..123ab8f7bb3e 100644 --- a/keyboards/exclusive/e6v2/le_bmc/info.json +++ b/keyboards/exclusive/e6v2/le_bmc/info.json @@ -15,6 +15,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/exclusive/e6v2/oe/config.h b/keyboards/exclusive/e6v2/oe/config.h deleted file mode 100644 index 6e9255bebb0a..000000000000 --- a/keyboards/exclusive/e6v2/oe/config.h +++ /dev/null @@ -1,33 +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 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 -#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 eef3f67847eb..90a9a8b40b05 100644 --- a/keyboards/exclusive/e6v2/oe/info.json +++ b/keyboards/exclusive/e6v2/oe/info.json @@ -19,6 +19,24 @@ "breathing": true, "breathing_period": 3 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c b/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c deleted file mode 100644 index 1605f8da7cee..000000000000 --- a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _HLa 1 -#define _HLb 2 -#define _HL 3 -#define _XL 4 - -enum hype_keycodes { - FN_HLa = SAFE_RANGE, - FN_HLb -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_hhkb( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_HLb, - KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, FN_HLa - ), - [_HLa] = LAYOUT_hhkb( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS - ), - [_HLb] = LAYOUT_hhkb( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS - ), - [_HL] = LAYOUT_hhkb( - RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF, BL_STEP, BL_ON, BL_DOWN,BL_UP, LALT(KC_F4), - QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case FN_HLa: - if (record->event.pressed) - { - layer_on(_HLa); - update_tri_layer(_HLa, _HLb, _HL); - } - else - { - layer_off(_HLa); - update_tri_layer(_HLa, _HLb, _HL); - } - return false; - break; - case FN_HLb: - if (record->event.pressed) - { - layer_on(_HLb); - update_tri_layer(_HLa, _HLb, _HL); - } - else - { - layer_off(_HLb); - update_tri_layer(_HLa, _HLb, _HL); - } - return false; - break; - } - return true; -} diff --git a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/readme.md b/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/readme.md deleted file mode 100644 index 4cc97aef0463..000000000000 --- a/keyboards/exclusive/e6v2/oe/keymaps/amnesia0287/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -amnesia0287's Keymap -=== - -Keymap Maintainer: [amnesia0287](https://github.com/amnesia0287) - -Difference from base layout: Primarily the HHKB-ness - -Intended usage: Daily driver for programming diff --git a/keyboards/exclusive/e6v2/oe_bmc/config.h b/keyboards/exclusive/e6v2/oe_bmc/config.h deleted file mode 100644 index bb3f00287eb0..000000000000 --- a/keyboards/exclusive/e6v2/oe_bmc/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2019 MechMerlin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLED_NUM 6 -#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/exclusive/e6v2/oe_bmc/info.json b/keyboards/exclusive/e6v2/oe_bmc/info.json index 622d7db56445..65be093b4930 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/info.json +++ b/keyboards/exclusive/e6v2/oe_bmc/info.json @@ -15,6 +15,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/exclusive/e7v1/config.h b/keyboards/exclusive/e7v1/config.h index 896eb97b2556..5f360813239b 100644 --- a/keyboards/exclusive/e7v1/config.h +++ b/keyboards/exclusive/e7v1/config.h @@ -5,18 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 42ec77a9fb6f..ed94f9805e5d 100644 --- a/keyboards/exclusive/e7v1/info.json +++ b/keyboards/exclusive/e7v1/info.json @@ -17,6 +17,23 @@ "pin": "B7", "levels": 6 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c deleted file mode 100644 index 8550b72091ed..000000000000 --- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c +++ /dev/null @@ -1,138 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - BASE, // qwerty linux - OSX, // qwerty osx - - _ADJUST, // function key layer -}; - -enum keycodes { - // default layout switcher - LAY_LIN = SAFE_RANGE, - LAY_OSX -}; - -/* - * ,---------------------------------------------------------------------| - * |Esc|▓|F1 |F2 |F3 |F4 |▓|F5 |F6 |F7 |F8 |▓|F9 |F10|F11|F12|▓|Hom|▓|End| - * |---------------------------------------------------------------------| - * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |\ |Del|▓PgU | - * |---------------------------------------------------------------------| - * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | BSpc|▓PgDn| - * |---------------------------------------------------------------------| - * |LCTRL |A |S |D |F |G |H |J |K |L |; |' | Enter |▓▓▓▓▓▓▓| - * |---------------------------------------------------------------------| - * |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |▓| Up |▓▓| - * |---------------------------------------------------------------------| - * |Ctrl|GUI |Alt | Space |Alt |Fn |▓|Lt |Dn |Rt | - * `---------------------------------------------------------------------|' - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_75_ansi_splitbs( - 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, LT(_ADJUST,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_BSLS,KC_DEL, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [OSX] = LAYOUT_75_ansi_splitbs( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LALT, KC_LGUI, _______, KC_LGUI, KC_RALT, _______, _______, _______), - - [_ADJUST] = LAYOUT_75_ansi_splitbs( - QK_BOOT, LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - BL_TOGG, BL_DOWN,BL_UP, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_VAD, RGB_HUD), - - -}; - -extern rgblight_config_t rgblight_config; - -bool edit = false; -uint32_t mode; -uint16_t hue; -uint8_t sat; -uint8_t val; - -void matrix_init_user(void) -{ - mode = rgblight_config.mode; -} - - -void persistent_default_layer_set(uint16_t default_layer) -{ - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - switch (keycode) - { - /* layout switcher */ - case LAY_LIN: - if (record->event.pressed) - { - persistent_default_layer_set(1UL << BASE); - } - return false; - break; - case LAY_OSX: - if (record->event.pressed) - { - persistent_default_layer_set(1UL << OSX); - } - return false; - break; - case RGB_MOD: - // allows to set the rgb mode while in the ADJUST layer which uses - // its own mode - if (record->event.pressed) - { - rgblight_mode(mode); - rgblight_step(); - mode = rgblight_config.mode; - } - return false; - break; - } - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) -{ - if (state == BASE && edit == true) - { - hue = rgblight_get_hue(); - sat = rgblight_get_sat(); - val = rgblight_get_val(); - edit = false; - } - - switch (get_highest_layer(state)) - { - case _ADJUST: - mode = rgblight_get_mode(); - rgblight_mode_noeeprom(1); - rgblight_setrgb(0xD3, 0x7F, 0xED); - edit = true; - break; - default: - rgblight_mode(mode); - rgblight_sethsv(hue, sat, val); - break; - } - return state; -} diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/readme.md b/keyboards/exclusive/e7v1/keymaps/masterzen/readme.md deleted file mode 100644 index ee4f2a531f5b..000000000000 --- a/keyboards/exclusive/e7v1/keymaps/masterzen/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# masterzen's Keymap - -![masterzen keymap Layout Image](https://imgur.com/SF4UP2j) - -Keymap Maintainer: [masterzen](https://github.com/masterzen) - - -Difference from base layout: - * split backspace - * Home & End on last keys of row 0 instead of Insert/Del - * Fn is on the End key when hold - * supports both a windows/linux keymap and osx keymap - * layer change is reflected in the rgb leds of the logo - diff --git a/keyboards/exclusive/e7v1se/config.h b/keyboards/exclusive/e7v1se/config.h index f4f04f2bbeee..f6e1e895abda 100644 --- a/keyboards/exclusive/e7v1se/config.h +++ b/keyboards/exclusive/e7v1se/config.h @@ -17,22 +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 -#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 - /* 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/exclusive/e7v1se/info.json b/keyboards/exclusive/e7v1se/info.json index 3244831b4db1..33e17f14b585 100644 --- a/keyboards/exclusive/e7v1se/info.json +++ b/keyboards/exclusive/e7v1se/info.json @@ -17,6 +17,24 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e85/config.h b/keyboards/exclusive/e85/config.h index 730536b513ea..0ccb642711a1 100644 --- a/keyboards/exclusive/e85/config.h +++ b/keyboards/exclusive/e85/config.h @@ -17,22 +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 -#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 - /* 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/exclusive/e85/hotswap/info.json b/keyboards/exclusive/e85/hotswap/info.json index 60dc68eaf78b..779a717ec55e 100644 --- a/keyboards/exclusive/e85/hotswap/info.json +++ b/keyboards/exclusive/e85/hotswap/info.json @@ -18,6 +18,24 @@ "levels": 6, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e85/soldered/info.json b/keyboards/exclusive/e85/soldered/info.json index c0f9128b5240..d34440389a65 100644 --- a/keyboards/exclusive/e85/soldered/info.json +++ b/keyboards/exclusive/e85/soldered/info.json @@ -18,6 +18,24 @@ "levels": 6, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exent/config.h b/keyboards/exent/config.h deleted file mode 100644 index b062e20b682f..000000000000 --- a/keyboards/exent/config.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2019 mechmerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RGBLED_NUM 18 - -#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 - - -/* - * 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/exent/info.json b/keyboards/exent/info.json index 9f0f3e394505..54d54f08978b 100644 --- a/keyboards/exent/info.json +++ b/keyboards/exent/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/eyeohdesigns/babyv/config.h b/keyboards/eyeohdesigns/babyv/config.h deleted file mode 100644 index 4bfabf0e8a34..000000000000 --- a/keyboards/eyeohdesigns/babyv/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2020 Eye Oh! Designs - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 -#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/eyeohdesigns/babyv/info.json b/keyboards/eyeohdesigns/babyv/info.json index f2d0ea53e6bf..14f52889ba0b 100644 --- a/keyboards/eyeohdesigns/babyv/info.json +++ b/keyboards/eyeohdesigns/babyv/info.json @@ -16,6 +16,66 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "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 + } + }, + "rgb_matrix": { + "driver": "ws2812", + "animations": { + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_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_pinwheel": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true + }, + "layout": [ + {"x": 123, "y": 74, "flags": 2}, + {"x": 188, "y": 67, "flags": 2}, + {"x": 206, "y": 62, "flags": 2}, + {"x": 206, "y": 0, "flags": 2}, + {"x": 175, "y": 0, "flags": 2}, + {"x": 141, "y": 0, "flags": 2}, + {"x": 83, "y": 0, "flags": 2}, + {"x": 65, "y": 0, "flags": 2}, + {"x": 18, "y": 0, "flags": 2}, + {"x": 18, "y": 62, "flags": 2}, + {"x": 40, "y": 67, "flags": 2}, + {"x": 99, "y": 74, "flags": 2} + ], + "sat_steps": 8, + "val_steps": 8, + "led_count": 12, + "center_point": [112, 38] + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/eyeohdesigns/babyv/keymaps/bghull/combos.def b/keyboards/eyeohdesigns/babyv/keymaps/bghull/combos.def deleted file mode 100644 index a525113a0936..000000000000 --- a/keyboards/eyeohdesigns/babyv/keymaps/bghull/combos.def +++ /dev/null @@ -1,14 +0,0 @@ -// name result chord keys -COMB(QW_ESC, KC_ESC, KC_Q, KC_W) -COMB(CV_DEL, KC_DEL, KC_C, KC_V) -COMB(XC_BSPC, KC_BSPC, KC_X, KC_C) -COMB(WE_LBRC, KC_LBRC, KC_W, KC_E) -COMB(ER_RBRC, KC_RBRC, KC_E, KC_R) -COMB(SD_LPRN, KC_LPRN, KC_S, KC_D) -COMB(DF_RPRN, KC_RPRN, KC_D, KC_F) -COMB(FG_BSLS, KC_BSLS, KC_F, KC_G) -COMB(HJ_SLSH, KC_SLSH, KC_H, KC_J) -COMB(DQ_LGUI, KC_LGUI, KC_DOT, KC_QUOT) -COMB(CD_LALT, KC_LALT, KC_COMM, KC_DOT) -COMB(MC_LSFT, KC_LSFT, KC_M, KC_COMM) -COMB(NM_LCTL, KC_LCTL, KC_N, KC_M) \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/bghull/config.h b/keyboards/eyeohdesigns/babyv/keymaps/bghull/config.h deleted file mode 100644 index 96a6aefb0e53..000000000000 --- a/keyboards/eyeohdesigns/babyv/keymaps/bghull/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2021 Your Name (@bghull) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#define AUTO_SHIFT_TIMEOUT 135 -#define ONESHOT_TIMEOUT 1000 -#define COMBO_TERM 20 diff --git a/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c deleted file mode 100644 index 7d22ebc67086..000000000000 --- a/keyboards/eyeohdesigns/babyv/keymaps/bghull/keymap.c +++ /dev/null @@ -1,122 +0,0 @@ -/* Copyright 2020 Eye Oh! Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - */ - -#include QMK_KEYBOARD_H -#include "keymap_steno.h" -#include "g/keymap_combo.h" - - -#define COMBO_ONLY_FROM_LAYER QWERTY - -enum layer_names { - QWERTY, - COLMAK, - NAVNUM, - FUNC, - STENO -}; - -#define BspNAV LT(NAVNUM, KC_BSPC) -#define SpcFUN LT(FUNC, KC_SPC) -#define OneSFT OSM(MOD_LSFT) -#define OneALT OSM(MOD_LALT) -#define OneCTL OSM(MOD_LCTL) -#define OneWIN OSM(MOD_LGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* 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 | , < | . > | ' " | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | Ctrl |NAVNUM| |Space |BspNAV| | - * `-----------------------------------------------------------------------------------' - */ -[QWERTY] = LAYOUT_2u( - 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_QUOT, - _______, KC_LCTL, MO(NAVNUM), KC_SPC, BspNAV, _______ -), - -[COLMAK] = LAYOUT_2u( - KC_Q, KC_W, KC_F, KC_P, KC_B, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_A, KC_R, KC_S, KC_T, KC_G, _______, _______, KC_M, KC_N, KC_E, KC_I, KC_O, - KC_Z, KC_X, KC_C, KC_D, KC_V, _______, _______, KC_K, KC_H, KC_COMM, KC_DOT, KC_QUOT, - _______, KC_LCTL, MO(NAVNUM), KC_SPC, BspNAV, _______ - -), -/* NAVNUM - * ,-----------------------------------------------------------------------------------. - * |Enter | Home | Up | End | | RST | - | 7 | 8 | 9 | 0 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |OneSFT| Left | Down |Right | ` ~ | CLMK | + | 4 | 5 | 6 |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |OneCTL|OneALT| Tab | _ |OneWIN| QWER | = | 1 | 2 | 3 | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |SpcFUN| Ctrl | | - * `-----------------------------------------------------------------------------------' - */ -[NAVNUM] = LAYOUT_2u( - KC_ENT, KC_HOME, KC_UP, KC_END, _______, _______, QK_BOOT, KC_PMNS, KC_7, KC_8, KC_9, KC_0, - OneSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_GRV, _______, DF(COLMAK), KC_PPLS, KC_4, KC_5, KC_6, KC_ENT, - OneCTL, OneALT, KC_TAB, KC_UNDS, OneWIN, _______, DF(QWERTY), KC_EQL, KC_1, KC_2, KC_3, _______, - _______, _______, _______, SpcFUN, KC_LCTL, _______ -), -/* FUNC: Mousekeys + F keys - * ,-----------------------------------------------------------------------------------. - * | |Rclick| MsUp |Lclick| WhUp | | | F7 | F8 | F9 | F10 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | MsLt | MsDn | MsRt | WhDn | |OneALT| F4 | F5 | F6 | F11 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | |Mclick| | | | | F1 | F2 | F3 | F12 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[FUNC] = LAYOUT_2u( - _______, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, OneALT , KC_F4, KC_F5, KC_F6, KC_F11, - _______, _______, KC_BTN3, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, - _______, _______, _______, _______, _______, DF(STENO) -), - -/* STENO - * ,----------------------------------------------------------------------------------------. - * | | # | # | # | # | # / \ # | # | # | # | # | | - * |------+------+------+------+------+-------- -------+------+------+------+------+------| - * | | S | T | P ! H ! * / \ * ! F ! P | L | T | D | - * |------+------+------+------+------+------- ------+------+------+------+------+------| - * | | S | K | W | R | * / \ * | R | B | G | S | Z | - * |------+------+------+------+------+------ -----+------+------+------+------+------| - * | | | A | O | | E | U | |QWERTY| - * `----------------------------------------------------------------------------------------' -*/ -[STENO] = LAYOUT_2u( - STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC , - STN_FN, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , - XXXXXXX, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , - XXXXXXX, STN_A, STN_O, STN_E, STN_U, DF(QWERTY) - ), -}; - - -void matrix_init_user(void) { - steno_set_mode(STENO_MODE_GEMINI); -}; - diff --git a/keyboards/eyeohdesigns/babyv/keymaps/bghull/rules.mk b/keyboards/eyeohdesigns/babyv/keymaps/bghull/rules.mk deleted file mode 100644 index db78b5957b41..000000000000 --- a/keyboards/eyeohdesigns/babyv/keymaps/bghull/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -NKRO_ENABLE = yes -AUTO_SHIFT_ENABLE = yes -MOUSEKEY_ENABLE = yes -STENO_ENABLE = yes -COMBO_ENABLE = yes -BACKLIGHT_ENABLE = no -RGBLIGHT_ENABLE = no -VPATH += keyboards/gboards \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c deleted file mode 100644 index 23a85635956a..000000000000 --- a/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2020 melonbred - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - LAYER0, - LAYER1, - LAYER2, -}; - - -// Tap Dance Declarations -enum { - TD_M_D = 0, - TD_P_M -}; - -// Tap Dance Definition -tap_dance_action_t tap_dance_actions[] = { - //Tap once for minus, tap twice for divide - [TD_M_D] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PSLS), - //Tap once for plus, tap twice for multiply - [TD_P_M] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_PAST) -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER0] = LAYOUT_2u( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - CTL_T(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_SLSH, KC_RSFT, - MO(LAYER2), KC_LALT, LT(LAYER1, KC_SPC), KC_SPC, KC_RALT, KC_LGUI - ), - - [LAYER1] = LAYOUT_2u( - KC_GRV, KC_QUOT, _______, KC_UP, _______, _______, KC_7, KC_8, KC_9, KC_PMNS, KC_PSLS, KC_DEL, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_4, KC_5, KC_6, KC_PPLS, KC_PAST, KC_ENT, - KC_LSFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, KC_RSFT, - XXXXXXX, _______, _______, KC_0, KC_PDOT, _______ - ), - - [LAYER2] = LAYOUT_2u( - KC_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_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, XXXXXXX, - _______, KC_NUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), -}; diff --git a/keyboards/eyeohdesigns/humble40/config.h b/keyboards/eyeohdesigns/humble40/config.h new file mode 100644 index 000000000000..2458474199aa --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2022 Eye Oh Designs + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define BACKLIGHT_PWM_DRIVER PWMD6 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A diff --git a/keyboards/eyeohdesigns/humble40/halconf.h b/keyboards/eyeohdesigns/humble40/halconf.h new file mode 100644 index 000000000000..a8ee2ba9520f --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 The QMK Community (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/eyeohdesigns/humble40/info.json b/keyboards/eyeohdesigns/humble40/info.json new file mode 100644 index 000000000000..214927c27fb7 --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/info.json @@ -0,0 +1,359 @@ +{ + "manufacturer": "Eye Oh Designs", + "keyboard_name": "humble40", + "maintainer": "joedinkle", + "backlight": { + "breathing": true, + "driver": "pwm", + "levels": 10, + "pin": "GP28" + }, + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "matrix_pins": { + "cols": ["GP19", "GP11", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "rows": ["GP29", "GP20", "GP10", "GP12"] + }, + "processor": "RP2040", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://eyeohdesigns.com/products/humble40", + "usb": { + "device_version": "0.0.1", + "pid": "0x6834", + "vid": "0xFEED" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_full_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 2.25}, + {"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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 6], "x": 3.25, "y": 3, "w": 6}, + {"matrix": [3, 9], "x": 9.25, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1}, + {"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.25}, + {"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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3, "w": 2}, + {"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "LAYOUT_split_enter_full_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1}, + {"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.25}, + {"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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 6], "x": 3.25, "y": 3, "w": 6}, + {"matrix": [3, 9], "x": 9.25, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "LAYOUT_standard_full_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 2.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": 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, "w": 1.75}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 6], "x": 3.25, "y": 3, "w": 6}, + {"matrix": [3, 9], "x": 9.25, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "LAYOUT_standard_split_enter_full_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1}, + {"matrix": [1, 11], "x": 11.25, "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": 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, "w": 1.75}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 6], "x": 3.25, "y": 3, "w": 6}, + {"matrix": [3, 9], "x": 9.25, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "LAYOUT_standard_split_enter_split_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1}, + {"matrix": [1, 11], "x": 11.25, "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": 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, "w": 1.75}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3, "w": 2}, + {"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + }, + "LAYOUT_standard_split_space": { + "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, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "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": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 11], "x": 10.25, "y": 1, "w": 2.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": 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, "w": 1.75}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3, "w": 2}, + {"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/eyeohdesigns/humble40/keymaps/default/keymap.json b/keyboards/eyeohdesigns/humble40/keymaps/default/keymap.json new file mode 100644 index 000000000000..ee160b5ef461 --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/keymaps/default/keymap.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "keyboard": "eyeohdesigns/humble40", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "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", "RSFT_T(KC_SLSH)", "KC_RSFT", + "KC_LCTL", "KC_LGUI", "KC_LALT", "LT(1,KC_SPC)", "LT(1,KC_SPC)", "KC_RGUI", "KC_RALT", "MO(2)" + ], + [ + "KC_TRNS", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_DEL", + "KC_CAPS", "KC_GRV", "KC_LBRC", "KC_RBRC", "KC_MINS", "KC_TRNS", "KC_TRNS", "KC_EQL", "KC_BSLS", "KC_SCLN", "KC_TRNS", "KC_QUOT", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "BL_TOGG", "BL_BRTG", "BL_STEP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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/eyeohdesigns/humble40/mcuconf.h b/keyboards/eyeohdesigns/humble40/mcuconf.h new file mode 100644 index 000000000000..94bd53b289ad --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 The QMK Community (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_PWM_USE_PWM6 +#define RP_PWM_USE_PWM6 TRUE diff --git a/keyboards/eyeohdesigns/humble40/readme.md b/keyboards/eyeohdesigns/humble40/readme.md new file mode 100644 index 000000000000..cf82fa264a49 --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/readme.md @@ -0,0 +1,31 @@ +# humble40 + +![humble40](https://i.imgur.com/yI0mwn9h.jpg) + +A 12.5u WKL 40% offering uniform and standard row stagger configurations. + +* Keyboard Maintainer: [Eye Oh Designs](https://github.com/joedinkle) +* Hardware Supported: humble40 (RP2040 MCU) +* Hardware Availability: Group buy took place between 2022-06-17 1900 UTC and 2022-07-09 0400 UTC on [Eye Oh Designs](https://eyeohdesigns.com/) + +Make example for this keyboard (after setting up your build environment): + + make eyeohdesigns/humble40:default + +Flashing example for this keyboard + + make eyeohdesigns/humble40: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 top left key and plug in the keyboard. This will also clear the emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset button**: Short the two holes in the PCB marked `TP6` and plug the board in. +* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-provided keymaps, but you may assign this key in any keymaps you create. + +## Flashing + +After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device named `RPI-RP2`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. diff --git a/keyboards/eyeohdesigns/humble40/rules.mk b/keyboards/eyeohdesigns/humble40/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/eyeohdesigns/humble40/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c deleted file mode 100644 index 2028e09daaa9..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/acs/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 IOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_acs(/* Base */ - KC_MUTE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LGUI, KC_LCTL, KC_LALT, MO(_FUNCTN), KC_SPC, KC_RALT, KC_RCTL, MO(_FUNCTN), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_acs(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c deleted file mode 100644 index 37388cb15ef8..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/ad5/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 IOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_ad5(/* Base */ - KC_MUTE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FUNCTN), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_ad5(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTN), KC_RALT, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c deleted file mode 100644 index 9038281e3f39..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/ads/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 IOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_ads(/* Base */ - KC_MUTE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, KC_UP, - KC_LGUI, KC_LCTL, KC_LALT, MO(_FUNCTN), KC_SPC, KC_RALT, KC_RCTL, MO(_FUNCTN), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_ads(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c deleted file mode 100644 index bb0c60eb21bd..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/bc5/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2022 EOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_bc5(/* Base */ - KC_MUTE, 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_DEL, KC_MINS, KC_EQL, - KC_TAB, KC_Q, KC_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FUNCTN), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_bc5(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTN), KC_RALT, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c deleted file mode 100644 index c6c878702e1d..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/bcs/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2022 EOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_bcs(/* Base */ - KC_MUTE, 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_DEL, KC_MINS, KC_EQL, - KC_TAB, KC_Q, KC_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_UP, - KC_LGUI, KC_LCTL, KC_LALT, MO(_FUNCTN), KC_SPC, KC_RALT, KC_RCTL, MO(_FUNCTN), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_bcs(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c deleted file mode 100644 index ab2a3134203b..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/bd5/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 IOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_bd5(/* Base */ - KC_MUTE, 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_DEL, KC_MINS, KC_EQL, - KC_TAB, KC_Q, KC_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_RGUI, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FUNCTN), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_bd5(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTN), KC_RALT, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c deleted file mode 100644 index ec7550b2623e..000000000000 --- a/keyboards/eyeohdesigns/sprh/keymaps/bds/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 IOD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -enum custom_layers { - _QWERTY, - _FUNCTN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_bds(/* Base */ - KC_MUTE, 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_DEL, KC_MINS, KC_EQL, - KC_TAB, KC_Q, KC_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_RGUI, KC_UP, - KC_LGUI, KC_LCTL, KC_LALT, MO(_FUNCTN), KC_SPC, KC_RALT, KC_RCTL, MO(_FUNCTN), KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_FUNCTN] = LAYOUT_bds(/* Base */ - QK_BOOT, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ) -}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/theboulevard/config.h b/keyboards/eyeohdesigns/theboulevard/config.h deleted file mode 100644 index e2f7092f9821..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2021 eye oh designs - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 a94968a989eb..afec9c4419da 100644 --- a/keyboards/eyeohdesigns/theboulevard/info.json +++ b/keyboards/eyeohdesigns/theboulevard/info.json @@ -18,6 +18,15 @@ {"pin_a": "F5", "pin_b": "F4", "resolution": 2} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true, + "animations": { + "breathing": true + } + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c deleted file mode 100644 index 6f08ef45d31a..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger1/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 eye oh designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY, - _FUNCTN, - _NUMBRS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_stagger1( - KC_MUTE, KC_ESC, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - 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_F3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_F4, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), MO(_NUMBRS), KC_RALT, KC_RCTL, KC_RGUI - ), - - [_FUNCTN] = LAYOUT_stagger1( - QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, - KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, - KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS), - KC_F8, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), MO(_NUMBRS), KC_RALT, KC_RCTL, KC_RGUI - ), - [_NUMBRS] = LAYOUT_stagger1( - KC_MUTE, KC_GRAVE, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F9, 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_F10, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F11, KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_F12, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), MO(_NUMBRS), KC_RALT, KC_RCTL, KC_RGUI - ) -}; diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c deleted file mode 100644 index db24f6798bc0..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger2/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 eye oh designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY, - _FUNCTN, - _NUMBRS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_stagger2( - KC_MUTE, KC_ESC, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - 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_F3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_F4, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RALT, KC_RCTL, KC_RGUI - ), - - [_FUNCTN] = LAYOUT_stagger2( - QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, - KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, - KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS), - KC_F8, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RALT, KC_RCTL, KC_RGUI - ), - [_NUMBRS] = LAYOUT_stagger2( - KC_MUTE, KC_GRAVE, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F9, 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_F10, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F11, KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_F12, KC_LCTL, KC_LGUI, MO(_FUNCTN), KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RALT, KC_RCTL, KC_RGUI - ) -}; diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c deleted file mode 100644 index cc2071e72cfa..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger3/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 eye oh designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY, - _FUNCTN, - _NUMBRS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_stagger3( - KC_MUTE, KC_ESC, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - 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_F3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_F4, KC_LCTL, KC_LGUI, KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RCTL, KC_RGUI - ), - - [_FUNCTN] = LAYOUT_stagger3( - QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, - KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, - KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS), - KC_F8, KC_LCTL, KC_LGUI, KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RCTL, KC_RGUI - ), - [_NUMBRS] = LAYOUT_stagger3( - KC_MUTE, KC_GRAVE, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F9, 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_F10, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F11, KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_F12, KC_LCTL, KC_LGUI, KC_LALT, MO(_NUMBRS), KC_SPACE, MO(_FUNCTN), KC_RCTL, KC_RGUI - ) -}; diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c deleted file mode 100644 index aef725fcd4cc..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger4/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 eye oh designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY, - _FUNCTN, - _NUMBRS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_stagger4( - KC_MUTE, KC_ESC, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - 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_F3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_F4, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RCTL, KC_RGUI - ), - - [_FUNCTN] = LAYOUT_stagger4( - QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, - KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, - KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS), - KC_F8, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RCTL, KC_RGUI - ), - [_NUMBRS] = LAYOUT_stagger4( - KC_MUTE, KC_GRAVE, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F9, 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_F10, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F11, KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_F12, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RCTL, KC_RGUI - ) -}; diff --git a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c b/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c deleted file mode 100644 index 26e6865832ce..000000000000 --- a/keyboards/eyeohdesigns/theboulevard/keymaps/stagger5/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 eye oh designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY, - _FUNCTN, - _NUMBRS, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_stagger5( - KC_MUTE, KC_ESC, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - 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_F3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_F4, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RGUI - ), - - [_FUNCTN] = LAYOUT_stagger5( - QK_BOOT, RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, - KC_F5, KC_TAB, KC_Q, KC_PGUP, KC_E, KC_R, KC_T, KC_QUOT, KC_U, KC_UP, KC_O, KC_P, KC_BSPC, - KC_F6, KC_CAPS, KC_HOME, KC_PGDN, KC_END, KC_F, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, - KC_F7, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_LBRC, KC_RBRC, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_BSLS), - KC_F8, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RGUI - ), - [_NUMBRS] = LAYOUT_stagger5( - KC_MUTE, KC_GRAVE, RGB_HUI, RGB_VAI, RGB_SAI, - KC_F9, 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_F10, KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F11, KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_F12, KC_LCTL, KC_LALT, LT(_NUMBRS,KC_SPC), MO(_FUNCTN), KC_RGUI - ) -}; diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk index 9803d8cc7039..abd2f7fce976 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 9803d8cc7039..abd2f7fce976 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 deleted file mode 100644 index ddc21dae3085..000000000000 --- a/keyboards/facew/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 16 - -#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/facew/info.json b/keyboards/facew/info.json index 514c64f2c386..1f7844a8ef7c 100644 --- a/keyboards/facew/info.json +++ b/keyboards/facew/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/fallacy/config.h b/keyboards/fallacy/config.h index 4e5ad265833a..14df31805dda 100755 --- a/keyboards/fallacy/config.h +++ b/keyboards/fallacy/config.h @@ -18,9 +18,8 @@ /* IS31FL3731 driver address (for status LEDs) * Using the default defines here, but using a custom implementation */ -#define LED_DRIVER_ADDR_1 0b1110100 -#define LED_DRIVER_COUNT 1 -#define LED_MATRIX_LED_COUNT 3 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_LED_COUNT 3 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -29,15 +28,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#define RGBLED_NUM 14 diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c index 8686f292fc6c..b95786db417f 100755 --- a/keyboards/fallacy/indicators.c +++ b/keyboards/fallacy/indicators.c @@ -22,21 +22,14 @@ * init IS31FL3731 and i2c */ void init_fallacy_leds(void) { - i2c_init(); - IS31FL3731_init(LED_DRIVER_ADDR_1); - - for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { - IS31FL3731_set_led_control_register(i, true); - } - - IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); + is31fl3731_init_drivers(); } /* update the buffer */ void update_fallacy_leds(void) { - IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); + is31fl3731_flush(); } @@ -44,17 +37,17 @@ void update_fallacy_leds(void) { */ void set_fallacy_led(int index, bool state) { if (state) { - IS31FL3731_set_value(index, 128); + is31fl3731_set_value(index, 128); } else { - IS31FL3731_set_value(index, 0); + is31fl3731_set_value(index, 0); } } /* define LED matrix */ -const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_1}, {0, C2_1}, {0, C3_1}, diff --git a/keyboards/fallacy/info.json b/keyboards/fallacy/info.json index e51283eb192d..9489463a4cd4 100644 --- a/keyboards/fallacy/info.json +++ b/keyboards/fallacy/info.json @@ -12,6 +12,21 @@ "rows": ["B1", "B2", "B3", "C6", "C7"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/fallacy/rules.mk b/keyboards/fallacy/rules.mk index 704204983c42..7fa230bae23c 100755 --- a/keyboards/fallacy/rules.mk +++ b/keyboards/fallacy/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output # project specific files SRC += indicators.c \ drivers/led/issi/is31fl3731-simple.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/fancytech/fancyalice66/config.h b/keyboards/fancytech/fancyalice66/config.h index b6fcea0c6bc3..9f56bd3a203d 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 1be7f3763941..21c89849fdea 100644 --- a/keyboards/fancytech/fancyalice66/info.json +++ b/keyboards/fancytech/fancyalice66/info.json @@ -66,7 +66,7 @@ "solid_splash": true, "splash": true }, - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, @@ -165,6 +165,9 @@ "pid": "0x3663", "vid": "0xECED" }, + "ws2812": { + "pin": "B0" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/fc660c/actuation_point.c b/keyboards/fc660c/actuation_point.c deleted file mode 100644 index 5f4cb16f40b1..000000000000 --- a/keyboards/fc660c/actuation_point.c +++ /dev/null @@ -1,87 +0,0 @@ -/* -Copyright 2017 Balz Guenat -based on work by 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 "actuation_point.h" -#include "i2c.h" - -/////////////////////////////////////////////////////////////////////////////// -// -// AD5258 I2C digital potentiometer -// http://www.analog.com/media/en/technical-documentation/data-sheets/AD5258.pdf -// -#define AD5258_ADDR 0b0011000 -#define AD5258_INST_RDAC 0x00 -#define AD5258_INST_EEPROM 0x20 - -uint8_t read_rdac(void) { - // read RDAC register - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_RDAC); - i2c_start_read(AD5258_ADDR); - uint8_t ret = i2c_master_read(I2C_NACK); - i2c_master_stop(); - return ret; -}; - -uint8_t read_eeprom(void) { - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_EEPROM); - i2c_start_read(AD5258_ADDR); - uint8_t ret = i2c_master_read(I2C_NACK); - i2c_master_stop(); - return ret; -}; - -void write_rdac(uint8_t rdac) { - // write RDAC register: - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_RDAC); - i2c_master_write(rdac & 0x3F); - i2c_master_stop(); -}; - -void actuation_point_up(void) { - // write RDAC register: lower value makes actuation point shallow - uint8_t rdac = read_rdac(); - if (rdac == 0) - write_rdac(0); - else - write_rdac(rdac-1); -}; - -void actuation_point_down(void) { - // write RDAC register: higher value makes actuation point deep - uint8_t rdac = read_rdac(); - if (rdac == 63) - write_rdac(63); - else - write_rdac(rdac+1); -}; - -void adjust_actuation_point(int offset) { - i2c_master_init(); - uint8_t rdac = read_eeprom() + offset; - if (rdac > 63) { // protects from under and overflows - if (offset > 0) - write_rdac(63); - else - write_rdac(0); - } else { - write_rdac(rdac); - } -} diff --git a/keyboards/fc660c/actuation_point.h b/keyboards/fc660c/actuation_point.h deleted file mode 100644 index e02832186c09..000000000000 --- a/keyboards/fc660c/actuation_point.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -// see keymaps/actuation-point-example to see how these functions can be used. -uint8_t read_rdac(void); -uint8_t read_eeprom(void); -void actuation_point_up(void); -void actuation_point_down(void); - -// be careful with this. -void adjust_actuation_point(int offset); diff --git a/keyboards/fc660c/ad5258.c b/keyboards/fc660c/ad5258.c new file mode 100644 index 000000000000..f7ff2f3dc18f --- /dev/null +++ b/keyboards/fc660c/ad5258.c @@ -0,0 +1,52 @@ +/* +Copyright 2017 Balz Guenat +based on work by 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 "ad5258.h" +#include "i2c_master.h" + +/////////////////////////////////////////////////////////////////////////////// +// +// AD5258 I2C digital potentiometer +// http://www.analog.com/media/en/technical-documentation/data-sheets/AD5258.pdf +// +#define AD5258_I2C_ADDRESS 0x30 +#define AD5258_INST_RDAC 0x00 +#define AD5258_INST_EEPROM 0x20 + +void ad5258_init(void) { + i2c_init(); +} + +uint8_t ad5258_read_rdac(void) { + // read RDAC register + uint8_t ret = 0; + i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100); + return ret; +} + +uint8_t ad5258_read_eeprom(void) { + uint8_t ret = 0; + i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100); + return ret; +} + +void ad5258_write_rdac(uint8_t rdac) { + // write RDAC register: + uint8_t data = rdac & 0x3F; + i2c_writeReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100); +} diff --git a/keyboards/fc660c/ad5258.h b/keyboards/fc660c/ad5258.h new file mode 100644 index 000000000000..c27f247675df --- /dev/null +++ b/keyboards/fc660c/ad5258.h @@ -0,0 +1,28 @@ +/* +Copyright 2017 Balz Guenat + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 + +void ad5258_init(void); + +uint8_t ad5258_read_rdac(void); + +uint8_t ad5258_read_eeprom(void); + +void ad5258_write_rdac(uint8_t rdac); diff --git a/keyboards/fc660c/config.h b/keyboards/fc660c/config.h index 670b0f8e3866..beff84d9be7a 100644 --- a/keyboards/fc660c/config.h +++ b/keyboards/fc660c/config.h @@ -22,17 +22,11 @@ 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. */ -#define USE_I2C - /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/fc660c/fc660c.c b/keyboards/fc660c/fc660c.c index 2054cd2818ca..50540cbfb9bc 100644 --- a/keyboards/fc660c/fc660c.c +++ b/keyboards/fc660c/fc660c.c @@ -14,16 +14,47 @@ GNU General Public 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 ACTUATION_DEPTH_ADJUSTMENT -#include "actuation_point.h" -#endif +#include "fc660c.h" -void matrix_init_kb(void) { #ifdef ACTUATION_DEPTH_ADJUSTMENT +void matrix_init_kb(void) { adjust_actuation_point(ACTUATION_DEPTH_ADJUSTMENT); -#endif - matrix_init_user(); + matrix_init_user(); +} + +void actuation_point_up(void) { + // write RDAC register: lower value makes actuation point shallow + uint8_t rdac = ad5258_read_rdac(); + if (rdac == 0) { + ad5258_write_rdac(0); + } else { + ad5258_write_rdac(rdac - 1); + } +} + +void actuation_point_down(void) { + // write RDAC register: higher value makes actuation point deep + uint8_t rdac = ad5258_read_rdac(); + if (rdac == 63) { + ad5258_write_rdac(63); + } else { + ad5258_write_rdac(rdac + 1); + } } + +void adjust_actuation_point(int offset) { + ad5258_init(); + uint8_t rdac = ad5258_read_eeprom() + offset; + if (rdac > 63) { // protects from under and overflows + if (offset > 0) { + ad5258_write_rdac(63); + } else { + ad5258_write_rdac(0); + } + } else { + ad5258_write_rdac(rdac); + } +} +#endif diff --git a/keyboards/fc660c/fc660c.h b/keyboards/fc660c/fc660c.h new file mode 100644 index 000000000000..aa98e36be945 --- /dev/null +++ b/keyboards/fc660c/fc660c.h @@ -0,0 +1,31 @@ +/* +Copyright 2017 Balz Guenat + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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" + +#ifdef ACTUATION_DEPTH_ADJUSTMENT +# include "ad5258.h" + +// see keymaps/actuation-point-example to see how these functions can be used. +void actuation_point_up(void); +void actuation_point_down(void); + +// be careful with this. +void adjust_actuation_point(int offset); +#endif diff --git a/keyboards/fc660c/i2c.c b/keyboards/fc660c/i2c.c deleted file mode 100644 index 084c890c405f..000000000000 --- a/keyboards/fc660c/i2c.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -#ifdef USE_I2C - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10Ξs/bit), and each transactions is -// 9 bits, a single transaction will take around 90Ξs to complete. -// -// (F_CPU/SCL_CLOCK) => # of ΞC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); diff --git a/keyboards/fc660c/info.json b/keyboards/fc660c/info.json index 8250619bdc83..e65ed35dae70 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/fc660c/keymaps/dbroqua/keymap.c b/keyboards/fc660c/keymaps/dbroqua/keymap.c deleted file mode 100644 index c35b297eaada..000000000000 --- a/keyboards/fc660c/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,44 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE layer: Default Layer - * ,--------------------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | | Ins | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | | Del | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |--------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | - * +--------------------------------------------------------------------------------------------+-----+ - * | Ctrl | Gui | Alt | Space | Alt | Gui | Fn | Left| Down|Right| - * `--------------------------------------------------------------------------------------------------Âī - */ - [0] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RCTL,MO(1), KC_LEFT,KC_DOWN,KC_RGHT - ), - /* FN layer - * ,--------------------------------------------------------------------------------------------------. - * | Esc| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | | | | | | | |PrtSc| Slck| Paus| | | | | | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | Vol-| Vol+| Mute|Eject| | | | Home| PgUp| | | | - * |--------------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | | | End | PgDn| | | | - * +--------------------------------------------------------------------------------------------+-----+ - * | | | | | | | | | | | - * `--------------------------------------------------------------------------------------------------Âī - */ - [1] = 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_VOLD,KC_VOLU,KC_MUTE,KC_EJCT,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______, - _______,KC_MPRV,KC_MPLY,KC_MNXT,_______,_______,_______,_______,KC_END, KC_PGDN,_______,_______, _______, - _______,_______,_______, _______, _______,_______,MO(1), _______,_______,_______ - ) -}; diff --git a/keyboards/fc660c/keymaps/mikefightsbears/keymap.c b/keyboards/fc660c/keymaps/mikefightsbears/keymap.c deleted file mode 100644 index 0139905ae176..000000000000 --- a/keyboards/fc660c/keymaps/mikefightsbears/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_INS, - KC_TAB, KC_Q, KC_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_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, - KC_CAPS,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RCTL,MO(1), KC_LEFT,KC_DOWN,KC_RGHT - ), - [1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______, _______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, - _______,_______,_______,_______,_______,_______,_______,KC_MUTE,KC_MPRV,KC_MNXT,KC_MPLY,_______, KC_PGUP, - _______,_______,_______, _______, _______,_______,_______, KC_HOME,KC_PGDN,KC_END - ) -}; diff --git a/keyboards/fc660c/keymaps/mikefightsbears/rules.mk b/keyboards/fc660c/keymaps/mikefightsbears/rules.mk deleted file mode 100644 index 454ba3005898..000000000000 --- a/keyboards/fc660c/keymaps/mikefightsbears/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# # change to "no" to disable the options, or define them in the Makefile in -# # the appropriate keymap folder that will get included automatically -# # -EXTRAKEY_ENABLE = yes # Audio control and System control -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work diff --git a/keyboards/fc660c/keymaps/siroleo/README.md b/keyboards/fc660c/keymaps/siroleo/README.md deleted file mode 100644 index f174c7f3ebd8..000000000000 --- a/keyboards/fc660c/keymaps/siroleo/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sid's mods for the fc660c - -Emulates original keymap with modifications for: - -- Media keys -- Grave key(s) -- Reset on the function layer -- Mouse keys ala Tada68 -- A layer for playing with Colemak diff --git a/keyboards/fc660c/keymaps/siroleo/config.h b/keyboards/fc660c/keymaps/siroleo/config.h deleted file mode 100644 index 8262805a0a1d..000000000000 --- a/keyboards/fc660c/keymaps/siroleo/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Khader Syed - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/fc660c/keymaps/siroleo/keymap.c b/keyboards/fc660c/keymaps/siroleo/keymap.c deleted file mode 100644 index 540c1c2d6a5e..000000000000 --- a/keyboards/fc660c/keymaps/siroleo/keymap.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright 2019 Khader Syed - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -enum siroleo_layers -{ - _QWERTY, - _COLEMAK, - _FNM -}; - -enum siroleo_keycodes -{ - QWERTY = SAFE_RANGE, - COLEMAK -}; - -#define FNM MO(_FNM) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE layer: Default Layer - * ,--------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | | ` | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | | Del | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | ` | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |--------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | - * +--------------------------------------------------------------------------------------------+-----+ - * | Ctrl | Alt | Gui | Space | Fn | Ctrl | Alt | Left| Down|Right| - * `--------------------------------------------------------------------------------------------------Âī - */ - [_QWERTY] = 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_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_GRV , KC_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, FNM,KC_RCTL,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT - ), - /* Colemak Layer - * ,--------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | | ` | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | | Del | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | ` | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |--------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | - * +--------------------------------------------------------------------------------------------+-----+ - * | Ctrl | Alt | Gui | Space | Fn | Ctrl | Alt | Left| Down|Right| - * `--------------------------------------------------------------------------------------------------Âī - */ - [_COLEMAK] = 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_GRV, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, - KC_GRV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O ,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM,KC_DOT,KC_SLSH,KC_RSFT, KC_UP, - KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, FNM,KC_RCTL,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT - ), - /* FN layer - * ,--------------------------------------------------------------------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Mute| | Vol-| - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | | | | | | | |PrtSc| Slck| Paus| | | | | Vol+| - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | | | | | | | | Home| PgUp| | | | - * |--------------------------------------------------------------------------------------------+ - * | | | | | | | | | End | PgDn| | Mouse Btn 1 | MsU | - * +--------------------------------------------------------------------------------------------+-----+ - * | | Reset | | | | | | MsL | MsD | MsR | - * `--------------------------------------------------------------------------------------------------Âī - */ - [_FNM] = 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_MUTE, KC_VOLU, - _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______,_______, QK_BOOT, KC_VOLD, - _______,_______,_______, QWERTY,COLEMAK,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______, - _______,_______,_______,_______,_______,_______,_______,_______,KC_END, KC_PGDN,_______,KC_BTN1, KC_MS_U, - _______,_______,_______, _______, _______,_______,_______, KC_MS_L,KC_MS_D,KC_MS_R - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - } - return true; -} \ No newline at end of file diff --git a/keyboards/fc660c/keymaps/zyber/keymap.c b/keyboards/fc660c/keymaps/zyber/keymap.c deleted file mode 100644 index 60178359ef17..000000000000 --- a/keyboards/fc660c/keymaps/zyber/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2022 ZyBeR (@ZyberSE) -// SPDX-License-Identifier: GPL-2.0 - -#include "zyber.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE layer: Default Layer - * ,--------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | | ` | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | | Del | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | Explode | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |--------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | - * +--------------------------------------------------------------------------------------------+-----+ - * | Ctrl | Alt | Cmd | Space | Alt | Ctrl | Fn | Left| Down|Right| - * `--------------------------------------------------------------------------------------------------Âī - */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, TD(SSHT), 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, TD(LBRC), KC_RBRC, KC_BSLS, KC_DEL, - L1_EXPL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(SCLN), TD(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, ROPT_SRH, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT,KC_DOWN,KC_RGHT - ), - /* FN layer - * ,--------------------------------------------------------------------------------------------------. - * | Esc| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |C_BLK| - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | | | | | | | |PrtSc| Slck| Paus| | | | | | - * |-----------------------------------------------------------------------------------------+ +-----+ - * | | Vol-| Vol+| Mute|Eject| | | | Home| PgUp| | | | - * |--------------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | | | End | PgDn| | | | - * +--------------------------------------------------------------------------------------------+-----+ - * | | | | | | | | | | | - * `--------------------------------------------------------------------------------------------------Âī - */ - [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, _______, C_BLK, - _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______,_______,_______, _______, - _______,KC_VOLD,KC_VOLU,KC_MUTE,KC_EJCT,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______, - _______,KC_MPRV,KC_MPLY,KC_MNXT,_______,_______,_______,_______,KC_END, KC_PGDN,_______,_______, _______, - _______,_______,_______, _______, _______,_______,MO(1), _______,_______,_______ - ) -}; diff --git a/keyboards/fc660c/rules.mk b/keyboards/fc660c/rules.mk index ed4a7ca66d17..03a674d668cf 100644 --- a/keyboards/fc660c/rules.mk +++ b/keyboards/fc660c/rules.mk @@ -11,7 +11,7 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # Optimize size but this may cause error "relocation truncated to fit" #EXTRALDFLAGS = -Wl,--relax +I2C_DRIVER_REQUIRED = yes + CUSTOM_MATRIX = yes -SRC += matrix.c \ - actuation_point.c \ - i2c.c +SRC += matrix.c ad5258.c diff --git a/keyboards/fc980c/actuation_point.c b/keyboards/fc980c/actuation_point.c deleted file mode 100644 index 5f4cb16f40b1..000000000000 --- a/keyboards/fc980c/actuation_point.c +++ /dev/null @@ -1,87 +0,0 @@ -/* -Copyright 2017 Balz Guenat -based on work by 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 "actuation_point.h" -#include "i2c.h" - -/////////////////////////////////////////////////////////////////////////////// -// -// AD5258 I2C digital potentiometer -// http://www.analog.com/media/en/technical-documentation/data-sheets/AD5258.pdf -// -#define AD5258_ADDR 0b0011000 -#define AD5258_INST_RDAC 0x00 -#define AD5258_INST_EEPROM 0x20 - -uint8_t read_rdac(void) { - // read RDAC register - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_RDAC); - i2c_start_read(AD5258_ADDR); - uint8_t ret = i2c_master_read(I2C_NACK); - i2c_master_stop(); - return ret; -}; - -uint8_t read_eeprom(void) { - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_EEPROM); - i2c_start_read(AD5258_ADDR); - uint8_t ret = i2c_master_read(I2C_NACK); - i2c_master_stop(); - return ret; -}; - -void write_rdac(uint8_t rdac) { - // write RDAC register: - i2c_start_write(AD5258_ADDR); - i2c_master_write(AD5258_INST_RDAC); - i2c_master_write(rdac & 0x3F); - i2c_master_stop(); -}; - -void actuation_point_up(void) { - // write RDAC register: lower value makes actuation point shallow - uint8_t rdac = read_rdac(); - if (rdac == 0) - write_rdac(0); - else - write_rdac(rdac-1); -}; - -void actuation_point_down(void) { - // write RDAC register: higher value makes actuation point deep - uint8_t rdac = read_rdac(); - if (rdac == 63) - write_rdac(63); - else - write_rdac(rdac+1); -}; - -void adjust_actuation_point(int offset) { - i2c_master_init(); - uint8_t rdac = read_eeprom() + offset; - if (rdac > 63) { // protects from under and overflows - if (offset > 0) - write_rdac(63); - else - write_rdac(0); - } else { - write_rdac(rdac); - } -} diff --git a/keyboards/fc980c/actuation_point.h b/keyboards/fc980c/actuation_point.h deleted file mode 100644 index e02832186c09..000000000000 --- a/keyboards/fc980c/actuation_point.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -// see keymaps/actuation-point-example to see how these functions can be used. -uint8_t read_rdac(void); -uint8_t read_eeprom(void); -void actuation_point_up(void); -void actuation_point_down(void); - -// be careful with this. -void adjust_actuation_point(int offset); diff --git a/keyboards/fc980c/ad5258.c b/keyboards/fc980c/ad5258.c new file mode 100644 index 000000000000..f7ff2f3dc18f --- /dev/null +++ b/keyboards/fc980c/ad5258.c @@ -0,0 +1,52 @@ +/* +Copyright 2017 Balz Guenat +based on work by 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 "ad5258.h" +#include "i2c_master.h" + +/////////////////////////////////////////////////////////////////////////////// +// +// AD5258 I2C digital potentiometer +// http://www.analog.com/media/en/technical-documentation/data-sheets/AD5258.pdf +// +#define AD5258_I2C_ADDRESS 0x30 +#define AD5258_INST_RDAC 0x00 +#define AD5258_INST_EEPROM 0x20 + +void ad5258_init(void) { + i2c_init(); +} + +uint8_t ad5258_read_rdac(void) { + // read RDAC register + uint8_t ret = 0; + i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &ret, 1, 100); + return ret; +} + +uint8_t ad5258_read_eeprom(void) { + uint8_t ret = 0; + i2c_readReg(AD5258_I2C_ADDRESS, AD5258_INST_EEPROM, &ret, 1, 100); + return ret; +} + +void ad5258_write_rdac(uint8_t rdac) { + // write RDAC register: + uint8_t data = rdac & 0x3F; + i2c_writeReg(AD5258_I2C_ADDRESS, AD5258_INST_RDAC, &data, 1, 100); +} diff --git a/keyboards/fc980c/ad5258.h b/keyboards/fc980c/ad5258.h new file mode 100644 index 000000000000..c27f247675df --- /dev/null +++ b/keyboards/fc980c/ad5258.h @@ -0,0 +1,28 @@ +/* +Copyright 2017 Balz Guenat + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 + +void ad5258_init(void); + +uint8_t ad5258_read_rdac(void); + +uint8_t ad5258_read_eeprom(void); + +void ad5258_write_rdac(uint8_t rdac); diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h index 7c0c3b31a68b..776b8ef35fcf 100644 --- a/keyboards/fc980c/config.h +++ b/keyboards/fc980c/config.h @@ -30,8 +30,6 @@ along with this program. If not, see . * These options are also useful to firmware size reduction. */ -#define USE_I2C - /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/fc980c/fc980c.c b/keyboards/fc980c/fc980c.c index fc3696f244bf..c1c62da9ac5e 100644 --- a/keyboards/fc980c/fc980c.c +++ b/keyboards/fc980c/fc980c.c @@ -15,16 +15,46 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" +#include "fc980c.h" #ifdef ACTUATION_DEPTH_ADJUSTMENT -#include "actuation_point.h" -#endif - void matrix_init_kb(void) { -#ifdef ACTUATION_DEPTH_ADJUSTMENT adjust_actuation_point(ACTUATION_DEPTH_ADJUSTMENT); -#endif - matrix_init_user(); + matrix_init_user(); +} + +void actuation_point_up(void) { + // write RDAC register: lower value makes actuation point shallow + uint8_t rdac = ad5258_read_rdac(); + if (rdac == 0) { + ad5258_write_rdac(0); + } else { + ad5258_write_rdac(rdac - 1); + } } + +void actuation_point_down(void) { + // write RDAC register: higher value makes actuation point deep + uint8_t rdac = ad5258_read_rdac(); + if (rdac == 63) { + ad5258_write_rdac(63); + } else { + ad5258_write_rdac(rdac + 1); + } +} + +void adjust_actuation_point(int offset) { + ad5258_init(); + uint8_t rdac = ad5258_read_eeprom() + offset; + if (rdac > 63) { // protects from under and overflows + if (offset > 0) { + ad5258_write_rdac(63); + } else { + ad5258_write_rdac(0); + } + } else { + ad5258_write_rdac(rdac); + } +} +#endif diff --git a/keyboards/fc980c/fc980c.h b/keyboards/fc980c/fc980c.h new file mode 100644 index 000000000000..aa98e36be945 --- /dev/null +++ b/keyboards/fc980c/fc980c.h @@ -0,0 +1,31 @@ +/* +Copyright 2017 Balz Guenat + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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" + +#ifdef ACTUATION_DEPTH_ADJUSTMENT +# include "ad5258.h" + +// see keymaps/actuation-point-example to see how these functions can be used. +void actuation_point_up(void); +void actuation_point_down(void); + +// be careful with this. +void adjust_actuation_point(int offset); +#endif diff --git a/keyboards/fc980c/i2c.c b/keyboards/fc980c/i2c.c deleted file mode 100644 index 084c890c405f..000000000000 --- a/keyboards/fc980c/i2c.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -#ifdef USE_I2C - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10Ξs/bit), and each transactions is -// 9 bits, a single transaction will take around 90Ξs to complete. -// -// (F_CPU/SCL_CLOCK) => # of ΞC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); diff --git a/keyboards/fc980c/keymaps/actuation-point-example/README.md b/keyboards/fc980c/keymaps/actuation-point-example/README.md deleted file mode 100644 index e4e9ab98cae6..000000000000 --- a/keyboards/fc980c/keymaps/actuation-point-example/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Actuation Point adjustment example keymap - -This keymap is an example of how the actuation point adjustment functionality could be used. In `config.h`, we set `ACTUATION_DEPTH_ADJUSTMENT` to `+1`, which puts the actuation point slightly deeper, making the keys less sensitive. - -If [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) is running, `CAPS_LOCK + F9` prints the current RDAC setting and `CAPS_LOCK + F10` prints the default or base setting. `CAPS_LOCK + F11` and `CAPS_LOCK + F12` can be used to adjust the actuation point dynamically. Make only small adjustments and find your ideal setting. For example, if the base setting of your keyboard is 56 but you prefer a slightly lower actuation point at 58, you should set `ACTUATION_DEPTH_ADJUSTMENT` to `+2`. - -If something goes wrong during adjustment, for example keys not actuating anymore or actuating spontaneously, don't panic. Just unplug the keyboard and plug it back in. This will revert all your dynamic changes made with `F11` and `F12`. - -If you discover you have set a too high or low value for `ACTUATION_DEPTH_ADJUSTMENT`, you will need to recompile and reflash your keyboard. diff --git a/keyboards/fc980c/keymaps/actuation-point-example/config.h b/keyboards/fc980c/keymaps/actuation-point-example/config.h deleted file mode 100644 index c2a538b6ae57..000000000000 --- a/keyboards/fc980c/keymaps/actuation-point-example/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2017 Balz Guenat - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - - -// place overrides here - -// higher value means deeper actuation point, less sensitive -// be careful and only make small adjustments (steps of 1 or 2). -// too high and keys will fail to actuate. too low and keys will actuate spontaneously. -// test all keys before further adjustment. -// this should probably stay in the range +/-5. -#undef ACTUATION_DEPTH_ADJUSTMENT -#define ACTUATION_DEPTH_ADJUSTMENT +1 - -#endif diff --git a/keyboards/fc980c/keymaps/actuation-point-example/keymap.c b/keyboards/fc980c/keymaps/actuation-point-example/keymap.c deleted file mode 100644 index 85e782d6259c..000000000000 --- a/keyboards/fc980c/keymaps/actuation-point-example/keymap.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "actuation_point.h" - -enum custom_keycodes -{ - AP_UP = SAFE_RANGE, // Higher actuation point, more sensitive - AP_DN, // Lower actuation point, less sensitive - AP_READ_RDAC, // Prints current RDAC value to console - AP_READ_EEPROM, // Prints base RDAC value to console -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP, KC_PGDN, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, AP_READ_RDAC, AP_READ_EEPROM, AP_DN, AP_UP, _______, _______, KC_HOME, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, - _______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______), -}; - -void matrix_init_user(void){}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - if (record->event.pressed) - { - switch (keycode) - { - case AP_UP: - { - actuation_point_up(); - return false; - } - case AP_DN: - { - actuation_point_down(); - return false; - } - case AP_READ_RDAC: - { - xprintf("RDAC: %d", read_rdac()); - return false; - } - case AP_READ_EEPROM: - { - xprintf("EEPROM: %d", read_eeprom()); - return false; - } - - default: - return true; - } - } - else - { - return true; - } -}; diff --git a/keyboards/fc980c/keymaps/coloneljesus/README.md b/keyboards/fc980c/keymaps/coloneljesus/README.md deleted file mode 100644 index d00c57e6820b..000000000000 --- a/keyboards/fc980c/keymaps/coloneljesus/README.md +++ /dev/null @@ -1 +0,0 @@ -# My FC980C keymap diff --git a/keyboards/fc980c/keymaps/coloneljesus/config.h b/keyboards/fc980c/keymaps/coloneljesus/config.h deleted file mode 100644 index 9d47e9b3e572..000000000000 --- a/keyboards/fc980c/keymaps/coloneljesus/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2017 Balz Guenat - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - - -// place overrides here - -// higher value means deeper actuation point, less sensitive -// be careful and only make small adjustments (steps of 1 or 2). -// too high and keys will fail to actuate. too low and keys will actuate spontaneously. -// test all keys before further adjustment. -// this should probably stay in the range +/-5. -#undef ACTUATION_DEPTH_ADJUSTMENT -#define ACTUATION_DEPTH_ADJUSTMENT +2 - -#endif diff --git a/keyboards/fc980c/keymaps/coloneljesus/keymap.c b/keyboards/fc980c/keymaps/coloneljesus/keymap.c deleted file mode 100644 index 7299bdae4128..000000000000 --- a/keyboards/fc980c/keymaps/coloneljesus/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2017 Balz Guenat - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP, KC_PGDN, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_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_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, - _______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______), -}; diff --git a/keyboards/fc980c/rules.mk b/keyboards/fc980c/rules.mk index ed4a7ca66d17..03a674d668cf 100644 --- a/keyboards/fc980c/rules.mk +++ b/keyboards/fc980c/rules.mk @@ -11,7 +11,7 @@ NKRO_ENABLE = yes # Enable N-Key Rollover # Optimize size but this may cause error "relocation truncated to fit" #EXTRALDFLAGS = -Wl,--relax +I2C_DRIVER_REQUIRED = yes + CUSTOM_MATRIX = yes -SRC += matrix.c \ - actuation_point.c \ - i2c.c +SRC += matrix.c ad5258.c diff --git a/keyboards/fearherbs1/blue_team_pad/rules.mk b/keyboards/fearherbs1/blue_team_pad/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/fearherbs1/blue_team_pad/rules.mk +++ b/keyboards/fearherbs1/blue_team_pad/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/feker/ik75/config.h b/keyboards/feker/ik75/config.h index a9914722fc94..b49621bda01a 100644 --- a/keyboards/feker/ik75/config.h +++ b/keyboards/feker/ik75/config.h @@ -20,14 +20,12 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS /* RGB Matrix config */ - #define DRIVER_ADDR_1 0b1011111 - #define DRIVER_ADDR_2 0b1010000 - #define DRIVER_COUNT 2 + #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_VCC_VCC + #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_GND #define DRIVER_1_LED_TOTAL 63 #define DRIVER_2_LED_TOTAL 64 diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c index 98b24abfe86f..826afab01b44 100644 --- a/keyboards/feker/ik75/ik75.c +++ b/keyboards/feker/ik75/ik75.c @@ -18,7 +18,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | G location diff --git a/keyboards/feker/ik75/info.json b/keyboards/feker/ik75/info.json index 339a5cde505e..0da1ff08ea77 100644 --- a/keyboards/feker/ik75/info.json +++ b/keyboards/feker/ik75/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3733" + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "E2"], diff --git a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c deleted file mode 100644 index f59617ddced6..000000000000 --- a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c +++ /dev/null @@ -1,225 +0,0 @@ -/* Copyright 2022 Feker - * Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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, - _FN, - _FN1, - _FN2, -}; - -// enum layer_keycodes { }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┐ - │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││Del│ │Mut│ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bckspc│ │Hom│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───â”Ī - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ │PgU│ - ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī - │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │┌───┐│PgD│ - ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮───┘│ ↑ │└───┘ - │LCrl│GUI │LAlt│ Space │RAt│Fn │Rcl│┌───┾───┾───┐ - └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───┘│ ← │ ↓ │ → │ - └───â”ī───â”ī───┘ - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┐ - │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ │ - ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī - │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │┌───┐│ │ - ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮───┘│ │└───┘ - │ │ │ │ │ │ │ │┌───┾───┾───┐ - └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───┘│ │ │ │ - └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ - [_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_END, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┐ - │Rst││Mcm│Hom│Cal│Sel││Prv│Nxt│Ply│Stp││Mut│VoD│VoU│Mai││Ins│ │Tog│ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┐ - │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │Mod│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │Prt│ │ │ │ │Hui│ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī - │ │ │Scr│ │ │ │ │ │ │ │ │ │ │ │Sai│ - ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī - │ │ │ │ │ │ │Num│ │ │ │ │ │┌───┐│Sad│ - ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─────┘│Vai│└───┘ - │ │GTog│ │ │ │ │ ┌───┾───┾───┐ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ │ │Vad│ │ - └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ - [_FN] = LAYOUT( - QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_SLCT, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, KC_INS, RGB_TOG, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_HUI, - _______, _______, KC_SCRL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, - _______, _______, _______, _______, _______, _______, KC_NUM, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, - _______, GUI_TOG, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ - ), - -/* - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │┌───┐│ │ - ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─────┘│ │└───┘ - │ │ │ │ │ │ │ ┌───┾───┾───┐ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ │ │ │ │ - └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ - [_FN1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -/* - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┘ ├───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │┌───┐│ │ - ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─────┘│ │└───┘ - │ │ │ │ │ │ │ ┌───┾───┾───┐ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ │ │ │ │ - └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ - [_FN2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - case (LED_FLAG_UNDERGLOW): { - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable_noeeprom(); - } - break; - } - } - return false; - } - - return true; -} - -bool rgb_matrix_indicators_user(void) { - rgb_matrix_set_color(46, 0, 0, 0); - rgb_matrix_set_color(104, 0, 0, 0); - - uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0; - uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0; - uint8_t blue = keymap_config.no_gui ? 255 : 0; - - - if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(46, 255, 0, 0); - } - rgb_matrix_set_color(104, red, green, blue); - } else { - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(46, 255, 0, 0); - } else { - rgb_matrix_set_color(46, 0, 0, 0); - } - rgb_matrix_set_color(104, red, green, blue); - } - return false; -} - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, -}; -#endif diff --git a/keyboards/feker/ik75/keymaps/bkzshen/rules.mk b/keyboards/feker/ik75/keymaps/bkzshen/rules.mk deleted file mode 100644 index d76c12896fc0..000000000000 --- a/keyboards/feker/ik75/keymaps/bkzshen/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -VIA_ENABLE = yes - -# Encoder enabled -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c index fe4676b7f797..f6ca00552ec9 100644 --- a/keyboards/feker/ik75/keymaps/default/keymap.c +++ b/keyboards/feker/ik75/keymaps/default/keymap.c @@ -139,8 +139,8 @@ bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(104, 0, 0, 0); uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0; - uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0; - uint8_t blue = keymap_config.no_gui ? 255 : 0; + uint8_t blue = host_keyboard_led_state().scroll_lock ? 255 : 0; + uint8_t green = keymap_config.no_gui ? 255 : 0; if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { diff --git a/keyboards/feker/ik75/keymaps/via/keymap.c b/keyboards/feker/ik75/keymaps/via/keymap.c index da87725d1901..e9a221cb3f92 100644 --- a/keyboards/feker/ik75/keymaps/via/keymap.c +++ b/keyboards/feker/ik75/keymaps/via/keymap.c @@ -195,8 +195,8 @@ bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(104, 0, 0, 0); uint8_t red = host_keyboard_led_state().caps_lock ? 255 : 0; - uint8_t green = host_keyboard_led_state().scroll_lock ? 255 : 0; - uint8_t blue = keymap_config.no_gui ? 255 : 0; + uint8_t blue = host_keyboard_led_state().scroll_lock ? 255 : 0; + uint8_t green = keymap_config.no_gui ? 255 : 0; if ((rgb_matrix_get_flags() & LED_FLAG_KEYLIGHT)) { diff --git a/keyboards/ferris/0_1/rules.mk b/keyboards/ferris/0_1/rules.mk index 487375928e0b..f971aa9a48bf 100644 --- a/keyboards/ferris/0_1/rules.mk +++ b/keyboards/ferris/0_1/rules.mk @@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes LTO_ENABLE = yes SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c index 8af1d33e85e7..07f58149cc9f 100644 --- a/keyboards/ferris/0_2/bling/bling.c +++ b/keyboards/ferris/0_2/bling/bling.c @@ -27,7 +27,7 @@ along with this program. If not, see . | | 4 | | || | | 4 | | | 6 | | | 2 || 2 | | | 5 | */ -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h index cbb3b11c90e9..64e7a6de2d91 100644 --- a/keyboards/ferris/0_2/bling/config.h +++ b/keyboards/ferris/0_2/bling/config.h @@ -18,9 +18,8 @@ along with this program. If not, see . #pragma once /* LED Drivers */ -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110101 -#define DRIVER_COUNT 2 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL #define DRIVER_1_LED_TOTAL 7 #define DRIVER_2_LED_TOTAL 7 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json index 28ed4f90e3c2..1e9703f5994e 100644 --- a/keyboards/ferris/0_2/bling/info.json +++ b/keyboards/ferris/0_2/bling/info.json @@ -4,6 +4,6 @@ "pid": "0x0002" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" } } diff --git a/keyboards/ferris/0_2/rules.mk b/keyboards/ferris/0_2/rules.mk index f3760b7b62c4..6f67e3dece37 100644 --- a/keyboards/ferris/0_2/rules.mk +++ b/keyboards/ferris/0_2/rules.mk @@ -16,6 +16,6 @@ NO_USB_STARTUP_CHECK = yes LTO_ENABLE = no SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes DEFAULT_FOLDER = ferris/0_2/base diff --git a/keyboards/ferris/keymaps/bruun-baer/config.h b/keyboards/ferris/keymaps/bruun-baer/config.h deleted file mode 100644 index fce5cb445b97..000000000000 --- a/keyboards/ferris/keymaps/bruun-baer/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2022 Alexander Bruun - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 -// Set the mouse settings to a comfortable speed/accuracy trade-off, -// assuming a screen refresh rate of 60 Htz or higher -// The default is 50. This makes the mouse ~3 times faster and more accurate -#define MOUSEKEY_INTERVAL 16 -// The default is 20. Since we made the mouse about 3 times faster with the previous setting, -// give it more time to accelerate to max speed to retain precise control over short distances. -#define MOUSEKEY_TIME_TO_MAX 40 -// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive -#define MOUSEKEY_DELAY 100 -// It makes sense to use the same delay for the mouseweel -#define MOUSEKEY_WHEEL_DELAY 100 -// The default is 100 -#define MOUSEKEY_WHEEL_INTERVAL 50 -// The default is 40 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 - -// Pick good defaults for enabling homerow modifiers -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD -#define QUICK_TAP_TERM 0 diff --git a/keyboards/ferris/keymaps/bruun-baer/keymap.json b/keyboards/ferris/keymaps/bruun-baer/keymap.json deleted file mode 100644 index ee966ab1b505..000000000000 --- a/keyboards/ferris/keymaps/bruun-baer/keymap.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "version": 1, - "notes": "Personal keymap", - "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "ferris/sweep", - "keymap": "bruun-baer", - "layout": "LAYOUT_split_3x5_2", - "layers": [ - ["KC_Q" , "KC_D" , "KC_R" , "KC_W" , "KC_B", - "KC_J" , "KC_F" , "KC_U" , "KC_P" , "KC_QUOT", - - "LGUI_T(KC_A)", "LALT_T(KC_S)", "LSFT_T(KC_H)", "LCTL_T(KC_T)" , "KC_G", - "KC_Y" , "LCTL_T(KC_N)", "LSFT_T(KC_E)", "LALT_T(KC_O)" , "LGUI_T(KC_I)", - - "KC_Z" , "RALT_T(KC_X)", "KC_M" , "KC_C" , "KC_V", - "KC_K" , "KC_L" , "KC_COMM" , "RALT_T(KC_DOT)", "KC_SLSH", - - "LT(3,KC_SPC)", "LT(4,KC_TAB)", - "LT(2,KC_ENT)", "LT(1,KC_BSPC)" - ], - ["KC_LBRC" , "KC_7" , "KC_8" , "KC_9" , "KC_RBRC", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - - "KC_SCLN" , "KC_4" , "KC_5" , "KC_6" , "KC_EQL", - "KC_NO" , "KC_LCTL" , "KC_LSFT" , "KC_LALT" , "KC_LGUI", - - "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_BSLS", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_RALT" , "KC_NO", - - "KC_0" , "KC_MINS", - "KC_NO" , "KC_NO" - ], - ["KC_LCBR" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RCBR", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - - "KC_COLN" , "KC_DLR" , "KC_PERC" , "KC_CIRC" , "KC_PLUS", - "KC_NO" , "KC_LCTL" , "KC_LSFT" , "KC_LALT" , "KC_LGUI", - - "KC_TILD" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_PIPE", - "KC_NO" , "KC_NO" , "KC_NO" , "KC_RALT" , "KC_NO", - - "KC_RPRN" , "KC_UNDS", - "KC_NO" , "KC_NO" - ], - ["KC_F12" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_PSCR", - "KC_AGIN" , "KC_PSTE" , "KC_COPY" , "KC_CUT" , "KC_UNDO", - - "KC_F11" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_SCRL", - "KC_CAPS" , "KC_LEFT" , "KC_DOWN" , "KC_UP" , "KC_RGHT", - - "KC_F10" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_PAUS", - "KC_INS" , "KC_HOME" , "KC_PGDN" , "KC_PGUP" , "KC_END", - - "KC_NO" , "KC_NO", - "KC_ESC" , "KC_DEL" - ], - ["KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", - "KC_MPLY" , "KC_MPRV" , "KC_VOLD" , "KC_VOLU" , "KC_MNXT", - - "KC_LGUI" , "KC_LALT" , "KC_LSFT" , "KC_LCTL" , "KC_NO", - "KC_MUTE" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R", - - "KC_NO" , "KC_RALT" , "KC_NO" , "KC_NO" , "KC_NO", - "KC_BTN3" , "KC_WH_L" , "KC_WH_D" , "KC_WH_U" , "KC_WH_R", - - "KC_NO" , "KC_NO", - "KC_BTN1" , "KC_BTN2" - ] - ], - "author": "@bruun-baer" -} diff --git a/keyboards/ferris/keymaps/bruun-baer/readme.md b/keyboards/ferris/keymaps/bruun-baer/readme.md deleted file mode 100644 index 7d1d78b5f178..000000000000 --- a/keyboards/ferris/keymaps/bruun-baer/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -Personal Ferris Sweep Keymap -=============================================== diff --git a/keyboards/ferris/keymaps/madhatter/config.h b/keyboards/ferris/keymaps/madhatter/config.h deleted file mode 100644 index 65a14e6622ac..000000000000 --- a/keyboards/ferris/keymaps/madhatter/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Pierre Chevalier - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -// Pick good defaults for enabling homerow modifiers -#define TAPPING_TERM 200 diff --git a/keyboards/ferris/keymaps/madhatter/keymap.c b/keyboards/ferris/keymaps/madhatter/keymap.c deleted file mode 100644 index 7b0c2e82bf8f..000000000000 --- a/keyboards/ferris/keymaps/madhatter/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#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 ferris_layers { - _QWERTY, - _LOWER, - _RAISE -}; - -enum ferris_tap_dances { - TD_Q_ESC -}; - -#define KC_CTSC RCTL_T(KC_SCLN) -#define KC_CTLA LCTL_T(KC_A) -#define KC_LSHZ LSFT_T(KC_Z) -#define KC_RLSH RSFT_T(KC_SLSH) -#define KC_SPM2 LT(2, KC_SPC) -#define KC_BSM1 LT(1, KC_BSPC) -#define KC_GUTA GUI_T(KC_TAB) -#define KC_CLGV CTL_T(KC_GRV) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( /* QWERTY */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_LSHZ, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RLSH, - KC_CLGV, KC_BSM1, KC_SPM2, KC_GUTA - ), - - [_LOWER] = LAYOUT( /* [> LOWER <] */ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - QK_GESC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ENT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [_RAISE] = LAYOUT( /* [> RAISE <] */ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -// Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - // Tap once for Q, twice for ESC - [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC) -}; diff --git a/keyboards/ferris/keymaps/madhatter/rules.mk b/keyboards/ferris/keymaps/madhatter/rules.mk deleted file mode 100644 index 25e61e4d5bbe..000000000000 --- a/keyboards/ferris/keymaps/madhatter/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/ferris/keymaps/pierrec83/config.h b/keyboards/ferris/keymaps/pierrec83/config.h deleted file mode 100644 index 1a4d15ff4258..000000000000 --- a/keyboards/ferris/keymaps/pierrec83/config.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -Copyright 2020 Pierre Chevalier - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 -// Set the mouse settings to a comfortable speed/accuracy trade-off, -// assuming a screen refresh rate of 60 Htz or higher -// The default is 50. This makes the mouse ~3 times faster and more accurate -#define MOUSEKEY_INTERVAL 16 -// The default is 20. Since we made the mouse about 3 times faster with the previous setting, -// give it more time to accelerate to max speed to retain precise control over short distances. -#define MOUSEKEY_TIME_TO_MAX 40 -// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive -#define MOUSEKEY_DELAY 100 -// It makes sense to use the same delay for the mouseweel -#define MOUSEKEY_WHEEL_DELAY 100 -// The default is 100 -#define MOUSEKEY_WHEEL_INTERVAL 50 -// The default is 40 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 - -// Pick good defaults for enabling homerow modifiers -#define TAPPING_TERM 200 -#define PERMISSIVE_HOLD -#define QUICK_TAP_TERM 0 - -// Underglow configuration -#ifdef RGBLIGHT_ENABLE -# 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 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -#endif diff --git a/keyboards/ferris/keymaps/pierrec83/keymap.json b/keyboards/ferris/keymaps/pierrec83/keymap.json deleted file mode 100644 index 2cbc47d91277..000000000000 --- a/keyboards/ferris/keymaps/pierrec83/keymap.json +++ /dev/null @@ -1,118 +0,0 @@ -{ "version": 1, - "notes": "My awesome keymap", - "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "ferris/0_1", - "keymap": "pierrec83", - "layout": "LAYOUT", - "layers": [ - ["KC_Q" , "KC_D" , "KC_R" , "KC_W" , "KC_B", - "KC_J" , "KC_F" , "KC_U" , "KC_P" , "KC_SCLN", - - "LSFT_T(KC_A)" , "LT(6,KC_S)" , "LT(2,KC_H)" , "LT(4,KC_T)" , "KC_G", - "KC_Y" , "LT(5,KC_N)" , "LT(3,KC_E)" , "LT(7,KC_O)" , "LSFT_T(KC_I)", - - "KC_Z" , "LCTL_T(KC_X)" , "LALT_T(KC_M)" , "KC_C" , "KC_V", - "KC_K" , "KC_L" , "LALT_T(KC_COMM)", "LCTL_T(KC_DOT)" , "KC_SLSH", - - "LCA(KC_UP)" , "KC_BSPC", - "LT(8,KC_SPC)" , "LCA(KC_DOWN)" - ], - ["KC_Q" , "KC_C" , "KC_M" , "KC_Y" , "KC_COLN", - "KC_Z" , "KC_W" , "KC_COMM" , "KC_U" , "KC_J", - - "LSFT_T(KC_R)" , "LT(6,KC_S)" , "LT(2,KC_T)" , "LT(4,KC_H)" , "KC_X", - "KC_TRNS" , "LT(5,KC_N)" , "LT(3,KC_A)" , "LT(7,KC_I)" , "LSFT_T(KC_O)", - - "KC_B" , "LCTL_T(KC_F)" , "LALT_T(KC_G)" , "KC_D" , "KC_V", - "KC_ESC" , "KC_L" , "LALT_T(KC_DOT)" , "LCTL_T(KC_BSPC)" , "KC_K", - - "LCA(KC_UP)" , "KC_E", - "LT(8,KC_SPC)" , "LCA(KC_DOWN)" - ], - ["KC_TRNS" , "ANY(LCTL(LSFT(KC_C)))", "KC_TRNS" , "ANY(LCTL(LSFT(KC_V)))", "KC_TRNS", - "KC_TRNS" , "KC_BTN1" , "KC_WH_U" , "KC_BTN2" , "KC_TRNS", - - "KC_TRNS" , "KC_BTN2" , "KC_NO" , "KC_BTN1" , "KC_TRNS", - "KC_TRNS" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R", - - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "KC_TRNS", - - "ANY(LCTL(LSFT(KC_TAB)))", "KC_TRNS", - "KC_TRNS" , "LCTL(KC_TAB)" - ], - ["KC_TRNS" , "KC_TRNS" , "KC_PGUP" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_LEFT" , "KC_UP" , "KC_DOWN" , "KC_RGHT" , "KC_TRNS", - "KC_TRNS" , "KC_LGUI" , "KC_NO" , "LCTL(KC_LALT)" , "LCA(KC_LSFT)", - - "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "RGB_RMOD" , "KC_TRNS", - "KC_TRNS" , "RGB_MOD" - ], - ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS", - - "KC_CIRC" , "KC_ASTR" , "KC_AMPR" , "KC_NO" , "KC_TRNS", - "KC_HASH" , "KC_TILD" , "KC_SLSH" , "KC_DQUO" , "KC_DLR", - - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS", - - "KC_BRID" , "KC_TRNS", - "KC_TRNS" , "KC_BRIU" - ], - ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_LCBR" , "KC_RCBR" , "KC_LPRN" , "KC_RPRN" , "KC_AT", - "KC_TRNS" , "KC_NO" , "KC_EQL" , "KC_PLUS" , "KC_PERC", - - "KC_TRNS" , "KC_EXLM" , "KC_LBRC" , "KC_RBRC" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_VOLD" , "KC_TRNS", - "KC_TRNS" , "KC_VOLU" - ], - ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10", - - "KC_TRNS" , "KC_TRNS" , "LCTL(KC_LALT)" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F11", - - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F12", - - "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" - ], - ["KC_PSLS" , "KC_7" , "KC_8" , "KC_9" , "KC_PPLS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_PMNS", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO" , "KC_TRNS", - - "KC_PAST" , "KC_4" , "KC_5" , "KC_6" , "KC_PEQL", - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" - ], - ["KC_TRNS" , "KC_ESC" , "KC_COLN" , "KC_TRNS" , "KC_TRNS", - "DF(2)" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_DEL", - - "KC_TRNS" , "KC_PERC" , "KC_SLSH" , "KC_ENT" , "KC_EXLM", - "DF(1)" , "KC_LGUI" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - - "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)" , "QK_BOOT", - - "KC_TRNS" , "KC_TAB", - "KC_NO" , "KC_TRNS" - ] - ], - "author": "@pierrec83" -} diff --git a/keyboards/ferris/keymaps/pierrec83/readme.md b/keyboards/ferris/keymaps/pierrec83/readme.md deleted file mode 100644 index d96a3bb8110e..000000000000 --- a/keyboards/ferris/keymaps/pierrec83/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -@pierrec83's personal keymap for the Ferris keyboard -==================================================== - -This keymap shares many commonalities with the default keymap. -See its readme for a write-up on many of the decisions, including -how to generate the formatted json file with json2crab.py and the -general philosophy for each layer. - -Because this is my own keymap, I didn't refrain from using shortcuts -that make sense for me and may not make sense for most. - -Key differences from the default keymap include: - -Alpha layers: -------------- - -Because I only learned to touch type when I switched from qwerty to workman, -my base layer is workman and my layout doesn't contain a qwerty layer. - -My layer 1 hosts a variant of RSTHD that I am developing, inspired from workman's -focus on reducing side-index-motion. It should become my end game keymap eventually, -but I still haven't found the time to learn it to a working proficiency. - -Secondary thumbs: ------------------ - -Instead of a placeholder 0 and 1, the secondary thumbs on my keymap -perform the following actions: -* Navigate to previous and next workspace the base layer -* Navigate to previous and next tab on the mouse layer -* Volume control on layer -* Brightness control on layer - -Mouse layer: ------------- - -* Copy/Paste shortcuts on the left hand, on the upper row. - -Always available layer: ------------------------ - -* Esc and column are placed differently to allow easy vim navigation with the positions of w and q in the workman base layer -* Enable permanent switch to the RSTHD layer in addition to the mouse layer diff --git a/keyboards/ferris/keymaps/test/keymap.c b/keyboards/ferris/keymaps/test/keymap.c index 3706886a2410..ba5e31e2cb90 100644 --- a/keyboards/ferris/keymaps/test/keymap.c +++ b/keyboards/ferris/keymaps/test/keymap.c @@ -7,7 +7,13 @@ void matrix_init_user(void) { //debug_mouse=true; } +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = 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_P0, DB_TOGG, KC_P2, KC_P3) + [0] = 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_1, KC_2, KC_3, KC_4 + ) }; - +// clang-format on diff --git a/keyboards/ffkeebs/puca/config.h b/keyboards/ffkeebs/puca/config.h index 23a2f15d9947..19b030cdc1a8 100644 --- a/keyboards/ffkeebs/puca/config.h +++ b/keyboards/ffkeebs/puca/config.h @@ -17,20 +17,7 @@ along with this program. If not, see . #pragma once -#ifdef RGBLIGHT_ENABLE - #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 #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 */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/ffkeebs/puca/info.json b/keyboards/ffkeebs/puca/info.json index 356c148d8e56..dbfc2f432068 100644 --- a/keyboards/ffkeebs/puca/info.json +++ b/keyboards/ffkeebs/puca/info.json @@ -18,6 +18,21 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/fjlabs/7vhotswap/config.h b/keyboards/fjlabs/7vhotswap/config.h index 4aa0cd52ea48..2b28e8a484dc 100644 --- a/keyboards/fjlabs/7vhotswap/config.h +++ b/keyboards/fjlabs/7vhotswap/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Define RGB */ -#define RGBLED_NUM 4 -#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 -#define RGB_VAL_STEP 12 - /* Define less important options */ /* diff --git a/keyboards/fjlabs/7vhotswap/info.json b/keyboards/fjlabs/7vhotswap/info.json index 6e026ecc5891..8244960e45a7 100644 --- a/keyboards/fjlabs/7vhotswap/info.json +++ b/keyboards/fjlabs/7vhotswap/info.json @@ -13,6 +13,21 @@ "rows": ["B0", "F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/fjlabs/avalon/config.h b/keyboards/fjlabs/avalon/config.h index 4204f1d1290e..d1875f650f69 100644 --- a/keyboards/fjlabs/avalon/config.h +++ b/keyboards/fjlabs/avalon/config.h @@ -22,19 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/avalon/info.json b/keyboards/fjlabs/avalon/info.json index ba9239629ccb..96f969146fdc 100644 --- a/keyboards/fjlabs/avalon/info.json +++ b/keyboards/fjlabs/avalon/info.json @@ -16,6 +16,22 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 6, + "brightness_steps": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/fjlabs/bks65/config.h b/keyboards/fjlabs/bks65/config.h index 3b205ce76faf..990e5335c311 100644 --- a/keyboards/fjlabs/bks65/config.h +++ b/keyboards/fjlabs/bks65/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -/* #define RGBLIGHT_LAYER_BLINK*/ - /* Define less important options */ /* diff --git a/keyboards/fjlabs/bks65/info.json b/keyboards/fjlabs/bks65/info.json index 7b468da941c3..5e0d9d5fb9b9 100644 --- a/keyboards/fjlabs/bks65/info.json +++ b/keyboards/fjlabs/bks65/info.json @@ -16,6 +16,21 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/fjlabs/bks65solder/config.h b/keyboards/fjlabs/bks65solder/config.h index 3b205ce76faf..990e5335c311 100644 --- a/keyboards/fjlabs/bks65solder/config.h +++ b/keyboards/fjlabs/bks65solder/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -/* #define RGBLIGHT_LAYER_BLINK*/ - /* Define less important options */ /* diff --git a/keyboards/fjlabs/bks65solder/info.json b/keyboards/fjlabs/bks65solder/info.json index 27c3ece3ba26..dae926d08c99 100644 --- a/keyboards/fjlabs/bks65solder/info.json +++ b/keyboards/fjlabs/bks65solder/info.json @@ -13,6 +13,21 @@ "rows": ["F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/fjlabs/kf87/config.h b/keyboards/fjlabs/kf87/config.h index 4131a8842920..9f4595856496 100644 --- a/keyboards/fjlabs/kf87/config.h +++ b/keyboards/fjlabs/kf87/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Define RGB */ -#define RGBLED_NUM 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 -#define RGB_VAL_STEP 12 - /* Define less important options */ /* diff --git a/keyboards/fjlabs/kf87/info.json b/keyboards/fjlabs/kf87/info.json index 415405a9e82e..cd2f6a7ac2f5 100644 --- a/keyboards/fjlabs/kf87/info.json +++ b/keyboards/fjlabs/kf87/info.json @@ -21,7 +21,20 @@ "pin": "C2" }, "rgblight": { - "max_brightness": 86 + "led_count": 87, + "max_brightness": 86, + "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 + } }, "processor": "at90usb646", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h index 5fa5e84acd35..9bee3167926f 100644 --- a/keyboards/fjlabs/kyuu/config.h +++ b/keyboards/fjlabs/kyuu/config.h @@ -22,22 +22,8 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -/* #define RGBLIGHT_LAYER_BLINK*/ /* Define less important options */ diff --git a/keyboards/fjlabs/kyuu/info.json b/keyboards/fjlabs/kyuu/info.json index 058cb4ea23ba..9028c3dc8d9b 100644 --- a/keyboards/fjlabs/kyuu/info.json +++ b/keyboards/fjlabs/kyuu/info.json @@ -13,6 +13,21 @@ "rows": ["F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h index 89e8c6c22138..afdacdd0803e 100644 --- a/keyboards/fjlabs/mk61rgbansi/config.h +++ b/keyboards/fjlabs/mk61rgbansi/config.h @@ -22,22 +22,8 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -/* #define RGBLIGHT_LAYER_BLINK*/ /* Define less important options */ diff --git a/keyboards/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json index 7e99f1bd1061..01a859e0ba9d 100644 --- a/keyboards/fjlabs/mk61rgbansi/info.json +++ b/keyboards/fjlabs/mk61rgbansi/info.json @@ -17,7 +17,20 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 108 + "led_count": 64, + "max_brightness": 108, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/ready100/config.h b/keyboards/fjlabs/ready100/config.h index 1292feb117b1..b352868d2d44 100644 --- a/keyboards/fjlabs/ready100/config.h +++ b/keyboards/fjlabs/ready100/config.h @@ -22,21 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 -/* #define RGBLIGHT_LAYER_BLINK*/ - /* Define less important options */ /* diff --git a/keyboards/fjlabs/ready100/info.json b/keyboards/fjlabs/ready100/info.json index 689f396b3edf..dd717bb68a87 100644 --- a/keyboards/fjlabs/ready100/info.json +++ b/keyboards/fjlabs/ready100/info.json @@ -17,7 +17,20 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 108 + "led_count": 64, + "max_brightness": 108, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/solanis/config.h b/keyboards/fjlabs/solanis/config.h index 569d563e4509..68becd07670b 100644 --- a/keyboards/fjlabs/solanis/config.h +++ b/keyboards/fjlabs/solanis/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Define RGB */ -#define RGBLED_NUM 24 -#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 -#define RGB_VAL_STEP 12 - /* Define less important options */ /* diff --git a/keyboards/fjlabs/solanis/info.json b/keyboards/fjlabs/solanis/info.json index 2f1bea8698a4..ecc495d59a97 100644 --- a/keyboards/fjlabs/solanis/info.json +++ b/keyboards/fjlabs/solanis/info.json @@ -17,7 +17,20 @@ "pin": "B7" }, "rgblight": { - "max_brightness": 172 + "led_count": 24, + "max_brightness": 172, + "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 + } }, "processor": "at90usb646", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/swordfish/config.h b/keyboards/fjlabs/swordfish/config.h index be5bee6e440b..ea4c7011e141 100644 --- a/keyboards/fjlabs/swordfish/config.h +++ b/keyboards/fjlabs/swordfish/config.h @@ -22,20 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Define RGB */ -#define RGBLED_NUM 1 -#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 -#define RGB_VAL_STEP 12 - /* Define less important options */ /* diff --git a/keyboards/fjlabs/swordfish/info.json b/keyboards/fjlabs/swordfish/info.json index 98fb7f6f493c..822d9662d42d 100644 --- a/keyboards/fjlabs/swordfish/info.json +++ b/keyboards/fjlabs/swordfish/info.json @@ -13,88 +13,180 @@ "rows": ["B0", "B1", "C7", "C6", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "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 ecce4f1a7bfb..2b2c8cf19f78 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 50ade4767ec1..7428985841b7 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 89e8c6c22138..afdacdd0803e 100644 --- a/keyboards/fjlabs/tf60ansi/config.h +++ b/keyboards/fjlabs/tf60ansi/config.h @@ -22,22 +22,8 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -/* #define RGBLIGHT_LAYER_BLINK*/ /* Define less important options */ diff --git a/keyboards/fjlabs/tf60ansi/info.json b/keyboards/fjlabs/tf60ansi/info.json index b07464ad364a..b45f7258b6a6 100644 --- a/keyboards/fjlabs/tf60ansi/info.json +++ b/keyboards/fjlabs/tf60ansi/info.json @@ -17,7 +17,20 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 108 + "led_count": 64, + "max_brightness": 108, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/tf60v2/config.h b/keyboards/fjlabs/tf60v2/config.h index 89e8c6c22138..afdacdd0803e 100644 --- a/keyboards/fjlabs/tf60v2/config.h +++ b/keyboards/fjlabs/tf60v2/config.h @@ -22,22 +22,8 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -/* #define RGBLIGHT_LAYER_BLINK*/ /* Define less important options */ diff --git a/keyboards/fjlabs/tf60v2/info.json b/keyboards/fjlabs/tf60v2/info.json index 6e9a5bf8219c..7f6b3ce970e6 100644 --- a/keyboards/fjlabs/tf60v2/info.json +++ b/keyboards/fjlabs/tf60v2/info.json @@ -17,7 +17,20 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 108 + "led_count": 64, + "max_brightness": 108, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/fjlabs/tf65rgbv2/config.h b/keyboards/fjlabs/tf65rgbv2/config.h index 5932113c9475..afdacdd0803e 100644 --- a/keyboards/fjlabs/tf65rgbv2/config.h +++ b/keyboards/fjlabs/tf65rgbv2/config.h @@ -22,22 +22,8 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 -#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 -#define RGB_VAL_STEP 12 #define RGBLIGHT_DEFAULT_SPD 144 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -/* #define RGBLIGHT_LAYER_BLINK*/ /* Define less important options */ diff --git a/keyboards/fjlabs/tf65rgbv2/info.json b/keyboards/fjlabs/tf65rgbv2/info.json index 098bad3fcf7c..2101e17f0327 100644 --- a/keyboards/fjlabs/tf65rgbv2/info.json +++ b/keyboards/fjlabs/tf65rgbv2/info.json @@ -17,7 +17,20 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 96 + "led_count": 68, + "max_brightness": 96, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/flashquark/horizon_z/config.h b/keyboards/flashquark/horizon_z/config.h index 8828834d740c..ddeafe578d13 100755 --- a/keyboards/flashquark/horizon_z/config.h +++ b/keyboards/flashquark/horizon_z/config.h @@ -72,7 +72,6 @@ // # define ENABLE_RGB_MATRIX_SOLID_SPLASH // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_COUNT 1 +# define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 62 #endif diff --git a/keyboards/flashquark/horizon_z/horizon_z.c b/keyboards/flashquark/horizon_z/horizon_z.c index da62deaf29bf..a9faa5a943fe 100755 --- a/keyboards/flashquark/horizon_z/horizon_z.c +++ b/keyboards/flashquark/horizon_z/horizon_z.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { {0, B_1, A_1, C_1}, {0, B_2, A_2, C_2}, {0, B_3, A_3, C_3}, diff --git a/keyboards/flashquark/horizon_z/info.json b/keyboards/flashquark/horizon_z/info.json index 3e299442c542..9127042f7140 100755 --- a/keyboards/flashquark/horizon_z/info.json +++ b/keyboards/flashquark/horizon_z/info.json @@ -20,7 +20,7 @@ }, "processor": "atmega32u4", "rgb_matrix": { - "driver": "IS31FL3733", + "driver": "is31fl3733", "layout": [ { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, { "flags": 4, "matrix": [0, 1], "x": 16, "y": 0 }, diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h index ddf4546bbb24..441639324724 100644 --- a/keyboards/flehrad/bigswitch/config.h +++ b/keyboards/flehrad/bigswitch/config.h @@ -21,18 +21,3 @@ along with this program. If not, see . #define IS_COMMAND() ( \ false \ ) - - -#ifdef RGBLIGHT_ENABLE -#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 -#define RGBLED_NUM 8 -#endif diff --git a/keyboards/flehrad/bigswitch/info.json b/keyboards/flehrad/bigswitch/info.json index 095f8284e4fb..cf981b0d90e5 100644 --- a/keyboards/flehrad/bigswitch/info.json +++ b/keyboards/flehrad/bigswitch/info.json @@ -7,6 +7,21 @@ "pid": "0xB195", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h deleted file mode 100644 index 6e9219115cc4..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#pragma once - -// Long tapping term on the big switch, because it takes so long to press -#define TAPPING_TERM 500 -#define PERMISSIVE_HOLD diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c deleted file mode 100644 index d323bcc2c482..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#include QMK_KEYBOARD_H - -typedef enum { - SINGLE_TAP, SINGLE_HOLD, DOUBLE, TRIPLE, QUAD -} tap_dance_state_enum; - -enum { - TD_KEY = 0 -}; - -static tap_dance_state_enum tap_dance_state; -static bool tap_dance_active = false; -static uint16_t timer; - -void dance_cycle(bool override_timer) { - if (tap_dance_active) - { - if (timer_elapsed(timer) > 100 || override_timer) - { - switch (tap_dance_state) - { - case SINGLE_HOLD: - { - rgblight_increase_hue_noeeprom(); - break; - } - - case DOUBLE: - { - rgblight_step_noeeprom(); - break; - } - - case TRIPLE: - { - rgblight_toggle_noeeprom(); - break; - } - - default: - // Not needed - break; - } - - timer = timer_read(); - } - } -} - -void dance_finished(tap_dance_state_t *state, void* user_data) { - // Determine the current state - switch (state->count) - { - case 1: - { - if (state->interrupted || state->pressed == 0) tap_dance_state = SINGLE_TAP; - else tap_dance_state = SINGLE_HOLD; - break; - } - case 2: - { - tap_dance_state = DOUBLE; - break; - } - case 3: - { - tap_dance_state = TRIPLE; - break; - } - default: - { - tap_dance_state = QUAD; - break; - } - } - - switch (tap_dance_state) - { - case SINGLE_TAP: - { - // VS Build: CTRL+SHIFT+B - send_string_with_delay_P(PSTR(SS_DOWN(X_LCTL) SS_DOWN(X_LSFT) "b" SS_UP(X_LSFT) SS_UP(X_LCTL)), 10); - tap_dance_active = false; - break; - } - - case SINGLE_HOLD: - case DOUBLE: - case TRIPLE: - { - // These are handled by the matrix_scan, which will register the appropriate rgb - // functions every scan - tap_dance_active = true; - timer = timer_read(); - dance_cycle(true); - break; - } - - case QUAD: - { - // Reprogram - reset_keyboard(); - break; - } - } -} - -void dance_reset(tap_dance_state_t *state, void* user_data) -{ - tap_dance_active = false; -} - -tap_dance_action_t tap_dance_actions[] = { - [TD_KEY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TD(TD_KEY)) -}; - -void matrix_scan_user(void) { - dance_cycle(false); -} diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk b/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk deleted file mode 100644 index 20aaadacbcd8..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -# I'm not using things from my userpace in this one -USER_NAME = disable - -RGBLIGHT_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h b/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h deleted file mode 100644 index bb638ce599b6..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2018 wanleg - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#undef MATRIX_ROW_PINS -#define MATRIX_ROW_PINS { B4 } -#undef MATRIX_COL_PINS -#define MATRIX_COL_PINS { B6 } - -/* COL2ROW, ROW2COL*/ -#undef DIODE_DIRECTION -#define DIODE_DIRECTION COL2ROW - -#define BACKLIGHT_PIN B5 -#define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 3 -#define BREATHING_PERIOD 5 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#undef DEBOUNCE -#define DEBOUNCE 5 - -// set flashing LED with QMK DFU -#define QMK_LED B0 - -// set audio pin -#define AUDIO_PIN C6 diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c b/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c deleted file mode 100644 index 4a34640466e0..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2018 wanleg - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "wanleg.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ -TD(CAD_TD) -), -[1] = LAYOUT( /*Secondary*/ -TD(BSW_TAP_DANCE) -), -}; \ No newline at end of file diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk b/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk deleted file mode 100644 index d6c3b1880e83..000000000000 --- a/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -#If using a ProMicro and it has the QMK DFU bootloader instead of Caterina, -#run "make : dfu=qmk" when compiling to ensure it is flagged properly after being flashed -ifeq ($(strip $(dfu)), qmk) - BOOTLOADER = qmk-dfu -endif - -AUDIO_ENABLE = yes # Audio output on port C6 -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c b/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c deleted file mode 100644 index 344b446f19d0..000000000000 --- a/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 flehrad - * - * 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. - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_tradestation( - 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/fleuron/config.h b/keyboards/fleuron/config.h index 34197c8578de..60f42fbcda9a 100644 --- a/keyboards/fleuron/config.h +++ b/keyboards/fleuron/config.h @@ -37,15 +37,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#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 -#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/fleuron/info.json b/keyboards/fleuron/info.json index c2ff091acec4..70be63d3c204 100644 --- a/keyboards/fleuron/info.json +++ b/keyboards/fleuron/info.json @@ -12,6 +12,21 @@ "rows": ["F0", "F1", "F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 18, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/fleuron/keymaps/dollartacos/config.h b/keyboards/fleuron/keymaps/dollartacos/config.h deleted file mode 100644 index 1ce0a168f5c6..000000000000 --- a/keyboards/fleuron/keymaps/dollartacos/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2018 James Underwood - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -// Place overrides here \ No newline at end of file diff --git a/keyboards/fleuron/keymaps/dollartacos/keymap.c b/keyboards/fleuron/keymaps/dollartacos/keymap.c deleted file mode 100644 index e2bef353ef2f..000000000000 --- a/keyboards/fleuron/keymaps/dollartacos/keymap.c +++ /dev/null @@ -1,159 +0,0 @@ -/* Copyright 2018 James Underwood - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum custom_layers { - _QWERTY, - _LOWER, - _RAISE -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - DZ, - LOWER, - RAISE -}; - -/* -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_fleuron_grid( - /* Qwerty - * ,---------------------------------------------------------------------------------------------------------------. - * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Mute | Play | Next | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | / | * | / | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | 7 | 8 | 9 | * | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------+------| - * | Caps | A | S | D | F | G | H | J | K | L | ; | " | 4 | 5 | 6 | - | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | 1 | 2 | 3 | + | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB | Ctrl | Alt |Lower | Cmd |Enter | Bksp |Space | Raise| Left | Down | Up |Right | 0 | . |Enter | - * `---------------------------------------------------------------------------------------------------------------' - */ - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_MPLY, KC_MFFD, - 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_PSLS, KC_PAST, KC_PSLS, - 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_P7, KC_P8, KC_P9, KC_PAST, - 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_P4, KC_P5, KC_P6, KC_PMNS, - 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_P1, KC_P2, KC_P3, KC_PPLS, - RGB_MOD, KC_LCTL, KC_LALT, LOWER, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_P0, KC_PDOT, KC_PENT -), - -[_LOWER] = LAYOUT_fleuron_grid( - /* Lower - * ,---------------------------------------------------------------------------------------------------------------. - * |QK_BOOT | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | _ | + | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | { | } | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |RGBtog| | | | | | | | | Home | PgUp | PgDn | End | | | | - * `---------------------------------------------------------------------------------------------------------------' - */ - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______ -), - -[_RAISE] = LAYOUT_fleuron_grid( - /* Raise - * ,---------------------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | - | = | | | | | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | [ | ] | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | Prev | Vol- | Vol+ | Next | | | | - * `---------------------------------------------------------------------------------------------------------------' - */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_VOLD, KC_VOLU, KC_MFFD, _______, _______, _______ -) -}; - -/* -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case DZ: - SEND_STRING("00"); // Double 0 macro for numpad - return false; - break; - case LOWER: - - } - } - return true; -}; -*/ - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - } else { - layer_off(_RAISE); - } - return false; - 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/fleuron/keymaps/dollartacos/readme.md b/keyboards/fleuron/keymaps/dollartacos/readme.md deleted file mode 100644 index d370b574c0e4..000000000000 --- a/keyboards/fleuron/keymaps/dollartacos/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Dollartaco's keymap for fleuron \ No newline at end of file diff --git a/keyboards/flx/virgo/config.h b/keyboards/flx/virgo/config.h deleted file mode 100644 index 84306f36a07e..000000000000 --- a/keyboards/flx/virgo/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2019 MechMerlin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 - // #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/flx/virgo/info.json b/keyboards/flx/virgo/info.json index f7ce7724825e..d1e40b9ecec8 100644 --- a/keyboards/flx/virgo/info.json +++ b/keyboards/flx/virgo/info.json @@ -17,6 +17,22 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 0, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h index 55edfade8275..6bde2711c237 100644 --- a/keyboards/flxlb/zplit/config.h +++ b/keyboards/flxlb/zplit/config.h @@ -28,23 +28,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #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 RGBLED_SPLIT { 8, 8 } -#define RGBLIGHT_SPLIT -#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 - - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/flxlb/zplit/info.json b/keyboards/flxlb/zplit/info.json index a2c27492cf49..6d2aadcb4379 100644 --- a/keyboards/flxlb/zplit/info.json +++ b/keyboards/flxlb/zplit/info.json @@ -18,6 +18,23 @@ {"pin_a": "B0", "pin_b": "D2"} ] }, + "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c b/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c deleted file mode 100644 index 8e79d5a4f80c..000000000000 --- a/keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Copyright 2021 gipsy-king - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Raise layer or enter on tap -#define RAISE LT(1, KC_ENT) -// Xmonad layer with LGUI always on -#define MOD4 LM(2, MOD_LGUI) -// Oneshot -#define ONESHOT OSL(3) -// Mic-mute-tap or Fn layer (F20 is mic-mute on thinkpads) -#define FNLAY LT(3, KC_F20) - -enum custom_keycodes { - EMAIL = SAFE_RANGE, - EMAIL_W, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty - * .-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P |Backsp| - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | - | Z | X | C | V | B | N | M | , | . | / | = | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | LCTR | LGUI | LALT | MOD4 | ^( | Space|Ent/Ra| ^) | RALT | MUTE | RGUI | RCTR | - * '-----------------------------------------------------------------------------------' - */ -[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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, - KC_MINS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_EQL, - KC_LCTL,KC_LALT,KC_LGUI,MOD4, SC_LSPO,KC_SPC, RAISE, SC_RSPC,KC_RALT,KC_RGUI,FNLAY, KC_RCTL -), -/* Raise - * .-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | ~ | { | PgUp | PgDn | End | Home | <- | \/ | /\ | -> | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | [ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ] | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * '-----------------------------------------------------------------------------------' - */ -[1] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TILD,KC_LCBR,KC_PGUP,KC_PGDN,KC_END, KC_HOME,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RCBR,KC_PIPE, - KC_LBRC,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_RBRC, - _______,_______,_______,_______,_______,_______,_______,_______,_______,ONESHOT,_______,_______ -), -/* XMONAD - * Top row: Quit, Workspace shortcuts, Run - * Middle row: Float, HJKL - * Bottom row: Shift, Close, Border, Keyboard reset - * Thumbs: Estra shifts, Space, Enter, Shifts - */ -[2] = LAYOUT( - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_P, KC_MUTE, - KC_LSFT,_______,_______,_______,_______,KC_T, KC_H, KC_J, KC_K, KC_L, _______,_______, - KC_LSFT,_______,_______,KC_C, _______,KC_B, _______,_______,_______,_______,_______,_______, - _______,_______,_______,KC_LSFT,KC_LSFT,KC_SPC, KC_ENT, KC_LSFT,_______,_______,KC_VOLD,KC_VOLU -), -/* Fn - * Some macros, Keyboard-reset, mouse and audio. - */ -[3] = LAYOUT( - _______,_______,EMAIL_W,EMAIL, _______,_______,_______,_______,_______,_______,_______,QK_BOOT, - _______,_______,_______,_______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______, - _______,_______,_______,_______,_______,_______,KC_BTN1,KC_MUTE,KC_VOLD,KC_VOLU,KC_BRID,KC_BRIU, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ -) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case EMAIL: - SEND_STRING("ste3ls@gmail.com"); - break; - case EMAIL_W: - SEND_STRING("benjamin@midokura.com"); - break; - } - } - return true; -}; diff --git a/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md b/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md deleted file mode 100644 index f0bce9fc95f0..000000000000 --- a/keyboards/foostan/cornelius/keymaps/gipsy-king/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# Gipsy-King's Cornelius layout - -Common typing only needs a base and a symbols layer. Layer changes are on the -thumbs *including* shift and non-english variants. - -The importance of having shift on your thumbs is that you don't need to press -some letters with pinky OR ring, depending on shift. - -## Base QWERTY layer - -* Tab, Backspace, Space, Ctrl/Alt/Mod are similar to a generic keyboard. -* Esc is like when you remap CapsLock to Esc on a generic keyboard (vim). -* Enter is on right thumb and raises Symbol layer on hold, because you rarely - hold. -* Shifts are on both thumbs! -* Leftmost thumb changes to Xmonad window management layer. -* Rightmost thumb is Right-Alt which is for `us-intl-altgr` layout (althoug I - use kmonad to universally map international characters on all keyboards). -* `-` and `=` are on the lower pinkies. -* `F20` is mic-mute on my thinkpad laptop. - -## Symbol layer (Raise) - -* Top row is numbers, bottom row are their symbols. Most people do it the other - way 'round. -* Middle row has curly brackets, and some navigation and arrows. -* Square brackets are on the lower pinkies. -* ```~\|`` are places aroung top/outer corners. - -## Xmonad layer (Window management) - -I use Xmonad to completely manage windows with just my keyboard. This layer -accommodates most shortcuts. - -## Fn layer - -Lastly, some macros, mousekeys (not used, really), some media keys, and the -function-keys (I use them maybe once in a decade). - diff --git a/keyboards/foostan/cornelius/keymaps/hvp/config.h b/keyboards/foostan/cornelius/keymaps/hvp/config.h deleted file mode 100644 index a2a492ff271e..000000000000 --- a/keyboards/foostan/cornelius/keymaps/hvp/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 Carlos Filoteo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 -#define TAPPING_TERM_PER_KEY diff --git a/keyboards/foostan/cornelius/keymaps/hvp/keymap.c b/keyboards/foostan/cornelius/keymaps/hvp/keymap.c deleted file mode 100644 index 247eaf7a4e30..000000000000 --- a/keyboards/foostan/cornelius/keymaps/hvp/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright 2020 foostan - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "hvp.c" - -#define LT3_ESC LT(3, KC_ESC) -#define LT4_TAB LT(5, KC_TAB) -#define LT2 LT(2, KC_LEFT_CURLY_BRACE) -#define LT1 LT(1, KC_RIGHT_CURLY_BRACE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( - LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT3_ESC, MT(MOD_LGUI, KC_A), MT(MOD_LALT, KC_S), MT(MOD_LSFT, KC_D), MT(MOD_LCTL, KC_F), LT(4,KC_G), MT(MOD_RCTL, KC_H), MT(MOD_RSFT, KC_J), MT(MOD_RALT,KC_K), MT(MOD_RGUI,KC_L), TD(TD1), TD(TD2), - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), SC_SENT, - SC_LCPO, KC_LCTL, KC_LGUI, KC_LALT, LT2, KC_SPC, KC_ENT, LT1, KC_RALT, KC_RGUI, KC_RCTL, SC_RSPC - ), - -[1] = LAYOUT( /* Right */ - KC_TILDE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - KC_DEL, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -[2] = LAYOUT( /* Left */ - 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_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -[3] = LAYOUT( /* 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_DELETE, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - _______, _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT - ), - -[4] = LAYOUT( - _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_7, KC_8, KC_9, KC_BSPC, - _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_4, KC_5, KC_6, KC_0, - _______, _______, _______, _______, _______, _______, XXXXXXX, KC_0, KC_1, KC_2, KC_3, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -[5] = LAYOUT( - _______, G(S(KC_1)), G(S(KC_2)), G(S(KC_3)), G(S(KC_4)), G(S(KC_5)), G(S(KC_6)), G(S(KC_7)), G(S(KC_8)), G(S(KC_9)), G(S(KC_0)), _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM - ), -}; diff --git a/keyboards/foostan/cornelius/keymaps/hvp/readme.md b/keyboards/foostan/cornelius/keymaps/hvp/readme.md deleted file mode 100644 index cb35bd8a29d9..000000000000 --- a/keyboards/foostan/cornelius/keymaps/hvp/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for cornelius diff --git a/keyboards/foostan/cornelius/keymaps/hvp/rules.mk b/keyboards/foostan/cornelius/keymaps/hvp/rules.mk deleted file mode 100644 index 1ba2fa8fbefa..000000000000 --- a/keyboards/foostan/cornelius/keymaps/hvp/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/foostan/cornelius/keymaps/pdl/config.h b/keyboards/foostan/cornelius/keymaps/pdl/config.h deleted file mode 100644 index f2a5a522eac3..000000000000 --- a/keyboards/foostan/cornelius/keymaps/pdl/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2021 Daniel Perrett - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -#define TAPPING_TOGGLE 2 -#define TAPPING_TERM 200 - -#define COMBO_PDL -#define COMBO_TERM 100 diff --git a/keyboards/foostan/cornelius/keymaps/pdl/keymap.c b/keyboards/foostan/cornelius/keymaps/pdl/keymap.c deleted file mode 100644 index 3b71280ad8bd..000000000000 --- a/keyboards/foostan/cornelius/keymaps/pdl/keymap.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2021 Daniel Perrett - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "pdl.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( - MY_FESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, - KC_TAB, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, - MY_SBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT - ), - [_PROXIM] = LAYOUT_wrapper( - MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, - KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, - MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT - ), - [_NAVIGN] = LAYOUT_wrapper( - _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_PUNCTN] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_NUMBRS] = LAYOUT_wrapper( - _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_CODING] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FUNCTN] = LAYOUT_wrapper( - _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, - _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, - _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/foostan/cornelius/keymaps/pdl/readme.md b/keyboards/foostan/cornelius/keymaps/pdl/readme.md deleted file mode 100644 index 59bb03d18bb8..000000000000 --- a/keyboards/foostan/cornelius/keymaps/pdl/readme.md +++ /dev/null @@ -1 +0,0 @@ -# A keymap for cornelius used by pdl diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index c05e920287f1..000000000000 --- a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - K32, K33, K34, K35, K36, K37\ -) diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index e335d5d8b86e..000000000000 --- a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT(\ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ - XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX\ -) diff --git a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/fortitude60/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h index d13ea1c84501..5dec5df1f129 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 175e621e230d..0ae02161cd5a 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 8ee5b2a14a88..43bd4ee57169 100644 --- a/keyboards/foxlab/key65/hotswap/config.h +++ b/keyboards/foxlab/key65/hotswap/config.h @@ -16,22 +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 -#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 - /* 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/key65/hotswap/info.json b/keyboards/foxlab/key65/hotswap/info.json index 619f59671d2f..20f5c06ecd15 100644 --- a/keyboards/foxlab/key65/hotswap/info.json +++ b/keyboards/foxlab/key65/hotswap/info.json @@ -17,6 +17,24 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/key65/universal/config.h b/keyboards/foxlab/key65/universal/config.h index 003eb0a72cfe..43bd4ee57169 100644 --- a/keyboards/foxlab/key65/universal/config.h +++ b/keyboards/foxlab/key65/universal/config.h @@ -16,22 +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 -#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 - /* 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/key65/universal/info.json b/keyboards/foxlab/key65/universal/info.json index ef7c4386c839..e2e526303d0d 100644 --- a/keyboards/foxlab/key65/universal/info.json +++ b/keyboards/foxlab/key65/universal/info.json @@ -17,6 +17,24 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/leaf60/hotswap/config.h b/keyboards/foxlab/leaf60/hotswap/config.h index a7b28ae1db59..d4515ef219db 100644 --- a/keyboards/foxlab/leaf60/hotswap/config.h +++ b/keyboards/foxlab/leaf60/hotswap/config.h @@ -17,22 +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 -#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 - /* 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/leaf60/hotswap/info.json b/keyboards/foxlab/leaf60/hotswap/info.json index f8b3c35edd53..f7f3d202ff6e 100644 --- a/keyboards/foxlab/leaf60/hotswap/info.json +++ b/keyboards/foxlab/leaf60/hotswap/info.json @@ -22,6 +22,24 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c deleted file mode 100644 index 3662c57c4be1..000000000000 --- a/keyboards/foxlab/leaf60/hotswap/keymaps/crd/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _BL = 0, // Base Layer - _FL, // Function Layer - _CL // Control Layer -}; - -#define KC_CTES CTL_T(KC_ESC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = 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_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_CTES, KC_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(_FL), - KC_LCTL, XXXXXXX, KC_LGUI, KC_SPC, KC_RALT, XXXXXXX, TO(_CL) - ), - [_FL] = LAYOUT_60_tsangan_hhkb( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - _______, _______, _______, EE_CLR, QK_BOOT, _______, _______, _______, 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_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______, _______, _______ - ), - [_CL] = LAYOUT_60_tsangan_hhkb( - 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, BL_ON, XXXXXXX, XXXXXXX, - XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_BRTG, BL_STEP, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(_BL) - ) -}; diff --git a/keyboards/foxlab/leaf60/universal/config.h b/keyboards/foxlab/leaf60/universal/config.h index a7b28ae1db59..d4515ef219db 100644 --- a/keyboards/foxlab/leaf60/universal/config.h +++ b/keyboards/foxlab/leaf60/universal/config.h @@ -17,22 +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 -#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 - /* 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/leaf60/universal/info.json b/keyboards/foxlab/leaf60/universal/info.json index a277830d9db6..f4b9c704f748 100644 --- a/keyboards/foxlab/leaf60/universal/info.json +++ b/keyboards/foxlab/leaf60/universal/info.json @@ -21,6 +21,24 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c deleted file mode 100644 index 63374f401fec..000000000000 --- a/keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2019 Jarred Steenvoorden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "jarred.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QW] = LAYOUT_60_hhkb( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, - NAVI , KC_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_ENT , - KC_LCTL, KC_LGUI, KC_SPC , KC_RALT, KC_RCTL - ), - - [_NV] = LAYOUT_60_hhkb( - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, - _______, _______, _______, _______, KC_DEL , KC_BSPC, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______, _______, _______, - _______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_DEL , _______, - _______ , _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, - _______, _______, ALT_TAB , _______, QK_BOOT - ), - -}; diff --git a/keyboards/foxlab/leaf60/universal/keymaps/jarred/readme.md b/keyboards/foxlab/leaf60/universal/keymaps/jarred/readme.md deleted file mode 100644 index 6b0a57a1e657..000000000000 --- a/keyboards/foxlab/leaf60/universal/keymaps/jarred/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Jarred's Leaf60 Layout - -Check out [user space readme](../../../../../../users/jarred/readme.md) for more info - -# Flash - -``` -make foxlab/leaf60/universal:jarred:dfu -``` diff --git a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/config.h b/keyboards/foxlab/leaf60/universal/keymaps/mguterl/config.h deleted file mode 100644 index d8f6533c6ba9..000000000000 --- a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Fox 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 . - */ - -#pragma once - -// place overrides here diff --git a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c deleted file mode 100644 index 22dede06960a..000000000000 --- a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2019 Fox 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 -#include "mguterl.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_all( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - HPR_TAB, KC_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, - ESC_CTL, KC_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, MO(UTIL), - KC_LALT, KC_LALT, KC_LGUI, SPC_UTL, SPC_UTL, SPC_UTL, KC_RALT, MO(1), KC_RGUI, KC_RCTL), - - [_GAMING] = LAYOUT_all( - KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______), - - [_UTIL] = 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, _______, _______, - TG_GAME, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) - - -}; diff --git a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/readme.md b/keyboards/foxlab/leaf60/universal/keymaps/mguterl/readme.md deleted file mode 100644 index 7f1d982bce97..000000000000 --- a/keyboards/foxlab/leaf60/universal/keymaps/mguterl/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Michael Guterl's Leaf60 WKL Layout - -Check out my [userspace](/users/mguterl) for the custom keycodes that are used -in keymap.c. - -This is a pretty standard 60% WKL layout. I add a couple of layers to add -some conveniences and add vimkeys for navigation. - -```sh -make foxlab/leaf60/universal:mguterl:flash -``` diff --git a/keyboards/foxlab/time80/config.h b/keyboards/foxlab/time80/config.h index f68ee9bd551a..0b0ee839718f 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 f5b8a7eb0c0f..b19e3c31041a 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 deleted file mode 100644 index 03e8b6b3d46e..000000000000 --- a/keyboards/foxlab/time_re/hotswap/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 DongXing - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 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 -# 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/foxlab/time_re/hotswap/info.json b/keyboards/foxlab/time_re/hotswap/info.json index 1253771b5c32..d210a854377d 100644 --- a/keyboards/foxlab/time_re/hotswap/info.json +++ b/keyboards/foxlab/time_re/hotswap/info.json @@ -24,7 +24,23 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/foxlab/time_re/universal/config.h b/keyboards/foxlab/time_re/universal/config.h deleted file mode 100644 index 03e8b6b3d46e..000000000000 --- a/keyboards/foxlab/time_re/universal/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 DongXing - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 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 -# 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/foxlab/time_re/universal/info.json b/keyboards/foxlab/time_re/universal/info.json index 8bb9a58ee27d..a7c9bbc7e62f 100644 --- a/keyboards/foxlab/time_re/universal/info.json +++ b/keyboards/foxlab/time_re/universal/info.json @@ -20,7 +20,23 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "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 + } }, "indicators": { "caps_lock": "E6", diff --git a/keyboards/frobiac/blackbowl/rules.mk b/keyboards/frobiac/blackbowl/rules.mk index 6004c37f9eaa..4e81c7280cdb 100644 --- a/keyboards/frobiac/blackbowl/rules.mk +++ b/keyboards/frobiac/blackbowl/rules.mk @@ -1,7 +1,7 @@ CUSTOM_MATRIX = lite # project specific files -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes SRC += matrix.c PS2_MOUSE_ENABLE = yes diff --git a/keyboards/frooastboard/nano/config.h b/keyboards/frooastboard/nano/config.h index 32d34ead4287..d28c057500a4 100644 --- a/keyboards/frooastboard/nano/config.h +++ b/keyboards/frooastboard/nano/config.h @@ -16,22 +16,8 @@ #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 -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + 2 diff --git a/keyboards/frooastboard/nano/info.json b/keyboards/frooastboard/nano/info.json index d1a77d256d0e..6112c4832c1e 100644 --- a/keyboards/frooastboard/nano/info.json +++ b/keyboards/frooastboard/nano/info.json @@ -24,6 +24,19 @@ "pid": "0x6F21", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "twinkle": true + } + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c b/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c deleted file mode 100644 index 83d7c07da288..000000000000 --- a/keyboards/frooastboard/nano/keymaps/safe_mode/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2021-2022 frooastside - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_Z, KC_X, - TO(1), KC_TILD), - - [1] = LAYOUT( - RGB_TOG, RGB_MOD, - TO(2), TO(0)), - - [2] = LAYOUT( - RGB_HUD, RGB_HUI, - TO(3), TO(1)), - - [3] = LAYOUT( - RGB_SAD, RGB_SAI, - TO(4), TO(2)), - - [4] = LAYOUT( - RGB_VAD, RGB_VAI, - TO(5), TO(3)), - - [5] = LAYOUT( - KC_TRNS, KC_TRNS, - QK_BOOT, TO(4)) -}; diff --git a/keyboards/frooastboard/walnut/config.h b/keyboards/frooastboard/walnut/config.h index 2703ec1e3766..710cd1934208 100644 --- a/keyboards/frooastboard/walnut/config.h +++ b/keyboards/frooastboard/walnut/config.h @@ -3,14 +3,9 @@ #pragma once -#define ISSI_TIMEOUT 100 -#define ISSI_PERSISTENCE 0 -#define ISSI_PWM_FREQUENCY 0b010 -#define ISSI_SWPULLUP PUR_0R -#define ISSI_CSPULLUP PUR_0R -#define DRIVER_COUNT 1 +#define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_26K7_HZ #define RGB_MATRIX_LED_COUNT 48 -#define DRIVER_ADDR_1 0b1010000 +#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191 @@ -45,8 +40,5 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define RGB_MATRIX_LED_FLUSH_LIMIT 16 -#define RGB_MATRIX_DEFAULT_HUE 0 -#define RGB_MATRIX_DEFAULT_SAT 255 #define RGB_MATRIX_DEFAULT_SPD 191 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json index ee18003f57e8..fc8ca2130fdd 100644 --- a/keyboards/frooastboard/walnut/info.json +++ b/keyboards/frooastboard/walnut/info.json @@ -15,7 +15,7 @@ "nkro": true }, "rgb_matrix": { - "driver": "IS31FL3737" + "driver": "is31fl3737" }, "build": { "lto": true diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c index 7163af011db2..48d1677f7ac6 100644 --- a/keyboards/frooastboard/walnut/walnut.c +++ b/keyboards/frooastboard/walnut/walnut.c @@ -5,7 +5,7 @@ #if defined(RGB_MATRIX_ENABLE) -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/fruitykeeb/fruitbar/fruitbar.c b/keyboards/fruitykeeb/fruitbar/fruitbar.c new file mode 100644 index 000000000000..9a1bb316f961 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/fruitbar.c @@ -0,0 +1,38 @@ +/* +Copyright 2021 ojthetiny + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef OLED_ENABLE +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + // Layer Status + oled_write_P(PSTR("Layer:"), false); + oled_write_ln(get_u8_str(get_highest_layer(layer_state), ' '), 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 true; +} +#endif diff --git a/keyboards/fruitykeeb/fruitbar/info.json b/keyboards/fruitykeeb/fruitbar/info.json new file mode 100644 index 000000000000..af1fb3fe43a9 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/info.json @@ -0,0 +1,7 @@ +{ + "manufacturer": "Fruitykeeb", + "url": "https://fruitykeeb.xyz", + "usb": { + "vid": "0x666B" + } +} diff --git a/keyboards/fruitykeeb/fruitbar/r1/elite_c/info.json b/keyboards/fruitykeeb/fruitbar/r1/elite_c/info.json new file mode 100644 index 000000000000..759b9a1af147 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/elite_c/info.json @@ -0,0 +1,37 @@ +{ + "development_board": "elite_c", + "encoder": { + "rotary": [ + {"pin_a": "F0", "pin_b": "F1"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "rgblight": true + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 8, + "max_brightness": 175, + "sleep": true + }, + "ws2812": { + "pin": "C7" + } +} diff --git a/keyboards/fruitykeeb/fruitbar/r1/elite_c/rules.mk b/keyboards/fruitykeeb/fruitbar/r1/elite_c/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/elite_c/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/fruitykeeb/fruitbar/r1/info.json b/keyboards/fruitykeeb/fruitbar/r1/info.json new file mode 100644 index 000000000000..64347e198d9f --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/info.json @@ -0,0 +1,256 @@ +{ + "keyboard_name": "Fruitbar", + "maintainer": "blewis308", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["D3", "D2", "D4", "C6", "D7", "E6", "B4", "B5", "B6", "B2", "B3"], + "rows": ["F4", "F5", "F6", "F7", "B1"] + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x6661" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_625u": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [1, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [1, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [1, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [1, 8], "x": 12.5, "y": 0}, + {"matrix": [0, 9], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [0, 10], "x": 15.5, "y": 0}, + {"matrix": [1, 10], "x": 16.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 2], "x": 3.75, "y": 1}, + {"matrix": [1, 3], "x": 4.75, "y": 1}, + {"matrix": [1, 4], "x": 5.75, "y": 1}, + {"matrix": [2, 5], "x": 6.75, "y": 1}, + {"matrix": [3, 5], "x": 7.75, "y": 1}, + {"matrix": [2, 6], "x": 8.75, "y": 1}, + {"matrix": [1, 7], "x": 9.75, "y": 1}, + {"matrix": [2, 7], "x": 10.75, "y": 1}, + {"matrix": [2, 8], "x": 11.75, "y": 1}, + {"matrix": [2, 9], "x": 12.75, "y": 1, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 2}, + {"matrix": [3, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [3, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [3, 4], "x": 7.25, "y": 2}, + {"matrix": [4, 5], "x": 8.25, "y": 2}, + {"matrix": [3, 6], "x": 9.25, "y": 2}, + {"matrix": [3, 7], "x": 10.25, "y": 2}, + {"matrix": [3, 8], "x": 11.25, "y": 2}, + {"matrix": [3, 9], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 10], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [4, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [4, 1], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [4, 2], "x": 3.75, "y": 3, "w": 2.25}, + {"matrix": [4, 3], "x": 6, "y": 3, "w": 1.25}, + {"matrix": [4, 4], "x": 7.25, "y": 3, "w": 2.75}, + {"matrix": [4, 6], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [4, 7], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [4, 8], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [4, 9], "x": 14.5, "y": 3}, + {"matrix": [3, 10], "x": 15.5, "y": 3}, + {"matrix": [4, 10], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_625u_split_enter": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [1, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [1, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [1, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [1, 8], "x": 12.5, "y": 0}, + {"matrix": [0, 9], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [0, 10], "x": 15.5, "y": 0}, + {"matrix": [1, 10], "x": 16.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 2], "x": 3.75, "y": 1}, + {"matrix": [1, 3], "x": 4.75, "y": 1}, + {"matrix": [1, 4], "x": 5.75, "y": 1}, + {"matrix": [2, 5], "x": 6.75, "y": 1}, + {"matrix": [3, 5], "x": 7.75, "y": 1}, + {"matrix": [2, 6], "x": 8.75, "y": 1}, + {"matrix": [1, 7], "x": 9.75, "y": 1}, + {"matrix": [2, 7], "x": 10.75, "y": 1}, + {"matrix": [2, 8], "x": 11.75, "y": 1}, + {"matrix": [1, 9], "x": 12.75, "y": 1}, + {"matrix": [2, 9], "x": 13.75, "y": 1, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 2}, + {"matrix": [3, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [3, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [3, 4], "x": 7.25, "y": 2}, + {"matrix": [4, 5], "x": 8.25, "y": 2}, + {"matrix": [3, 6], "x": 9.25, "y": 2}, + {"matrix": [3, 7], "x": 10.25, "y": 2}, + {"matrix": [3, 8], "x": 11.25, "y": 2}, + {"matrix": [3, 9], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 10], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [4, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [4, 1], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 3, "w": 6.25}, + {"matrix": [4, 6], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [4, 7], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [4, 8], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [4, 9], "x": 14.5, "y": 3}, + {"matrix": [3, 10], "x": 15.5, "y": 3}, + {"matrix": [4, 10], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [1, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [1, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [1, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [1, 8], "x": 12.5, "y": 0}, + {"matrix": [0, 9], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [0, 10], "x": 15.5, "y": 0}, + {"matrix": [1, 10], "x": 16.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 2], "x": 3.75, "y": 1}, + {"matrix": [1, 3], "x": 4.75, "y": 1}, + {"matrix": [1, 4], "x": 5.75, "y": 1}, + {"matrix": [2, 5], "x": 6.75, "y": 1}, + {"matrix": [3, 5], "x": 7.75, "y": 1}, + {"matrix": [2, 6], "x": 8.75, "y": 1}, + {"matrix": [1, 7], "x": 9.75, "y": 1}, + {"matrix": [2, 7], "x": 10.75, "y": 1}, + {"matrix": [2, 8], "x": 11.75, "y": 1}, + {"matrix": [1, 9], "x": 12.75, "y": 1}, + {"matrix": [2, 9], "x": 13.75, "y": 1, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 2}, + {"matrix": [3, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [3, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [3, 4], "x": 7.25, "y": 2}, + {"matrix": [4, 5], "x": 8.25, "y": 2}, + {"matrix": [3, 6], "x": 9.25, "y": 2}, + {"matrix": [3, 7], "x": 10.25, "y": 2}, + {"matrix": [3, 8], "x": 11.25, "y": 2}, + {"matrix": [3, 9], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 10], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [4, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [4, 1], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [4, 2], "x": 3.75, "y": 3, "w": 2.25}, + {"matrix": [4, 3], "x": 6, "y": 3, "w": 1.25}, + {"matrix": [4, 4], "x": 7.25, "y": 3, "w": 2.75}, + {"matrix": [4, 6], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [4, 7], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [4, 8], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [4, 9], "x": 14.5, "y": 3}, + {"matrix": [3, 10], "x": 15.5, "y": 3}, + {"matrix": [4, 10], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [1, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [1, 5], "x": 7.5, "y": 0}, + {"matrix": [0, 6], "x": 8.5, "y": 0}, + {"matrix": [1, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [1, 8], "x": 12.5, "y": 0}, + {"matrix": [0, 9], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [0, 10], "x": 15.5, "y": 0}, + {"matrix": [1, 10], "x": 16.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 2], "x": 3.75, "y": 1}, + {"matrix": [1, 3], "x": 4.75, "y": 1}, + {"matrix": [1, 4], "x": 5.75, "y": 1}, + {"matrix": [2, 5], "x": 6.75, "y": 1}, + {"matrix": [3, 5], "x": 7.75, "y": 1}, + {"matrix": [2, 6], "x": 8.75, "y": 1}, + {"matrix": [1, 7], "x": 9.75, "y": 1}, + {"matrix": [2, 7], "x": 10.75, "y": 1}, + {"matrix": [2, 8], "x": 11.75, "y": 1}, + {"matrix": [2, 9], "x": 12.75, "y": 1, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 2}, + {"matrix": [3, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [3, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [3, 4], "x": 7.25, "y": 2}, + {"matrix": [4, 5], "x": 8.25, "y": 2}, + {"matrix": [3, 6], "x": 9.25, "y": 2}, + {"matrix": [3, 7], "x": 10.25, "y": 2}, + {"matrix": [3, 8], "x": 11.25, "y": 2}, + {"matrix": [3, 9], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 10], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [4, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [4, 1], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [4, 2], "x": 3.75, "y": 3, "w": 2.25}, + {"matrix": [4, 3], "x": 6, "y": 3, "w": 1.25}, + {"matrix": [4, 4], "x": 7.25, "y": 3, "w": 2.75}, + {"matrix": [4, 6], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [4, 7], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [4, 8], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [4, 9], "x": 14.5, "y": 3}, + {"matrix": [3, 10], "x": 15.5, "y": 3}, + {"matrix": [4, 10], "x": 16.5, "y": 3} + ] + } + } +} diff --git a/keyboards/fruitykeeb/fruitbar/r1/keymaps/default/keymap.json b/keyboards/fruitykeeb/fruitbar/r1/keymaps/default/keymap.json new file mode 100644 index 000000000000..43130c015255 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/keymaps/default/keymap.json @@ -0,0 +1,20 @@ +{ + "keyboard": "fruitykeeb/fruitbar/r1", + "keymap": "default", + "version": 1, + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSPC", "KC_HOME", "KC_END", + "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_NUBS", "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_SPC", "KC_SPC", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_DEL", "KC_PGDN", "KC_PGUP", + "KC_CAPS", "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_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", + "QK_BOOT", "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/fruitykeeb/fruitbar/r1/promicro/info.json b/keyboards/fruitykeeb/fruitbar/r1/promicro/info.json new file mode 100644 index 000000000000..fca024fcae14 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/promicro/info.json @@ -0,0 +1,10 @@ +{ + "development_board": "promicro", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true + } +} diff --git a/keyboards/fruitykeeb/fruitbar/r1/promicro/rules.mk b/keyboards/fruitykeeb/fruitbar/r1/promicro/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/promicro/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/fruitykeeb/fruitbar/r1/rules.mk b/keyboards/fruitykeeb/fruitbar/r1/rules.mk new file mode 100644 index 000000000000..3328de6095a6 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = fruitykeeb/fruitbar/r1/promicro diff --git a/keyboards/fruitykeeb/fruitbar/r2/config.h b/keyboards/fruitykeeb/fruitbar/r2/config.h new file mode 100644 index 000000000000..320889eb91a2 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2022 ojthetiny + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#pragma once + +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_PIN GP27 +#define I2C1_SDA_PIN GP26 + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U diff --git a/keyboards/fruitykeeb/fruitbar/r2/halconf.h b/keyboards/fruitykeeb/fruitbar/r2/halconf.h new file mode 100644 index 000000000000..727e8508b003 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 @ojthetiny +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/fruitykeeb/fruitbar/r2/info.json b/keyboards/fruitykeeb/fruitbar/r2/info.json new file mode 100644 index 000000000000..c2b496926bd2 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/info.json @@ -0,0 +1,290 @@ +{ + "keyboard_name": "Fruitbar r2", + "maintainer": "ojthetiny", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "GP0", "pin_b": "GP1"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP17", "GP16", "GP15", "GP13", "GP12", "GP11", "GP9", "GP8", "GP7", "GP3"], + "rows": ["GP29", "GP18", "GP10", "GP6"] + }, + "processor": "RP2040", + "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": 8, + "max_brightness": 175, + "sleep": true + }, + "usb": { + "device_version": "2.0.0", + "pid": "0x6662" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP28" + }, + "layouts": { + "LAYOUT_625u_split_enter_split_lshift": { + "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": [0, 14], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [1, 1], "x": 1.75, "y": 1}, + {"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, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"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, 6], "x": 6.25, "y": 2}, + {"matrix": [2, 7], "x": 7.25, "y": 2}, + {"matrix": [2, 8], "x": 8.25, "y": 2}, + {"matrix": [2, 9], "x": 9.25, "y": 2}, + {"matrix": [2, 10], "x": 10.25, "y": 2}, + {"matrix": [2, 11], "x": 11.25, "y": 2}, + {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [3, 7], "x": 3.75, "y": 3, "w": 6.25}, + {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.5, "y": 3}, + {"matrix": [3, 15], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_625u_split_enter_split_lshift_split_rshift": { + "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": [0, 14], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [1, 1], "x": 1.75, "y": 1}, + {"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, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"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, 6], "x": 6.25, "y": 2}, + {"matrix": [2, 7], "x": 7.25, "y": 2}, + {"matrix": [2, 8], "x": 8.25, "y": 2}, + {"matrix": [2, 9], "x": 9.25, "y": 2}, + {"matrix": [2, 10], "x": 10.25, "y": 2}, + {"matrix": [2, 11], "x": 11.25, "y": 2}, + {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2}, + {"matrix": [2, 14], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [3, 7], "x": 3.75, "y": 3, "w": 6.25}, + {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.5, "y": 3}, + {"matrix": [3, 15], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [0, 14], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [1, 1], "x": 1.75, "y": 1}, + {"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, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"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, 6], "x": 6.25, "y": 2}, + {"matrix": [2, 7], "x": 7.25, "y": 2}, + {"matrix": [2, 8], "x": 8.25, "y": 2}, + {"matrix": [2, 9], "x": 9.25, "y": 2}, + {"matrix": [2, 10], "x": 10.25, "y": 2}, + {"matrix": [2, 11], "x": 11.25, "y": 2}, + {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2}, + {"matrix": [2, 14], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 3.75, "y": 3, "w": 2.75}, + {"matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.25}, + {"matrix": [3, 9], "x": 8.75, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.5, "y": 3}, + {"matrix": [3, 15], "x": 16.5, "y": 3} + ] + }, + "LAYOUT_split_space_split_enter_split_lshift": { + "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": [0, 14], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [1, 1], "x": 1.75, "y": 1}, + {"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, "w": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"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, 6], "x": 6.25, "y": 2}, + {"matrix": [2, 7], "x": 7.25, "y": 2}, + {"matrix": [2, 8], "x": 8.25, "y": 2}, + {"matrix": [2, 9], "x": 9.25, "y": 2}, + {"matrix": [2, 10], "x": 10.25, "y": 2}, + {"matrix": [2, 11], "x": 11.25, "y": 2}, + {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 3.75, "y": 3, "w": 2.75}, + {"matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.25}, + {"matrix": [3, 9], "x": 8.75, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, + {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, + {"matrix": [3, 13], "x": 14.5, "y": 3}, + {"matrix": [3, 14], "x": 15.5, "y": 3}, + {"matrix": [3, 15], "x": 16.5, "y": 3} + ] + } + } +} diff --git a/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json b/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json new file mode 100644 index 000000000000..954e264d1e2f --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json @@ -0,0 +1,33 @@ +{ + "keyboard": "fruitykeeb/fruitbar/r2", + "keymap": "default", + "version": 1, + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSPC", "KC_HOME", "KC_END", + "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_NUBS", "KC_ENT", + "KC_LSFT", "KC_NUHS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "MO(1)", "KC_UP", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_DEL", "KC_PGDN", "KC_PGUP", + "KC_CAPS", "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_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", + "QK_BOOT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ], + "config": { + "features": { + "encoder_map": true + } + }, + "encoders": [ + [ + { "ccw": "KC_VOLD", "cw": "KC_VOLU" } + ], + [ + { "ccw": "KC_TRNS", "cw": "KC_TRNS" } + ] + ] +} diff --git a/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h b/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h new file mode 100644 index 000000000000..406ea844dab6 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 @ojthetiny +// 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/fruitykeeb/fruitbar/r2/rules.mk b/keyboards/fruitykeeb/fruitbar/r2/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/fruitykeeb/fruitbar/readme.md b/keyboards/fruitykeeb/fruitbar/readme.md new file mode 100644 index 000000000000..1668659f324d --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/readme.md @@ -0,0 +1,36 @@ +# Fruitbar + +![Fruitbar](https://i.imgur.com/MlJudRrh.jpeg) + +A budget-oriented 40% with base kit compatibility. Perfect for those who have always wanted to try a 40% but worried about the lack of punctuation and arrow keys. + +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: + * Fruitbar PCB R1 (atmega32u4) + * If the keyboard was built with an Elite-C, use the `fruitykeeb/fruitbar/r1/elite_c` firmware for RGB and encoder support. + * Fruitbar PCB R2 (RP2040, rp2040) +* Hardware Availability: + * R1 Group Buy took place between 2021-10-01 and 2021-10-24 on [FruityKeeb](https://fruitykeeb.xyz/). + * R2 Group Buy took place between 2023-02-01 1400 UTC and 2023-03-04 0359 UTC on [P3DStore](https://p3dstore.com)(US), [42keebs.eu](https://42keebs.eu)(EU), [CustomKBD](https://customkbd.com)(AU). + +Make example for this keyboard (after setting up your build environment): + + make fruitykeeb/fruitbar/r1:default + make fruitykeeb/fruitbar/r2:default + +Flashing example for this keyboard: + + make fruitykeeb/fruitbar/r1:default:flash + make fruitykeeb/fruitbar/r2: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 top left key and plug in the keyboard. This will also clear EEPROM/emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: + - R1: Short the RST and GND pins on the Pro Micro. + - R2: While holding down the `Boot` button, press the `Reset` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the default keymap it is on the second layer, replacing the Left Control key in the bottom left. diff --git a/keyboards/ft/mars65/config.h b/keyboards/ft/mars65/config.h deleted file mode 100644 index bfe825dcc933..000000000000 --- a/keyboards/ft/mars65/config.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 wonderbeel (https://github.com/wonderbeel) -// SPDX-License-Identifier: GPL-2.0-or-later - -#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 - #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 - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ - diff --git a/keyboards/ft/mars65/info.json b/keyboards/ft/mars65/info.json index 2160ae9be66b..4e3b3b8ee9d4 100644 --- a/keyboards/ft/mars65/info.json +++ b/keyboards/ft/mars65/info.json @@ -20,7 +20,23 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 130 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 130, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ft/mars80/config.h b/keyboards/ft/mars80/config.h deleted file mode 100644 index 116c09d6ac78..000000000000 --- a/keyboards/ft/mars80/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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_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/ft/mars80/info.json b/keyboards/ft/mars80/info.json index 5801c63a237c..82727ffd3e77 100644 --- a/keyboards/ft/mars80/info.json +++ b/keyboards/ft/mars80/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/fungo/rev1/config.h b/keyboards/fungo/rev1/config.h index 187a7809bcf0..bebed352e22e 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 2874f3d5e4a3..d153f9f834a8 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/fungo/rev1/rules.mk b/keyboards/fungo/rev1/rules.mk index 731941b437ae..e8d7a7aed531 100644 --- a/keyboards/fungo/rev1/rules.mk +++ b/keyboards/fungo/rev1/rules.mk @@ -14,6 +14,4 @@ KEY_LOCK_ENABLE = yes # kc_lock use OLED_ENABLE = no -OLED_DRIVER = SSD1306 # OLED display SPLIT_KEYBOARD = yes # split type - diff --git a/keyboards/gami_studio/lex60/config.h b/keyboards/gami_studio/lex60/config.h deleted file mode 100644 index ba2a34504558..000000000000 --- a/keyboards/gami_studio/lex60/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2019 Evy Dekkers - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 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 diff --git a/keyboards/gami_studio/lex60/info.json b/keyboards/gami_studio/lex60/info.json index b5b59df7aacd..871d1f77fc43 100644 --- a/keyboards/gami_studio/lex60/info.json +++ b/keyboards/gami_studio/lex60/info.json @@ -8,6 +8,21 @@ "pid": "0x0160", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/gboards/butterstick/keymaps/dennytom/README.md b/keyboards/gboards/butterstick/keymaps/dennytom/README.md deleted file mode 100644 index a75bcc7506e2..000000000000 --- a/keyboards/gboards/butterstick/keymaps/dennytom/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# # Dennytom's Butterstick Layout - -This keymap is using a custom chording engine. Head out to my (DennyTom) user space to find the source files and details. - -To make a real keymap from the JSON file, run - -```sh -python3 parser.py keymap_def.json keymap.c -``` - -Somehow it fits the whole keyboard on 20 keys. For longer typing sessions, use the ASET NIOP mode. \ No newline at end of file diff --git a/keyboards/gboards/butterstick/keymaps/dennytom/keymap.c b/keyboards/gboards/butterstick/keymaps/dennytom/keymap.c deleted file mode 100644 index c90431cd9db1..000000000000 --- a/keyboards/gboards/butterstick/keymaps/dennytom/keymap.c +++ /dev/null @@ -1,1418 +0,0 @@ -#include QMK_KEYBOARD_H - -#define CHORD_TIMEOUT 100 -#define DANCE_TIMEOUT 200 -#define LEADER_TIMEOUT 750 -#define TAP_TIMEOUT 50 -#define LONG_PRESS_MULTIPLIER 3 -#define DYNAMIC_MACRO_MAX_LENGTH 20 -#define COMMAND_MAX_LENGTH 5 -#define LEADER_MAX_LENGTH 5 -#define HASH_TYPE uint32_t -#define NUMBER_OF_KEYS 20 -#define DEFAULT_PSEUDOLAYER QWERTY - -#define H_TOP1 ((HASH_TYPE) 1 << 0) -#define H_TOP2 ((HASH_TYPE) 1 << 1) -#define H_TOP3 ((HASH_TYPE) 1 << 2) -#define H_TOP4 ((HASH_TYPE) 1 << 3) -#define H_TOP5 ((HASH_TYPE) 1 << 4) -#define H_TOP6 ((HASH_TYPE) 1 << 5) -#define H_TOP7 ((HASH_TYPE) 1 << 6) -#define H_TOP8 ((HASH_TYPE) 1 << 7) -#define H_TOP9 ((HASH_TYPE) 1 << 8) -#define H_TOP0 ((HASH_TYPE) 1 << 9) -#define H_BOT1 ((HASH_TYPE) 1 << 10) -#define H_BOT2 ((HASH_TYPE) 1 << 11) -#define H_BOT3 ((HASH_TYPE) 1 << 12) -#define H_BOT4 ((HASH_TYPE) 1 << 13) -#define H_BOT5 ((HASH_TYPE) 1 << 14) -#define H_BOT6 ((HASH_TYPE) 1 << 15) -#define H_BOT7 ((HASH_TYPE) 1 << 16) -#define H_BOT8 ((HASH_TYPE) 1 << 17) -#define H_BOT9 ((HASH_TYPE) 1 << 18) -#define H_BOT0 ((HASH_TYPE) 1 << 19) - -enum internal_keycodes { - TOP1 = SAFE_RANGE, - TOP2, TOP3, TOP4, TOP5, TOP6, TOP7, TOP8, TOP9, TOP0, BOT1, BOT2, BOT3, BOT4, BOT5, BOT6, BOT7, BOT8, BOT9, BOT0, - FIRST_INTERNAL_KEYCODE = TOP1, - LAST_INTERNAL_KEYCODE = BOT0 -}; - -enum pseudolayers { - ALWAYS_ON, QWERTY, NUM, MOV, MOUSE, ASETNIOP, ASETNIOP_123, ASETNIOP_FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_butter(TOP1, TOP2, TOP3, TOP4, TOP5, TOP6, TOP7, TOP8, TOP9, TOP0, BOT1, BOT2, BOT3, BOT4, BOT5, BOT6, BOT7, BOT8, BOT9, BOT0), -}; -size_t keymapsCount = 1; - -uint8_t keycodes_buffer_array[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -uint8_t command_buffer[] = { - 0, 0, 0, 0, 0 -}; - -uint16_t leader_buffer[] = { - 0, 0, 0, 0, 0 -}; - -uint8_t dynamic_macro_buffer[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -enum chord_states { - IDLE, - READY, - ACTIVATED, - DEACTIVATED, - PRESS_FROM_ACTIVE, - FINISHED_FROM_ACTIVE, - IDLE_IN_DANCE, - READY_IN_DANCE, - FINISHED, - LOCKED, - READY_LOCKED, - RESTART, - IN_ONE_SHOT -}; - -struct Chord { - uint32_t keycodes_hash; - uint8_t pseudolayer; - uint8_t* state; - uint8_t* counter; - uint16_t value1; - uint8_t value2; - void (*function) (const struct Chord*); -}; - -uint8_t current_pseudolayer = DEFAULT_PSEUDOLAYER; -bool lock_next = false; -uint16_t chord_timer = 0; -uint16_t dance_timer = 0; -bool autoshift_mode = true; -uint8_t keycode_index = 0; -uint8_t command_mode = 0; -uint8_t command_ind = 0; -bool in_leader_mode = false; -uint8_t leader_ind = 0; -uint16_t leader_timer = 0; -uint8_t dynamic_macro_mode = false; -uint8_t dynamic_macro_ind = 0; -bool a_key_went_through = false; -struct Chord* last_chord = NULL; - -bool handle_US_ANSI_shifted_keys(int16_t keycode, bool in) { - bool is_US_ANSI_shifted = true; - - int16_t regular_keycode = KC_NO; - switch (keycode) { - case KC_TILDE: - regular_keycode = KC_GRAVE; - break; - case KC_EXCLAIM: - regular_keycode = KC_1; - break; - case KC_AT: - regular_keycode = KC_2; - break; - case KC_HASH: - regular_keycode = KC_3; - break; - case KC_DOLLAR: - regular_keycode = KC_4; - break; - case KC_PERCENT: - regular_keycode = KC_5; - break; - case KC_CIRCUMFLEX: - regular_keycode = KC_6; - break; - case KC_AMPERSAND: - regular_keycode = KC_7; - break; - case KC_ASTERISK: - regular_keycode = KC_8; - break; - case KC_LEFT_PAREN: - regular_keycode = KC_9; - break; - case KC_RIGHT_PAREN: - regular_keycode = KC_0; - break; - case KC_UNDERSCORE: - regular_keycode = KC_MINUS; - break; - case KC_PLUS: - regular_keycode = KC_EQUAL; - break; - case KC_LEFT_CURLY_BRACE: - regular_keycode = KC_LEFT_BRACKET; - break; - case KC_RIGHT_CURLY_BRACE: - regular_keycode = KC_RIGHT_BRACKET; - break; - case KC_PIPE: - regular_keycode = KC_BACKSLASH; - break; - case KC_COLON: - regular_keycode = KC_SEMICOLON; - break; - case KC_DOUBLE_QUOTE: - regular_keycode = KC_QUOTE; - break; - case KC_LEFT_ANGLE_BRACKET: - regular_keycode = KC_COMMA; - break; - case KC_RIGHT_ANGLE_BRACKET: - regular_keycode = KC_DOT; - break; - case KC_QUESTION: - regular_keycode = KC_SLASH; - break; - default: - is_US_ANSI_shifted = false; - } - if (is_US_ANSI_shifted) { - if (in) { - register_code(KC_LSFT); - register_code(regular_keycode); - } else { - unregister_code(regular_keycode); - unregister_code(KC_LSFT); - } - } - return is_US_ANSI_shifted; -} - -void key_in(int16_t keycode) { - if (command_mode == 1 && command_ind < COMMAND_MAX_LENGTH) { - command_buffer[command_ind] = keycode; - command_ind++; - a_key_went_through = true; - } else if (in_leader_mode && leader_ind < LEADER_MAX_LENGTH) { - leader_buffer[leader_ind] = keycode; - leader_ind++; - a_key_went_through = true; - } else if (dynamic_macro_mode && dynamic_macro_ind < DYNAMIC_MACRO_MAX_LENGTH) { - dynamic_macro_buffer[dynamic_macro_ind] = keycode; - dynamic_macro_ind++; - a_key_went_through = true; - } else { - if (!handle_US_ANSI_shifted_keys(keycode, true)) { - register_code(keycode); - } - send_keyboard_report(); - a_key_went_through = true; - } -} - -void key_out(int16_t keycode) { - if (command_mode == 0) { - if (!handle_US_ANSI_shifted_keys(keycode, false)) { - if (command_mode == 0 && in_leader_mode == false && dynamic_macro_mode == false) { - unregister_code(keycode); - } - } - send_keyboard_report(); - } -} - -void tap_key(int16_t keycode) { - key_in(keycode); - wait_ms(TAP_TIMEOUT); - key_out(keycode); -} -void single_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - key_in(self->value1); - break; - case DEACTIVATED: - key_out(self->value1); - *self->state = IDLE; - break; - case RESTART: - key_out(self->value1); - break; - default: - break; - } -} - -void key_layer_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - current_pseudolayer = self->value2; - a_key_went_through = false; - break; - case DEACTIVATED: - case RESTART: - if (!a_key_went_through) { - tap_key(self->value1); - } - current_pseudolayer = self->pseudolayer; - *self->state = IDLE; // does not have effect if the state was RESTART - break; - default: - break; - } -} - -void key_mod_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - key_in(self->value2); - a_key_went_through = false; - break; - case DEACTIVATED: - case RESTART: - key_out(self->value2); - if (!a_key_went_through) { - tap_key(self->value1); - } - *self->state = IDLE; // does not have effect if the state was RESTART - break; - default: - break; - } -} - -void key_key_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - tap_key(self->value1); - *self->state = IDLE; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - key_in(self->value2); - break; - case RESTART: - key_out(self->value2); - break; - default: - break; - } -} - -void autoshift_dance_impl(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - *self->counter = 0; - break; - case DEACTIVATED: - case RESTART: - tap_key(self->value1); - *self->state = IDLE; - break; - case FINISHED_FROM_ACTIVE: - if (*self->counter == (LONG_PRESS_MULTIPLIER - 2)) { - key_in(KC_LSFT); - tap_key(self->value1); - key_out(KC_LSFT); - *self->state = IDLE; - // the skip to IDLE is usually just a lag optimization, - // in this case it has a logic function, on a short - // press (still longer than a tap) the key does not get shifted - } else { - *self->counter += 1; - *self->state = PRESS_FROM_ACTIVE; - dance_timer = timer_read(); - } - break; - default: - break; - } -} - -void autoshift_dance(const struct Chord* self) { - if (autoshift_mode) { - autoshift_dance_impl(self); - } else { - single_dance(self); - } -} - -void autoshift_toggle(const struct Chord* self){ - if (*self->state == ACTIVATED) { - autoshift_mode = !autoshift_mode; - *self->state = IDLE; - } -} - -void temp_pseudolayer(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - current_pseudolayer = self->value1; - break; - case DEACTIVATED: - current_pseudolayer = self->pseudolayer; - *self->state = IDLE; - break; - case RESTART: - current_pseudolayer = self->pseudolayer; - break; - default: - break; - } -} - -void perm_pseudolayer(const struct Chord* self) { - if (*self->state == ACTIVATED) { - current_pseudolayer = self->value1; - *self->state = IDLE; - } -} - -void switch_layer(const struct Chord* self) { - if (*self->state == ACTIVATED) { - layer_move(self->value1); - *self->state = IDLE; - } -} - -void lock(const struct Chord* self) { - if (*self->state == ACTIVATED) { - lock_next = true; - *self->state = IDLE; - } -} - -void one_shot_key(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - key_in(self->value1); - *self->state = IN_ONE_SHOT; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - key_in(self->value1); - a_key_went_through = false; - break; - case RESTART: - if (a_key_went_through) { - key_out(self->value1); - } else { - *self->state = IN_ONE_SHOT; - } - default: - break; - } -} - -void one_shot_layer(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - current_pseudolayer = self->value1; - *self->state = IN_ONE_SHOT; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - current_pseudolayer = self->value1; - a_key_went_through = false; - break; - case RESTART: - if (a_key_went_through) { - current_pseudolayer = self->pseudolayer; - } else { - *self->state = IN_ONE_SHOT; - } - default: - break; - } -} - -void command(const struct Chord* self) { - if (*self->state == ACTIVATED) { - command_mode++; - *self->state = IDLE; - } -} - -bool identical(uint16_t* buffer1, uint16_t* buffer2) { - bool same = true; - for (int i = 0; i < LEADER_MAX_LENGTH; i++) { - same = same && (buffer1[i] == buffer2[i]); - } - return same; -} - -void leader(const struct Chord* self) { - if (*self->state == ACTIVATED) { - in_leader_mode = true; - *self->state = IDLE; - } -} - -void dynamic_macro_record(const struct Chord* self) { - if (*self->state == ACTIVATED) { - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - dynamic_macro_buffer[i] = 0; - } - dynamic_macro_mode = true; - *self->state = IDLE; - } -} - -void dynamic_macro_next(const struct Chord* self) { - if (*self->state == ACTIVATED) { - if (dynamic_macro_mode && dynamic_macro_ind < DYNAMIC_MACRO_MAX_LENGTH) { - dynamic_macro_buffer[dynamic_macro_ind] = 0; - dynamic_macro_ind++; - } - *self->state = IDLE; - } -} - -void dynamic_macro_end(const struct Chord* self) { - if (*self->state == ACTIVATED) { - if (dynamic_macro_mode) { - dynamic_macro_mode = false; - } - *self->state = IDLE; - } -} - -void dynamic_macro_play(const struct Chord* self) { - if (*self->state == ACTIVATED) { - int ind_start = 0; - while (ind_start < DYNAMIC_MACRO_MAX_LENGTH) { - for (int i = ind_start; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - if (dynamic_macro_buffer[i] == 0) { - break; - } - register_code(dynamic_macro_buffer[i]); - } - send_keyboard_report(); - wait_ms(TAP_TIMEOUT); - for (int i = ind_start; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - if (dynamic_macro_buffer[i] == 0) { - ind_start = i + 1; - break; - } - unregister_code(dynamic_macro_buffer[i]); - } - send_keyboard_report(); - } - *self->state = IDLE; - } -} - -void clear(const struct Chord* self); - -void reset_keyboard_kb(void){ -#ifdef WATCHDOG_ENABLE - MCUSR = 0; - wdt_disable(); - wdt_reset(); -#endif - reset_keyboard(); -} - -void reset(const struct Chord* self) { - if (*self->state == ACTIVATED) { - reset_keyboard_kb(); - } -} - -uint8_t state_0 = IDLE; -const struct Chord chord_0 PROGMEM = {H_TOP1 + H_TOP2 + H_BOT1 + H_BOT2, ALWAYS_ON, &state_0, NULL, 0, 0, lock}; -uint8_t state_1 = IDLE; -const struct Chord chord_1 PROGMEM = {H_TOP2 + H_TOP3 + H_BOT2 + H_BOT3, ALWAYS_ON, &state_1, NULL, 0, 0, autoshift_toggle}; -uint8_t state_2 = IDLE; -const struct Chord chord_2 PROGMEM = {H_TOP5 + H_TOP6 + H_BOT5 + H_BOT6, ALWAYS_ON, &state_2, NULL, 0, 0, command}; -uint8_t state_3 = IDLE; -const struct Chord chord_3 PROGMEM = {H_TOP1 + H_TOP2 + H_TOP9 + H_TOP0 + H_BOT1 + H_BOT2 + H_BOT9 + H_BOT0, ALWAYS_ON, &state_3, NULL, 0, 0, clear}; -uint8_t state_4 = IDLE; -uint8_t counter_4 = 0; -const struct Chord chord_4 PROGMEM = {H_TOP1, QWERTY, &state_4, &counter_4, KC_Q, 0, autoshift_dance}; -uint8_t state_5 = IDLE; -uint8_t counter_5 = 0; -const struct Chord chord_5 PROGMEM = {H_TOP2, QWERTY, &state_5, &counter_5, KC_W, 0, autoshift_dance}; -uint8_t state_6 = IDLE; -uint8_t counter_6 = 0; -const struct Chord chord_6 PROGMEM = {H_TOP3, QWERTY, &state_6, &counter_6, KC_E, 0, autoshift_dance}; -uint8_t state_7 = IDLE; -uint8_t counter_7 = 0; -const struct Chord chord_7 PROGMEM = {H_TOP4, QWERTY, &state_7, &counter_7, KC_R, 0, autoshift_dance}; -uint8_t state_8 = IDLE; -uint8_t counter_8 = 0; -const struct Chord chord_8 PROGMEM = {H_TOP5, QWERTY, &state_8, &counter_8, KC_T, 0, autoshift_dance}; -uint8_t state_9 = IDLE; -uint8_t counter_9 = 0; -const struct Chord chord_9 PROGMEM = {H_TOP6, QWERTY, &state_9, &counter_9, KC_Y, 0, autoshift_dance}; -uint8_t state_10 = IDLE; -uint8_t counter_10 = 0; -const struct Chord chord_10 PROGMEM = {H_TOP7, QWERTY, &state_10, &counter_10, KC_U, 0, autoshift_dance}; -uint8_t state_11 = IDLE; -uint8_t counter_11 = 0; -const struct Chord chord_11 PROGMEM = {H_TOP8, QWERTY, &state_11, &counter_11, KC_I, 0, autoshift_dance}; -uint8_t state_12 = IDLE; -uint8_t counter_12 = 0; -const struct Chord chord_12 PROGMEM = {H_TOP9, QWERTY, &state_12, &counter_12, KC_O, 0, autoshift_dance}; -uint8_t state_13 = IDLE; -uint8_t counter_13 = 0; -const struct Chord chord_13 PROGMEM = {H_TOP0, QWERTY, &state_13, &counter_13, KC_P, 0, autoshift_dance}; -uint8_t state_14 = IDLE; -uint8_t counter_14 = 0; -const struct Chord chord_14 PROGMEM = {H_TOP1 + H_BOT1, QWERTY, &state_14, &counter_14, KC_A, 0, autoshift_dance}; -uint8_t state_15 = IDLE; -uint8_t counter_15 = 0; -const struct Chord chord_15 PROGMEM = {H_TOP2 + H_BOT2, QWERTY, &state_15, &counter_15, KC_S, 0, autoshift_dance}; -uint8_t state_16 = IDLE; -uint8_t counter_16 = 0; -const struct Chord chord_16 PROGMEM = {H_TOP3 + H_BOT3, QWERTY, &state_16, &counter_16, KC_D, 0, autoshift_dance}; -uint8_t state_17 = IDLE; -uint8_t counter_17 = 0; -const struct Chord chord_17 PROGMEM = {H_TOP4 + H_BOT4, QWERTY, &state_17, &counter_17, KC_F, 0, autoshift_dance}; -uint8_t state_18 = IDLE; -uint8_t counter_18 = 0; -const struct Chord chord_18 PROGMEM = {H_TOP5 + H_BOT5, QWERTY, &state_18, &counter_18, KC_G, 0, autoshift_dance}; -uint8_t state_19 = IDLE; -uint8_t counter_19 = 0; -const struct Chord chord_19 PROGMEM = {H_TOP6 + H_BOT6, QWERTY, &state_19, &counter_19, KC_H, 0, autoshift_dance}; -uint8_t state_20 = IDLE; -uint8_t counter_20 = 0; -const struct Chord chord_20 PROGMEM = {H_TOP7 + H_BOT7, QWERTY, &state_20, &counter_20, KC_J, 0, autoshift_dance}; -uint8_t state_21 = IDLE; -uint8_t counter_21 = 0; -const struct Chord chord_21 PROGMEM = {H_TOP8 + H_BOT8, QWERTY, &state_21, &counter_21, KC_K, 0, autoshift_dance}; -uint8_t state_22 = IDLE; -uint8_t counter_22 = 0; -const struct Chord chord_22 PROGMEM = {H_TOP9 + H_BOT9, QWERTY, &state_22, &counter_22, KC_L, 0, autoshift_dance}; -uint8_t state_23 = IDLE; -uint8_t counter_23 = 0; -const struct Chord chord_23 PROGMEM = {H_TOP0 + H_BOT0, QWERTY, &state_23, &counter_23, KC_SEMICOLON, 0, autoshift_dance}; -uint8_t state_24 = IDLE; -uint8_t counter_24 = 0; -const struct Chord chord_24 PROGMEM = {H_BOT1, QWERTY, &state_24, &counter_24, KC_Z, 0, autoshift_dance}; -uint8_t state_25 = IDLE; -uint8_t counter_25 = 0; -const struct Chord chord_25 PROGMEM = {H_BOT2, QWERTY, &state_25, &counter_25, KC_X, 0, autoshift_dance}; -uint8_t state_26 = IDLE; -uint8_t counter_26 = 0; -const struct Chord chord_26 PROGMEM = {H_BOT3, QWERTY, &state_26, &counter_26, KC_C, 0, autoshift_dance}; -uint8_t state_27 = IDLE; -uint8_t counter_27 = 0; -const struct Chord chord_27 PROGMEM = {H_BOT4, QWERTY, &state_27, &counter_27, KC_V, 0, autoshift_dance}; -uint8_t state_28 = IDLE; -uint8_t counter_28 = 0; -const struct Chord chord_28 PROGMEM = {H_BOT5, QWERTY, &state_28, &counter_28, KC_B, 0, autoshift_dance}; -uint8_t state_29 = IDLE; -uint8_t counter_29 = 0; -const struct Chord chord_29 PROGMEM = {H_BOT6, QWERTY, &state_29, &counter_29, KC_N, 0, autoshift_dance}; -uint8_t state_30 = IDLE; -uint8_t counter_30 = 0; -const struct Chord chord_30 PROGMEM = {H_BOT7, QWERTY, &state_30, &counter_30, KC_M, 0, autoshift_dance}; -uint8_t state_31 = IDLE; -uint8_t counter_31 = 0; -const struct Chord chord_31 PROGMEM = {H_BOT8, QWERTY, &state_31, &counter_31, KC_COMMA, 0, autoshift_dance}; -uint8_t state_32 = IDLE; -uint8_t counter_32 = 0; -const struct Chord chord_32 PROGMEM = {H_BOT9, QWERTY, &state_32, &counter_32, KC_DOT, 0, autoshift_dance}; -uint8_t state_33 = IDLE; -uint8_t counter_33 = 0; -const struct Chord chord_33 PROGMEM = {H_BOT0, QWERTY, &state_33, &counter_33, KC_SLASH, 0, autoshift_dance}; -uint8_t state_34 = IDLE; -const struct Chord chord_34 PROGMEM = {H_TOP1 + H_TOP2, QWERTY, &state_34, NULL, KC_ESC, 0, single_dance}; -uint8_t state_35 = IDLE; -const struct Chord chord_35 PROGMEM = {H_TOP2 + H_TOP3, QWERTY, &state_35, NULL, MOV, 0, temp_pseudolayer}; -uint8_t state_36 = IDLE; -const struct Chord chord_36 PROGMEM = {H_TOP3 + H_TOP4, QWERTY, &state_36, NULL, KC_TAB, 0, single_dance}; -uint8_t state_37 = IDLE; -const struct Chord chord_37 PROGMEM = {H_TOP5 + H_TOP6, QWERTY, &state_37, NULL, KC_RGUI, 0, one_shot_key}; -uint8_t state_38 = IDLE; -const struct Chord chord_38 PROGMEM = {H_TOP7 + H_TOP8, QWERTY, &state_38, NULL, KC_INS, 0, single_dance}; -uint8_t state_39 = IDLE; -const struct Chord chord_39 PROGMEM = {H_TOP8 + H_TOP9, QWERTY, &state_39, NULL, KC_DEL, 0, single_dance}; -uint8_t state_40 = IDLE; -const struct Chord chord_40 PROGMEM = {H_TOP9 + H_TOP0, QWERTY, &state_40, NULL, KC_BSPC, 0, single_dance}; -uint8_t state_41 = IDLE; -const struct Chord chord_41 PROGMEM = {H_TOP9 + H_TOP0 + H_BOT9 + H_BOT0, QWERTY, &state_41, NULL, KC_ENTER, 0, single_dance}; -uint8_t state_42 = IDLE; -const struct Chord chord_42 PROGMEM = {H_BOT1 + H_BOT2, QWERTY, &state_42, NULL, KC_LSFT, 0, one_shot_key}; -uint8_t state_43 = IDLE; -const struct Chord chord_43 PROGMEM = {H_BOT2 + H_BOT3, QWERTY, &state_43, NULL, KC_LCTL, 0, one_shot_key}; -uint8_t state_44 = IDLE; -const struct Chord chord_44 PROGMEM = {H_BOT3 + H_BOT4, QWERTY, &state_44, NULL, KC_LALT, 0, one_shot_key}; -uint8_t state_45 = IDLE; -const struct Chord chord_45 PROGMEM = {H_BOT4 + H_BOT5, QWERTY, &state_45, NULL, NUM, 0, one_shot_layer}; -uint8_t state_46 = IDLE; -const struct Chord chord_46 PROGMEM = {H_BOT5 + H_BOT6, QWERTY, &state_46, NULL, KC_LGUI, 0, one_shot_key}; -uint8_t state_47 = IDLE; -const struct Chord chord_47 PROGMEM = {H_BOT6 + H_BOT7, QWERTY, &state_47, NULL, NUM, 0, one_shot_layer}; -uint8_t state_48 = IDLE; -const struct Chord chord_48 PROGMEM = {H_BOT7 + H_BOT8, QWERTY, &state_48, NULL, KC_RALT, 0, one_shot_key}; -uint8_t state_49 = IDLE; -const struct Chord chord_49 PROGMEM = {H_BOT8 + H_BOT9, QWERTY, &state_49, NULL, KC_RCTL, 0, one_shot_key}; -uint8_t state_50 = IDLE; -const struct Chord chord_50 PROGMEM = {H_BOT9 + H_BOT0, QWERTY, &state_50, NULL, KC_RSFT, 0, one_shot_key}; -uint8_t state_51 = IDLE; -const struct Chord chord_51 PROGMEM = {H_BOT1 + H_BOT0, QWERTY, &state_51, NULL, KC_SPACE, 0, single_dance}; -uint8_t state_52 = IDLE; -const struct Chord chord_52 PROGMEM = {H_TOP1 + H_TOP2 + H_TOP3 + H_TOP4, QWERTY, &state_52, NULL, MOUSE, 0, temp_pseudolayer}; -uint8_t state_53 = IDLE; -const struct Chord chord_53 PROGMEM = {H_TOP1 + H_TOP2 + H_TOP3 + H_TOP4, QWERTY, &state_53, NULL, ASETNIOP, 0, perm_pseudolayer}; -uint8_t state_54 = IDLE; -uint8_t counter_54 = 0; -const struct Chord chord_54 PROGMEM = {H_TOP1, NUM, &state_54, &counter_54, KC_1, 0, autoshift_dance}; -uint8_t state_55 = IDLE; -uint8_t counter_55 = 0; -const struct Chord chord_55 PROGMEM = {H_TOP2, NUM, &state_55, &counter_55, KC_2, 0, autoshift_dance}; -uint8_t state_56 = IDLE; -uint8_t counter_56 = 0; -const struct Chord chord_56 PROGMEM = {H_TOP3, NUM, &state_56, &counter_56, KC_3, 0, autoshift_dance}; -uint8_t state_57 = IDLE; -uint8_t counter_57 = 0; -const struct Chord chord_57 PROGMEM = {H_TOP4, NUM, &state_57, &counter_57, KC_4, 0, autoshift_dance}; -uint8_t state_58 = IDLE; -uint8_t counter_58 = 0; -const struct Chord chord_58 PROGMEM = {H_TOP5, NUM, &state_58, &counter_58, KC_5, 0, autoshift_dance}; -uint8_t state_59 = IDLE; -uint8_t counter_59 = 0; -const struct Chord chord_59 PROGMEM = {H_TOP6, NUM, &state_59, &counter_59, KC_6, 0, autoshift_dance}; -uint8_t state_60 = IDLE; -uint8_t counter_60 = 0; -const struct Chord chord_60 PROGMEM = {H_TOP7, NUM, &state_60, &counter_60, KC_7, 0, autoshift_dance}; -uint8_t state_61 = IDLE; -uint8_t counter_61 = 0; -const struct Chord chord_61 PROGMEM = {H_TOP8, NUM, &state_61, &counter_61, KC_8, 0, autoshift_dance}; -uint8_t state_62 = IDLE; -uint8_t counter_62 = 0; -const struct Chord chord_62 PROGMEM = {H_TOP9, NUM, &state_62, &counter_62, KC_9, 0, autoshift_dance}; -uint8_t state_63 = IDLE; -uint8_t counter_63 = 0; -const struct Chord chord_63 PROGMEM = {H_TOP0, NUM, &state_63, &counter_63, KC_0, 0, autoshift_dance}; -uint8_t state_64 = IDLE; -const struct Chord chord_64 PROGMEM = {H_TOP1 + H_BOT1, NUM, &state_64, NULL, KC_F1, 0, single_dance}; -uint8_t state_65 = IDLE; -const struct Chord chord_65 PROGMEM = {H_TOP2 + H_BOT2, NUM, &state_65, NULL, KC_F2, 0, single_dance}; -uint8_t state_66 = IDLE; -const struct Chord chord_66 PROGMEM = {H_TOP3 + H_BOT3, NUM, &state_66, NULL, KC_F3, 0, single_dance}; -uint8_t state_67 = IDLE; -const struct Chord chord_67 PROGMEM = {H_TOP4 + H_BOT4, NUM, &state_67, NULL, KC_F4, 0, single_dance}; -uint8_t state_68 = IDLE; -const struct Chord chord_68 PROGMEM = {H_TOP5 + H_BOT5, NUM, &state_68, NULL, KC_F5, 0, single_dance}; -uint8_t state_69 = IDLE; -const struct Chord chord_69 PROGMEM = {H_TOP6 + H_BOT6, NUM, &state_69, NULL, KC_F6, 0, single_dance}; -uint8_t state_70 = IDLE; -const struct Chord chord_70 PROGMEM = {H_TOP7 + H_BOT7, NUM, &state_70, NULL, KC_F7, 0, single_dance}; -uint8_t state_71 = IDLE; -const struct Chord chord_71 PROGMEM = {H_TOP8 + H_BOT8, NUM, &state_71, NULL, KC_F8, 0, single_dance}; -uint8_t state_72 = IDLE; -const struct Chord chord_72 PROGMEM = {H_TOP9 + H_BOT9, NUM, &state_72, NULL, KC_F9, 0, single_dance}; -uint8_t state_73 = IDLE; -const struct Chord chord_73 PROGMEM = {H_TOP0 + H_BOT0, NUM, &state_73, NULL, KC_F10, 0, single_dance}; -uint8_t state_74 = IDLE; -uint8_t counter_74 = 0; -const struct Chord chord_74 PROGMEM = {H_BOT1, NUM, &state_74, &counter_74, KC_GRAVE, 0, autoshift_dance}; -uint8_t state_75 = IDLE; -uint8_t counter_75 = 0; -const struct Chord chord_75 PROGMEM = {H_BOT2, NUM, &state_75, &counter_75, KC_MINUS, 0, autoshift_dance}; -uint8_t state_76 = IDLE; -uint8_t counter_76 = 0; -const struct Chord chord_76 PROGMEM = {H_BOT3, NUM, &state_76, &counter_76, KC_EQUAL, 0, autoshift_dance}; -uint8_t state_77 = IDLE; -uint8_t counter_77 = 0; -const struct Chord chord_77 PROGMEM = {H_BOT4, NUM, &state_77, &counter_77, KC_LEFT_BRACKET, 0, autoshift_dance}; -uint8_t state_78 = IDLE; -uint8_t counter_78 = 0; -const struct Chord chord_78 PROGMEM = {H_BOT5, NUM, &state_78, &counter_78, KC_RIGHT_BRACKET, 0, autoshift_dance}; -uint8_t state_79 = IDLE; -uint8_t counter_79 = 0; -const struct Chord chord_79 PROGMEM = {H_BOT6, NUM, &state_79, &counter_79, KC_BACKSLASH, 0, autoshift_dance}; -uint8_t state_80 = IDLE; -uint8_t counter_80 = 0; -const struct Chord chord_80 PROGMEM = {H_BOT7, NUM, &state_80, &counter_80, KC_QUOTE, 0, autoshift_dance}; -uint8_t state_81 = IDLE; -const struct Chord chord_81 PROGMEM = {H_BOT9, NUM, &state_81, NULL, KC_F11, 0, single_dance}; -uint8_t state_82 = IDLE; -const struct Chord chord_82 PROGMEM = {H_BOT0, NUM, &state_82, NULL, KC_F12, 0, single_dance}; -uint8_t state_83 = IDLE; -const struct Chord chord_83 PROGMEM = {H_TOP1 + H_TOP2, NUM, &state_83, NULL, KC_ESC, 0, single_dance}; -uint8_t state_84 = IDLE; -const struct Chord chord_84 PROGMEM = {H_TOP3 + H_TOP4, NUM, &state_84, NULL, KC_TAB, 0, single_dance}; -uint8_t state_85 = IDLE; -const struct Chord chord_85 PROGMEM = {H_TOP5 + H_TOP6, NUM, &state_85, NULL, KC_RGUI, 0, one_shot_key}; -uint8_t state_86 = IDLE; -const struct Chord chord_86 PROGMEM = {H_TOP7 + H_TOP8, NUM, &state_86, NULL, KC_INS, 0, single_dance}; -uint8_t state_87 = IDLE; -const struct Chord chord_87 PROGMEM = {H_TOP8 + H_TOP9, NUM, &state_87, NULL, KC_DEL, 0, single_dance}; -uint8_t state_88 = IDLE; -const struct Chord chord_88 PROGMEM = {H_TOP9 + H_TOP0, NUM, &state_88, NULL, KC_BSPC, 0, single_dance}; -uint8_t state_89 = IDLE; -const struct Chord chord_89 PROGMEM = {H_TOP9 + H_TOP0 + H_BOT9 + H_BOT0, NUM, &state_89, NULL, KC_ENTER, 0, single_dance}; -uint8_t state_90 = IDLE; -const struct Chord chord_90 PROGMEM = {H_BOT1 + H_BOT2, NUM, &state_90, NULL, KC_LSFT, 0, one_shot_key}; -uint8_t state_91 = IDLE; -const struct Chord chord_91 PROGMEM = {H_BOT2 + H_BOT3, NUM, &state_91, NULL, KC_LCTL, 0, one_shot_key}; -uint8_t state_92 = IDLE; -const struct Chord chord_92 PROGMEM = {H_BOT3 + H_BOT4, NUM, &state_92, NULL, KC_LALT, 0, one_shot_key}; -uint8_t state_93 = IDLE; -const struct Chord chord_93 PROGMEM = {H_BOT5 + H_BOT6, NUM, &state_93, NULL, KC_LGUI, 0, one_shot_key}; -uint8_t state_94 = IDLE; -const struct Chord chord_94 PROGMEM = {H_BOT7 + H_BOT8, NUM, &state_94, NULL, KC_RALT, 0, one_shot_key}; -uint8_t state_95 = IDLE; -const struct Chord chord_95 PROGMEM = {H_BOT8 + H_BOT9, NUM, &state_95, NULL, KC_RCTL, 0, one_shot_key}; -uint8_t state_96 = IDLE; -const struct Chord chord_96 PROGMEM = {H_BOT9 + H_BOT0, NUM, &state_96, NULL, KC_RSFT, 0, one_shot_key}; -uint8_t state_97 = IDLE; -const struct Chord chord_97 PROGMEM = {H_BOT1 + H_BOT0, NUM, &state_97, NULL, KC_SPACE, 0, single_dance}; -uint8_t state_98 = IDLE; -const struct Chord chord_98 PROGMEM = {H_TOP7, MOV, &state_98, NULL, KC_HOME, 0, single_dance}; -uint8_t state_99 = IDLE; -const struct Chord chord_99 PROGMEM = {H_TOP8, MOV, &state_99, NULL, KC_UP, 0, single_dance}; -uint8_t state_100 = IDLE; -const struct Chord chord_100 PROGMEM = {H_TOP9, MOV, &state_100, NULL, KC_END, 0, single_dance}; -uint8_t state_101 = IDLE; -const struct Chord chord_101 PROGMEM = {H_TOP0, MOV, &state_101, NULL, KC_PGUP, 0, single_dance}; -uint8_t state_102 = IDLE; -const struct Chord chord_102 PROGMEM = {H_BOT3, MOV, &state_102, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_103 = IDLE; -const struct Chord chord_103 PROGMEM = {H_BOT4, MOV, &state_103, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_104 = IDLE; -const struct Chord chord_104 PROGMEM = {H_BOT5, MOV, &state_104, NULL, KC_LALT, 0, single_dance}; -uint8_t state_105 = IDLE; -const struct Chord chord_105 PROGMEM = {H_BOT6, MOV, &state_105, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_106 = IDLE; -const struct Chord chord_106 PROGMEM = {H_BOT7, MOV, &state_106, NULL, KC_LEFT, 0, single_dance}; -uint8_t state_107 = IDLE; -const struct Chord chord_107 PROGMEM = {H_BOT8, MOV, &state_107, NULL, KC_DOWN, 0, single_dance}; -uint8_t state_108 = IDLE; -const struct Chord chord_108 PROGMEM = {H_BOT9, MOV, &state_108, NULL, KC_RIGHT, 0, single_dance}; -uint8_t state_109 = IDLE; -const struct Chord chord_109 PROGMEM = {H_BOT0, MOV, &state_109, NULL, KC_PGDN, 0, single_dance}; -uint8_t state_110 = IDLE; -const struct Chord chord_110 PROGMEM = {H_TOP7, MOUSE, &state_110, NULL, KC_BTN1, 0, single_dance}; -uint8_t state_111 = IDLE; -const struct Chord chord_111 PROGMEM = {H_TOP8, MOUSE, &state_111, NULL, KC_MS_U, 0, single_dance}; -uint8_t state_112 = IDLE; -const struct Chord chord_112 PROGMEM = {H_TOP9, MOUSE, &state_112, NULL, KC_BTN2, 0, single_dance}; -uint8_t state_113 = IDLE; -const struct Chord chord_113 PROGMEM = {H_TOP0, MOUSE, &state_113, NULL, KC_WH_U, 0, single_dance}; -uint8_t state_114 = IDLE; -const struct Chord chord_114 PROGMEM = {H_BOT3, MOUSE, &state_114, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_115 = IDLE; -const struct Chord chord_115 PROGMEM = {H_BOT4, MOUSE, &state_115, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_116 = IDLE; -const struct Chord chord_116 PROGMEM = {H_BOT5, MOUSE, &state_116, NULL, KC_LALT, 0, single_dance}; -uint8_t state_117 = IDLE; -const struct Chord chord_117 PROGMEM = {H_BOT6, MOUSE, &state_117, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_118 = IDLE; -const struct Chord chord_118 PROGMEM = {H_BOT7, MOUSE, &state_118, NULL, KC_MS_L, 0, single_dance}; -uint8_t state_119 = IDLE; -const struct Chord chord_119 PROGMEM = {H_BOT8, MOUSE, &state_119, NULL, KC_MS_D, 0, single_dance}; -uint8_t state_120 = IDLE; -const struct Chord chord_120 PROGMEM = {H_BOT9, MOUSE, &state_120, NULL, KC_MS_R, 0, single_dance}; -uint8_t state_121 = IDLE; -const struct Chord chord_121 PROGMEM = {H_BOT0, MOUSE, &state_121, NULL, KC_WH_D, 0, single_dance}; -uint8_t state_122 = IDLE; -const struct Chord chord_122 PROGMEM = {H_TOP1, ASETNIOP, &state_122, NULL, KC_A, 0, single_dance}; -uint8_t state_123 = IDLE; -const struct Chord chord_123 PROGMEM = {H_TOP2, ASETNIOP, &state_123, NULL, KC_S, 0, single_dance}; -uint8_t state_124 = IDLE; -const struct Chord chord_124 PROGMEM = {H_TOP3, ASETNIOP, &state_124, NULL, KC_E, 0, single_dance}; -uint8_t state_125 = IDLE; -const struct Chord chord_125 PROGMEM = {H_TOP4, ASETNIOP, &state_125, NULL, KC_T, 0, single_dance}; -uint8_t state_126 = IDLE; -const struct Chord chord_126 PROGMEM = {H_TOP7, ASETNIOP, &state_126, NULL, KC_N, 0, single_dance}; -uint8_t state_127 = IDLE; -const struct Chord chord_127 PROGMEM = {H_TOP8, ASETNIOP, &state_127, NULL, KC_I, 0, single_dance}; -uint8_t state_128 = IDLE; -const struct Chord chord_128 PROGMEM = {H_TOP9, ASETNIOP, &state_128, NULL, KC_O, 0, single_dance}; -uint8_t state_129 = IDLE; -const struct Chord chord_129 PROGMEM = {H_TOP0, ASETNIOP, &state_129, NULL, KC_P, 0, single_dance}; -uint8_t state_130 = IDLE; -const struct Chord chord_130 PROGMEM = {H_TOP1 + H_TOP2, ASETNIOP, &state_130, NULL, KC_W, 0, single_dance}; -uint8_t state_131 = IDLE; -const struct Chord chord_131 PROGMEM = {H_TOP2 + H_TOP3, ASETNIOP, &state_131, NULL, KC_D, 0, single_dance}; -uint8_t state_132 = IDLE; -const struct Chord chord_132 PROGMEM = {H_TOP3 + H_TOP4, ASETNIOP, &state_132, NULL, KC_R, 0, single_dance}; -uint8_t state_133 = IDLE; -const struct Chord chord_133 PROGMEM = {H_TOP4 + H_TOP7, ASETNIOP, &state_133, NULL, KC_B, 0, single_dance}; -uint8_t state_134 = IDLE; -const struct Chord chord_134 PROGMEM = {H_TOP7 + H_TOP8, ASETNIOP, &state_134, NULL, KC_H, 0, single_dance}; -uint8_t state_135 = IDLE; -const struct Chord chord_135 PROGMEM = {H_TOP8 + H_TOP9, ASETNIOP, &state_135, NULL, KC_L, 0, single_dance}; -uint8_t state_136 = IDLE; -const struct Chord chord_136 PROGMEM = {H_TOP9 + H_TOP0, ASETNIOP, &state_136, NULL, KC_SEMICOLON, 0, single_dance}; -uint8_t state_137 = IDLE; -const struct Chord chord_137 PROGMEM = {H_TOP1 + H_TOP3, ASETNIOP, &state_137, NULL, KC_X, 0, single_dance}; -uint8_t state_138 = IDLE; -const struct Chord chord_138 PROGMEM = {H_TOP2 + H_TOP4, ASETNIOP, &state_138, NULL, KC_C, 0, single_dance}; -uint8_t state_139 = IDLE; -const struct Chord chord_139 PROGMEM = {H_TOP3 + H_TOP7, ASETNIOP, &state_139, NULL, KC_Y, 0, single_dance}; -uint8_t state_140 = IDLE; -const struct Chord chord_140 PROGMEM = {H_TOP4 + H_TOP8, ASETNIOP, &state_140, NULL, KC_V, 0, single_dance}; -uint8_t state_141 = IDLE; -const struct Chord chord_141 PROGMEM = {H_TOP7 + H_TOP9, ASETNIOP, &state_141, NULL, KC_U, 0, single_dance}; -uint8_t state_142 = IDLE; -const struct Chord chord_142 PROGMEM = {H_TOP1 + H_TOP4, ASETNIOP, &state_142, NULL, KC_F, 0, single_dance}; -uint8_t state_143 = IDLE; -const struct Chord chord_143 PROGMEM = {H_TOP2 + H_TOP7, ASETNIOP, &state_143, NULL, KC_J, 0, single_dance}; -uint8_t state_144 = IDLE; -const struct Chord chord_144 PROGMEM = {H_TOP3 + H_TOP8, ASETNIOP, &state_144, NULL, KC_COMMA, 0, single_dance}; -uint8_t state_145 = IDLE; -const struct Chord chord_145 PROGMEM = {H_TOP4 + H_TOP9, ASETNIOP, &state_145, NULL, KC_G, 0, single_dance}; -uint8_t state_146 = IDLE; -const struct Chord chord_146 PROGMEM = {H_TOP7 + H_TOP0, ASETNIOP, &state_146, NULL, KC_M, 0, single_dance}; -uint8_t state_147 = IDLE; -const struct Chord chord_147 PROGMEM = {H_TOP1 + H_TOP7, ASETNIOP, &state_147, NULL, KC_Q, 0, single_dance}; -uint8_t state_148 = IDLE; -const struct Chord chord_148 PROGMEM = {H_TOP2 + H_TOP8, ASETNIOP, &state_148, NULL, KC_K, 0, single_dance}; -uint8_t state_149 = IDLE; -const struct Chord chord_149 PROGMEM = {H_TOP3 + H_TOP9, ASETNIOP, &state_149, NULL, KC_MINUS, 0, single_dance}; -uint8_t state_150 = IDLE; -const struct Chord chord_150 PROGMEM = {H_TOP4 + H_TOP0, ASETNIOP, &state_150, NULL, KC_BSPC, 0, single_dance}; -uint8_t state_151 = IDLE; -const struct Chord chord_151 PROGMEM = {H_TOP1 + H_TOP8, ASETNIOP, &state_151, NULL, KC_Z, 0, single_dance}; -uint8_t state_152 = IDLE; -const struct Chord chord_152 PROGMEM = {H_TOP2 + H_TOP9, ASETNIOP, &state_152, NULL, KC_DOT, 0, single_dance}; -uint8_t state_153 = IDLE; -const struct Chord chord_153 PROGMEM = {H_TOP3 + H_TOP0, ASETNIOP, &state_153, NULL, KC_QUOTE, 0, single_dance}; -uint8_t state_154 = IDLE; -const struct Chord chord_154 PROGMEM = {H_TOP1 + H_TOP9, ASETNIOP, &state_154, NULL, KC_LEFT_BRACKET, 0, single_dance}; -uint8_t state_155 = IDLE; -const struct Chord chord_155 PROGMEM = {H_TOP2 + H_TOP0, ASETNIOP, &state_155, NULL, KC_RIGHT_BRACKET, 0, single_dance}; -uint8_t state_156 = IDLE; -const struct Chord chord_156 PROGMEM = {H_TOP1 + H_TOP0, ASETNIOP, &state_156, NULL, KC_SLASH, 0, single_dance}; -uint8_t state_157 = IDLE; -const struct Chord chord_157 PROGMEM = {H_TOP5, ASETNIOP, &state_157, NULL, KC_ESC, 0, single_dance}; -uint8_t state_158 = IDLE; -const struct Chord chord_158 PROGMEM = {H_TOP6, ASETNIOP, &state_158, NULL, KC_DEL, 0, single_dance}; -uint8_t state_159 = IDLE; -const struct Chord chord_159 PROGMEM = {H_BOT4, ASETNIOP, &state_159, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_160 = IDLE; -const struct Chord chord_160 PROGMEM = {H_BOT5, ASETNIOP, &state_160, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_161 = IDLE; -const struct Chord chord_161 PROGMEM = {H_BOT6, ASETNIOP, &state_161, NULL, KC_LALT, 0, single_dance}; -uint8_t state_162 = IDLE; -uint8_t counter_162 = 0; -const struct Chord chord_162 PROGMEM = {H_BOT7, ASETNIOP, &state_162, &counter_162, KC_SPACE, ASETNIOP_123, key_layer_dance}; -uint8_t state_163 = IDLE; -const struct Chord chord_163 PROGMEM = {H_TOP5 + H_TOP6, ASETNIOP, &state_163, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_164 = IDLE; -const struct Chord chord_164 PROGMEM = {H_TOP1 + H_TOP2 + H_TOP3 + H_TOP4, ASETNIOP, &state_164, NULL, QWERTY, 0, perm_pseudolayer}; -uint8_t state_165 = IDLE; -const struct Chord chord_165 PROGMEM = {H_BOT4 + H_BOT7, ASETNIOP, &state_165, NULL, ASETNIOP_FN, 0, temp_pseudolayer}; -uint8_t state_166 = IDLE; -const struct Chord chord_166 PROGMEM = {H_TOP1, ASETNIOP_123, &state_166, NULL, KC_1, 0, single_dance}; -uint8_t state_167 = IDLE; -const struct Chord chord_167 PROGMEM = {H_TOP2, ASETNIOP_123, &state_167, NULL, KC_2, 0, single_dance}; -uint8_t state_168 = IDLE; -const struct Chord chord_168 PROGMEM = {H_TOP3, ASETNIOP_123, &state_168, NULL, KC_3, 0, single_dance}; -uint8_t state_169 = IDLE; -const struct Chord chord_169 PROGMEM = {H_TOP4, ASETNIOP_123, &state_169, NULL, KC_4, 0, single_dance}; -uint8_t state_170 = IDLE; -const struct Chord chord_170 PROGMEM = {H_TOP7, ASETNIOP_123, &state_170, NULL, KC_7, 0, single_dance}; -uint8_t state_171 = IDLE; -const struct Chord chord_171 PROGMEM = {H_TOP8, ASETNIOP_123, &state_171, NULL, KC_8, 0, single_dance}; -uint8_t state_172 = IDLE; -const struct Chord chord_172 PROGMEM = {H_TOP9, ASETNIOP_123, &state_172, NULL, KC_9, 0, single_dance}; -uint8_t state_173 = IDLE; -const struct Chord chord_173 PROGMEM = {H_TOP0, ASETNIOP_123, &state_173, NULL, KC_0, 0, single_dance}; -uint8_t state_174 = IDLE; -const struct Chord chord_174 PROGMEM = {H_TOP3 + H_TOP4, ASETNIOP_123, &state_174, NULL, KC_5, 0, single_dance}; -uint8_t state_175 = IDLE; -const struct Chord chord_175 PROGMEM = {H_TOP4 + H_TOP7, ASETNIOP_123, &state_175, NULL, KC_EQUAL, 0, single_dance}; -uint8_t state_176 = IDLE; -const struct Chord chord_176 PROGMEM = {H_TOP7 + H_TOP8, ASETNIOP_123, &state_176, NULL, KC_6, 0, single_dance}; -uint8_t state_177 = IDLE; -const struct Chord chord_177 PROGMEM = {H_TOP8 + H_TOP9, ASETNIOP_123, &state_177, NULL, KC_BACKSLASH, 0, single_dance}; -uint8_t state_178 = IDLE; -const struct Chord chord_178 PROGMEM = {H_TOP9 + H_TOP0, ASETNIOP_123, &state_178, NULL, KC_SEMICOLON, 0, single_dance}; -uint8_t state_179 = IDLE; -const struct Chord chord_179 PROGMEM = {H_TOP4 + H_TOP0, ASETNIOP_123, &state_179, NULL, KC_BSPC, 0, single_dance}; -uint8_t state_180 = IDLE; -const struct Chord chord_180 PROGMEM = {H_TOP5, ASETNIOP_123, &state_180, NULL, KC_ESC, 0, single_dance}; -uint8_t state_181 = IDLE; -const struct Chord chord_181 PROGMEM = {H_TOP6, ASETNIOP_123, &state_181, NULL, KC_DEL, 0, single_dance}; -uint8_t state_182 = IDLE; -const struct Chord chord_182 PROGMEM = {H_BOT4, ASETNIOP_123, &state_182, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_183 = IDLE; -const struct Chord chord_183 PROGMEM = {H_BOT5, ASETNIOP_123, &state_183, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_184 = IDLE; -const struct Chord chord_184 PROGMEM = {H_BOT6, ASETNIOP_123, &state_184, NULL, KC_LALT, 0, single_dance}; -uint8_t state_185 = IDLE; -const struct Chord chord_185 PROGMEM = {H_TOP5 + H_TOP6, ASETNIOP_123, &state_185, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_186 = IDLE; -const struct Chord chord_186 PROGMEM = {H_TOP1, ASETNIOP_FN, &state_186, NULL, KC_HOME, 0, single_dance}; -uint8_t state_187 = IDLE; -const struct Chord chord_187 PROGMEM = {H_TOP2, ASETNIOP_FN, &state_187, NULL, KC_PGDN, 0, single_dance}; -uint8_t state_188 = IDLE; -const struct Chord chord_188 PROGMEM = {H_TOP3, ASETNIOP_FN, &state_188, NULL, KC_PGUP, 0, single_dance}; -uint8_t state_189 = IDLE; -const struct Chord chord_189 PROGMEM = {H_TOP4, ASETNIOP_FN, &state_189, NULL, KC_END, 0, single_dance}; -uint8_t state_190 = IDLE; -const struct Chord chord_190 PROGMEM = {H_TOP7, ASETNIOP_FN, &state_190, NULL, KC_LEFT, 0, single_dance}; -uint8_t state_191 = IDLE; -const struct Chord chord_191 PROGMEM = {H_TOP8, ASETNIOP_FN, &state_191, NULL, KC_DOWN, 0, single_dance}; -uint8_t state_192 = IDLE; -const struct Chord chord_192 PROGMEM = {H_TOP9, ASETNIOP_FN, &state_192, NULL, KC_UP, 0, single_dance}; -uint8_t state_193 = IDLE; -const struct Chord chord_193 PROGMEM = {H_TOP0, ASETNIOP_FN, &state_193, NULL, KC_RIGHT, 0, single_dance}; -uint8_t state_194 = IDLE; -const struct Chord chord_194 PROGMEM = {H_TOP1 + H_TOP2, ASETNIOP_FN, &state_194, NULL, KC_F1, 0, single_dance}; -uint8_t state_195 = IDLE; -const struct Chord chord_195 PROGMEM = {H_TOP2 + H_TOP3, ASETNIOP_FN, &state_195, NULL, KC_F2, 0, single_dance}; -uint8_t state_196 = IDLE; -const struct Chord chord_196 PROGMEM = {H_TOP3 + H_TOP4, ASETNIOP_FN, &state_196, NULL, KC_F3, 0, single_dance}; -uint8_t state_197 = IDLE; -const struct Chord chord_197 PROGMEM = {H_TOP4 + H_TOP7, ASETNIOP_FN, &state_197, NULL, KC_F4, 0, single_dance}; -uint8_t state_198 = IDLE; -const struct Chord chord_198 PROGMEM = {H_TOP7 + H_TOP8, ASETNIOP_FN, &state_198, NULL, KC_F5, 0, single_dance}; -uint8_t state_199 = IDLE; -const struct Chord chord_199 PROGMEM = {H_TOP8 + H_TOP9, ASETNIOP_FN, &state_199, NULL, KC_F6, 0, single_dance}; -uint8_t state_200 = IDLE; -const struct Chord chord_200 PROGMEM = {H_TOP9 + H_TOP0, ASETNIOP_FN, &state_200, NULL, KC_F7, 0, single_dance}; -uint8_t state_201 = IDLE; -const struct Chord chord_201 PROGMEM = {H_TOP1 + H_TOP3, ASETNIOP_FN, &state_201, NULL, KC_F10, 0, single_dance}; -uint8_t state_202 = IDLE; -const struct Chord chord_202 PROGMEM = {H_TOP8 + H_TOP0, ASETNIOP_FN, &state_202, NULL, KC_F8, 0, single_dance}; -uint8_t state_203 = IDLE; -const struct Chord chord_203 PROGMEM = {H_TOP1 + H_TOP4, ASETNIOP_FN, &state_203, NULL, KC_F11, 0, single_dance}; -uint8_t state_204 = IDLE; -const struct Chord chord_204 PROGMEM = {H_TOP7 + H_TOP0, ASETNIOP_FN, &state_204, NULL, KC_F9, 0, single_dance}; -uint8_t state_205 = IDLE; -const struct Chord chord_205 PROGMEM = {H_TOP1 + H_TOP7, ASETNIOP_FN, &state_205, NULL, KC_F12, 0, single_dance}; -uint8_t state_206 = IDLE; -const struct Chord chord_206 PROGMEM = {H_TOP4 + H_TOP0, ASETNIOP_FN, &state_206, NULL, KC_BSPC, 0, single_dance}; -uint8_t state_207 = IDLE; -const struct Chord chord_207 PROGMEM = {H_TOP5, ASETNIOP_FN, &state_207, NULL, KC_ESC, 0, single_dance}; -uint8_t state_208 = IDLE; -const struct Chord chord_208 PROGMEM = {H_TOP6, ASETNIOP_FN, &state_208, NULL, KC_DEL, 0, single_dance}; -uint8_t state_209 = IDLE; -const struct Chord chord_209 PROGMEM = {H_BOT4, ASETNIOP_FN, &state_209, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_210 = IDLE; -const struct Chord chord_210 PROGMEM = {H_BOT5, ASETNIOP_FN, &state_210, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_211 = IDLE; -const struct Chord chord_211 PROGMEM = {H_BOT6, ASETNIOP_FN, &state_211, NULL, KC_LALT, 0, single_dance}; -uint8_t state_212 = IDLE; -const struct Chord chord_212 PROGMEM = {H_TOP5 + H_TOP6, ASETNIOP_FN, &state_212, NULL, KC_LGUI, 0, single_dance}; - -const struct Chord* const list_of_chords[] PROGMEM = { - &chord_0, &chord_1, &chord_2, &chord_3, &chord_4, &chord_5, &chord_6, &chord_7, &chord_8, &chord_9, &chord_10, &chord_11, &chord_12, &chord_13, &chord_14, &chord_15, &chord_16, &chord_17, &chord_18, &chord_19, &chord_20, &chord_21, &chord_22, &chord_23, &chord_24, &chord_25, &chord_26, &chord_27, &chord_28, &chord_29, &chord_30, &chord_31, &chord_32, &chord_33, &chord_34, &chord_35, &chord_36, &chord_37, &chord_38, &chord_39, &chord_40, &chord_41, &chord_42, &chord_43, &chord_44, &chord_45, &chord_46, &chord_47, &chord_48, &chord_49, &chord_50, &chord_51, &chord_52, &chord_53, &chord_54, &chord_55, &chord_56, &chord_57, &chord_58, &chord_59, &chord_60, &chord_61, &chord_62, &chord_63, &chord_64, &chord_65, &chord_66, &chord_67, &chord_68, &chord_69, &chord_70, &chord_71, &chord_72, &chord_73, &chord_74, &chord_75, &chord_76, &chord_77, &chord_78, &chord_79, &chord_80, &chord_81, &chord_82, &chord_83, &chord_84, &chord_85, &chord_86, &chord_87, &chord_88, &chord_89, &chord_90, &chord_91, &chord_92, &chord_93, &chord_94, &chord_95, &chord_96, &chord_97, &chord_98, &chord_99, &chord_100, &chord_101, &chord_102, &chord_103, &chord_104, &chord_105, &chord_106, &chord_107, &chord_108, &chord_109, &chord_110, &chord_111, &chord_112, &chord_113, &chord_114, &chord_115, &chord_116, &chord_117, &chord_118, &chord_119, &chord_120, &chord_121, &chord_122, &chord_123, &chord_124, &chord_125, &chord_126, &chord_127, &chord_128, &chord_129, &chord_130, &chord_131, &chord_132, &chord_133, &chord_134, &chord_135, &chord_136, &chord_137, &chord_138, &chord_139, &chord_140, &chord_141, &chord_142, &chord_143, &chord_144, &chord_145, &chord_146, &chord_147, &chord_148, &chord_149, &chord_150, &chord_151, &chord_152, &chord_153, &chord_154, &chord_155, &chord_156, &chord_157, &chord_158, &chord_159, &chord_160, &chord_161, &chord_162, &chord_163, &chord_164, &chord_165, &chord_166, &chord_167, &chord_168, &chord_169, &chord_170, &chord_171, &chord_172, &chord_173, &chord_174, &chord_175, &chord_176, &chord_177, &chord_178, &chord_179, &chord_180, &chord_181, &chord_182, &chord_183, &chord_184, &chord_185, &chord_186, &chord_187, &chord_188, &chord_189, &chord_190, &chord_191, &chord_192, &chord_193, &chord_194, &chord_195, &chord_196, &chord_197, &chord_198, &chord_199, &chord_200, &chord_201, &chord_202, &chord_203, &chord_204, &chord_205, &chord_206, &chord_207, &chord_208, &chord_209, &chord_210, &chord_211, &chord_212 -}; - -const uint16_t** const leader_triggers PROGMEM = NULL; -void (*leader_functions[]) (void) = {}; - -#define NUMBER_OF_CHORDS 213 -#define NUMBER_OF_LEADER_COMBOS 0 - -bool are_hashed_keycodes_in_sound(HASH_TYPE keycodes_hash, HASH_TYPE sound) { - return (keycodes_hash & sound) == keycodes_hash; -} - -uint8_t keycode_to_index(uint16_t keycode) { - return keycode - FIRST_INTERNAL_KEYCODE; -} - -void sound_keycode_array(uint16_t keycode) { - uint8_t index = keycode_to_index(keycode); - keycode_index++; - keycodes_buffer_array[index] = keycode_index; -} - -void silence_keycode_hash_array(HASH_TYPE keycode_hash) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - bool index_in_hash = ((HASH_TYPE) 1 << i) & keycode_hash; - if (index_in_hash) { - uint8_t current_val = keycodes_buffer_array[i]; - keycodes_buffer_array[i] = 0; - for (int j = 0; j < NUMBER_OF_KEYS; j++) { - if (keycodes_buffer_array[j] > current_val) { - keycodes_buffer_array[j]--; - } - } - keycode_index--; - } - } -} - -bool are_hashed_keycodes_in_array(HASH_TYPE keycode_hash) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - bool index_in_hash = ((HASH_TYPE) 1 << i) & keycode_hash; - bool index_in_array = (bool) keycodes_buffer_array[i]; - if (index_in_hash && !index_in_array) { - return false; - } - } - return true; -} - -void kill_one_shots(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == IN_ONE_SHOT) { - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - } - } -} - -void process_finished_dances(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == ACTIVATED) { - *chord->state = PRESS_FROM_ACTIVE; - chord->function(chord); - if (a_key_went_through) { - kill_one_shots(); - } - dance_timer = timer_read(); - } else if (*chord->state == IDLE_IN_DANCE) { - *chord->state = FINISHED; - chord->function(chord); - if (*chord->state == FINISHED) { - *chord->state = RESTART; - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - } - } else if (*chord->state == PRESS_FROM_ACTIVE) { - *chord->state = FINISHED_FROM_ACTIVE; - chord->function(chord); - if (a_key_went_through) { - kill_one_shots(); - } - dance_timer = timer_read(); - } - } -} - -uint8_t keycodes_buffer_array_min(uint8_t* first_keycode_index) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - if (keycodes_buffer_array[i] == 1) { - if (first_keycode_index != NULL) { - *first_keycode_index = (uint8_t) i; - } - return 1; - } - } - return 0; -} - -void remove_subchords(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (!(*chord->state == READY || *chord->state == READY_IN_DANCE || *chord->state == READY_LOCKED)) { - continue; - } - - struct Chord chord_storage_2; - struct Chord* chord_ptr_2; - struct Chord* chord_2; - for (int j = 0; j < NUMBER_OF_CHORDS; j++) { - if (i == j) {continue;} - - chord_ptr_2 = (struct Chord*) pgm_read_word (&list_of_chords[j]); - memcpy_P(&chord_storage_2, chord_ptr_2, sizeof(struct Chord)); - chord_2 = &chord_storage_2; - - if (are_hashed_keycodes_in_sound(chord_2->keycodes_hash, chord->keycodes_hash)) { - if (*chord_2->state == READY) { - *chord_2->state = IDLE; - } - if (*chord_2->state == READY_IN_DANCE) { - *chord_2->state = IDLE_IN_DANCE; - } - if (*chord_2->state == READY_LOCKED) { - *chord_2->state = LOCKED; - } - } - } - } -} - -void process_ready_chords(void) { - uint8_t first_keycode_index = 0; - while (keycodes_buffer_array_min(&first_keycode_index)) { - // find ready chords - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - // if the chord does not contain the first keycode - bool contains_first_keycode = ((uint32_t) 1 << first_keycode_index) & chord->keycodes_hash; - if (!contains_first_keycode) { - continue; - } - - if (!are_hashed_keycodes_in_array(chord->keycodes_hash)){ - continue; - } - - if (*chord->state == LOCKED) { - *chord->state = READY_LOCKED; - continue; - } - - if (!(chord->pseudolayer == current_pseudolayer || chord->pseudolayer == ALWAYS_ON)) { - continue; - } - - if (*chord->state == IDLE) { - *chord->state = READY; - continue; - } - - if (*chord->state == IDLE_IN_DANCE) { - *chord->state = READY_IN_DANCE; - } - } - - // remove subchords - remove_subchords(); - - // execute logic - // this should be only one chord - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == READY_LOCKED) { - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - break; - } - - if (*chord->state == READY || *chord->state == READY_IN_DANCE) { - if (last_chord && last_chord != chord) { - process_finished_dances(); - } - - bool lock_next_prev_state = lock_next; - - *chord->state = ACTIVATED; - chord->function(chord); - dance_timer = timer_read(); - - if (lock_next && lock_next == lock_next_prev_state) { - lock_next = false; - *chord->state = PRESS_FROM_ACTIVE; - chord->function(chord); - if (*chord->state == PRESS_FROM_ACTIVE) { - *chord->state = LOCKED; - } - if (a_key_went_through) { - kill_one_shots(); - } - } - break; - } - } - - // silence notes - silence_keycode_hash_array(chord->keycodes_hash); - } -} - -void deactivate_active_chords(uint16_t keycode) { - HASH_TYPE hash = (HASH_TYPE)1 << (keycode - SAFE_RANGE); - bool broken; - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - broken = are_hashed_keycodes_in_sound(hash, chord->keycodes_hash); - if (!broken) { - continue; - } - - switch (*chord->state) { - case ACTIVATED: - *chord->state = DEACTIVATED; - chord->function(chord); - - if (*chord->state == DEACTIVATED) { - dance_timer = timer_read(); - *chord->state = IDLE_IN_DANCE; - } - if (*chord->state != IN_ONE_SHOT) { - kill_one_shots(); - } - break; - case PRESS_FROM_ACTIVE: - case FINISHED_FROM_ACTIVE: - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - kill_one_shots(); - break; - default: - break; - } - } - -} - -void process_command(void) { - command_mode = 0; - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - if (command_buffer[i]) { - register_code(command_buffer[i]); - } - send_keyboard_report(); - } - wait_ms(TAP_TIMEOUT); - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - if (command_buffer[i]) { - unregister_code(command_buffer[i]); - } - send_keyboard_report(); - } - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - command_buffer[i] = 0; - } - command_ind = 0; -} - -void process_leader(void) { - in_leader_mode = false; - for (int i = 0; i < NUMBER_OF_LEADER_COMBOS; i++) { - uint16_t trigger[LEADER_MAX_LENGTH]; - memcpy_P(trigger, leader_triggers[i], LEADER_MAX_LENGTH * sizeof(uint16_t)); - - if (identical(leader_buffer, trigger)) { - (*leader_functions[i])(); - break; - } - } - for (int i = 0; i < LEADER_MAX_LENGTH; i++) { - leader_buffer[i] = 0; - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode < FIRST_INTERNAL_KEYCODE || keycode > LAST_INTERNAL_KEYCODE) { - return true; - } - - if (record->event.pressed) { - sound_keycode_array(keycode); - } else { - process_ready_chords(); - deactivate_active_chords(keycode); - } - chord_timer = timer_read(); - leader_timer = timer_read(); - - return false; -} - -void matrix_scan_user(void) { - bool chord_timer_expired = timer_elapsed(chord_timer) > CHORD_TIMEOUT; - if (chord_timer_expired && keycodes_buffer_array_min(NULL)) { - process_ready_chords(); - } - - bool dance_timer_expired = timer_elapsed(dance_timer) > DANCE_TIMEOUT; - if (dance_timer_expired) { // would love to have && in_dance but not sure how - process_finished_dances(); - } - - bool in_command_mode = command_mode == 2; - if (in_command_mode) { - process_command(); - } - - bool leader_timer_expired = timer_elapsed(leader_timer) > LEADER_TIMEOUT; - if (leader_timer_expired && in_leader_mode) { - process_leader(); - } - -} - -void clear(const struct Chord* self) { - if (*self->state == ACTIVATED) { - // kill all chords - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - *chord->state = IDLE; - - if (chord->counter) { - *chord->counter = 0; - } - } - - // clear keyboard - clear_keyboard(); - send_keyboard_report(); - - // switch to default pseudolayer - current_pseudolayer = DEFAULT_PSEUDOLAYER; - - // clear all keyboard states - lock_next = false; - autoshift_mode = true; - command_mode = 0; - in_leader_mode = false; - leader_ind = 0; - dynamic_macro_mode = false; - a_key_went_through = false; - - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - dynamic_macro_buffer[i] = 0; - } - } -} \ No newline at end of file diff --git a/keyboards/gboards/butterstick/keymaps/dennytom/keymap_def.json b/keyboards/gboards/butterstick/keymaps/dennytom/keymap_def.json deleted file mode 100644 index 16f02ca529ae..000000000000 --- a/keyboards/gboards/butterstick/keymaps/dennytom/keymap_def.json +++ /dev/null @@ -1,309 +0,0 @@ -{ - "keys": [ - "TOP1", "TOP2", "TOP3", "TOP4", "TOP5", "TOP6", "TOP7", "TOP8", "TOP9", "TOP0", - "BOT1", "BOT2", "BOT3", "BOT4", "BOT5", "BOT6", "BOT7", "BOT8", "BOT9", "BOT0" - ], - "parameters": { - "layout_function_name": "LAYOUT_butter", - "chord_timeout": 100, - "dance_timeout": 200, - "leader_timeout": 750, - "tap_timeout": 50, - "command_max_length": 5, - "leader_max_length": 5, - "dynamic_macro_max_length": 20, - "string_max_length": 16, - "long_press_multiplier": 3, - "default_pseudolayer": "QWERTY" - }, - "layers": [ - { - "type": "auto" - } - ], - "chord_sets": [ - { - "name": "rows", - "chords": [ - ["TOP1"], ["TOP2"], ["TOP3"], ["TOP4"], ["TOP5"], ["TOP6"], ["TOP7"], ["TOP8"], ["TOP9"], ["TOP0"], - ["TOP1", "BOT1"], ["TOP2", "BOT2"], ["TOP3", "BOT3"], ["TOP4", "BOT4"], ["TOP5", "BOT5"], ["TOP6", "BOT6"], ["TOP7", "BOT7"], ["TOP8", "BOT8"], ["TOP9", "BOT9"], ["TOP0", "BOT0"], - ["BOT1"], ["BOT2"], ["BOT3"], ["BOT4"], ["BOT5"], ["BOT6"], ["BOT7"], ["BOT8"], ["BOT9"], ["BOT0"] - ] - }, - { - "name": "cols", - "chords": [ - ["TOP1", "TOP2"], ["TOP2", "TOP3"], ["TOP3", "TOP4"], ["TOP4", "TOP5"], ["TOP5", "TOP6"], ["TOP6", "TOP7"], ["TOP7", "TOP8"], ["TOP8", "TOP9"], ["TOP9", "TOP0"], - ["TOP1", "TOP2", "BOT1", "BOT2"], ["TOP2", "TOP3", "BOT2", "BOT3"], ["TOP3", "TOP4", "BOT3", "BOT4"], ["TOP4", "TOP5", "BOT4", "BOT5"], ["TOP5", "TOP6", "BOT5", "BOT6"], ["TOP6", "TOP7", "BOT6", "BOT7"], ["TOP7", "TOP8", "BOT7", "BOT8"], ["TOP8", "TOP9", "BOT8", "BOT9"], ["TOP9", "TOP0", "BOT9", "BOT0"], - ["BOT1", "BOT2"], ["BOT2", "BOT3"], ["BOT3", "BOT4"], ["BOT4", "BOT5"], ["BOT5", "BOT6"], ["BOT6", "BOT7"], ["BOT7", "BOT8"], ["BOT8", "BOT9"], ["BOT9", "BOT0"] - ] - }, - { - "name": "asetniop", - "chords": [ - ["TOP1"], ["TOP2"], ["TOP3"], ["TOP4"], ["TOP7"], ["TOP8"], ["TOP9"], ["TOP0"], - ["TOP1", "TOP2"], ["TOP2", "TOP3"], ["TOP3", "TOP4"], ["TOP4", "TOP7"], ["TOP7", "TOP8"], ["TOP8", "TOP9"], ["TOP9", "TOP0"], - ["TOP1", "TOP3"], ["TOP2", "TOP4"], ["TOP3", "TOP7"], ["TOP4", "TOP8"], ["TOP7", "TOP9"], ["TOP8", "TOP0"], - ["TOP1", "TOP4"], ["TOP2", "TOP7"], ["TOP3", "TOP8"], ["TOP4", "TOP9"], ["TOP7", "TOP0"], - ["TOP1", "TOP7"], ["TOP2", "TOP8"], ["TOP3", "TOP9"], ["TOP4", "TOP0"], - ["TOP1", "TOP8"], ["TOP2", "TOP9"], ["TOP3", "TOP0"], - ["TOP1", "TOP9"], ["TOP2", "TOP0"], - ["TOP1", "TOP0"] - ] - } - ], - "pseudolayers": [ - { - "name": "ALWAYS_ON", - "chords": [ - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ", " ", " ", " ", " ", " ", " ", " ", " ", - "LOCK", " AT", " ", " ", " CMD", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " " - ] - }, - { - "type": "visual", - "chord": [ - "X", "X", " ", " ", " ", " ", " ", " ", "X", "X", - "X", "X", " ", " ", " ", " ", " ", " ", "X", "X" - ], - "keycode": "CLEAR_KB" - } - ] - }, - { - "name": "QWERTY", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - "AS(Q)", "AS(W)", "AS(E)", "AS(R)", "AS(T)", "AS(Y)", "AS(U)", "AS(I)", "AS(O)", "AS(P)", - "AS(A)", "AS(S)", "AS(D)", "AS(F)", "AS(G)", "AS(H)", "AS(J)", "AS(K)", "AS(L)", "AS(;)", - "AS(Z)", "AS(X)", "AS(C)", "AS(V)", "AS(B)", "AS(N)", "AS(M)", "AS(,)", "AS(.)", "AS(/)" - ] - }, - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ESC", "MO(MOV)", " TAB", " ", "O(RGUI)", " ", " INS", " DEL", " BSPC", - " ", " ", " ", " ", " ", " ", " ", " ", " ENTER", - "O(LSFT)", "O(LCTL)", "O(LALT)", "O(NUM)", "O(LGUI)", "O(NUM)", "O(RALT)", "O(RCTL)", "O(RSFT)" - ] - }, - { - "type": "simple", - "chord": ["BOT1", "BOT0"], - "keycode": "SPACE" - }, - { - "type": "visual", - "chord": [ - "X", "X", "X", "X", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " " - ], - "keycode": "MO(MOUSE)" - }, - { - "type": "visual", - "chord": [ - "X", "X", "X", "X", " ", " ", "X", "X", "X", "X", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " " - ], - "keycode": "DF(ASETNIOP)" - } - ] - }, - { - "name": "NUM", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - "AS(1)", "AS(2)", "AS(3)", "AS(4)", "AS(5)", "AS(6)", "AS(7)", "AS(8)", "AS(9)", "AS(0)", - " F1", " F2", " F3", " F4", " F5", " F6", " F7", " F8", " F9", " F10", - "AS(`)", "AS(-)", "AS(=)", "AS([)", "AS(])", "AS(\\)", "AS(')", " ", " F11", " F12" - ] - }, - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ESC", " ", " TAB", " ", "O(RGUI)", " ", " INS", " DEL", " BSPC", - " ", " ", " ", " ", " ", " ", " ", " ", " ENTER", - "O(LSFT)", "O(LCTL)", "O(LALT)", " ", "O(LGUI)", " ", "O(RALT)", "O(RCTL)", " O(RSFT)" - ] - }, - { - "type": "simple", - "chord": ["BOT1", "BOT0"], - "keycode": "SPACE" - } - ] - }, - { - "name": "MOV", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ", " ", " HOME", " UP", " END", " PGUP", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " LSFT", " LCTL", " LALT", " LGUI", " LEFT", " DOWN", "RIGHT", " PGDN" - ] - } - ] - }, - { - "name": "MOUSE", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ", " ", " BTN1", " MS_U", " BTN2", " WH_U", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " LSFT", " LCTL", " LALT", " LGUI", " MS_L", " MS_D", " MS_R", " WH_D" - ] - } - ] - }, - { - "name": "ASETNIOP", - "chords": [ - { - "type": "chord_set", - "set": "asetniop", - "keycodes": [ - "A", "S", "E", "T", "N", "I", "O", "P", - "W", "D", "R", "B", "H", "L", ";", - "X", "C", "Y", "V", "U", "", - "F", "J", ",", "G", "M", - "Q", "K", "-", "BSPC", - "Z", ".", "'", - "[", "]", - "/" - ] - }, - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ESC", " DEL", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", "LSFT", "LCTL", "LALT", "KL(SPACE, ASETNIOP_123)", "", "", "" - ] - }, - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ", " ", " ", " ", "LGUI", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " " - ] - }, - { - "type": "visual", - "chord": [ - "X", "X", "X", "X", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " " - ], - "keycode": "DF(QWERTY)" - }, - { - "type": "visual", - "chord": [ - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", "X", " ", " ", "X", " ", " ", " " - ], - "keycode": "MO(ASETNIOP_FN)" - } - ] - }, - { - "name": "ASETNIOP_123", - "chords": [ - { - "type": "chord_set", - "set": "asetniop", - "keycodes": [ - "1", "2", "3", "4", "7", "8", "9", "0", - " ", " ", "5", "=", "6", "\\", ";", - " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", - " ", " ", " ", "BSPC", - " ", " ", " ", - " ", " ", - " " - ] - }, - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ESC", " DEL", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", "LSFT", "LCTL", "LALT", " ", " ", " ", " " - ] - }, - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ", " ", " ", " ", "LGUI", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " " - ] - } - ] - }, - { - "name": "ASETNIOP_FN", - "chords": [ - { - "type": "chord_set", - "set": "asetniop", - "keycodes": [ - "HOME", "PGDN", "PGUP", " END", "LEFT", "DOWN", " UP", "RIGHT", - " F1", " F2", " F3", " F4", " F5", " F6", " F7", - " F10", " ", " ", " ", " ", " F8", - " F11", " ", " ", " ", " F9", - " F12", " ", " ", "BSPC", - " ", " ", " ", - " ", " ", - " " - ] - }, - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ESC", " DEL", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", "LSFT", "LCTL", "LALT", " ", " ", " ", " " - ] - }, - { - "type": "chord_set", - "set": "cols", - "keycodes": [ - " ", " ", " ", " ", "LGUI", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " " - ] - } - ] - } - ], - "leader_sequences": [], - "extra_code": "", - "extra_dependencies": [] -} \ No newline at end of file diff --git a/keyboards/gboards/butterstick/keymaps/dennytom/rules.mk b/keyboards/gboards/butterstick/keymaps/dennytom/rules.mk deleted file mode 100644 index 1155f72c04a4..000000000000 --- a/keyboards/gboards/butterstick/keymaps/dennytom/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -# COMMAND_ENABLE = no -NKRO_ENABLE = yes - -TMPVAR := $(SRC) -SRC = $(filter-out sten.c, $(TMPVAR)) \ No newline at end of file diff --git a/keyboards/gboards/butterstick/sten.h b/keyboards/gboards/butterstick/sten.h index 84c54c9e2e54..ca6b03f77886 100644 --- a/keyboards/gboards/butterstick/sten.h +++ b/keyboards/gboards/butterstick/sten.h @@ -8,9 +8,6 @@ #pragma once #include QMK_KEYBOARD_H -#include "mousekey.h" -#include "keymap_steno.h" -#include "wait.h" extern size_t keymapsCount; // Total keymaps extern uint32_t cChord; // Current Chord diff --git a/keyboards/gboards/ergotaco/config.h b/keyboards/gboards/ergotaco/config.h index 456eb3f9d91c..0ab992eac30b 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 1de1f3ab85d7..80558ad69295 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/ergotaco/rules.mk b/keyboards/gboards/ergotaco/rules.mk index 2df8900c2d6c..6fbefbd22d7f 100644 --- a/keyboards/gboards/ergotaco/rules.mk +++ b/keyboards/gboards/ergotaco/rules.mk @@ -7,4 +7,5 @@ COMMAND_ENABLE = yes # know what you're doing. # # No touchy, capiche? -SRC += matrix.c i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/gboards/georgi/config.h b/keyboards/gboards/georgi/config.h index db2ff42a1e8c..f0785f24bc6e 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 0a654eaa4aca..51737f75af8f 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/georgi/keymaps/colemak-dh/keymap.c b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c index 9b3365d02fd3..932d48959cc0 100644 --- a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c +++ b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c @@ -12,7 +12,6 @@ #include QMK_KEYBOARD_H #include "sten.h" -#include "keymap_steno.h" // Steno Layers #define FUNCT ( LSD | LK | LP | LH ) diff --git a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c index 2e63fe3c7d23..19683179f371 100644 --- a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c @@ -12,7 +12,6 @@ #include QMK_KEYBOARD_H #include "sten.h" -#include "keymap_steno.h" // Proper Layers #define FUNCT (LSD | LK | LP | LH) diff --git a/keyboards/gboards/georgi/keymaps/default/keymap.c b/keyboards/gboards/georgi/keymaps/default/keymap.c index a9c2d4a47d8f..955ec0e40691 100644 --- a/keyboards/gboards/georgi/keymaps/default/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default/keymap.c @@ -12,7 +12,6 @@ #include QMK_KEYBOARD_H #include "sten.h" -#include "keymap_steno.h" // Proper Layers #define FUNCT (LSD | LK | LP | LH) diff --git a/keyboards/gboards/georgi/keymaps/dennytom/README.md b/keyboards/gboards/georgi/keymaps/dennytom/README.md deleted file mode 100644 index 14bc1d2045ed..000000000000 --- a/keyboards/gboards/georgi/keymaps/dennytom/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# # Dennytom's Georgi Layout - -This keymap is using a custom chording engine. Head out to my (DennyTom) user space to find the source files and details. - -To make a real keymap from the JSON file, run - -```sh -python3 parser.py keymap_def.json keymap.c -``` - -Likely will change with use. I enjoy the modifiers on the "home row". \ No newline at end of file diff --git a/keyboards/gboards/georgi/keymaps/dennytom/keymap.c b/keyboards/gboards/georgi/keymaps/dennytom/keymap.c deleted file mode 100644 index 902d2271d70c..000000000000 --- a/keyboards/gboards/georgi/keymaps/dennytom/keymap.c +++ /dev/null @@ -1,1208 +0,0 @@ -#include QMK_KEYBOARD_H - -#define H_TOP1 ((HASH_TYPE) 1 << 0) -#define H_TOP2 ((HASH_TYPE) 1 << 1) -#define H_TOP3 ((HASH_TYPE) 1 << 2) -#define H_TOP4 ((HASH_TYPE) 1 << 3) -#define H_TOP5 ((HASH_TYPE) 1 << 4) -#define H_TOP6 ((HASH_TYPE) 1 << 5) -#define H_TOP7 ((HASH_TYPE) 1 << 6) -#define H_TOP8 ((HASH_TYPE) 1 << 7) -#define H_TOP9 ((HASH_TYPE) 1 << 8) -#define H_TOP10 ((HASH_TYPE) 1 << 9) -#define H_TOP11 ((HASH_TYPE) 1 << 10) -#define H_TOP12 ((HASH_TYPE) 1 << 11) -#define H_BOT1 ((HASH_TYPE) 1 << 12) -#define H_BOT2 ((HASH_TYPE) 1 << 13) -#define H_BOT3 ((HASH_TYPE) 1 << 14) -#define H_BOT4 ((HASH_TYPE) 1 << 15) -#define H_BOT5 ((HASH_TYPE) 1 << 16) -#define H_BOT6 ((HASH_TYPE) 1 << 17) -#define H_BOT7 ((HASH_TYPE) 1 << 18) -#define H_BOT8 ((HASH_TYPE) 1 << 19) -#define H_BOT9 ((HASH_TYPE) 1 << 20) -#define H_BOT10 ((HASH_TYPE) 1 << 21) -#define H_BOT11 ((HASH_TYPE) 1 << 22) -#define H_BOT12 ((HASH_TYPE) 1 << 23) -#define H_THU1 ((HASH_TYPE) 1 << 24) -#define H_THU2 ((HASH_TYPE) 1 << 25) -#define H_THU3 ((HASH_TYPE) 1 << 26) -#define H_THU4 ((HASH_TYPE) 1 << 27) -#define H_THU5 ((HASH_TYPE) 1 << 28) -#define H_THU6 ((HASH_TYPE) 1 << 29) - -enum internal_keycodes { - TOP1 = SAFE_RANGE, - TOP2, TOP3, TOP4, TOP5, TOP6, TOP7, TOP8, TOP9, TOP10, TOP11, TOP12, BOT1, BOT2, BOT3, BOT4, BOT5, BOT6, BOT7, BOT8, BOT9, BOT10, BOT11, BOT12, THU1, THU2, THU3, THU4, THU5, THU6, - FIRST_INTERNAL_KEYCODE = TOP1, - LAST_INTERNAL_KEYCODE = THU6 -}; - -enum pseudolayers { - ALWAYS_ON, QWERTY, NUM, FNC, NAV, MOUSE -}; - -#define CHORD_TIMEOUT 100 -#define DANCE_TIMEOUT 200 -#define LEADER_TIMEOUT 750 -#define TAP_TIMEOUT 50 -#define LONG_PRESS_MULTIPLIER 3 -#define DYNAMIC_MACRO_MAX_LENGTH 20 -#define COMMAND_MAX_LENGTH 5 -#define STRING_MAX_LENGTH 16 -#define LEADER_MAX_LENGTH 5 -#define HASH_TYPE uint32_t -#define NUMBER_OF_KEYS 30 -#define DEFAULT_PSEUDOLAYER QWERTY - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_georgi(TOP1, TOP2, TOP3, TOP4, TOP5, TOP6, TOP7, TOP8, TOP9, TOP10, TOP11, TOP12, BOT1, BOT2, BOT3, BOT4, BOT5, BOT6, BOT7, BOT8, BOT9, BOT10, BOT11, BOT12, THU1, THU2, THU3, THU4, THU5, THU6), -}; -size_t keymapsCount = 1; - -uint8_t keycodes_buffer_array[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -uint8_t command_buffer[] = { - 0, 0, 0, 0, 0 -}; - -uint16_t leader_buffer[] = { - 0, 0, 0, 0, 0 -}; - -uint8_t dynamic_macro_buffer[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -enum chord_states { - IDLE, - READY, - ACTIVATED, - DEACTIVATED, - PRESS_FROM_ACTIVE, - FINISHED_FROM_ACTIVE, - IDLE_IN_DANCE, - READY_IN_DANCE, - FINISHED, - LOCKED, - READY_LOCKED, - RESTART, - IN_ONE_SHOT -}; - -struct Chord { - uint32_t keycodes_hash; - uint8_t pseudolayer; - uint8_t* state; - uint8_t* counter; - uint16_t value1; - uint8_t value2; - void (*function) (const struct Chord*); -}; - -uint8_t current_pseudolayer = DEFAULT_PSEUDOLAYER; -bool lock_next = false; -uint16_t chord_timer = 0; -uint16_t dance_timer = 0; -bool autoshift_mode = true; -uint8_t keycode_index = 0; -uint8_t command_mode = 0; -uint8_t command_ind = 0; -bool in_leader_mode = false; -uint8_t leader_ind = 0; -uint16_t leader_timer = 0; -uint8_t dynamic_macro_mode = false; -uint8_t dynamic_macro_ind = 0; -bool a_key_went_through = false; -struct Chord* last_chord = NULL; - -bool handle_US_ANSI_shifted_keys(int16_t keycode, bool in) { - bool is_US_ANSI_shifted = true; - - int16_t regular_keycode = KC_NO; - switch (keycode) { - case KC_TILDE: - regular_keycode = KC_GRAVE; - break; - case KC_EXCLAIM: - regular_keycode = KC_1; - break; - case KC_AT: - regular_keycode = KC_2; - break; - case KC_HASH: - regular_keycode = KC_3; - break; - case KC_DOLLAR: - regular_keycode = KC_4; - break; - case KC_PERCENT: - regular_keycode = KC_5; - break; - case KC_CIRCUMFLEX: - regular_keycode = KC_6; - break; - case KC_AMPERSAND: - regular_keycode = KC_7; - break; - case KC_ASTERISK: - regular_keycode = KC_8; - break; - case KC_LEFT_PAREN: - regular_keycode = KC_9; - break; - case KC_RIGHT_PAREN: - regular_keycode = KC_0; - break; - case KC_UNDERSCORE: - regular_keycode = KC_MINUS; - break; - case KC_PLUS: - regular_keycode = KC_EQUAL; - break; - case KC_LEFT_CURLY_BRACE: - regular_keycode = KC_LEFT_BRACKET; - break; - case KC_RIGHT_CURLY_BRACE: - regular_keycode = KC_RIGHT_BRACKET; - break; - case KC_PIPE: - regular_keycode = KC_BACKSLASH; - break; - case KC_COLON: - regular_keycode = KC_SEMICOLON; - break; - case KC_DOUBLE_QUOTE: - regular_keycode = KC_QUOTE; - break; - case KC_LEFT_ANGLE_BRACKET: - regular_keycode = KC_COMMA; - break; - case KC_RIGHT_ANGLE_BRACKET: - regular_keycode = KC_DOT; - break; - case KC_QUESTION: - regular_keycode = KC_SLASH; - break; - default: - is_US_ANSI_shifted = false; - } - if (is_US_ANSI_shifted) { - if (in) { - register_code(KC_LSFT); - register_code(regular_keycode); - } else { - unregister_code(regular_keycode); - unregister_code(KC_LSFT); - } - } - return is_US_ANSI_shifted; -} - -void key_in(int16_t keycode) { - if (command_mode == 1 && command_ind < COMMAND_MAX_LENGTH) { - command_buffer[command_ind] = keycode; - command_ind++; - a_key_went_through = true; - } else if (in_leader_mode && leader_ind < LEADER_MAX_LENGTH) { - leader_buffer[leader_ind] = keycode; - leader_ind++; - a_key_went_through = true; - } else if (dynamic_macro_mode && dynamic_macro_ind < DYNAMIC_MACRO_MAX_LENGTH) { - dynamic_macro_buffer[dynamic_macro_ind] = keycode; - dynamic_macro_ind++; - a_key_went_through = true; - } else { - if (!handle_US_ANSI_shifted_keys(keycode, true)) { - register_code(keycode); - } - send_keyboard_report(); - a_key_went_through = true; - } -} - -void key_out(int16_t keycode) { - if (command_mode == 0) { - if (!handle_US_ANSI_shifted_keys(keycode, false)) { - if (command_mode == 0 && in_leader_mode == false && dynamic_macro_mode == false) { - unregister_code(keycode); - } - } - send_keyboard_report(); - } -} - -void tap_key(int16_t keycode) { - key_in(keycode); - wait_ms(TAP_TIMEOUT); - key_out(keycode); -} -const char * const strings[] PROGMEM = { - -}; -void single_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - key_in(self->value1); - break; - case DEACTIVATED: - key_out(self->value1); - *self->state = IDLE; - break; - case RESTART: - key_out(self->value1); - break; - default: - break; - } -} - -void key_layer_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - current_pseudolayer = self->value2; - a_key_went_through = false; - break; - case DEACTIVATED: - case RESTART: - if (!a_key_went_through) { - tap_key(self->value1); - } - current_pseudolayer = self->pseudolayer; - *self->state = IDLE; // does not have effect if the state was RESTART - break; - default: - break; - } -} - -void key_mod_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - key_in(self->value2); - a_key_went_through = false; - break; - case DEACTIVATED: - case RESTART: - key_out(self->value2); - if (!a_key_went_through) { - tap_key(self->value1); - } - *self->state = IDLE; // does not have effect if the state was RESTART - break; - default: - break; - } -} - -void key_key_dance(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - tap_key(self->value1); - *self->state = IDLE; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - key_in(self->value2); - break; - case RESTART: - key_out(self->value2); - break; - default: - break; - } -} - -void autoshift_dance_impl(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - *self->counter = 0; - break; - case DEACTIVATED: - case RESTART: - tap_key(self->value1); - *self->state = IDLE; - break; - case FINISHED_FROM_ACTIVE: - if (*self->counter == (LONG_PRESS_MULTIPLIER - 2)) { - key_in(KC_LSFT); - tap_key(self->value1); - key_out(KC_LSFT); - *self->state = IDLE; - // the skip to IDLE is usually just a lag optimization, - // in this case it has a logic function, on a short - // press (still longer than a tap) the key does not get shifted - } else { - *self->counter += 1; - *self->state = PRESS_FROM_ACTIVE; - dance_timer = timer_read(); - } - break; - default: - break; - } -} - -void autoshift_dance(const struct Chord* self) { - if (autoshift_mode) { - autoshift_dance_impl(self); - } else { - single_dance(self); - } -} - -void autoshift_toggle(const struct Chord* self){ - if (*self->state == ACTIVATED) { - autoshift_mode = !autoshift_mode; - *self->state = IDLE; - } -} - -void temp_pseudolayer(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - current_pseudolayer = self->value1; - break; - case DEACTIVATED: - current_pseudolayer = self->pseudolayer; - *self->state = IDLE; - break; - case RESTART: - current_pseudolayer = self->pseudolayer; - break; - default: - break; - } -} - -void temp_pseudolayer_alt(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - current_pseudolayer = self->value1; - break; - case DEACTIVATED: - current_pseudolayer = self->value2; - *self->state = IDLE; - break; - case RESTART: - current_pseudolayer = self->value2; - break; - default: - break; - } -} - -void perm_pseudolayer(const struct Chord* self) { - if (*self->state == ACTIVATED) { - current_pseudolayer = self->value1; - *self->state = IDLE; - } -} - -void switch_layer(const struct Chord* self) { - if (*self->state == ACTIVATED) { - layer_move(self->value1); - *self->state = IDLE; - } -} - -void lock(const struct Chord* self) { - if (*self->state == ACTIVATED) { - lock_next = true; - *self->state = IDLE; - } -} - -void one_shot_key(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - key_in(self->value1); - *self->state = IN_ONE_SHOT; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - key_in(self->value1); - a_key_went_through = false; - break; - case RESTART: - if (a_key_went_through) { - key_out(self->value1); - } else { - *self->state = IN_ONE_SHOT; - } - default: - break; - } -} - -void one_shot_layer(const struct Chord* self) { - switch (*self->state) { - case ACTIVATED: - break; - case DEACTIVATED: - current_pseudolayer = self->value1; - *self->state = IN_ONE_SHOT; - break; - case FINISHED: - case PRESS_FROM_ACTIVE: - current_pseudolayer = self->value1; - a_key_went_through = false; - break; - case RESTART: - if (a_key_went_through) { - current_pseudolayer = self->pseudolayer; - } else { - *self->state = IN_ONE_SHOT; - } - default: - break; - } -} - -void command(const struct Chord* self) { - if (*self->state == ACTIVATED) { - command_mode++; - *self->state = IDLE; - } -} - -bool identical(uint16_t* buffer1, uint16_t* buffer2) { - bool same = true; - for (int i = 0; i < LEADER_MAX_LENGTH; i++) { - same = same && (buffer1[i] == buffer2[i]); - } - return same; -} - -void leader(const struct Chord* self) { - if (*self->state == ACTIVATED) { - in_leader_mode = true; - *self->state = IDLE; - } -} - -void dynamic_macro_record(const struct Chord* self) { - if (*self->state == ACTIVATED) { - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - dynamic_macro_buffer[i] = 0; - } - dynamic_macro_mode = true; - *self->state = IDLE; - } -} - -void dynamic_macro_next(const struct Chord* self) { - if (*self->state == ACTIVATED) { - if (dynamic_macro_mode && dynamic_macro_ind < DYNAMIC_MACRO_MAX_LENGTH) { - dynamic_macro_buffer[dynamic_macro_ind] = 0; - dynamic_macro_ind++; - } - *self->state = IDLE; - } -} - -void dynamic_macro_end(const struct Chord* self) { - if (*self->state == ACTIVATED) { - if (dynamic_macro_mode) { - dynamic_macro_mode = false; - } - *self->state = IDLE; - } -} - -void dynamic_macro_play(const struct Chord* self) { - if (*self->state == ACTIVATED) { - int ind_start = 0; - while (ind_start < DYNAMIC_MACRO_MAX_LENGTH) { - for (int i = ind_start; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - if (dynamic_macro_buffer[i] == 0) { - break; - } - register_code(dynamic_macro_buffer[i]); - } - send_keyboard_report(); - wait_ms(TAP_TIMEOUT); - for (int i = ind_start; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - if (dynamic_macro_buffer[i] == 0) { - ind_start = i + 1; - break; - } - unregister_code(dynamic_macro_buffer[i]); - } - send_keyboard_report(); - } - *self->state = IDLE; - } -} - -void string_in(const struct Chord* self) { - if (*self->state == ACTIVATED) { - char buffer[STRING_MAX_LENGTH]; - strcpy_P(buffer, (char*)pgm_read_word(&(strings[self->value1]))); - send_string(buffer); - } -} - -void clear(const struct Chord* self); - -void reset_keyboard_kb(void){ -#ifdef WATCHDOG_ENABLE - MCUSR = 0; - wdt_disable(); - wdt_reset(); -#endif - reset_keyboard(); -} - -void reset(const struct Chord* self) { - if (*self->state == ACTIVATED) { - reset_keyboard_kb(); - } -} - -uint8_t state_0 = IDLE; -const struct Chord chord_0 PROGMEM = {H_TOP1 + H_TOP12 + H_BOT1 + H_BOT12, ALWAYS_ON, &state_0, NULL, 0, 0, clear}; -uint8_t state_1 = IDLE; -const struct Chord chord_1 PROGMEM = {H_TOP6 + H_TOP7 + H_BOT6 + H_BOT7, ALWAYS_ON, &state_1, NULL, 0, 0, command}; -uint8_t state_2 = IDLE; -const struct Chord chord_2 PROGMEM = {H_TOP1, QWERTY, &state_2, NULL, KC_ESC, 0, single_dance}; -uint8_t state_3 = IDLE; -const struct Chord chord_3 PROGMEM = {H_TOP2, QWERTY, &state_3, NULL, KC_Q, 0, single_dance}; -uint8_t state_4 = IDLE; -const struct Chord chord_4 PROGMEM = {H_TOP3, QWERTY, &state_4, NULL, KC_W, 0, single_dance}; -uint8_t state_5 = IDLE; -const struct Chord chord_5 PROGMEM = {H_TOP4, QWERTY, &state_5, NULL, KC_E, 0, single_dance}; -uint8_t state_6 = IDLE; -const struct Chord chord_6 PROGMEM = {H_TOP5, QWERTY, &state_6, NULL, KC_R, 0, single_dance}; -uint8_t state_7 = IDLE; -const struct Chord chord_7 PROGMEM = {H_TOP6, QWERTY, &state_7, NULL, KC_T, 0, single_dance}; -uint8_t state_8 = IDLE; -const struct Chord chord_8 PROGMEM = {H_TOP7, QWERTY, &state_8, NULL, KC_Y, 0, single_dance}; -uint8_t state_9 = IDLE; -const struct Chord chord_9 PROGMEM = {H_TOP8, QWERTY, &state_9, NULL, KC_U, 0, single_dance}; -uint8_t state_10 = IDLE; -const struct Chord chord_10 PROGMEM = {H_TOP9, QWERTY, &state_10, NULL, KC_I, 0, single_dance}; -uint8_t state_11 = IDLE; -const struct Chord chord_11 PROGMEM = {H_TOP10, QWERTY, &state_11, NULL, KC_O, 0, single_dance}; -uint8_t state_12 = IDLE; -const struct Chord chord_12 PROGMEM = {H_TOP11, QWERTY, &state_12, NULL, KC_P, 0, single_dance}; -uint8_t state_13 = IDLE; -const struct Chord chord_13 PROGMEM = {H_TOP12, QWERTY, &state_13, NULL, KC_BACKSLASH, 0, single_dance}; -uint8_t state_14 = IDLE; -const struct Chord chord_14 PROGMEM = {H_TOP1 + H_BOT1, QWERTY, &state_14, NULL, KC_INS, 0, single_dance}; -uint8_t state_15 = IDLE; -const struct Chord chord_15 PROGMEM = {H_TOP2 + H_BOT2, QWERTY, &state_15, NULL, KC_A, 0, single_dance}; -uint8_t state_16 = IDLE; -uint8_t counter_16 = 0; -const struct Chord chord_16 PROGMEM = {H_TOP3 + H_BOT3, QWERTY, &state_16, &counter_16, KC_S, KC_LALT, key_key_dance}; -uint8_t state_17 = IDLE; -const struct Chord chord_17 PROGMEM = {H_TOP4 + H_BOT4, QWERTY, &state_17, NULL, KC_D, KC_LCTL, key_mod_dance}; -uint8_t state_18 = IDLE; -const struct Chord chord_18 PROGMEM = {H_TOP5 + H_BOT5, QWERTY, &state_18, NULL, KC_F, KC_LSFT, key_mod_dance}; -uint8_t state_19 = IDLE; -uint8_t counter_19 = 0; -const struct Chord chord_19 PROGMEM = {H_TOP6 + H_BOT6, QWERTY, &state_19, &counter_19, KC_G, KC_LGUI, key_key_dance}; -uint8_t state_20 = IDLE; -uint8_t counter_20 = 0; -const struct Chord chord_20 PROGMEM = {H_TOP7 + H_BOT7, QWERTY, &state_20, &counter_20, KC_H, KC_RGUI, key_key_dance}; -uint8_t state_21 = IDLE; -const struct Chord chord_21 PROGMEM = {H_TOP8 + H_BOT8, QWERTY, &state_21, NULL, KC_J, KC_RSFT, key_mod_dance}; -uint8_t state_22 = IDLE; -const struct Chord chord_22 PROGMEM = {H_TOP9 + H_BOT9, QWERTY, &state_22, NULL, KC_K, KC_RCTL, key_mod_dance}; -uint8_t state_23 = IDLE; -uint8_t counter_23 = 0; -const struct Chord chord_23 PROGMEM = {H_TOP10 + H_BOT10, QWERTY, &state_23, &counter_23, KC_L, KC_RALT, key_key_dance}; -uint8_t state_24 = IDLE; -const struct Chord chord_24 PROGMEM = {H_TOP11 + H_BOT11, QWERTY, &state_24, NULL, KC_SEMICOLON, 0, single_dance}; -uint8_t state_25 = IDLE; -const struct Chord chord_25 PROGMEM = {H_BOT1, QWERTY, &state_25, NULL, KC_TAB, 0, single_dance}; -uint8_t state_26 = IDLE; -const struct Chord chord_26 PROGMEM = {H_BOT2, QWERTY, &state_26, NULL, KC_Z, 0, single_dance}; -uint8_t state_27 = IDLE; -const struct Chord chord_27 PROGMEM = {H_BOT3, QWERTY, &state_27, NULL, KC_X, 0, single_dance}; -uint8_t state_28 = IDLE; -const struct Chord chord_28 PROGMEM = {H_BOT4, QWERTY, &state_28, NULL, KC_C, 0, single_dance}; -uint8_t state_29 = IDLE; -const struct Chord chord_29 PROGMEM = {H_BOT5, QWERTY, &state_29, NULL, KC_V, 0, single_dance}; -uint8_t state_30 = IDLE; -const struct Chord chord_30 PROGMEM = {H_BOT6, QWERTY, &state_30, NULL, KC_B, 0, single_dance}; -uint8_t state_31 = IDLE; -const struct Chord chord_31 PROGMEM = {H_BOT7, QWERTY, &state_31, NULL, KC_N, 0, single_dance}; -uint8_t state_32 = IDLE; -const struct Chord chord_32 PROGMEM = {H_BOT8, QWERTY, &state_32, NULL, KC_M, 0, single_dance}; -uint8_t state_33 = IDLE; -const struct Chord chord_33 PROGMEM = {H_BOT9, QWERTY, &state_33, NULL, KC_COMMA, 0, single_dance}; -uint8_t state_34 = IDLE; -const struct Chord chord_34 PROGMEM = {H_BOT10, QWERTY, &state_34, NULL, KC_DOT, 0, single_dance}; -uint8_t state_35 = IDLE; -const struct Chord chord_35 PROGMEM = {H_BOT11, QWERTY, &state_35, NULL, KC_SLASH, 0, single_dance}; -uint8_t state_36 = IDLE; -const struct Chord chord_36 PROGMEM = {H_BOT12, QWERTY, &state_36, NULL, KC_QUOTE, 0, single_dance}; -uint8_t state_37 = IDLE; -const struct Chord chord_37 PROGMEM = {H_THU1, QWERTY, &state_37, NULL, KC_ENTER, 0, single_dance}; -uint8_t state_38 = IDLE; -uint8_t counter_38 = 0; -const struct Chord chord_38 PROGMEM = {H_THU2, QWERTY, &state_38, &counter_38, KC_SPC, NUM, key_layer_dance}; -uint8_t state_39 = IDLE; -uint8_t counter_39 = 0; -const struct Chord chord_39 PROGMEM = {H_THU3, QWERTY, &state_39, &counter_39, KC_BSPC, NAV, key_layer_dance}; -uint8_t state_40 = IDLE; -const struct Chord chord_40 PROGMEM = {H_THU4, QWERTY, &state_40, NULL, KC_DEL, 0, single_dance}; -uint8_t state_41 = IDLE; -uint8_t counter_41 = 0; -const struct Chord chord_41 PROGMEM = {H_THU5, QWERTY, &state_41, &counter_41, KC_SPC, FNC, key_layer_dance}; -uint8_t state_42 = IDLE; -const struct Chord chord_42 PROGMEM = {H_THU6, QWERTY, &state_42, NULL, KC_ENTER, 0, single_dance}; -uint8_t state_43 = IDLE; -const struct Chord chord_43 PROGMEM = {H_THU2 + H_THU3, QWERTY, &state_43, NULL, MOUSE, 0, temp_pseudolayer}; -uint8_t state_44 = IDLE; -const struct Chord chord_44 PROGMEM = {H_TOP1, NUM, &state_44, NULL, KC_GRAVE, 0, single_dance}; -uint8_t state_45 = IDLE; -const struct Chord chord_45 PROGMEM = {H_TOP2, NUM, &state_45, NULL, KC_1, 0, single_dance}; -uint8_t state_46 = IDLE; -const struct Chord chord_46 PROGMEM = {H_TOP3, NUM, &state_46, NULL, KC_2, 0, single_dance}; -uint8_t state_47 = IDLE; -const struct Chord chord_47 PROGMEM = {H_TOP4, NUM, &state_47, NULL, KC_3, 0, single_dance}; -uint8_t state_48 = IDLE; -const struct Chord chord_48 PROGMEM = {H_TOP5, NUM, &state_48, NULL, KC_4, 0, single_dance}; -uint8_t state_49 = IDLE; -const struct Chord chord_49 PROGMEM = {H_TOP6, NUM, &state_49, NULL, KC_5, 0, single_dance}; -uint8_t state_50 = IDLE; -const struct Chord chord_50 PROGMEM = {H_TOP7, NUM, &state_50, NULL, KC_6, 0, single_dance}; -uint8_t state_51 = IDLE; -const struct Chord chord_51 PROGMEM = {H_TOP8, NUM, &state_51, NULL, KC_7, 0, single_dance}; -uint8_t state_52 = IDLE; -const struct Chord chord_52 PROGMEM = {H_TOP9, NUM, &state_52, NULL, KC_8, 0, single_dance}; -uint8_t state_53 = IDLE; -const struct Chord chord_53 PROGMEM = {H_TOP10, NUM, &state_53, NULL, KC_9, 0, single_dance}; -uint8_t state_54 = IDLE; -const struct Chord chord_54 PROGMEM = {H_TOP11, NUM, &state_54, NULL, KC_0, 0, single_dance}; -uint8_t state_55 = IDLE; -const struct Chord chord_55 PROGMEM = {H_TOP12, NUM, &state_55, NULL, KC_MINUS, 0, single_dance}; -uint8_t state_56 = IDLE; -const struct Chord chord_56 PROGMEM = {H_TOP3 + H_BOT3, NUM, &state_56, NULL, KC_LALT, 0, single_dance}; -uint8_t state_57 = IDLE; -const struct Chord chord_57 PROGMEM = {H_TOP4 + H_BOT4, NUM, &state_57, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_58 = IDLE; -const struct Chord chord_58 PROGMEM = {H_TOP5 + H_BOT5, NUM, &state_58, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_59 = IDLE; -const struct Chord chord_59 PROGMEM = {H_TOP6 + H_BOT6, NUM, &state_59, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_60 = IDLE; -const struct Chord chord_60 PROGMEM = {H_TOP7 + H_BOT7, NUM, &state_60, NULL, KC_RGUI, 0, single_dance}; -uint8_t state_61 = IDLE; -const struct Chord chord_61 PROGMEM = {H_TOP8 + H_BOT8, NUM, &state_61, NULL, KC_RSFT, 0, single_dance}; -uint8_t state_62 = IDLE; -const struct Chord chord_62 PROGMEM = {H_TOP9 + H_BOT9, NUM, &state_62, NULL, KC_RCTL, 0, single_dance}; -uint8_t state_63 = IDLE; -const struct Chord chord_63 PROGMEM = {H_TOP10 + H_BOT10, NUM, &state_63, NULL, KC_RALT, 0, single_dance}; -uint8_t state_64 = IDLE; -const struct Chord chord_64 PROGMEM = {H_BOT12, NUM, &state_64, NULL, KC_EQUAL, 0, single_dance}; -uint8_t state_65 = IDLE; -const struct Chord chord_65 PROGMEM = {H_TOP2, FNC, &state_65, NULL, KC_F1, 0, single_dance}; -uint8_t state_66 = IDLE; -const struct Chord chord_66 PROGMEM = {H_TOP3, FNC, &state_66, NULL, KC_F2, 0, single_dance}; -uint8_t state_67 = IDLE; -const struct Chord chord_67 PROGMEM = {H_TOP4, FNC, &state_67, NULL, KC_F3, 0, single_dance}; -uint8_t state_68 = IDLE; -const struct Chord chord_68 PROGMEM = {H_TOP5, FNC, &state_68, NULL, KC_F4, 0, single_dance}; -uint8_t state_69 = IDLE; -const struct Chord chord_69 PROGMEM = {H_TOP6, FNC, &state_69, NULL, KC_F5, 0, single_dance}; -uint8_t state_70 = IDLE; -const struct Chord chord_70 PROGMEM = {H_TOP7, FNC, &state_70, NULL, KC_F6, 0, single_dance}; -uint8_t state_71 = IDLE; -const struct Chord chord_71 PROGMEM = {H_TOP8, FNC, &state_71, NULL, KC_F7, 0, single_dance}; -uint8_t state_72 = IDLE; -const struct Chord chord_72 PROGMEM = {H_TOP9, FNC, &state_72, NULL, KC_F8, 0, single_dance}; -uint8_t state_73 = IDLE; -const struct Chord chord_73 PROGMEM = {H_TOP10, FNC, &state_73, NULL, KC_F9, 0, single_dance}; -uint8_t state_74 = IDLE; -const struct Chord chord_74 PROGMEM = {H_TOP11, FNC, &state_74, NULL, KC_F10, 0, single_dance}; -uint8_t state_75 = IDLE; -const struct Chord chord_75 PROGMEM = {H_TOP12, FNC, &state_75, NULL, KC_F11, 0, single_dance}; -uint8_t state_76 = IDLE; -const struct Chord chord_76 PROGMEM = {H_TOP3 + H_BOT3, FNC, &state_76, NULL, KC_LALT, 0, single_dance}; -uint8_t state_77 = IDLE; -const struct Chord chord_77 PROGMEM = {H_TOP4 + H_BOT4, FNC, &state_77, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_78 = IDLE; -const struct Chord chord_78 PROGMEM = {H_TOP5 + H_BOT5, FNC, &state_78, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_79 = IDLE; -const struct Chord chord_79 PROGMEM = {H_TOP6 + H_BOT6, FNC, &state_79, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_80 = IDLE; -const struct Chord chord_80 PROGMEM = {H_TOP7 + H_BOT7, FNC, &state_80, NULL, KC_RGUI, 0, single_dance}; -uint8_t state_81 = IDLE; -const struct Chord chord_81 PROGMEM = {H_TOP8 + H_BOT8, FNC, &state_81, NULL, KC_RSFT, 0, single_dance}; -uint8_t state_82 = IDLE; -const struct Chord chord_82 PROGMEM = {H_TOP9 + H_BOT9, FNC, &state_82, NULL, KC_RCTL, 0, single_dance}; -uint8_t state_83 = IDLE; -const struct Chord chord_83 PROGMEM = {H_TOP10 + H_BOT10, FNC, &state_83, NULL, KC_RALT, 0, single_dance}; -uint8_t state_84 = IDLE; -const struct Chord chord_84 PROGMEM = {H_BOT12, FNC, &state_84, NULL, KC_F12, 0, single_dance}; -uint8_t state_85 = IDLE; -const struct Chord chord_85 PROGMEM = {H_TOP8, NAV, &state_85, NULL, KC_HOME, 0, single_dance}; -uint8_t state_86 = IDLE; -const struct Chord chord_86 PROGMEM = {H_TOP9, NAV, &state_86, NULL, KC_UP, 0, single_dance}; -uint8_t state_87 = IDLE; -const struct Chord chord_87 PROGMEM = {H_TOP10, NAV, &state_87, NULL, KC_END, 0, single_dance}; -uint8_t state_88 = IDLE; -const struct Chord chord_88 PROGMEM = {H_TOP11, NAV, &state_88, NULL, KC_PGUP, 0, single_dance}; -uint8_t state_89 = IDLE; -const struct Chord chord_89 PROGMEM = {H_TOP3 + H_BOT3, NAV, &state_89, NULL, KC_LALT, 0, single_dance}; -uint8_t state_90 = IDLE; -const struct Chord chord_90 PROGMEM = {H_TOP4 + H_BOT4, NAV, &state_90, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_91 = IDLE; -const struct Chord chord_91 PROGMEM = {H_TOP5 + H_BOT5, NAV, &state_91, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_92 = IDLE; -const struct Chord chord_92 PROGMEM = {H_TOP6 + H_BOT6, NAV, &state_92, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_93 = IDLE; -const struct Chord chord_93 PROGMEM = {H_BOT8, NAV, &state_93, NULL, KC_LEFT, 0, single_dance}; -uint8_t state_94 = IDLE; -const struct Chord chord_94 PROGMEM = {H_BOT9, NAV, &state_94, NULL, KC_DOWN, 0, single_dance}; -uint8_t state_95 = IDLE; -const struct Chord chord_95 PROGMEM = {H_BOT10, NAV, &state_95, NULL, KC_RIGHT, 0, single_dance}; -uint8_t state_96 = IDLE; -const struct Chord chord_96 PROGMEM = {H_BOT11, NAV, &state_96, NULL, KC_PGDN, 0, single_dance}; -uint8_t state_97 = IDLE; -const struct Chord chord_97 PROGMEM = {H_TOP8, MOUSE, &state_97, NULL, KC_BTN1, 0, single_dance}; -uint8_t state_98 = IDLE; -const struct Chord chord_98 PROGMEM = {H_TOP9, MOUSE, &state_98, NULL, KC_MS_U, 0, single_dance}; -uint8_t state_99 = IDLE; -const struct Chord chord_99 PROGMEM = {H_TOP10, MOUSE, &state_99, NULL, KC_BTN2, 0, single_dance}; -uint8_t state_100 = IDLE; -const struct Chord chord_100 PROGMEM = {H_TOP11, MOUSE, &state_100, NULL, KC_WH_U, 0, single_dance}; -uint8_t state_101 = IDLE; -const struct Chord chord_101 PROGMEM = {H_TOP3 + H_BOT3, MOUSE, &state_101, NULL, KC_LALT, 0, single_dance}; -uint8_t state_102 = IDLE; -const struct Chord chord_102 PROGMEM = {H_TOP4 + H_BOT4, MOUSE, &state_102, NULL, KC_LCTL, 0, single_dance}; -uint8_t state_103 = IDLE; -const struct Chord chord_103 PROGMEM = {H_TOP5 + H_BOT5, MOUSE, &state_103, NULL, KC_LSFT, 0, single_dance}; -uint8_t state_104 = IDLE; -const struct Chord chord_104 PROGMEM = {H_TOP6 + H_BOT6, MOUSE, &state_104, NULL, KC_LGUI, 0, single_dance}; -uint8_t state_105 = IDLE; -const struct Chord chord_105 PROGMEM = {H_BOT8, MOUSE, &state_105, NULL, KC_MS_L, 0, single_dance}; -uint8_t state_106 = IDLE; -const struct Chord chord_106 PROGMEM = {H_BOT9, MOUSE, &state_106, NULL, KC_MS_D, 0, single_dance}; -uint8_t state_107 = IDLE; -const struct Chord chord_107 PROGMEM = {H_BOT10, MOUSE, &state_107, NULL, KC_MS_R, 0, single_dance}; -uint8_t state_108 = IDLE; -const struct Chord chord_108 PROGMEM = {H_BOT11, MOUSE, &state_108, NULL, KC_WH_D, 0, single_dance}; - -const struct Chord* const list_of_chords[] PROGMEM = { - &chord_0, &chord_1, &chord_2, &chord_3, &chord_4, &chord_5, &chord_6, &chord_7, &chord_8, &chord_9, &chord_10, &chord_11, &chord_12, &chord_13, &chord_14, &chord_15, &chord_16, &chord_17, &chord_18, &chord_19, &chord_20, &chord_21, &chord_22, &chord_23, &chord_24, &chord_25, &chord_26, &chord_27, &chord_28, &chord_29, &chord_30, &chord_31, &chord_32, &chord_33, &chord_34, &chord_35, &chord_36, &chord_37, &chord_38, &chord_39, &chord_40, &chord_41, &chord_42, &chord_43, &chord_44, &chord_45, &chord_46, &chord_47, &chord_48, &chord_49, &chord_50, &chord_51, &chord_52, &chord_53, &chord_54, &chord_55, &chord_56, &chord_57, &chord_58, &chord_59, &chord_60, &chord_61, &chord_62, &chord_63, &chord_64, &chord_65, &chord_66, &chord_67, &chord_68, &chord_69, &chord_70, &chord_71, &chord_72, &chord_73, &chord_74, &chord_75, &chord_76, &chord_77, &chord_78, &chord_79, &chord_80, &chord_81, &chord_82, &chord_83, &chord_84, &chord_85, &chord_86, &chord_87, &chord_88, &chord_89, &chord_90, &chord_91, &chord_92, &chord_93, &chord_94, &chord_95, &chord_96, &chord_97, &chord_98, &chord_99, &chord_100, &chord_101, &chord_102, &chord_103, &chord_104, &chord_105, &chord_106, &chord_107, &chord_108 -}; - -const uint16_t** const leader_triggers PROGMEM = NULL; -void (*leader_functions[]) (void) = {}; - -#define NUMBER_OF_CHORDS 109 -#define NUMBER_OF_LEADER_COMBOS 0 - -bool are_hashed_keycodes_in_sound(HASH_TYPE keycodes_hash, HASH_TYPE sound) { - return (keycodes_hash & sound) == keycodes_hash; -} - -uint8_t keycode_to_index(uint16_t keycode) { - return keycode - FIRST_INTERNAL_KEYCODE; -} - -void sound_keycode_array(uint16_t keycode) { - uint8_t index = keycode_to_index(keycode); - keycode_index++; - keycodes_buffer_array[index] = keycode_index; -} - -void silence_keycode_hash_array(HASH_TYPE keycode_hash) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - bool index_in_hash = ((HASH_TYPE) 1 << i) & keycode_hash; - if (index_in_hash) { - uint8_t current_val = keycodes_buffer_array[i]; - keycodes_buffer_array[i] = 0; - for (int j = 0; j < NUMBER_OF_KEYS; j++) { - if (keycodes_buffer_array[j] > current_val) { - keycodes_buffer_array[j]--; - } - } - keycode_index--; - } - } -} - -bool are_hashed_keycodes_in_array(HASH_TYPE keycode_hash) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - bool index_in_hash = ((HASH_TYPE) 1 << i) & keycode_hash; - bool index_in_array = (bool) keycodes_buffer_array[i]; - if (index_in_hash && !index_in_array) { - return false; - } - } - return true; -} - -void kill_one_shots(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == IN_ONE_SHOT) { - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - } - } -} - -void process_finished_dances(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == ACTIVATED) { - *chord->state = PRESS_FROM_ACTIVE; - chord->function(chord); - if (a_key_went_through) { - kill_one_shots(); - } - dance_timer = timer_read(); - } else if (*chord->state == IDLE_IN_DANCE) { - *chord->state = FINISHED; - chord->function(chord); - if (*chord->state == FINISHED) { - *chord->state = RESTART; - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - } - } else if (*chord->state == PRESS_FROM_ACTIVE) { - *chord->state = FINISHED_FROM_ACTIVE; - chord->function(chord); - if (a_key_went_through) { - kill_one_shots(); - } - dance_timer = timer_read(); - } - } -} - -uint8_t keycodes_buffer_array_min(uint8_t* first_keycode_index) { - for (int i = 0; i < NUMBER_OF_KEYS; i++) { - if (keycodes_buffer_array[i] == 1) { - if (first_keycode_index != NULL) { - *first_keycode_index = (uint8_t) i; - } - return 1; - } - } - return 0; -} - -void remove_subchords(void) { - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (!(*chord->state == READY || *chord->state == READY_IN_DANCE || *chord->state == READY_LOCKED)) { - continue; - } - - struct Chord chord_storage_2; - struct Chord* chord_ptr_2; - struct Chord* chord_2; - for (int j = 0; j < NUMBER_OF_CHORDS; j++) { - if (i == j) {continue;} - - chord_ptr_2 = (struct Chord*) pgm_read_word (&list_of_chords[j]); - memcpy_P(&chord_storage_2, chord_ptr_2, sizeof(struct Chord)); - chord_2 = &chord_storage_2; - - if (are_hashed_keycodes_in_sound(chord_2->keycodes_hash, chord->keycodes_hash)) { - if (*chord_2->state == READY) { - *chord_2->state = IDLE; - } - if (*chord_2->state == READY_IN_DANCE) { - *chord_2->state = IDLE_IN_DANCE; - } - if (*chord_2->state == READY_LOCKED) { - *chord_2->state = LOCKED; - } - } - } - } -} - -void process_ready_chords(void) { - uint8_t first_keycode_index = 0; - while (keycodes_buffer_array_min(&first_keycode_index)) { - // find ready chords - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - // if the chord does not contain the first keycode - bool contains_first_keycode = ((uint32_t) 1 << first_keycode_index) & chord->keycodes_hash; - if (!contains_first_keycode) { - continue; - } - - if (!are_hashed_keycodes_in_array(chord->keycodes_hash)){ - continue; - } - - if (*chord->state == LOCKED) { - *chord->state = READY_LOCKED; - continue; - } - - if (!(chord->pseudolayer == current_pseudolayer || chord->pseudolayer == ALWAYS_ON)) { - continue; - } - - if (*chord->state == IDLE) { - *chord->state = READY; - continue; - } - - if (*chord->state == IDLE_IN_DANCE) { - *chord->state = READY_IN_DANCE; - } - } - - // remove subchords - remove_subchords(); - - // execute logic - // this should be only one chord - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - if (*chord->state == READY_LOCKED) { - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - break; - } - - if (*chord->state == READY || *chord->state == READY_IN_DANCE) { - if (last_chord && last_chord != chord) { - process_finished_dances(); - } - - bool lock_next_prev_state = lock_next; - - *chord->state = ACTIVATED; - chord->function(chord); - dance_timer = timer_read(); - - if (lock_next && lock_next == lock_next_prev_state) { - lock_next = false; - *chord->state = PRESS_FROM_ACTIVE; - chord->function(chord); - if (*chord->state == PRESS_FROM_ACTIVE) { - *chord->state = LOCKED; - } - if (a_key_went_through) { - kill_one_shots(); - } - } - break; - } - } - - // silence notes - silence_keycode_hash_array(chord->keycodes_hash); - } -} - -void deactivate_active_chords(uint16_t keycode) { - HASH_TYPE hash = (HASH_TYPE)1 << (keycode - SAFE_RANGE); - bool broken; - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - broken = are_hashed_keycodes_in_sound(hash, chord->keycodes_hash); - if (!broken) { - continue; - } - - switch (*chord->state) { - case ACTIVATED: - *chord->state = DEACTIVATED; - chord->function(chord); - - if (*chord->state == DEACTIVATED) { - dance_timer = timer_read(); - *chord->state = IDLE_IN_DANCE; - } - if (*chord->state != IN_ONE_SHOT) { - kill_one_shots(); - } - break; - case PRESS_FROM_ACTIVE: - case FINISHED_FROM_ACTIVE: - *chord->state = RESTART; - chord->function(chord); - if (*chord->state == RESTART) { - *chord->state = IDLE; - } - kill_one_shots(); - break; - default: - break; - } - } - -} - -void process_command(void) { - command_mode = 0; - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - if (command_buffer[i]) { - register_code(command_buffer[i]); - } - send_keyboard_report(); - } - wait_ms(TAP_TIMEOUT); - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - if (command_buffer[i]) { - unregister_code(command_buffer[i]); - } - send_keyboard_report(); - } - for (int i = 0; i < COMMAND_MAX_LENGTH; i++) { - command_buffer[i] = 0; - } - command_ind = 0; -} - -void process_leader(void) { - in_leader_mode = false; - for (int i = 0; i < NUMBER_OF_LEADER_COMBOS; i++) { - uint16_t trigger[LEADER_MAX_LENGTH]; - memcpy_P(trigger, leader_triggers[i], LEADER_MAX_LENGTH * sizeof(uint16_t)); - - if (identical(leader_buffer, trigger)) { - (*leader_functions[i])(); - break; - } - } - for (int i = 0; i < LEADER_MAX_LENGTH; i++) { - leader_buffer[i] = 0; - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode < FIRST_INTERNAL_KEYCODE || keycode > LAST_INTERNAL_KEYCODE) { - return true; - } - - if (record->event.pressed) { - sound_keycode_array(keycode); - } else { - process_ready_chords(); - deactivate_active_chords(keycode); - } - chord_timer = timer_read(); - leader_timer = timer_read(); - - return false; -} - -void matrix_scan_user(void) { - bool chord_timer_expired = timer_elapsed(chord_timer) > CHORD_TIMEOUT; - if (chord_timer_expired && keycodes_buffer_array_min(NULL)) { - process_ready_chords(); - } - - bool dance_timer_expired = timer_elapsed(dance_timer) > DANCE_TIMEOUT; - if (dance_timer_expired) { // would love to have && in_dance but not sure how - process_finished_dances(); - } - - bool in_command_mode = command_mode == 2; - if (in_command_mode) { - process_command(); - } - - bool leader_timer_expired = timer_elapsed(leader_timer) > LEADER_TIMEOUT; - if (leader_timer_expired && in_leader_mode) { - process_leader(); - } - -} - -void clear(const struct Chord* self) { - if (*self->state == ACTIVATED) { - // kill all chords - struct Chord chord_storage; - struct Chord* chord_ptr; - struct Chord* chord; - - for (int i = 0; i < NUMBER_OF_CHORDS; i++) { - chord_ptr = (struct Chord*) pgm_read_word (&list_of_chords[i]); - memcpy_P(&chord_storage, chord_ptr, sizeof(struct Chord)); - chord = &chord_storage; - - *chord->state = IDLE; - - if (chord->counter) { - *chord->counter = 0; - } - } - - // clear keyboard - clear_keyboard(); - send_keyboard_report(); - - // switch to default pseudolayer - current_pseudolayer = DEFAULT_PSEUDOLAYER; - - // clear all keyboard states - lock_next = false; - autoshift_mode = true; - command_mode = 0; - in_leader_mode = false; - leader_ind = 0; - dynamic_macro_mode = false; - a_key_went_through = false; - - for (int i = 0; i < DYNAMIC_MACRO_MAX_LENGTH; i++) { - dynamic_macro_buffer[i] = 0; - } - } -} \ No newline at end of file diff --git a/keyboards/gboards/georgi/keymaps/dennytom/keymap_def.json b/keyboards/gboards/georgi/keymaps/dennytom/keymap_def.json deleted file mode 100644 index 232ccafadf44..000000000000 --- a/keyboards/gboards/georgi/keymaps/dennytom/keymap_def.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "keys": [ - "TOP1", "TOP2", "TOP3", "TOP4", "TOP5", "TOP6", "TOP7", "TOP8", "TOP9", "TOP10", "TOP11", "TOP12", - "BOT1", "BOT2", "BOT3", "BOT4", "BOT5", "BOT6", "BOT7", "BOT8", "BOT9", "BOT10", "BOT11", "BOT12", - "THU1", "THU2", "THU3", "THU4", "THU5", "THU6" - ], - "parameters": { - "layout_function_name": "LAYOUT_georgi", - "chord_timeout": 100, - "dance_timeout": 200, - "leader_timeout": 750, - "tap_timeout": 50, - "command_max_length": 5, - "leader_max_length": 5, - "dynamic_macro_max_length": 20, - "string_max_length": 16, - "long_press_multiplier": 3, - "default_pseudolayer": "QWERTY" - }, - "layers": [ - { - "type": "auto" - } - ], - "chord_sets": [ - { - "name": "rows", - "chords": - [ - ["TOP1"], ["TOP2"], ["TOP3"], ["TOP4"], ["TOP5"], ["TOP6"], ["TOP7"], ["TOP8"], ["TOP9"], ["TOP10"], ["TOP11"], ["TOP12"], - ["TOP1", "BOT1"], ["TOP2", "BOT2"], ["TOP3", "BOT3"], ["TOP4", "BOT4"], ["TOP5", "BOT5"], ["TOP6", "BOT6"], ["TOP7", "BOT7"], ["TOP8", "BOT8"], ["TOP9", "BOT9"], ["TOP10", "BOT10"], ["TOP11", "BOT11"], ["TOP12", "BOT12"], - ["BOT1"], ["BOT2"], ["BOT3"], ["BOT4"], ["BOT5"], ["BOT6"], ["BOT7"], ["BOT8"], ["BOT9"], ["BOT10"], ["BOT11"], ["BOT12"], - ["THU1"], ["THU2"], ["THU3"], ["THU4"], ["THU5"], ["THU6"] - ] - } - ], - "pseudolayers": [ - { - "name": "ALWAYS_ON", - "chords": [ - { - "type": "visual", - "chord": [ - "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "X", - "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "X", - " ", " ", " ", " ", " ", " " - ], - "keycode": "CLEAR_KB" - }, - { - "type": "visual", - "chord": [ - " ", " ", " ", " ", " ", "X", "X", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", "X", "X", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " " - ], - "keycode": "CMD" - } - ] - }, - { - "name": "QWERTY", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - "ESC", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "\\", - "INS", "A", "KK(S, LALT)", "KM(D, LCTL)", "KM(F, LSFT)", "KK(G, LGUI)", "KK(H, RGUI)", "KM(J, RSFT)", "KM(K, RCTL)", "KK(L, RALT)", ";", " ", - "TAB", "Z", "X", "C", "V", "B", "N", "M", ",", ".", "/", "'", - "","","","","","" - ] - }, - { - "type": "visual_array", - "keys": ["THU1", "THU2", "THU3", "THU4", "THU5", "THU6"], - "dictionary": [ - ["X", " ", " ", " ", " ", " ", "ENTER"], - [" ", "X", " ", " ", " ", " ", "KL(SPC, NUM)"], - [" ", " ", "X", " ", " ", " ", "KL(BSPC, NAV)"], - [" ", " ", " ", "X", " ", " ", "DEL"], - [" ", " ", " ", " ", "X", " ", "KL(SPC, FNC)"], - [" ", " ", " ", " ", " ", "X", "ENTER"], - [" ", "X", "X", " ", " ", " ", "MO(MOUSE)"] - ] - } - ] - }, - { - "name": "NUM", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", - " ", " ", "LALT", "LCTL", "LSFT", "LGUI", "RGUI", "RSFT", "RCTL", "RALT", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", "[", "]", "=", - " ", " ", " ", " ", " ", " " - ] - } - ] - }, - { - "name": "FNC", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", - " ", " ", "LALT", "LCTL", "LSFT", "LGUI", "RGUI", "RSFT", "RCTL", "RALT", " ", " ", - " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "F12", - " ", " ", " ", " ", " ", " " - ] - } - ] - }, - { - "name": "NAV", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ", " ", " ", "HOME", "UP", "END", "PGUP", " ", - " ", " ", "LALT", "LCTL", "LSFT", "LGUI", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", "LEFT", "DOWN", "RIGHT", "PGDN", " ", - " ", " ", " ", " ", " ", " " - ] - } - ] - }, - { - "name": "MOUSE", - "chords": [ - { - "type": "chord_set", - "set": "rows", - "keycodes": [ - " ", " ", " ", " ", " ", " ", " ", "BTN1", "MS_U", "BTN2", "WH_U", " ", - " ", " ", "LALT", "LCTL", "LSFT", "LGUI", " ", " ", " ", " ", " ", " ", - " ", " ", " ", " ", " ", " ", " ", "MS_L", "MS_D", "MS_R", "WH_D", " ", - " ", " ", " ", " ", " ", " " - ] - } - ] - } - ], - "leader_sequences": [], - "extra_code": "", - "extra_dependencies": [] -} \ No newline at end of file diff --git a/keyboards/gboards/georgi/keymaps/dennytom/rules.mk b/keyboards/gboards/georgi/keymaps/dennytom/rules.mk deleted file mode 100644 index af3726f14a99..000000000000 --- a/keyboards/gboards/georgi/keymaps/dennytom/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -MOUSEKEY_ENABLE = yes -CONSOLE_ENABLE = no diff --git a/keyboards/gboards/georgi/keymaps/minimal/keymap.c b/keyboards/gboards/georgi/keymaps/minimal/keymap.c index c4e78033bde1..2f089866b2a1 100644 --- a/keyboards/gboards/georgi/keymaps/minimal/keymap.c +++ b/keyboards/gboards/georgi/keymaps/minimal/keymap.c @@ -12,7 +12,6 @@ #include QMK_KEYBOARD_H #include "sten.h" -#include "keymap_steno.h" // Proper Layers #define FUNCT (LSD | LK | LP | LH) diff --git a/keyboards/gboards/georgi/keymaps/norman/keymap.c b/keyboards/gboards/georgi/keymaps/norman/keymap.c index 870e460e2c5b..1b53cddd8bc9 100644 --- a/keyboards/gboards/georgi/keymaps/norman/keymap.c +++ b/keyboards/gboards/georgi/keymaps/norman/keymap.c @@ -12,7 +12,6 @@ #include QMK_KEYBOARD_H #include "sten.h" -#include "keymap_steno.h" // Proper Layers #define FUNCT (LSD | LK | LP | LH) diff --git a/keyboards/gboards/georgi/rules.mk b/keyboards/gboards/georgi/rules.mk index 5980342669e0..5b63e269fa56 100644 --- a/keyboards/gboards/georgi/rules.mk +++ b/keyboards/gboards/georgi/rules.mk @@ -14,4 +14,5 @@ CUSTOM_MATRIX = yes STENO_ENABLE = yes LTO_ENABLE = yes -SRC += matrix.c i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes \ No newline at end of file diff --git a/keyboards/gboards/georgi/sten.h b/keyboards/gboards/georgi/sten.h index b5aa79893eec..e4bc31ef7a5e 100644 --- a/keyboards/gboards/georgi/sten.h +++ b/keyboards/gboards/georgi/sten.h @@ -7,9 +7,6 @@ #pragma once #include "georgi.h" -#include "mousekey.h" -#include "keymap_steno.h" -#include "wait.h" extern size_t keymapsCount; // Total keymaps extern uint32_t cChord; // Current Chord diff --git a/keyboards/gboards/gergo/config.h b/keyboards/gboards/gergo/config.h index dbff6ccf6f1a..44cb5a4304a4 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 53711cb27151..bc53f2db5f05 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/keymaps/abstractkb/config.h b/keyboards/gboards/gergo/keymaps/abstractkb/config.h deleted file mode 100644 index d3c17757c808..000000000000 --- a/keyboards/gboards/gergo/keymaps/abstractkb/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#undef DEBOUNCE -#define DEBOUNCE 10 diff --git a/keyboards/gboards/gergo/keymaps/abstractkb/keymap.c b/keyboards/gboards/gergo/keymaps/abstractkb/keymap.c deleted file mode 100644 index 6ee37f8175ea..000000000000 --- a/keyboards/gboards/gergo/keymaps/abstractkb/keymap.c +++ /dev/null @@ -1,128 +0,0 @@ -/* Good on you for modifying your layout! if you don't have - * time to read the QMK docs, a list of keycodes can be found at - * - * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md - * - * There's also a template for adding new layers at the bottom of this file! - */ - -#include QMK_KEYBOARD_H - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define NUMB 2 // numbers/motion - -// Blank template at the bottom - -enum customKeycodes { - URL = 1 -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | L1/ESC | Q | W | E | R | T | | Y | U | I | O | P | | \ | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * |Ctrl/BS | A | S | D | F | G | RMB | | | H | J | K | L | ; : | ' " | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | LMB | | | N | M | , < | . > | / ? |RShft/-_| - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .----------. .-------. .------. .-----. - * | GUI/Del | |Ent/ALT| | Tab | |GUI | - * '----------' '-------' `------. '-----' - * ,-------. ,-------. - * | MMB | | PgDn | - * ,------|-------| |-------|------. - * | SYMB | NUMB | | SYMB | NUMB | - * | Space| Escape| | Mod |Space | - * | | | | | | - * `--------------' `--------------' - */ -[BASE] = LAYOUT_gergo( - LT(NUMB, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, - MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_BTN2, KC_TRNS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BTN1, KC_BTN3, KC_PGDN, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_MINS), - MT(MOD_LGUI, KC_DEL), MT(MOD_LALT, KC_ENT), LT(SYMB, KC_SPC), LT(NUMB, KC_ESC), LT(SYMB, KC_ENT), LT(NUMB, KC_SPC), KC_TAB, KC_LGUI - ), -/* Keymap 1: Symbols layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | ! | @ | { | } | | | | | | | | | \ | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` | | | | + | - | / | * | % | ' " | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | = | , | . | / ? | - _ | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .------. .------. .------. .-----. - * | | | | | | | DEL | - * '------' '------' `------. '-----' - * ,-------. ,-------. - * | | | PgUp | - * ,------|-------| |-------|------. - * | | | | | | - * | ; | = | | = | ; | - * | | | | | | - * `--------------' `--------------' - */ -[SYMB] = LAYOUT_gergo( - KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, - KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_TRNS, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT, - KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, - KC_TRNS, KC_TRNS, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_PGUP, KC_DEL - ), -/* Keymap 2: Pad/Function layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | F1 | F2 | F3 | F4 | F5 | F6 | BTN1 | | | LEFT | DOWN | UP | RIGHT|VolDn | VolUp | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | F7 | F8 | F9 | F10 | F11 | F12 | BTN2 | | | MLFT | MDWN | MUP | MRGHT|Ply/Pa| Skip | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .------. .------. .------. .-----. - * | | | | | | | | - * '------' '------' `------. '-----' - * ,-------. ,-------. - * | | | PgUp | - * ,------|-------| |-------|------. - * | | | | | | - * | | | | | | - * | | | | | | - * `--------------' `--------------' - */ -[NUMB] = LAYOUT_gergo( - 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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLD, KC_VOLU, - KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_MPLY, KC_MNXT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), -}; - -/* Keymap template - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | | | | | | | | | | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .------. .------. .------. .-----. - * | | | | | | | | - * '------' '------' `------. '-----' - * ,-------. ,-------. - * | | | | - * ,------|-------| |-------|------. - * | | | | | | - * | | | | | | - * | | | | | | - * `--------------' `--------------' -[SYMB] = LAYOUT_gergo( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/gboards/gergo/keymaps/abstractkb/readme.md b/keyboards/gboards/gergo/keymaps/abstractkb/readme.md deleted file mode 100644 index 863b21e8e23c..000000000000 --- a/keyboards/gboards/gergo/keymaps/abstractkb/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# [Gergo! By g Heavy Industries](http://gboards.ca) - -![Gergo image](https://4.bp.blogspot.com/-889nMXxgSM0/XCNxwnO5kUI/AAAAAAAA6mI/tZbWgZVCBW0dyZOCGJDkjN06DVax7j8XwCLcBGAs/s1600/48422820_967732713413298_485744639215665152_n.jpg) - -This is my personal modification to the stock gergo keymap. - -## Settings -To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gboards/gergo/keymaps/default/rules.mk - -Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gboards/gergo/keymaps/abstractkb/rules.mk b/keyboards/gboards/gergo/keymaps/abstractkb/rules.mk deleted file mode 100644 index 4b4e56c4a047..000000000000 --- a/keyboards/gboards/gergo/keymaps/abstractkb/rules.mk +++ /dev/null @@ -1,38 +0,0 @@ -#---------------------------------------------------------------------------- -# make gergo:germ:dfu -# Make sure you have dfu-programmer installed! -#---------------------------------------------------------------------------- -# Firmware options -BALLER = no # Enable to ball out -BALLSTEP = 20 # Multiple in px to move, multiplied by layer number -SCROLLSTEP = 1 # Lines to scroll with ball -MOUSEKEY_ENABLE = yes # Mouse keys, needed for baller - -#Debug options -VERBOSE = yes -DEBUG_MATRIX_SCAN_RATE = no -DEBUG_BALLER = no -DEBUG_MATRIX = yes - -# A bunch of stuff that you shouldn't touch unless you -# know what you're doing. -# -# No touchy, capiche? - -ifneq ($(strip $(BALLSTEP)),) - OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) -endif -ifneq ($(strip $(SCROLLSTEP)),) - OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP)) -endif -ifeq ($(strip $(BALLER)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = custom - OPT_DEFS += -DBALLER -endif -ifeq ($(strip $(DEBUG_BALLER)), yes) - OPT_DEFS += -DDEBUG_BALLER -endif -ifeq ($(strip $(DEBUG_MATRIX)), yes) - OPT_DEFS += -DDEBUG_MATRIX -endif diff --git a/keyboards/gboards/gergo/keymaps/colemak/rules.mk b/keyboards/gboards/gergo/keymaps/colemak/rules.mk index 3b81fdfa1bda..db8d96529218 100644 --- a/keyboards/gboards/gergo/keymaps/colemak/rules.mk +++ b/keyboards/gboards/gergo/keymaps/colemak/rules.mk @@ -18,7 +18,8 @@ DEBUG_MATRIX = no # know what you're doing. # # No touchy, capiche? -SRC += matrix.c i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes ifneq ($(strip $(BALLSTEP)),) OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) endif diff --git a/keyboards/gboards/gergo/keymaps/default/rules.mk b/keyboards/gboards/gergo/keymaps/default/rules.mk index bc2b3cf43bdc..6f203da1bd4c 100644 --- a/keyboards/gboards/gergo/keymaps/default/rules.mk +++ b/keyboards/gboards/gergo/keymaps/default/rules.mk @@ -18,7 +18,8 @@ DEBUG_MATRIX = yes # know what you're doing. # # No touchy, capiche? -SRC += matrix.c i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes ifneq ($(strip $(BALLSTEP)),) OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) endif diff --git a/keyboards/gboards/gergo/keymaps/drashna/keymap.c b/keyboards/gboards/gergo/keymaps/drashna/keymap.c deleted file mode 100644 index 4f7d6b5dfa92..000000000000 --- a/keyboards/gboards/gergo/keymaps/drashna/keymap.c +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" - -/* - * The `LAYOUT_gergo_base` macro is a template to allow the use of identical - * modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so - * that there is no need to set them up for each layout, and modify all of - * them if I want to change them. This helps to keep consistency and ease - * of use. K## is a placeholder to pass through the individual keycodes - */ -// clang-format off -#define LAYOUT_gergo_wrapper(...) LAYOUT_gergo(__VA_ARGS__) -#define LAYOUT_gergo_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_gergo_wrapper( \ - KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(K1B), \ - OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ - KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ - ) - -#define LAYOUT_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_LOWER] = LAYOUT_gergo_wrapper( - KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, - _______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _______, _______, _______, _______, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_gergo_wrapper( - _______, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _______, _______, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _______, _______, _______, _______, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [_ADJUST] = LAYOUT_gergo_wrapper( - QK_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, QK_BOOT, - VRSN, _________________ADJUST_L2_________________, _______, KC_NUKE, _________________ADJUST_R2_________________, EE_CLR, - _______, _________________ADJUST_L3_________________, _______, _______, _______, _______, _________________ADJUST_R3_________________, TG_MODS, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; - -/* Keymap template - - [SYMB] = LAYOUT_gergo_wrapper( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - */ -// clang-format on diff --git a/keyboards/gboards/gergo/keymaps/drashna/rules.mk b/keyboards/gboards/gergo/keymaps/drashna/rules.mk deleted file mode 100644 index ec81d11e9c5f..000000000000 --- a/keyboards/gboards/gergo/keymaps/drashna/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -CONSOLE_ENABLE = no -COMMAND_ENABLE = no diff --git a/keyboards/gboards/gergo/keymaps/germ/rules.mk b/keyboards/gboards/gergo/keymaps/germ/rules.mk index 0fd941bb53dd..c100f8ab647a 100644 --- a/keyboards/gboards/gergo/keymaps/germ/rules.mk +++ b/keyboards/gboards/gergo/keymaps/germ/rules.mk @@ -18,7 +18,8 @@ DEBUG_MATRIX = no # know what you're doing. # # No touchy, capiche? -SRC += matrix.c i2c_master.c +SRC += matrix.c +I2C_DRIVER_REQUIRED = yes ifneq ($(strip $(BALLSTEP)),) OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) endif diff --git a/keyboards/gboards/gergo/keymaps/gotham/config.h b/keyboards/gboards/gergo/keymaps/gotham/config.h deleted file mode 100644 index 3f59c932d39b..000000000000 --- a/keyboards/gboards/gergo/keymaps/gotham/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#pragma once - diff --git a/keyboards/gboards/gergo/keymaps/gotham/keymap.c b/keyboards/gboards/gergo/keymaps/gotham/keymap.c deleted file mode 100644 index ff6df266f209..000000000000 --- a/keyboards/gboards/gergo/keymaps/gotham/keymap.c +++ /dev/null @@ -1,155 +0,0 @@ -/* Good on you for modifying your layout! if you don't have - * time to read the QMK docs, a list of keycodes can be found at - * - * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md - * - * There's also a template for adding new layers at the bottom of this file! - */ - -#include QMK_KEYBOARD_H - -enum layers { - BASE, // default layer - SYMB, // symbols - NUMB, // number/navigation - MOUS, // mouse navigation -}; - -#define KC_ANGL LSFT(KC_COMM) -#define KC_ANGR LSFT(KC_DOT) - -// Blank template at the bottom - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | LShift | A | S | D | F | G | | | VolUp| H | J | K | L | ; : |RSft/' "| - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | LCtrl | Z | X | C | V | B | | | VolDn| N | M | , < | . > | / ? |RCtl/- _| - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .----------. .----------. .-----------. .------. - * | LAlt | |SYMB/Space| | NUMB/Bksp | | MOUS | - * '----------' '----------' `-----------' '------' - * ,-------. ,-------. - * | | |VolMute| - * ,------|-------| |-------|------. - * | NUMB | | | | SYMB | - * | Tab | LGui | | = | Enter| - * | | | | | | - * `--------------' `--------------' - */ -[BASE] = LAYOUT_gergo( - 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_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_VOLU, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_QUOT), - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RCTL, KC_MINS), - KC_LALT, LT(SYMB, KC_SPC), LT(NUMB, KC_TAB), KC_LGUI, KC_EQL, LT(SYMB, KC_ENT), LT(NUMB, KC_BSPC), MO(MOUS) - ), -/* Keymap 1: Symbols layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | # | $ | { | } | | | | < | > | | | | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | ! | @ | ( | ) | ` | | | | - | & | + | * | ; | ' " | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | _ | | | , | . | / ? | - _ | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .----------. .----------. .-----. .------. - * | LAlt | |SYMB/Space| | Del | | MOUS | - * '----------' '----------' `-----' '------' - * ,-------. ,-------. - * | | | | - * ,------|-------| |-------|------. - * | NUMB | | | | SYMB | - * | Tab | LGui | | = | Enter| - * | | | | | | - * `--------------' `--------------' - */ -[SYMB] = LAYOUT_gergo( - _______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, KC_ANGL, KC_ANGR, XXXXXXX, XXXXXXX, KC_PIPE, - _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_GRV, XXXXXXX, XXXXXXX, KC_MINS, KC_AMPR, KC_PLUS, KC_ASTR, KC_SCLN, KC_QUOT, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PIPE, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, - _______, _______, _______, _______, _______, _______, KC_DEL, _______ - ), -/* Keymap 2: Pad/Function layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | | | PgUp | LEFT | UP | RIGHT| | | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | |PgDown| HOME | DOWN | END | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .----------. .----------. .-----------. .------. - * | LAlt | |SYMB/Space| | NUMB/Bksp | | MOUS | - * '----------' '----------' `-----------' '------' - * ,-------. ,-------. - * | | | | - * ,------|-------| |-------|------. - * | NUMB | | | | SYMB | - * | Tab | LGui | | = | Enter| - * | | | | | | - * `--------------' `--------------' - */ -[NUMB] = LAYOUT_gergo( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_PGUP, KC_LEFT, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_HOME, KC_DOWN, KC_END, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -/* Keymap 3: Mouse layer - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | | | | M_L | M_U | M_R | M_Clk| | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | L_Clk| M_D | R_Clk| | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .----------. .----------. .-----------. .------. - * | LAlt | |SYMB/Space| | NUMB/Bksp | | MOUS | - * '----------' '----------' `-----------' '------' - * ,-------. ,-------. - * | | | | - * ,------|-------| |-------|------. - * | NUMB | | | | SYMB | - * | Tab | LGui | | = | Enter| - * | | | | | | - * `--------------' `--------------' - */ -[MOUS] = LAYOUT_gergo( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_MS_L, KC_MS_U, KC_MS_R, KC_BTN3, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_BTN1, KC_MS_D, KC_BTN2, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -/* Keymap template - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | | | | | | | | | | | | | - * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * .------. .------. .------. .-----. - * | | | | | | | | - * '------' '------' `------. '-----' - * ,-------. ,-------. - * | | | | - * ,------|-------| |-------|------. - * | | | | | | - * | | | | | | - * | | | | | | - * `--------------' `--------------' -[SYMB] = LAYOUT_gergo( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/gboards/gergo/keymaps/gotham/readme.md b/keyboards/gboards/gergo/keymaps/gotham/readme.md deleted file mode 100644 index 2b1c5ab1daba..000000000000 --- a/keyboards/gboards/gergo/keymaps/gotham/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -This is a modified version of the default keymap for Gergo with some changes. - -## Changes: - - Rehaul thumb keys. For my hand size, the L and R thumbs rest on space and backspace, and one finger outward, are tab and enter. - - = has its own dedicated key to facilitate typing "=", which is a very common trigram in programming. - - Change navigation into a T-shaped cluster and add Home and End keys. T-shaped, because it's similar to arrow key cluster and most keys are on the home row, while sharing the number layer. - - Separated mouse navigation into a separate layer (in favor of T-shaped arrows, which require 2 rows). - - Difficult-to-reach key positions are mostly unused. diff --git a/keyboards/gboards/gergo/keymaps/gotham/rules.mk b/keyboards/gboards/gergo/keymaps/gotham/rules.mk deleted file mode 100644 index bc2b3cf43bdc..000000000000 --- a/keyboards/gboards/gergo/keymaps/gotham/rules.mk +++ /dev/null @@ -1,38 +0,0 @@ -#---------------------------------------------------------------------------- -# make gergo:germ:dfu -# Make sure you have dfu-programmer installed! -#---------------------------------------------------------------------------- -# Firmware options -BALLER = no # Enable to ball out -BALLSTEP = 20 # Multiple in px to move, multiplied by layer number -SCROLLSTEP = 1 # Lines to scroll with ball -MOUSEKEY_ENABLE = yes # Mouse keys, needed for baller - -#Debug options -VERBOSE = yes -DEBUG_MATRIX_SCAN_RATE = no -DEBUG_BALLER = no -DEBUG_MATRIX = yes - -# A bunch of stuff that you shouldn't touch unless you -# know what you're doing. -# -# No touchy, capiche? -SRC += matrix.c i2c_master.c -ifneq ($(strip $(BALLSTEP)),) - OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) -endif -ifneq ($(strip $(SCROLLSTEP)),) - OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP)) -endif -ifeq ($(strip $(BALLER)), yes) - POINTING_DEVICE_ENABLE = yes - POINTING_DEVICE_DRIVER = custom - OPT_DEFS += -DBALLER -endif -ifeq ($(strip $(DEBUG_BALLER)), yes) - OPT_DEFS += -DDEBUG_BALLER -endif -ifeq ($(strip $(DEBUG_MATRIX)), yes) - OPT_DEFS += -DDEBUG_MATRIX -endif diff --git a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index e86d030fd729..000000000000 --- a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT_gergo(\ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ -XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ -XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ - K32, K33, K34, XXX, XXX, K35, K36, K37\ -) diff --git a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/gboards/gergo/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/gboards/gergo/keymaps/oled/rules.mk b/keyboards/gboards/gergo/keymaps/oled/rules.mk index 788041671962..e1bd70f65642 100644 --- a/keyboards/gboards/gergo/keymaps/oled/rules.mk +++ b/keyboards/gboards/gergo/keymaps/oled/rules.mk @@ -8,7 +8,6 @@ BALLSTEP = 20 # Multiple in px to move, multiplied by layer number SCROLLSTEP = 1 # Lines to scroll with ball MOUSEKEY_ENABLE = yes # Mouse keys, needed for baller OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LOCAL_GLCDFONT = yes #Debug options diff --git a/keyboards/gboards/gergo/rules.mk b/keyboards/gboards/gergo/rules.mk index 95e12cc36c19..d789b349da8d 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 +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/gboards/gergoplex/info.json b/keyboards/gboards/gergoplex/info.json index 061f8ff86958..c5f6be475098 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 6887c869b9af..9846c64771e2 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 +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index 344ccf3fffc6..47f9064e451f 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 504238b21c74..95b1ca94d7d8 100644 --- a/keyboards/geekboards/macropad_v2/info.json +++ b/keyboards/geekboards/macropad_v2/info.json @@ -8,12 +8,15 @@ "pid": "0xA372", "device_version": "0.0.2" }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "A7", "driver": "pwm" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/geekboards/macropad_v2/rules.mk b/keyboards/geekboards/macropad_v2/rules.mk index b7807ae4185d..c49a369dd025 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/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h index 0fea806b6f9c..c71ee9f35154 100644 --- a/keyboards/geekboards/tester/config.h +++ b/keyboards/geekboards/tester/config.h @@ -55,9 +55,8 @@ // # define ENABLE_RGB_MATRIX_SOLID_SPLASH // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define DRIVER_ADDR_1 0b1110100 -# define DRIVER_ADDR_2 0b1110101 -# define DRIVER_COUNT 2 +# define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +# define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL # define DRIVER_1_LED_TOTAL 8 # define DRIVER_2_LED_TOTAL 0 # define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json index 16f3496a13e2..363ab895a5fe 100644 --- a/keyboards/geekboards/tester/info.json +++ b/keyboards/geekboards/tester/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F7", "F6", "D2", "D3"], diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c index 05b220250fb0..187d887d5813 100644 --- a/keyboards/geekboards/tester/tester.c +++ b/keyboards/geekboards/tester/tester.c @@ -1,6 +1,6 @@ #include "quantum.h" -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/geistmaschine/macropod/config.h b/keyboards/geistmaschine/macropod/config.h index f6dad6ebe034..e12d3b94fa4c 100644 --- a/keyboards/geistmaschine/macropod/config.h +++ b/keyboards/geistmaschine/macropod/config.h @@ -19,3 +19,6 @@ IO expander setup would allow up to 1x16 + 1 from the MCU */ #define MATRIX_ROWS 1 #define MATRIX_COLS 17 + +/* Fix for Apple Silicon Macs struggling to detect board after suspend/sleep */ +#define USB_SUSPEND_WAKEUP_DELAY 200 \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/info.json b/keyboards/geistmaschine/macropod/info.json index 886ed5acaf09..333e7c0a509e 100644 --- a/keyboards/geistmaschine/macropod/info.json +++ b/keyboards/geistmaschine/macropod/info.json @@ -15,7 +15,7 @@ "command": false, "console": false, "extrakey": true, - "mousekey": false, + "mousekey": true, "nkro": false, "encoder": true }, diff --git a/keyboards/geistmaschine/macropod/rules.mk b/keyboards/geistmaschine/macropod/rules.mk index cf2b38601e67..53d35b5bc60f 100644 --- a/keyboards/geistmaschine/macropod/rules.mk +++ b/keyboards/geistmaschine/macropod/rules.mk @@ -2,4 +2,4 @@ CUSTOM_MATRIX = lite VPATH += drivers/gpio SRC += pca9555.c matrix.c -QUANTUM_LIB_SRC += i2c_master.c \ No newline at end of file +I2C_DRIVER_REQUIRED = yes \ No newline at end of file diff --git a/keyboards/geonworks/frogmini/fmh/info.json b/keyboards/geonworks/frogmini/fmh/info.json index a8c0645a70c3..7b381bc58752 100644 --- a/keyboards/geonworks/frogmini/fmh/info.json +++ b/keyboards/geonworks/frogmini/fmh/info.json @@ -13,6 +13,9 @@ "rows": ["A3", "A2", "A1", "B8", "A7", "C0"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "i2c" + }, "processor": "STM32F401", "bootloader": "stm32-dfu", "layout_aliases": { diff --git a/keyboards/geonworks/frogmini/fmh/rules.mk b/keyboards/geonworks/frogmini/fmh/rules.mk index 683a20e5c054..1775ec5c41f4 100644 --- a/keyboards/geonworks/frogmini/fmh/rules.mk +++ b/keyboards/geonworks/frogmini/fmh/rules.mk @@ -13,8 +13,3 @@ LTO_ENABLE = no ENCODER_ENABLE = no 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 6576ee9efe93..ddeaa2abff0b 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/info.json b/keyboards/geonworks/frogmini/fms/info.json index b64392cc23d3..ada9188e37c2 100644 --- a/keyboards/geonworks/frogmini/fms/info.json +++ b/keyboards/geonworks/frogmini/fms/info.json @@ -13,6 +13,9 @@ "rows": ["A3", "A2", "A1", "B8", "A7", "C0"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "i2c" + }, "backlight": { "pin": "A10", "levels": 20 diff --git a/keyboards/geonworks/frogmini/fms/rules.mk b/keyboards/geonworks/frogmini/fms/rules.mk index d847becc1a7c..19b80485899f 100644 --- a/keyboards/geonworks/frogmini/fms/rules.mk +++ b/keyboards/geonworks/frogmini/fms/rules.mk @@ -13,8 +13,3 @@ LTO_ENABLE = no ENCODER_ENABLE = no 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/revc/keymaps/danbee/keymap.c b/keyboards/gh60/revc/keymaps/danbee/keymap.c deleted file mode 100644 index 0dabb8b07f06..000000000000 --- a/keyboards/gh60/revc/keymaps/danbee/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layer_names { - _QW, - _L1, - _L2, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bcksp │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Ent │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ Fn │Alt │Cmd │ Space │Cmd │Hypr│Ctrl│Fn 2│ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_QW] = LAYOUT_60_iso( /* Layer 0: Qwerty */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT , - KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - MO(_L1), KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_HYPR, KC_RCTL, MO(_L2) - ), - /* 1: fn */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │ § │Br-│Br+│ │ │BL-│BL+│Pre│Pau│Nxt│Mut│Vo-│Vo+│ Del │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ Ins │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ │ │ │ │ │ │ ◀ │ ▾ │ â–ē │ â–ķ │ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │ │ │ │ │ │ │BL~│ │ │ │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ │ │ │ │ │ │ │ │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_L1] = LAYOUT_60_iso( /* Layer 1: Functions */ - KC_NUBS, KC_BRID, KC_BRIU, _______, _______, BL_DOWN, BL_UP, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_INS , - _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - /* 2: fn 2 */ - /*┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ - │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Eject │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ │ - │ Caps │ │ │ │ │ │Hom│PgD│PgU│End│ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī────â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī - │ │ │ │ │ │ │ │ │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘*/ - [_L2] = LAYOUT_60_iso( /* Layer 2: Functions */ - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EJCT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/gh60/revc/keymaps/danbee/rules.mk b/keyboards/gh60/revc/keymaps/danbee/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/gh60/revc/keymaps/danbee/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/gh60/revc/keymaps/dbroqua/config.h b/keyboards/gh60/revc/keymaps/dbroqua/config.h deleted file mode 100644 index a65ca08e657b..000000000000 --- a/keyboards/gh60/revc/keymaps/dbroqua/config.h +++ /dev/null @@ -1,34 +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 WS2812_DI_PIN F4 -#define RGBLED_NUM 11 -#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 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c deleted file mode 100644 index 3e4bda26f4db..000000000000 --- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _DEFAULT 0 -#define _FN 1 -#define _WASD 2 -#define _SFX 3 - -//bool esc_led_on; - -enum planck_keycodes { - DEFAULT = SAFE_RANGE -}; - -// Fillers to make layering more clear -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty gui/alt/space/alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `-----------------------------------------------------------------' - */ - [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ - ), - -/* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | | - * `-----------------------------------------------------------------' - */ - [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */ - TG(_SFX),KC_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_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, - ______, ______, ______, TG(_WASD), KC_MSTP, ______, ______, ______ - ), - -/* WASD Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | Up | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Left| Down|Right| | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_WASD] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 2 */ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, KC_LEFT, KC_DOWN,KC_RGHT,______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,______, - ______, ______, ______, ______, ______, ______, ______, ______ - ), - -/* SFX Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_SFX] = LAYOUT_60_ansi_split_bs_rshift( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______ - ) -}; - -void matrix_scan_user(void) { - layer_state_t layer = layer_state; - - if (layer & (1<<1)) { - gh60_fn_led_on(); - } else { - gh60_fn_led_off(); - } - - if (layer & (1<<2)) { - gh60_wasd_leds_on(); - } else { - gh60_wasd_leds_off(); - } - - if (layer & (1<<3)) { - gh60_esc_led_on(); - } else { - gh60_esc_led_off(); - } -}; diff --git a/keyboards/gh60/revc/keymaps/dbroqua/rules.mk b/keyboards/gh60/revc/keymaps/dbroqua/rules.mk deleted file mode 100644 index b56ad10c50dc..000000000000 --- a/keyboards/gh60/revc/keymaps/dbroqua/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -SLEEP_LED_ENABLE = yes -RGBLIGHT_ENABLE = yes diff --git a/keyboards/gh60/revc/keymaps/maxr1998/config.h b/keyboards/gh60/revc/keymaps/maxr1998/config.h deleted file mode 100644 index bc926a289f37..000000000000 --- a/keyboards/gh60/revc/keymaps/maxr1998/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2017 Max Rumpf alias Maxr1998 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define WS2812_DI_PIN F4 // pin the DI on the WS2812B is hooked-up to -#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 -#define RGBLED_NUM 6 // 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) - -#endif diff --git a/keyboards/gh60/revc/keymaps/maxr1998/keymap.c b/keyboards/gh60/revc/keymaps/maxr1998/keymap.c deleted file mode 100644 index bd1a47d1f196..000000000000 --- a/keyboards/gh60/revc/keymaps/maxr1998/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright 2017 Max Rumpf alias Maxr1998 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 KC_EURO RALT(KC_5) - -#define SWITCH_LANG SEND_STRING(SS_LGUI(SS_TAP(X_SPACE))) -#define PRINT_UMLAUT(str) SWITCH_LANG;_delay_ms(90);SEND_STRING(str);SWITCH_LANG; - -enum custom_keycodes { - MCO_AE = SAFE_RANGE, - MCO_OE = SAFE_RANGE + 1, - MCO_UE = SAFE_RANGE + 2, - MCO_SS = SAFE_RANGE + 3, - TP_REQ = SAFE_RANGE + 10, - TP_ACC = SAFE_RANGE + 11 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwertz */ - LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO, - QK_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HOME, KC_ENT, - KC_LSFT, KC_BSLS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - /* 1: fn */ - 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_TRNS, KC_TRNS, KC_TRNS, KC_EURO, TP_REQ, TP_ACC, KC_TRNS, MCO_UE, KC_TRNS, MCO_OE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, MCO_AE, MCO_SS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_SW,KC_TRNS, KC_GRV, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, 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) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case MCO_AE: - PRINT_UMLAUT("'"); // ÃĪ - return false; - case MCO_OE: - PRINT_UMLAUT(";"); // Ãķ - return false; - case MCO_UE: - PRINT_UMLAUT("["); // Þ - return false; - case MCO_SS: - PRINT_UMLAUT("-"); // ß - return false; - case TP_REQ: - SEND_STRING("/tpa "); - return false; - case TP_ACC: - SEND_STRING("/tpaccept"SS_TAP(X_ENTER)); - return false; - } - } - return true; -} diff --git a/keyboards/gh60/revc/keymaps/maxr1998/rules.mk b/keyboards/gh60/revc/keymaps/maxr1998/rules.mk deleted file mode 100644 index d64f11e1f04c..000000000000 --- a/keyboards/gh60/revc/keymaps/maxr1998/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# comment out to disable the options. -# -RGBLIGHT_ENABLE = yes # Enable RGB Underglow -KEY_LOCK_ENABLE = yes # Enable key lock option -SKIP_GIT = yes diff --git a/keyboards/gh60/satan/config.h b/keyboards/gh60/satan/config.h index 1fbb35b3a239..b9449c4714bf 100644 --- a/keyboards/gh60/satan/config.h +++ b/keyboards/gh60/satan/config.h @@ -22,23 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Underglow configuration - */ -#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 -#define RGBLED_NUM 8 -#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/gh60/satan/info.json b/keyboards/gh60/satan/info.json index 6432d8eb45b3..53e2b04df65c 100644 --- a/keyboards/gh60/satan/info.json +++ b/keyboards/gh60/satan/info.json @@ -17,6 +17,22 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 8, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gh60/satan/keymaps/abhixec/keymap.c b/keyboards/gh60/satan/keymaps/abhixec/keymap.c deleted file mode 100644 index f599d2f6dbb7..000000000000 --- a/keyboards/gh60/satan/keymaps/abhixec/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -#include QMK_KEYBOARD_H - - -// Each layer gets a name for readability, which is then used in the keymap matix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 2 -#define _CL 1 -#define _EL 3 - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |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| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift| Del| - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl | - * `-----------------------------------------------------------' - */ -[_BL] = LAYOUT_60_ansi_split_rshift( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, - LT(_EL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, - KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RALT,KC_RGUI, MO(_FL),KC_RCTL), - -/* Keymap _CL: (Colemak Layer) - */ -[_CL] = LAYOUT_60_ansi_split_rshift( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC,KC_BSLS, - LT(_EL, KC_BSPC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, - KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RALT,KC_RGUI, MO(_FL),KC_RCTL), - -[_EL] = LAYOUT_60_ansi_split_rshift( - - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______,KC_LCTL,KC_WH_U,_______,_______,KC_MS_U,KC_PGUP,KC_HOME,KC_UP,KC_END,KC_DEL, QK_GESC, _______,_______, - _______,KC_LALT,KC_WH_D, KC_LSFT,_______,KC_MS_D,KC_PGDN,KC_LEFT,KC_DOWN,KC_RIGHT, KC_BSPC,_______,_______, -_______,KC_UNDO,KC_CUT,KC_COPY,KC_PASTE, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2,KC_MS_LEFT,KC_MS_RIGHT,_______,_______, _______, - _______,_______,_______, _______, _______,_______,_______,_______), - - - /* Keymap _FL: Function Layer - * ,-----------------------------------------------------------. - * | KC_GRV|F1|F2|F3|F4|F5|F6|F7| F8 | F9 |10|F11|F12| | - * |-----------------------------------------------------------| - * | | | | | | | | | | | |BL-|BL+|BL | - * |-----------------------------------------------------------| - * | | | | | | | | | |HOME| | | - * |-----------------------------------------------------------| - * | | | | | | |V_DWN|V_UP|MUTE | END || |_CL | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' - */ - -[_FL] = LAYOUT_60_ansi_split_rshift( - - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR, BL_DOWN,BL_UP, BL_TOGG, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_HOME,_______,_______, - _______,_______,_______,_______,_______,_______,KC_AUDIO_VOL_DOWN,KC_AUDIO_VOL_UP,KC_AUDIO_MUTE,KC_END,_______,_______, TG(_CL), - _______,_______,_______, _______, _______,_______,_______,_______) - -}; - diff --git a/keyboards/gh60/satan/keymaps/abhixec/readme.md b/keyboards/gh60/satan/keymaps/abhixec/readme.md deleted file mode 100644 index 59a95b7fcf5a..000000000000 --- a/keyboards/gh60/satan/keymaps/abhixec/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# default Satan GH60 layout - -The layout for this keyboard is: -![Layout-2](https://i.imgur.com/Eqp8hov.jpg) - -Currently there are 3 layers: - -1. Base Layer is qwerty -2. 1st layer is colemak -3. 2nd layer is function layer -4. 3rd layer is extend layer - -How to use the layers: -1. Base is default. If you want Colemak then press function key and del next to the right shift (this combination will be used to toggle the layer on and off) -2. Function layer is accessible by holding down the function key. -3. Extend layer is accsessible by holding down the capslock. - Which when tapped acts like backspace when held triggers the Extend layer capability. - - diff --git a/keyboards/gh60/satan/keymaps/abhixec/rules.mk b/keyboards/gh60/satan/keymaps/abhixec/rules.mk deleted file mode 100644 index 4cd8e19f370f..000000000000 --- a/keyboards/gh60/satan/keymaps/abhixec/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk index b8c05a5984ca..fe07e497f9c2 100644 --- a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk +++ b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk @@ -12,7 +12,7 @@ NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: htt BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 -UNICODEMAP_ENABLE = no # This allows sending unicode symbols using X() in your keymap. +UNICODEMAP_ENABLE = no UNICODE_ENABLE = no # Unicode UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for details on Windows). BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c deleted file mode 100644 index 296e5505f4f8..000000000000 --- a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,78 +0,0 @@ -#include QMK_KEYBOARD_H -#include "rgblight.h" - -#define _DEFAULT 0 -#define _FN 1 -#define _SFX 2 - -enum planck_keycodes { - DEFAULT = SAFE_RANGE -}; - -// Fillers to make layering more clear -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty gui/alt/space/alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `-----------------------------------------------------------------' - */ - [_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - ______, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, ______, ______ - ), - -/* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | BL- | BL+ | BL | | | | | Psc | Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | | - * `-----------------------------------------------------------------' - */ - [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */ - TG(_SFX), KC_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_MPRV,KC_MPLY,KC_MNXT,______, ______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______, ______, - ______, ______, ______, ______, KC_MSTP, ______, ______, ______ - ), - -/* SFX Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | |QK_BOOT| - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_SFX] = LAYOUT_60_ansi_split_bs_rshift( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, - ______, BL_DOWN,BL_UP, BL_TOGG,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______ - ) -}; diff --git a/keyboards/gh60/satan/keymaps/dbroqua/readme.md b/keyboards/gh60/satan/keymaps/dbroqua/readme.md deleted file mode 100644 index 39e71beedd02..000000000000 --- a/keyboards/gh60/satan/keymaps/dbroqua/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Dbroqua HHKB like Layout - -Like the HHKB but with a Satan GH60 PCB :D. - -# Programming Instructions: -Enter into programming mode and run the following command. -``` -$ sudo KEYMAP=dbroqua_hhkb make dfu -``` \ No newline at end of file diff --git a/keyboards/gh60/satan/keymaps/fakb/config.h b/keyboards/gh60/satan/keymaps/fakb/config.h deleted file mode 100644 index 5ca8aa1da592..000000000000 --- a/keyboards/gh60/satan/keymaps/fakb/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#undef BACKLIGHT_LEVELS -#define BACKLIGHT_LEVELS 8 - -#define NO_ACTION_ONESHOT - -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 1 -#define MOUSEKEY_MAX_SPEED 4 -#define MOUSEKEY_TIME_TO_MAX 77 -#define MOUSEKEY_WHEEL_MAX_SPEED 1 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 - -#undef WS2812_DI_PIN -#define WS2812_DI_PIN B2 diff --git a/keyboards/gh60/satan/keymaps/fakb/keymap.c b/keyboards/gh60/satan/keymaps/fakb/keymap.c deleted file mode 100644 index 8b8570ad1eb3..000000000000 --- a/keyboards/gh60/satan/keymaps/fakb/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -#include QMK_KEYBOARD_H - -#define LCTL_MA LCTL_T(KC_UP) -#define LSFT_MA LSFT_T(KC_DOWN) -#define RSFT_MA SFT_T(KC_DOWN) -#define TABS_MA LT(1,KC_TAB) -#define SPCE_MA LT(2,KC_SPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[0] = LAYOUT_all( - QK_GESC,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL, KC_BSLS,KC_NUBS, - TABS_MA,KC_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, - LCTL_MA,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,XXXXXXX,KC_ENT , - LSFT_MA,KC_NUBS,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,RSFT_MA,MO(1) , - XXXXXXX,KC_LALT,KC_LGUI, SPCE_MA, KC_RGUI,KC_RALT,XXXXXXX,XXXXXXX), - -[1] = LAYOUT_all( - KC_PSCR,KC_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_PGUP,KC_PGDN,KC_HOME,KC_END ,KC_PGDN,KC_PGUP,_______,_______,_______,_______,KC_DEL , - KC_CAPS,KC_NUBS,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,_______,_______,_______,_______, - _______,_______,BL_TOGG,BL_UP ,BL_DOWN,_______,_______,KC_VOLD,KC_VOLU,KC_MUTE,_______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,_______,_______), - -[2] = LAYOUT_all( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,QK_BOOT, - KC_BTN5,KC_BTN4,KC_BTN3,KC_BTN2,KC_BTN1,KC_HOME,KC_END ,_______,_______,_______,_______,_______,_______,_______, - _______,_______,KC_WH_L,KC_WH_U,KC_WH_D,KC_WH_R,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______,_______,_______, _______, _______,_______,_______,_______), - - -}; diff --git a/keyboards/gh60/satan/keymaps/fakb/readme.md b/keyboards/gh60/satan/keymaps/fakb/readme.md deleted file mode 100644 index b02b41816c78..000000000000 --- a/keyboards/gh60/satan/keymaps/fakb/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# FabulousAnomalyKeyBoard - -This layout features an efficient layout for people without -a mouse. - -## layers - -Layer Base: complete basic keyboard -Layer Fn-Tab: F1-F12, Arrow Keys, Home, End, Backlight, Media -Layer Fn-Space: mouse keys in a vim like manner - -For detailed info check out keymap.c - -## the CTRL key - -It is where you would suspect CAPSLOCK to be. -WHO NEEDS CAPSLOCK ANYWAYS? -For those rare cases you need to shout at somebody in a comment -section you can still do a capslock by using TABCTRL - -## the SUPER key - -There are two super keys. They are next to the space bar. -The intention is easing the use of tiling window mangers - -## emergency mouse - -Without a mouse you will find yourself in a situation where all -your tiling goodness will just not be able to click onto that -"close ads" button. -This keymap integrates a basic mouse pointer directly into the keyboard. -Mouse is accessible via holding SPACE and tapping keys: -``` -SPACE -h Move cursor left -j Move cursor down -k Move cursor up -l Move cursor right - -w Middle Mouse Click -r Right click -e Left click - -s Scroll wheel left -d Scroll wheel down -f Scroll wheel up -g Scroll wheel right -``` - -## shell focused - -Working in a shell the up and down arrow keys are often needed to -look at old commands or reuse some. -When held, the left ctrl and left shift will act as expected, -but when tapped they will become UP and DOWN arrow-keys. - -## krautfriend -The keys <|> are accessible even without a 102nd key diff --git a/keyboards/gh60/satan/keymaps/fakb/rules.mk b/keyboards/gh60/satan/keymaps/fakb/rules.mk deleted file mode 100644 index c29a61a77f93..000000000000 --- a/keyboards/gh60/satan/keymaps/fakb/rules.mk +++ /dev/null @@ -1,13 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870) -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality (+1150) -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID - diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/config.h b/keyboards/gh60/satan/keymaps/gipsy-king/config.h deleted file mode 100644 index 62deb0dc5a47..000000000000 --- a/keyboards/gh60/satan/keymaps/gipsy-king/config.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#undef RGBLED_NUM -#define RGBLED_NUM 17 -#undef RGBLIGHT_HUE_STEP -#define RGBLIGHT_HUE_STEP 5 -#undef RGBLIGHT_SAT_STEP -#define RGBLIGHT_SAT_STEP 5 -#undef RGBLIGHT_VAL_STEP -#define RGBLIGHT_VAL_STEP 5 - -#undef RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#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 diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c b/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c deleted file mode 100644 index 8de03bf80c71..000000000000 --- a/keyboards/gh60/satan/keymaps/gipsy-king/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -#include QMK_KEYBOARD_H -#include "rgblight.h" - -enum layer_names { - _BL, - _FL -}; - -/** - * HHKB style. - * Esc on capslock, space-hold is fn. - * Fn layer has hjkl arrows, home on backspace, rgb stuff. - */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_ESC, KC_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_LALT, LT(_FL,KC_SPC), KC_LGUI, KC_RALT, KC_RCTL, _______ - ), - - [_FL] = LAYOUT_60_ansi( - 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_HOME, - RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, - _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -/** - * Terminal Prompt - * Mimicks a terminal prompt. On keystrokes, the led bar is filled. Backspace - * removes from bar. Enter clears bar. After some timeout, the bar is also cleared. - * A blinking cursor is displayed at the right of the bar. - * This can't be defined as an animation, because animations only are called on an - * interval, not on keypress. In the future all animations could be enhanced to - * react to keystrokes in QMK. - */ - -uint8_t cursor_pos; - -uint16_t interval_time = 10; // maybe too short... -uint16_t reset_time = 10000; -uint16_t last_timer = 0; -uint16_t timer_pos = 0; -uint16_t reset_timer = 0; - -void reset_chars(void); -void add_char(bool space); -void remove_char(void); -void animate_cursor(uint16_t); - -// animate, like the built-in animations, with timer_* functions -void matrix_scan_user(void) { - if (timer_elapsed(reset_timer) > reset_time) { - reset_chars(); - reset_timer = timer_read(); - return; - } - if (timer_elapsed(last_timer) < interval_time) { - return; - } - last_timer += interval_time; - timer_pos += 4; - if (timer_pos >= 255) { - timer_pos = 0; - last_timer = timer_read(); - } - animate_cursor(timer_pos); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { - keycode = keycode & 0xFF; - } - switch (keycode) { - case KC_A ... KC_Z: - case KC_1 ... KC_0: - case KC_LBRC: - case KC_RBRC: - case KC_SCLN: - case KC_QUOT: - case KC_COMM: - case KC_DOT: - case KC_SLSH: - case KC_BSLS: - if (record->event.pressed) { - add_char(false); - } - break; - case KC_ENTER: - case KC_ESC: - if (record->event.pressed) { - reset_chars(); - } - break; - case KC_BSPC: - if (record->event.pressed) { - remove_char(); - } - break; - case KC_SPACE: - if (!record->event.pressed) { - add_char(true); - } - break; - } - reset_timer = timer_read(); - return true; -} - -void keyboard_post_init_user(void) { - // reset the bar and animation - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); - cursor_pos = 0; - reset_chars(); - reset_timer = last_timer = timer_read(); -} - - -void reset_chars(void) { - // flush the whole thing, gets rid of previous animations - for (uint8_t i = 0; i < RGBLED_NUM; i++) { - // don't flicker the cursor if bar was empty on reset_timer - if (i == 0 && cursor_pos == 0) { - continue; - } - rgblight_sethsv_at(0, 0, 0, i); - } - cursor_pos = 0; -} - -void add_char(bool space) { - if (cursor_pos == RGBLED_NUM - 1) { - cursor_pos = 0; - reset_chars(); - return; - } - - if (space) { - rgblight_sethsv_at(0, 0, 0, cursor_pos); - } else { - rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), cursor_pos); - } - cursor_pos += 1; -} - -void remove_char(void) { - if (cursor_pos == 0) return; - - rgblight_sethsv_at(0, 0, 0, cursor_pos); - rgblight_sethsv_at(0, 0, 0, cursor_pos - 1); - cursor_pos -= 1; -} - -void animate_cursor(uint16_t pos) { - uint16_t value = pos < 196 ? fmin(255, pos * 16) : (255 - (pos * 2)); - rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), value, cursor_pos); -} diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/readme.md b/keyboards/gh60/satan/keymaps/gipsy-king/readme.md deleted file mode 100644 index c366147df399..000000000000 --- a/keyboards/gh60/satan/keymaps/gipsy-king/readme.md +++ /dev/null @@ -1 +0,0 @@ -# default Satan GH60 layout diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk b/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk deleted file mode 100644 index 935d3544ace4..000000000000 --- a/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -EXTRAKEY_ENABLE = no -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -NKRO_ENABLE = no -UNICODE_ENABLE = yes -SLEEP_LED_ENABLE = yes diff --git a/keyboards/gh60/satan/keymaps/jarred/keymap.c b/keyboards/gh60/satan/keymaps/jarred/keymap.c deleted file mode 100644 index 7f7436bea787..000000000000 --- a/keyboards/gh60/satan/keymaps/jarred/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QW 0 -#define _NV 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QW] = LAYOUT_60_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, - MO(_NV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL), - -[_NV] = LAYOUT_60_ansi( - KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,_______, - _______,_______,_______,_______,KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP ,KC_END ,KC_INS ,_______,_______,_______, - _______,_______,_______,KC_LSFT,KC_LCTL,KC_ENT ,_______,KC_LEFT,KC_DOWN,KC_RGHT,KC_DEL ,KC_DEL , _______, - _______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______,_______, - _______,_______,_______, _______, _______,_______, QK_BOOT, _______), - -}; diff --git a/keyboards/gh60/satan/keymaps/jarred/readme.md b/keyboards/gh60/satan/keymaps/jarred/readme.md deleted file mode 100644 index 522cb19b651a..000000000000 --- a/keyboards/gh60/satan/keymaps/jarred/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Jarred's Satan GH60 layout diff --git a/keyboards/gh60/satan/keymaps/midi/config.h b/keyboards/gh60/satan/keymaps/midi/config.h deleted file mode 100644 index 59250b49e245..000000000000 --- a/keyboards/gh60/satan/keymaps/midi/config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -/* - * 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 - -#endif \ No newline at end of file diff --git a/keyboards/gh60/satan/keymaps/midi/keymap.c b/keyboards/gh60/satan/keymaps/midi/keymap.c deleted file mode 100644 index 625f07f88106..000000000000 --- a/keyboards/gh60/satan/keymaps/midi/keymap.c +++ /dev/null @@ -1,77 +0,0 @@ -#include QMK_KEYBOARD_H - - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _ML 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |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| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Gui |Midi|Ctrl | - * `-----------------------------------------------------------' - */ - [_BL] = LAYOUT_60_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, TG(_ML), KC_RCTL - ), - - #if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED) - /* Keymap _ML: MIDI Layer (Advanced) - * ,------------------------------------------------------------------------. - * | Exit | | | | | | | | | | | | | | - * |------------------------------------------------------------------------| - * | Ch+ | | C# | D# | | F# | G# | A# | | C# | D# | | | | - * |------------------------------------------------------------------------| - * | Mod | C | D | E | F | G | A | B | C | D | E | F | | - * |------------------------------------------------------------------------| - * | Sustain |Oct-|Oct+|Mod-|Mod+| | | |Tns-|Tns+|Tns0| Sustain | - * |------------------------------------------------------------------------| - * | | | | All notes off | | | | | - * `------------------------------------------------------------------------' - */ - [_ML] = LAYOUT_60_ansi( - TG(_ML), MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, XXXXXXX, XXXXXXX, XXXXXXX, - MI_CHNU, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, XXXXXXX, XXXXXXX, - MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, _______, - MI_SUST, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST, - _______, _______, _______, MI_AOFF, _______, _______, _______, _______ - ), - #elif defined(MIDI_ENABLE) && defined(MIDI_BASIC) - /* Keymap _ML: MIDI Layer (Advanced) - * ,------------------------------------------------------------------------. - * | Exit | | | | | | | | | | | | | | - * |------------------------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------| - * | | | | | | | | | | | | | | - * |------------------------------------------------------------------------| - * | |MuOn|MuOf|MiOn|MiOf| | | | | | | | - * |------------------------------------------------------------------------| - * | | | | | | | | | - * `------------------------------------------------------------------------' - */ - - [_ML] = LAYOUT_60_ansi( - TG(_ML), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - #endif -}; diff --git a/keyboards/gh60/satan/keymaps/midi/readme.md b/keyboards/gh60/satan/keymaps/midi/readme.md deleted file mode 100644 index 87844a854b51..000000000000 --- a/keyboards/gh60/satan/keymaps/midi/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Satan GH60 layout demonstrating MIDI key mapping diff --git a/keyboards/gh60/satan/keymaps/midi/rules.mk b/keyboards/gh60/satan/keymaps/midi/rules.mk deleted file mode 100644 index 2df79c4ed62f..000000000000 --- a/keyboards/gh60/satan/keymaps/midi/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = yes # MIDI support -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/gh60/satan/keymaps/smt/keymap.c b/keyboards/gh60/satan/keymaps/smt/keymap.c deleted file mode 100644 index a50d45712656..000000000000 --- a/keyboards/gh60/satan/keymaps/smt/keymap.c +++ /dev/null @@ -1,142 +0,0 @@ -#include QMK_KEYBOARD_H - - - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _FUNC 3 - -enum planck_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK -}; - -// Custom macros -#define ALT_GRV ALT_T(KC_GRV) // Tap for Backtick, hold for Alt -#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl -#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt) -#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _QWERTY: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |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| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl | - * `-----------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_ESC, KC_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, SFT_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL - ), - - /* Keymap _COLEMAK: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | - * |-----------------------------------------------------------| - * |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \ | - * |-----------------------------------------------------------| - * |CAPS | A| R| S| T| D| H| N| E| I| O| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| K| M| ,| .| /|Shift | - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl | - * `-----------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, - CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL - ), - - /* Keymap _DVORAK: (Base Layer) Default Layer - * ,-----------------------------------------------------------. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]|Backsp | - * |-----------------------------------------------------------| - * |HypTb| '| ,| .| P| Y| F| G| C| R| L| /| =| \ | - * |-----------------------------------------------------------| - * |CtrlEsc| A| O| E| U| I| D| H| T| N| S| -|Return | - * |-----------------------------------------------------------| - * |Shift | ;| Q| J| K| X| B| M| W| V| Z|ShiftEnter| - * |-----------------------------------------------------------| - * |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl | - * `-----------------------------------------------------------' - */ - [_DVORAK] = LAYOUT_60_ansi( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, - HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, - CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL - ), - - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. - * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| BL | - * |-----------------------------------------------------------| - * | |Hom| UP|End| | | |Qwt|Cmk|Dvk| |UP |BL-| BL+ | - * |-----------------------------------------------------------| - * | |LFT| DN| RT| | | | | |Pg+|LFT|RGT| | - * |-----------------------------------------------------------| - * | | | |Prv|Ply|Nxt| | | |Pg-|DN | | - * |-----------------------------------------------------------| - * |QK_BOOT| | | | | | | | - * `-----------------------------------------------------------' - */ - [_FUNC] = LAYOUT_60_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, - _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_UP, BL_DOWN, BL_UP, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PGDN, KC_DOWN, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; - } - return true; -} diff --git a/keyboards/gh60/satan/keymaps/smt/readme.md b/keyboards/gh60/satan/keymaps/smt/readme.md deleted file mode 100644 index 7b706d601426..000000000000 --- a/keyboards/gh60/satan/keymaps/smt/readme.md +++ /dev/null @@ -1 +0,0 @@ -# smt's Satan GH60 layout diff --git a/keyboards/gh60/satan/keymaps/smt/rules.mk b/keyboards/gh60/satan/keymaps/smt/rules.mk deleted file mode 100644 index edf8c5187313..000000000000 --- a/keyboards/gh60/satan/keymaps/smt/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/gh60/v1p3/config.h b/keyboards/gh60/v1p3/config.h deleted file mode 100644 index c294394ecab7..000000000000 --- a/keyboards/gh60/v1p3/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2020 noroadsleft - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 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 -# 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/gh60/v1p3/info.json b/keyboards/gh60/v1p3/info.json index 191cca4f57fc..0597c2e7a079 100644 --- a/keyboards/gh60/v1p3/info.json +++ b/keyboards/gh60/v1p3/info.json @@ -17,6 +17,24 @@ "pin": "B6", "levels": 15 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "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 + } + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/gh80_3000/keymaps/ansi_std/keymap.c b/keyboards/gh80_3000/keymaps/ansi_std/keymap.c index f33767ca641a..f99d522ead4d 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 28a34c4269eb..b3f2426e88a4 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 264f20fbcaea..b74127fc5e10 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 137a6513b64a..4c4b10f458a6 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 434abf68f5cc..9559bde1194b 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 f275a3e78928..86054ba1fd52 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 9cd6e7be5a0a..13265701b04a 100644 --- a/keyboards/ghs/rar/config.h +++ b/keyboards/ghs/rar/config.h @@ -17,18 +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 -# 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 - /* 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/ghs/rar/info.json b/keyboards/ghs/rar/info.json index 9a684c2840ff..6bf890b3f8dc 100644 --- a/keyboards/ghs/rar/info.json +++ b/keyboards/ghs/rar/info.json @@ -8,6 +8,21 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 17, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/ghs/xls/rules.mk b/keyboards/ghs/xls/rules.mk index a92b0993283e..8b137891791f 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 aa0095aebd49..e4946a3bb397 100644 --- a/keyboards/giabalanai/config.h +++ b/keyboards/giabalanai/config.h @@ -33,43 +33,8 @@ along with this program. If not, see . // for "Generic" Promicro to be detected correctly as lefthand side (slave) #define SPLIT_USB_DETECT -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 123 - -// Do not define "RGBLED_SPLIT" since somehow it doesn't work well yet. -// Even thhough "#define RGBLED_SPLIT { 60, 63 }" was set, LEDs on the sub keyboad side didn't turn on. -// Not sure but rgblight_sethsv_at() might not support RGBLED_SPLIT yet. -// Instead, LED data is tranferred from right side to the left via TRRS cable. - # 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 /* ws2812 RGB MATRIX */ # define RGB_MATRIX_LED_COUNT 123 @@ -197,8 +162,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 7c2fa72047e7..592d7a6966f8 100644 --- a/keyboards/giabalanai/info.json +++ b/keyboards/giabalanai/info.json @@ -9,10 +9,12 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "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/giabalanai/keymaps/2firmware/keymap.c b/keyboards/giabalanai/keymaps/2firmware/keymap.c index 8e95b89a91d7..338d5d8e0ff2 100644 --- a/keyboards/giabalanai/keymaps/2firmware/keymap.c +++ b/keyboards/giabalanai/keymaps/2firmware/keymap.c @@ -332,9 +332,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, + MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, MI_OCTD, MI_OCTU, XXXXXXX, VERSION, EE_CLR, _______, CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG, - XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH + XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, TGLUVEL, MELDYAL, MELODYS, MELDYAH ) }; diff --git a/keyboards/giabalanai/keymaps/3araht/keymap.c b/keyboards/giabalanai/keymaps/3araht/keymap.c index daa31ffa7b0d..fb68c02c7087 100644 --- a/keyboards/giabalanai/keymaps/3araht/keymap.c +++ b/keyboards/giabalanai/keymaps/3araht/keymap.c @@ -363,9 +363,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, + MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, MI_OCTD, MI_OCTU, XXXXXXX, VERSION, EE_CLR, _______, CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG, - XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH + XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, TGLUVEL, MELDYAL, MELODYS, MELDYAH ) }; diff --git a/keyboards/giabalanai/keymaps/party/keymap.c b/keyboards/giabalanai/keymaps/party/keymap.c deleted file mode 100644 index ea3000c0103c..000000000000 --- a/keyboards/giabalanai/keymaps/party/keymap.c +++ /dev/null @@ -1,818 +0,0 @@ -/* Copyright 2020 3araht - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#include "print.h" -#include "version.h" - -// Alias layout macros that expand groups of keys. -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -#define DF_QWER DF(_QWERTY) -#define DF_COLE DF(_COLEMAK) -#define MO_ADJ MO(_ADJUST) -// Long press: go to _FN layer, tap: MUTE -#define FN_MUTE LT(_FN, KC_MUTE) -#define SHIF_UP RSFT_T(KC_UP) -#define ADJ_EIS LT(_ADJUST,KC_LNG2) -#define MIS_KAN LT(_MISC,KC_LNG1) - -// Used to set octave to 0 -extern midi_config_t midi_config; -uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. - -// UNISON flags -static bool melody_dyad_high = false; // true when +1 octave unison dyad is enabled. -static bool melody_dyad_low = false; // true when -1 octave unison dyad is enabled. - -static bool melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO - -// To record the status of Bass Chord (single or dyad, default: dyad.) -typedef union { - uint32_t raw; - struct { - bool isSingleBass:1; - }; -} user_config_t; -user_config_t user_config; - -#define IS_SINGLE_BASS() (user_config.isSingleBass) - -#ifdef RGBLIGHT_ENABLE -/* used to specify there is no LED on the keylocation. */ -# define NO_LED 255 -#endif // RGBLIGHT_ENABLE - - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _C_SYSTEM_BASE, // MIDI C-system - _FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. - _C_SYSTEM_BASS2ROW, // counter bass system - _FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version. - _C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords. - _C_SYSTEM_FREEBASS, // C-system Free Bass - _CHROMATONE, - _CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard - _QWERTY, - _COLEMAK, - _ADJUST, // for Fn keys, etc. - _FN // for changing layers, octaves, etc. -}; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - - // MIDI Chord Keycodes - Root notes - MY_CHORD_MIN = SAFE_RANGE, - - MI_CH_Cr = MY_CHORD_MIN, - MI_CH_Csr, - MI_CH_Dbr = MI_CH_Csr, - MI_CH_Dr, - MI_CH_Dsr, - MI_CH_Ebr = MI_CH_Dsr, - MI_CH_Er, - MI_CH_Fr, - MI_CH_Fsr, - MI_CH_Gbr = MI_CH_Fsr, - MI_CH_Gr, - MI_CH_Gsr, - MI_CH_Abr = MI_CH_Gsr, - MI_CH_Ar, - MI_CH_Asr, - MI_CH_Bbr = MI_CH_Asr, - MI_CH_Br, - - // MIDI Chord Keycodes - Major - - MI_CH_C, - MI_CH_Cs, - MI_CH_Db = MI_CH_Cs, - MI_CH_D, - MI_CH_Ds, - MI_CH_Eb = MI_CH_Ds, - MI_CH_E, - MI_CH_F, - MI_CH_Fs, - MI_CH_Gb = MI_CH_Fs, - MI_CH_G, - MI_CH_Gs, - MI_CH_Ab = MI_CH_Gs, - MI_CH_A, - MI_CH_As, - MI_CH_Bb = MI_CH_As, - MI_CH_B, - - // MIDI Chord Keycodes Minor - - MI_CH_Cm, - MI_CH_Csm, - MI_CH_Dbm = MI_CH_Csm, - MI_CH_Dm, - MI_CH_Dsm, - MI_CH_Ebm = MI_CH_Dsm, - MI_CH_Em, - MI_CH_Fm, - MI_CH_Fsm, - MI_CH_Gbm = MI_CH_Fsm, - MI_CH_Gm, - MI_CH_Gsm, - MI_CH_Abm = MI_CH_Gsm, - MI_CH_Am, - MI_CH_Asm, - MI_CH_Bbm = MI_CH_Asm, - MI_CH_Bm, - - //MIDI Chord Keycodes Dominant Seventh - - MI_CH_CDom7, - MI_CH_CsDom7, - MI_CH_DbDom7 = MI_CH_CsDom7, - MI_CH_DDom7, - MI_CH_DsDom7, - MI_CH_EbDom7 = MI_CH_DsDom7, - MI_CH_EDom7, - MI_CH_FDom7, - MI_CH_FsDom7, - MI_CH_GbDom7 = MI_CH_FsDom7, - MI_CH_GDom7, - MI_CH_GsDom7, - MI_CH_AbDom7 = MI_CH_GsDom7, - MI_CH_ADom7, - MI_CH_AsDom7, - MI_CH_BbDom7 = MI_CH_AsDom7, - MI_CH_BDom7, - - // MIDI Chord Keycodes Diminished Seventh - - MI_CH_CDim7, - MI_CH_CsDim7, - MI_CH_DbDim7 = MI_CH_CsDim7, - MI_CH_DDim7, - MI_CH_DsDim7, - MI_CH_EbDim7 = MI_CH_DsDim7, - MI_CH_EDim7, - MI_CH_FDim7, - MI_CH_FsDim7, - MI_CH_GbDim7 = MI_CH_FsDim7, - MI_CH_GDim7, - MI_CH_GsDim7, - MI_CH_AbDim7 = MI_CH_GsDim7, - MI_CH_ADim7, - MI_CH_AsDim7, - MI_CH_BbDim7 = MI_CH_AsDim7, - MI_CH_BDim7, - - MY_CHORD_MAX = MI_CH_BDim7, - - VERSION, - CSYSTEM, // C-SYSTEM layout - BSYSTEM, // B-SYSTEM layout - CNTBASC, // CouNTer BASs C-system layout - CNTBASB, // CouNTer BASs B-system layout - CSYSALL, // C-SYStem ALL layout - CSYSFBS, // C-SYStem Free BaSs - CHRTONE, // CHRomaTONE layout - CFLIP2B, // C-system FLIPped 2(to) Backwards - TGLBASS, // ToGgLe BASS unison - TGLMICH, // ToGgLe MIdi CHannel separation - MELDYAL, // MELody DYad Low - MELODYS, // MELODY Single - MELDYAH, // MELody DYad High - TGLUVEL // ToGgLe Unison VELocity -}; - -#define MY_CHORD_COUNT (MY_CHORD_MAX - MY_CHORD_MIN + 1) -static uint8_t chord_status[MY_CHORD_COUNT]; -static uint8_t my_tone_status[MIDI_TONE_COUNT]; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* C-system Base */ - [_C_SYSTEM_BASE] = LAYOUT( - MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, - MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs, - MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, - MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, - MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, - - MI_Fs2, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5 - ), - - /* fake B-system */ - [_FAKE_B_SYSTEM] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - MI_Ab2, - MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5 - ), - - /* BASS2row */ - [_C_SYSTEM_BASS2ROW] = LAYOUT( - MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr, - MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, - MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs, - MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, - MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, - - MI_Fs2, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5 - ), - - /* fake B-system */ - [_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT( - MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr, - MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, - MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs, - MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, - MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, - - MI_Ab2, - MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5 - ), - - /* C-system entirely */ - [_C_SYSTEM_ENTIRELY] = LAYOUT( - MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, - MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, - XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2, - XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2, - MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2, - - MI_Fs2, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5 - ), - - /* C-system free bass */ - [_C_SYSTEM_FREEBASS] = LAYOUT( - MI_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, - MI_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, - MI_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, MI_B, MI_Ab, MI_F, MI_D, - MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, MI_Db, - MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, MI_C, - - MI_Fs2, - MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE, - MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5, - MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5 - ), - - /* Chromatone */ - [_CHROMATONE] = LAYOUT( - MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, - MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, - MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, - MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2, - MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2, - - MI_C2, - MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE, - MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4, - MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3 - ), - - [_CFLIP_BASS2ROW] = LAYOUT( - MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr, - MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, - MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs, - MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, - MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, - - MI_G5, - MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE, - MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2, - MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2 - ), - - /* QWERTY */ - [_QWERTY] = LAYOUT_wrapper( - QK_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC, - KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_DEL, - KC_CAPS, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_ENT, - KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LNG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT, - - _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* COLEMAK */ - [_COLEMAK] = LAYOUT_wrapper( - QK_GESC, _________________NUMBER_L__________________, _________________NUMBER_R__________________, KC_BSPC, - KC_TAB, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_DEL, - KC_LCTL, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_ENT, - KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, SHIF_UP, - KC_CAPS, KC_LGUI, KC_LALT, ADJ_EIS, KC_SPC, KC_SPC, KC_LNG1, KC_APP, MO_ADJ, KC_LEFT, KC_DOWN, KC_RGHT, - - _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* ADJUST */ - [_ADJUST] = LAYOUT_wrapper( - _______, _________________FUNC__L___________________, _________________FUNC__R___________________, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, _______, - _______, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, _______, - _______, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_BSLS, _______, - - _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - - /* Fn */ - [_FN] = LAYOUT( - CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG, - DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - - XXXXXXX, - MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, - CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG, - XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) }, - [_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) }, - [_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) }, - [_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) }, - [_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) }, - [_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) }, - [_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) }, - [_QWERTY] = { ENCODER_CCW_CW(_______, _______) }, - [_COLEMAK] = { ENCODER_CCW_CW(_______, _______) }, - [_ADJUST] = { ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) }, -}; -#endif - -#ifdef RGBLIGHT_ENABLE - -// Light up adjust layer keys (left keyboard) -const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1, 10, HSV_ORANGE}, - {21, 2, HSV_ORANGE}, - {25, 3, HSV_ORANGE}, - {30, 5, HSV_ORANGE}, - {37, 2, HSV_ORANGE}, - {45, 2, HSV_ORANGE}, - {57, 2, HSV_ORANGE} -); - -// Light up fn layer keys -const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard - {0, 8, HSV_ORANGE}, // MIDI layouts - {11, 1, HSV_RED}, // RGB_TOG - {12, 1, HSV_WHITE}, // DF_QWER - {13, 1, HSV_CORAL}, // TGLBASS - {24, 1, HSV_WHITE}, // DF_COLE - {35, 1, HSV_TEAL}, // TGLMICH -#if 0 // Color Test - {36, 1, HSV_WHITE}, - {37, 1, HSV_RED}, - {38, 1, HSV_CORAL}, - {39, 1, HSV_ORANGE}, - {40, 1, HSV_GOLDENROD}, - {41, 1, HSV_GOLD}, - {42, 1, HSV_YELLOW}, - {43, 1, HSV_CHARTREUSE}, - {44, 1, HSV_GREEN}, - {45, 1, HSV_SPRINGGREEN}, - {46, 1, HSV_TURQUOISE}, - {47, 1, HSV_TEAL}, - {48, 1, HSV_CYAN}, - {49, 1, HSV_AZURE}, - {50, 1, HSV_BLUE}, - {51, 1, HSV_PURPLE}, - {52, 1, HSV_MAGENTA}, - {53, 1, HSV_PINK}, -#endif - // right keyboard - {60, 8, HSV_ORANGE}, // MIDI layouts - {74, 1, HSV_CORAL}, // TGLBASS - {85, 1, HSV_BLUE}, // MIDI Oct - {86, 1, HSV_CYAN}, // MIDI Oct - {87, 1, HSV_SPRINGGREEN}, // MIDI Oct - {88, 1, HSV_GREEN}, // MIDI Oct - {89, 1, HSV_CHARTREUSE}, // MIDI Oct - {95, 1, HSV_GOLD}, // VERSION - {96, 1, HSV_PINK}, // EE_CLR - {98, 8, HSV_ORANGE}, // MIDI layouts - {107, 1, HSV_YELLOW}, // MI_VELD - {108, 1, HSV_GREEN}, // MI_VELU - {110, 1, HSV_RED}, // RGB_TOG - {112, 1, HSV_CORAL}, // TGLBASS - {119, 1, HSV_CORAL}, // TGLUVEL - {120, 1, HSV_CYAN}, // MELDYAL - {121, 1, HSV_GOLD}, // MELODYS - {122, 1, HSV_SPRINGGREEN} // MELDYAH -); - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_fn_layer, my_adjust_layer); - -layer_state_t layer_state_set_user(layer_state_t state) { - // Both layers will light up if both kb layers are active - rgblight_set_layer_state(0, layer_state_cmp(state, _FN)); - rgblight_set_layer_state(1, layer_state_cmp(state, _ADJUST)); - return state; -}; - -#endif // RGBLIGHT_ENABLE - -void my_init(void){ - // Set octave to 0 - midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN; - // avoid using 127 since it is used as a special number in some sound sources. - midi_config.velocity = MIDI_INITIAL_VELOCITY; -} - -void eeconfig_init_user(void) { - midi_init(); - my_init(); - - // Used to set octave to 0 - midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. - - // UNISON flags - melody_dyad_high = false; // true when +1 octave unison dyad is enabled. - melody_dyad_low = false; // true when -1 octave unison dyad is enabled. - melody_unison_suppress = true; // true: velocity of octave unison note is suppressd to UNISON_VELOCITY_RATIO - - // Reset Bass setting - user_config.raw = 0; // default: dyad - eeconfig_update_user(user_config.raw); - - // Reset the midi keyboard layout - set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW); - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_sethsv(HSV_BLUE); - // party mode (for LED soldering test.) - rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -#endif -} - -#ifdef RGB_MATRIX_ENABLE -bool rgb_matrix_indicators_user(void) { - uint8_t i; - // uint32_t mode = rgblight_get_mode(); - - if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - - uint8_t layer = biton32(layer_state); - - switch (layer) { - case _ADJUST: - rgb_matrix_set_color(30, RGB_DARKORANGE); - rgb_matrix_set_color(34, RGB_DARKORANGE); - // rgb_matrix_set_color(72, RGB_DARKORANGE); - break; - case _FN: - for (i = 0;i < 8;i++) { - rgb_matrix_set_color(74 - i, RGB_DARKORANGE); // MIDI layouts - // right keyboard - rgb_matrix_set_color(i, RGB_DARKORANGE); // MIDI layouts - rgb_matrix_set_color(50 - i, RGB_DARKORANGE); // MIDI layouts - } - - // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy. - rgb_matrix_set_color(64, RGB_DARKBLUE); // RGB_MOD - rgb_matrix_set_color(63, RGB_DARKRED); // RGB_TOG - rgb_matrix_set_color(76, RGB_DARKCORAL); // TGLBASS - - rgb_matrix_set_color(75, RGB_DARKWHITE); // DF_QWER - rgb_matrix_set_color(98, RGB_DARKWHITE); // DF_COLE - rgb_matrix_set_color(87, RGB_DARKTEAL); // TGLMICH - - rgb_matrix_set_color(23, RGB_DARKCORAL); // TGLBASS - rgb_matrix_set_color(26, RGB_DARKBLUE); // MIDI Oct - rgb_matrix_set_color(27, RGB_DARKCYAN); // MIDI Oct - rgb_matrix_set_color(28, RGB_DARKSPRINGGREEN); // MIDI Oct - rgb_matrix_set_color(29, RGB_DARKGREEN); // MIDI Oct - rgb_matrix_set_color(30, RGB_DARKCHARTREUSE); // MIDI Oct - rgb_matrix_set_color(36, RGB_DARKGOLD); // VERSION - rgb_matrix_set_color(37, RGB_DARKPINK); // EE_CLR - rgb_matrix_set_color(41, RGB_DARKYELLOW); // MI_VELD - rgb_matrix_set_color(40, RGB_DARKGREEN); // MI_VELU - rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_MOD - rgb_matrix_set_color(38, RGB_DARKRED); // RGB_TOG - rgb_matrix_set_color(52, RGB_DARKCORAL); // TGLBASS - rgb_matrix_set_color(59, RGB_DARKCORAL); // TGLUVEL - rgb_matrix_set_color(60, RGB_DARKCYAN); // MELDYAL - rgb_matrix_set_color(61, RGB_DARKGOLD); // MELODYS - rgb_matrix_set_color(62, RGB_DARKSPRINGGREEN); // MELDYAH - break; - } - } - return false; -} -#endif - -void keyboard_post_init_user(void) { - my_init(); - - for (uint8_t i = 0; i < MY_CHORD_COUNT; i++) { - chord_status[i] = MIDI_INVALID_NOTE; - } - - for (uint8_t i = 0; i < MIDI_TONE_COUNT; i++) { - my_tone_status[i] = MIDI_INVALID_NOTE; - } - // load EEPROM data for isSingleBass - user_config.raw = eeconfig_read_user(); - -#ifdef RGBLIGHT_ENABLE - - rgblight_layers = my_rgb_layers; - - // Reset LED off - rgblight_sethsv(HSV_BLACK); -# if defined(RGBLIGHT_EFFECT_KNIGHT) || defined(RGBLIGHT_EFFECT_TWINKLE) - rgblight_sethsv(30, 50, 40); -# ifdef RGBLIGHT_EFFECT_KNIGHT - rgblight_mode(RGBLIGHT_MODE_KNIGHT); -# elif defined(RGBLIGHT_EFFECT_TWINKLE) - rgblight_mode(RGBLIGHT_MODE_TWINKLE+3); -# endif -# endif -#endif // RGBLIGHT_ENABLE - -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_sethsv(HSV_BLUE); - // party mode (for LED soldering test.) - rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); -#endif -}; - -void toggle_isSingleBass(void) { -#ifdef CONSOLE_ENABLE - uprintf("isSingleBass(before) %u\n", user_config.isSingleBass); -#endif - user_config.isSingleBass = !user_config.isSingleBass; -#ifdef CONSOLE_ENABLE - uprintf("isSingleBass(after) %u\n", user_config.isSingleBass); -#endif - - eeconfig_update_user(user_config.raw); -} - -void toggle_MIDI_channel_separation(void) { - if (midi_chord_ch > 0) { - midi_chord_ch = 0; - midi_bass_ch = 0; - } else { - midi_chord_ch = 1; - midi_bass_ch = 2; - } -} - -#ifdef RGBLIGHT_ENABLE -void keylight_manager(keyrecord_t *record, uint8_t hue, uint8_t sat, uint8_t val, uint8_t keylocation) { - if (keylocation == NO_LED) { - return; // do nothing. -# ifdef CONSOLE_ENABLE - uprintf("keylight_manager, NO_LED\n"); -# endif - } - - if (record->event.pressed) { - rgblight_sethsv_at(hue, sat, val, keylocation); - } else { - rgblight_sethsv_at(HSV_BLACK, keylocation); - } -} -#endif // RGBLIGHT_ENABLE - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint16_t root_note = MIDI_INVALID_NOTE; // Starting value for the root note of each chord - -#ifdef RGBLIGHT_ENABLE - /* prepare for turning on LEDs when keys are pressed. */ - uint8_t r = record->event.key.row; - uint8_t c = record->event.key.col; - // uint8_t keylocation = convert_key_to_led[MATRIX_COLS * r + c]; - // uint8_t keylocation2 = convert_key_to_led2[MATRIX_COLS * r + c]; - uint8_t keylocation = pgm_read_byte(&convert_key_to_led[MATRIX_COLS * r + c]); - uint8_t keylocation2 = pgm_read_byte(&convert_key_to_led2[MATRIX_COLS * r + c]); -#endif // RGBLIGHT_ENABLE - - uint8_t chord = keycode - MY_CHORD_MIN; - - switch (keycode) { - case VERSION: // Output firmware info. - if (record->event.pressed) { - SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE); - } - break; - - // set default layer and save it to EEPROM when MIDI key layers are selected. - case CSYSTEM: - if (record->event.pressed) { - set_single_persistent_default_layer(_C_SYSTEM_BASE); - } - break; - - case BSYSTEM: - if (record->event.pressed) { - set_single_persistent_default_layer(_FAKE_B_SYSTEM); - } - break; - - case CNTBASC: - if (record->event.pressed) { - set_single_persistent_default_layer(_C_SYSTEM_BASS2ROW); - } - break; - - case CNTBASB: - if (record->event.pressed) { - set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW); - } - break; - - case CSYSALL: - if (record->event.pressed) { - set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY); - } - break; - - case CHRTONE: - if (record->event.pressed) { - set_single_persistent_default_layer(_CHROMATONE); - } - break; - - case CFLIP2B: - if (record->event.pressed) { - set_single_persistent_default_layer(_CFLIP_BASS2ROW); - } - break; - - case CSYSFBS: - if (record->event.pressed) { - set_single_persistent_default_layer(_C_SYSTEM_FREEBASS); - } - break; - - case TGLBASS: - if (record->event.pressed) { - toggle_isSingleBass(); - }; - break; - - case TGLMICH: - if (record->event.pressed) { - toggle_MIDI_channel_separation(); - }; - break; - - case MELDYAL: - if (record->event.pressed) { - melody_dyad_low = true; - melody_dyad_high = false; - }; - break; - - case MELODYS: - if (record->event.pressed) { - melody_dyad_low = false; - melody_dyad_high = false; - }; - break; - - case MELDYAH: - if (record->event.pressed) { - melody_dyad_low = false; - melody_dyad_high = true; - }; - break; - - case TGLUVEL: - if (record->event.pressed) { - melody_unison_suppress = !melody_unison_suppress; - }; - break; - - // MIDI Chord Keycodes, on the left side. - case MI_CH_Cr ... MI_CH_Br: // Root Notes - root_note = keycode - MI_CH_Cr + MI_C1; - my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS()); -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); -#endif - break; - - case MI_CH_C ... MI_CH_B: // Major Chords - root_note = keycode - MI_CH_C + MI_C2; - // Root, Major Third, and Fifth Notes - my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); -#endif - break; - - case MI_CH_Cm ... MI_CH_Bm: // Minor Chord - root_note = keycode - MI_CH_Cm + MI_C2; - // Root, Minor Third, and Fifth Notes - my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); -#endif - break; - - case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord - root_note = keycode - MI_CH_CDom7 + MI_C2; - // Major Third, Major Fifth, and Minor Seventh Notes - my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); -#endif - break; - - case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord - root_note = keycode - MI_CH_CDim7 + MI_C2; - // Root, Minor Third, and Diminished 5th Note - my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); -#endif - break; - -#ifdef RGBLIGHT_ENABLE - case KC_A ... KC_RGUI: // for QWERTY - case QK_GRAVE_ESCAPE: - case ADJ_EIS: - case MO_ADJ: - case SHIF_UP: - keylight_manager(record, HSV_GOLDENROD, keylocation); - break; -#endif - - // Keycodes on the right side. - case MIDI_TONE_MIN ... MIDI_TONE_MAX: // notes on the right side keyboard. - // root_note is played by process_midi(). - if ( melody_dyad_high == true ) { // play 1 octave higher as well. - my_process_midi(0, keycode, record, my_tone_status, 12, melody_unison_suppress); - } else if ( melody_dyad_low == true ) { // play 1 octave lower as well. - my_process_midi(0, keycode, record, my_tone_status, -12, melody_unison_suppress); - } -#ifdef RGBLIGHT_ENABLE - keylight_manager(record, HSV_GOLDENROD, keylocation); - keylight_manager(record, HSV_GOLDENROD, keylocation2); -#endif - break; - -#ifdef RGBLIGHT_ENABLE - // case KC_MUTE: - case FN_MUTE: - keylight_manager(record, HSV_GOLDENROD, keylocation); - break; -#endif - } - // If console is enabled, it will print the matrix position and status of each key pressed -#if defined(CONSOLE_ENABLE) && defined(RGBLIGHT_ENABLE) - uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); - uprintf("r=%d, c=%d, keyloc=%d, keyloc2=%d, matrix_col x r + c = %d\n", r, c, keylocation, keylocation2, MATRIX_COLS * r + c); -#endif - return true; -} diff --git a/keyboards/giabalanai/keymaps/party/readme.md b/keyboards/giabalanai/keymaps/party/readme.md deleted file mode 100644 index 797fed76f83e..000000000000 --- a/keyboards/giabalanai/keymaps/party/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The fancy LED ver. for giabalanai -# warning: There is little space left for the firmware. You can't do anything further with this firmware. -# Power consumption might exceed 5 V * 500 mA = 2.5 W or so. diff --git a/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc b/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc deleted file mode 100644 index 6159968a69bc..000000000000 --- a/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc +++ /dev/null @@ -1,57 +0,0 @@ -#ifdef RGB_MATRIX_KEYREACTIVE_ENABLED -RGB_MATRIX_EFFECT(my_solid_reactive_with_CnoteIndicator) -RGB_MATRIX_EFFECT(my_party_rocks) - -# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS - -bool my_solid_reactive_with_CnoteIndicator(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); - - uint16_t max_tick = 65535 / rgb_matrix_config.speed; - for (uint8_t i = led_min; i < led_max; i++) { - RGB_MATRIX_TEST_LED_FLAGS(); - HSV hsv = rgb_matrix_config.hsv; - switch (i) { - // C note indicator - case 15: - case 19: - case 23: - case 52: - case 56: - case 60: - case 80: // left hand side, bass C note when counter bass is chosen. - // HSV_GOLDENROD - hsv.h = 30; - hsv.s = 218; - hsv.v = 218; - break; - } - uint16_t tick = max_tick; - // Reverse search to find most recent key hit - for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) { - if (g_last_hit_tracker.x[j] == g_led_config.point[i].x && g_last_hit_tracker.y[j] == g_led_config.point[i].y && g_last_hit_tracker.tick[j] < tick) { - tick = g_last_hit_tracker.tick[j]; - break; - } - } - - uint16_t offset = scale16by8(tick, rgb_matrix_config.speed); - hsv.h += qsub8(130, offset); - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } - return led_max < RGB_MATRIX_LED_COUNT; -} - -bool my_party_rocks(effect_params_t* params) { - RGB_MATRIX_USE_LIMITS(led_min, led_max); - HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v}; - RGB rgb = rgb_matrix_hsv_to_rgb(hsv); - // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); - return led_max < RGB_MATRIX_LED_COUNT; -} - - -# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS -#endif // RGB_MATRIX_KEYREACTIVE_ENABLED diff --git a/keyboards/giabalanai/keymaps/party/rules.mk b/keyboards/giabalanai/keymaps/party/rules.mk deleted file mode 100644 index c05207feebe5..000000000000 --- a/keyboards/giabalanai/keymaps/party/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -CONSOLE_ENABLE = no # Console for debug -RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.) -RGB_MATRIX_CUSTOM_USER = yes # - -ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31. diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h index ba683e4fed15..5204496e6610 100755 --- a/keyboards/gizmo_engineering/gk6/config.h +++ b/keyboards/gizmo_engineering/gk6/config.h @@ -18,10 +18,9 @@ along with this program. If not, see . #pragma once // RGB Matrix -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110111 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 32 #define DRIVER_2_LED_TOTAL 32 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) @@ -31,8 +30,6 @@ along with this program. If not, see . #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define RGB_MATRIX_DEFAULT_SPD 127 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c index e28f5d43c732..18883727b88d 100755 --- a/keyboards/gizmo_engineering/gk6/gk6.c +++ b/keyboards/gizmo_engineering/gk6/gk6.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { {0, C1_8, C2_8, C3_8}, //0 led1 {0, C1_7, C2_7, C3_7}, //1 led2 {0, C1_6, C2_6, C3_6}, //2 led3 diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json index d738d31d3d60..c9581479711d 100644 --- a/keyboards/gizmo_engineering/gk6/info.json +++ b/keyboards/gizmo_engineering/gk6/info.json @@ -9,7 +9,7 @@ "device_version": "30.3.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B5", "C6", "C7", "F7", "F6", "D5", "D3", "D2", "F1", "F4", "B7", "F5"], diff --git a/keyboards/gkeyboard/gkb_m16/config.h b/keyboards/gkeyboard/gkb_m16/config.h index 1f278e6e3198..a8deb9de2aa0 100644 --- a/keyboards/gkeyboard/gkb_m16/config.h +++ b/keyboards/gkeyboard/gkb_m16/config.h @@ -17,22 +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 -#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 - /* 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/gkeyboard/gkb_m16/info.json b/keyboards/gkeyboard/gkb_m16/info.json index ebf5ee88459d..9d80eba885c6 100644 --- a/keyboards/gkeyboard/gkb_m16/info.json +++ b/keyboards/gkeyboard/gkb_m16/info.json @@ -8,6 +8,24 @@ "pid": "0x4201", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "F1" }, diff --git a/keyboards/gkeyboard/gpad8_2r/config.h b/keyboards/gkeyboard/gpad8_2r/config.h index 0691d106b706..88debbe193a4 100644 --- a/keyboards/gkeyboard/gpad8_2r/config.h +++ b/keyboards/gkeyboard/gpad8_2r/config.h @@ -3,8 +3,6 @@ #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 8 - #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/gkeyboard/gpad8_2r/info.json b/keyboards/gkeyboard/gpad8_2r/info.json index 81ac15251f0f..9aa63091c978 100644 --- a/keyboards/gkeyboard/gpad8_2r/info.json +++ b/keyboards/gkeyboard/gpad8_2r/info.json @@ -25,6 +25,9 @@ "rows": ["GP4", "GP5", "GP6"] }, "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 8 + }, "encoder": { "enabled": true, "rotary": [ @@ -33,7 +36,7 @@ ] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [1, 0], "x": 28, "y": 12}, {"flags": 4, "matrix": [1, 1], "x": 84, "y": 12}, diff --git a/keyboards/gl516/j73gl/config.h b/keyboards/gl516/j73gl/config.h index 49205e59d155..16d7526f814e 100644 --- a/keyboards/gl516/j73gl/config.h +++ b/keyboards/gl516/j73gl/config.h @@ -30,19 +30,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* 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 -#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/gl516/j73gl/info.json b/keyboards/gl516/j73gl/info.json index a34c1e6c4cb0..fa78788e6662 100644 --- a/keyboards/gl516/j73gl/info.json +++ b/keyboards/gl516/j73gl/info.json @@ -8,6 +8,21 @@ "pid": "0xE8D0", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 73, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk index 294015d80b86..d93c7282132f 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk @@ -1,6 +1,6 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 +RGB_MATRIX_DRIVER = ws2812 VIA_ENABLE = yes LTO_ENABLE = yes SPACE_CADET_ENABLE = no diff --git a/keyboards/gl516/n51gl/config.h b/keyboards/gl516/n51gl/config.h index cd919a72c472..a4114e1ca6e2 100644 --- a/keyboards/gl516/n51gl/config.h +++ b/keyboards/gl516/n51gl/config.h @@ -30,19 +30,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* 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 -#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/gl516/n51gl/info.json b/keyboards/gl516/n51gl/info.json index 9da8930c60b7..c5abdd45428c 100644 --- a/keyboards/gl516/n51gl/info.json +++ b/keyboards/gl516/n51gl/info.json @@ -8,6 +8,21 @@ "pid": "0xE8CF", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 15, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, @@ -83,64 +98,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/config.h b/keyboards/gl516/n51gl/keymaps/salicylic/config.h deleted file mode 100644 index 0e221d844d5a..000000000000 --- a/keyboards/gl516/n51gl/keymaps/salicylic/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 Salicylic_acid3 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* Select hand configuration */ - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 180 diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c deleted file mode 100644 index 81f7b8665f58..000000000000 --- 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 cf1aa7d595f0..10980c6ad0c7 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 036bd6d1c3ec..f1adcab005e8 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/glenpickle/chimera_ergo/rules.mk b/keyboards/glenpickle/chimera_ergo/rules.mk index 32eca4db3144..f543b5fd9a23 100644 --- a/keyboards/glenpickle/chimera_ergo/rules.mk +++ b/keyboards/glenpickle/chimera_ergo/rules.mk @@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/glenpickle/chimera_ls/rules.mk b/keyboards/glenpickle/chimera_ls/rules.mk index 1ee3fc58f957..706d61065389 100644 --- a/keyboards/glenpickle/chimera_ls/rules.mk +++ b/keyboards/glenpickle/chimera_ls/rules.mk @@ -14,7 +14,7 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes # Disable unsupported hardware RGBLIGHT_SUPPORTED = no diff --git a/keyboards/glenpickle/chimera_ortho/rules.mk b/keyboards/glenpickle/chimera_ortho/rules.mk index 32eca4db3144..f543b5fd9a23 100644 --- a/keyboards/glenpickle/chimera_ortho/rules.mk +++ b/keyboards/glenpickle/chimera_ortho/rules.mk @@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/glenpickle/chimera_ortho_plus/rules.mk b/keyboards/glenpickle/chimera_ortho_plus/rules.mk index 6b1876f87ca2..539a2d1004b4 100644 --- a/keyboards/glenpickle/chimera_ortho_plus/rules.mk +++ b/keyboards/glenpickle/chimera_ortho_plus/rules.mk @@ -15,4 +15,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c -QUANTUM_LIB_SRC += uart.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c index 2ed88744910e..774006d5291e 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c @@ -18,8 +18,8 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Refer to IS31 manual for these locations +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to AW20216S manual for these locations * driver * | R location * | | G location diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json index c22fe89f589d..cd9296b81a20 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json @@ -8,8 +8,11 @@ "pid": "0x5045", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], @@ -21,8 +24,12 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": ["65_ansi_blocker"], "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [1, 3], "x": 0, "y": 0}, {"matrix": [1, 7], "x": 1, "y": 0}, @@ -37,8 +44,8 @@ {"matrix": [8, 7], "x": 10, "y": 0}, {"matrix": [8, 6], "x": 11, "y": 0}, {"matrix": [6, 6], "x": 12, "y": 0}, - {"matrix": [7, 1], "x": 13, "y": 0, "w": 2.25}, - {"matrix": [2, 5], "x": 15.25, "y": 0}, + {"matrix": [7, 1], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 5], "x": 15, "y": 0}, {"matrix": [1, 1], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 0], "x": 1.5, "y": 1}, @@ -53,8 +60,8 @@ {"matrix": [8, 0], "x": 10.5, "y": 1}, {"matrix": [8, 1], "x": 11.5, "y": 1}, {"matrix": [6, 1], "x": 12.5, "y": 1}, - {"matrix": [7, 6], "x": 13.5, "y": 1, "w": 1.75}, - {"matrix": [2, 6], "x": 15.25, "y": 1}, + {"matrix": [7, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 6], "x": 15, "y": 1}, {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, {"matrix": [1, 2], "x": 1.75, "y": 2}, @@ -69,7 +76,7 @@ {"matrix": [8, 2], "x": 10.75, "y": 2}, {"matrix": [8, 3], "x": 11.75, "y": 2}, {"matrix": [8, 4], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [6, 5], "x": 15.25, "y": 2}, + {"matrix": [6, 5], "x": 15, "y": 2}, {"matrix": [0, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [1, 4], "x": 2.25, "y": 3}, @@ -83,8 +90,8 @@ {"matrix": [7, 4], "x": 10.25, "y": 3}, {"matrix": [8, 5], "x": 11.25, "y": 3}, {"matrix": [0, 7], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 5], "x": 14.25, "y": 3}, - {"matrix": [0, 1], "x": 15.25, "y": 3}, + {"matrix": [3, 5], "x": 14, "y": 3}, + {"matrix": [0, 1], "x": 15, "y": 3}, {"matrix": [0, 6], "x": 0, "y": 4, "w": 1.25}, {"matrix": [1, 5], "x": 1.25, "y": 4, "w": 1.25}, @@ -93,9 +100,9 @@ {"matrix": [3, 6], "x": 10, "y": 4, "w": 1.25}, {"matrix": [3, 3], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [0, 3], "x": 13.25, "y": 4}, - {"matrix": [7, 3], "x": 14.25, "y": 4}, - {"matrix": [0, 5], "x": 15.25, "y": 4} + {"matrix": [0, 3], "x": 13, "y": 4}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [0, 5], "x": 15, "y": 4} ] } } diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c index 471bc69b8ec6..42affd3de620 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/default/keymap.c @@ -26,7 +26,7 @@ enum custom_layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ -[_BL] = LAYOUT( +[_BL] = LAYOUT_65_ansi_blocker( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ -[_FL] = LAYOUT( +[_FL] = 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_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c index 10653ae46383..567ea686f84c 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/via/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ -[0] = LAYOUT( +[0] = LAYOUT_65_ansi_blocker( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _FL: Function Layer */ -[1] = LAYOUT( +[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_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -38,14 +38,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD ), -[2] = LAYOUT( +[2] = LAYOUT_65_ansi_blocker( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -[3] = LAYOUT( +[3] = LAYOUT_65_ansi_blocker( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/keymap.c deleted file mode 100644 index 6d88e116743e..000000000000 --- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/keymap.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2022 Eugenio Pastoral - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "vnmm.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap WIN_BASE: Base Layer (Default Layer) - */ -[WIN_BASE] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_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, WIN_F, KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap MAC_BASE: Alternate base layer available if I end up on macbook. - */ -[MAC_BASE] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MAC_F, KC_LEFT, KC_DOWN, KC_RGHT), - - - /* Keymap WIN_FN: Function Layer WIN_BASE - */ -[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_TOG, RGB_MOD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_VOLU, KC_MPLY, - EE_CLR, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), - - /* Keymap MAC_FN: Function Layer for MAC_BASE - */ -[MAC_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_TOG, RGB_MOD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - _______, RGB_RMOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_VOLU, KC_MPLY, - EE_CLR, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), -}; diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/readme.md deleted file mode 100644 index d39bdb6e8d45..000000000000 --- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Vnmm's ANSI GMMKV2 65% Layout - -This keymap builds on archrovisual's but with some changes and uses the default key placements - -## Features - -- Alphabet keys light up red when caps lock is on -- Pressing FN shows keys that have a definition -- Via enabled -- Quick reset with fn+space diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/rules.mk deleted file mode 100644 index 96d2d189b2e6..000000000000 --- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/vnmm/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -VIA_ENABLE = yes -MOUSEKEY_ENABLE = no diff --git a/keyboards/gmmk/gmmk2/p65/ansi/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/rules.mk index 1b4692a62164..2d2e9895fd8e 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/rules.mk +++ b/keyboards/gmmk/gmmk2/p65/ansi/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. RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = embedded_flash diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h index 64febeb948aa..ce9ff6943363 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 */ @@ -31,12 +29,11 @@ #define SPI_MOSI_PIN B15 #define SPI_MISO_PIN B14 -#define DRIVER_1_CS A15 -#define DRIVER_2_CS B9 -#define DRIVER_1_EN C13 -#define DRIVER_2_EN C13 +#define AW20216S_CS_PIN_1 A15 +#define AW20216S_CS_PIN_2 B9 +#define AW20216S_EN_PIN_1 C13 +#define AW20216S_EN_PIN_2 C13 -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 54 #define DRIVER_2_LED_TOTAL 34 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json index de078864cea4..c286cb7ba057 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/info.json +++ b/keyboards/gmmk/gmmk2/p65/iso/info.json @@ -8,8 +8,11 @@ "pid": "0x504A", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], @@ -21,8 +24,9 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", + "community_layouts": ["65_iso_blocker"], "layouts": { - "LAYOUT": { + "LAYOUT_65_iso_blocker": { "layout": [ {"matrix": [1, 3], "x": 0, "y": 0}, {"matrix": [1, 7], "x": 1, "y": 0}, @@ -37,8 +41,8 @@ {"matrix": [8, 7], "x": 10, "y": 0}, {"matrix": [8, 6], "x": 11, "y": 0}, {"matrix": [6, 6], "x": 12, "y": 0}, - {"matrix": [7, 1], "x": 13, "y": 0, "w": 2.25}, - {"matrix": [2, 5], "x": 15.25, "y": 0}, + {"matrix": [7, 1], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 5], "x": 15, "y": 0}, {"matrix": [1, 1], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 0], "x": 1.5, "y": 1}, @@ -53,8 +57,7 @@ {"matrix": [8, 0], "x": 10.5, "y": 1}, {"matrix": [8, 1], "x": 11.5, "y": 1}, {"matrix": [6, 1], "x": 12.5, "y": 1}, - {"matrix": [8, 4], "x": 13.5, "y": 1, "w": 1.75, "h": 2}, - {"matrix": [2, 6], "x": 15.25, "y": 1}, + {"matrix": [2, 6], "x": 15, "y": 1}, {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, {"matrix": [1, 2], "x": 1.75, "y": 2}, @@ -69,7 +72,8 @@ {"matrix": [8, 2], "x": 10.75, "y": 2}, {"matrix": [8, 3], "x": 11.75, "y": 2}, {"matrix": [7, 5], "x": 12.75, "y": 2}, - {"matrix": [6, 5], "x": 15.25, "y": 2}, + {"matrix": [8, 4], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 5], "x": 15, "y": 2}, {"matrix": [0, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [0, 2], "x": 1.25, "y": 3}, @@ -84,8 +88,8 @@ {"matrix": [7, 4], "x": 10.25, "y": 3}, {"matrix": [8, 5], "x": 11.25, "y": 3}, {"matrix": [0, 7], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 5], "x": 14.25, "y": 3}, - {"matrix": [0, 1], "x": 15.25, "y": 3}, + {"matrix": [3, 5], "x": 14, "y": 3}, + {"matrix": [0, 1], "x": 15, "y": 3}, {"matrix": [0, 6], "x": 0, "y": 4, "w": 1.25}, {"matrix": [1, 5], "x": 1.25, "y": 4, "w": 1.25}, @@ -94,9 +98,9 @@ {"matrix": [3, 6], "x": 10, "y": 4, "w": 1.25}, {"matrix": [3, 3], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [0, 3], "x": 13.25, "y": 4}, - {"matrix": [7, 3], "x": 14.25, "y": 4}, - {"matrix": [0, 5], "x": 15.25, "y": 4} + {"matrix": [0, 3], "x": 13, "y": 4}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [0, 5], "x": 15, "y": 4} ] } } diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c index a296844f4403..80c0dc2e0de8 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c @@ -18,8 +18,8 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Refer to IS31 manual for these locations +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to AW20216S manual for these locations * driver * | R location * | | G location diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c index 1ab85d7f0a19..6a3da299a24a 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/default/keymap.c @@ -26,19 +26,19 @@ enum custom_layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ -[_BL] = LAYOUT( +[_BL] = LAYOUT_65_iso_blocker( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), /* Keymap _FL: Function Layer */ -[_FL] = LAYOUT( +[_FL] = LAYOUT_65_iso_blocker( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD) }; diff --git a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c index 6146e7817f90..f0fe74004278 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c +++ b/keyboards/gmmk/gmmk2/p65/iso/keymaps/via/keymap.c @@ -19,32 +19,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ -[0] = LAYOUT( +[0] = LAYOUT_65_iso_blocker( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), /* Keymap _FL: Function Layer */ -[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_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +[1] = LAYOUT_65_iso_blocker( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, KC_HOME, _______, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD), -[2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +[2] = LAYOUT_65_iso_blocker( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), -[3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______), +[3] = LAYOUT_65_iso_blocker( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/gmmk/gmmk2/p65/iso/rules.mk b/keyboards/gmmk/gmmk2/p65/iso/rules.mk index 1b4692a62164..2d2e9895fd8e 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/rules.mk +++ b/keyboards/gmmk/gmmk2/p65/iso/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. RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = embedded_flash diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c index 467765e435e4..bc05ab630101 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c @@ -18,8 +18,8 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Refer to IS31 manual for these locations +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to AW20216S manual for these locations * driver * | R location * | | G location diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json index 482e52f5044a..e4eaddbfe8e9 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json @@ -8,14 +8,24 @@ "pid": "0x504B", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", "layouts": { @@ -40,103 +50,103 @@ {"matrix": [13, 0], "x": 14, "y": 0}, - {"matrix": [0, 6], "x": 15.5, "y": 0}, - {"matrix": [1, 6], "x": 16.5, "y": 0}, - {"matrix": [2, 6], "x": 17.5, "y": 0}, - {"matrix": [3, 6], "x": 18.5, "y": 0}, - - {"matrix": [0, 1], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [2, 1], "x": 2, "y": 1}, - {"matrix": [3, 1], "x": 3, "y": 1}, - {"matrix": [4, 1], "x": 4, "y": 1}, - {"matrix": [5, 1], "x": 5, "y": 1}, - {"matrix": [6, 1], "x": 6, "y": 1}, - {"matrix": [7, 1], "x": 7, "y": 1}, - {"matrix": [8, 1], "x": 8, "y": 1}, - {"matrix": [9, 1], "x": 9, "y": 1}, - {"matrix": [10, 1], "x": 10, "y": 1}, - {"matrix": [11, 1], "x": 11, "y": 1}, - {"matrix": [12, 1], "x": 12, "y": 1}, - {"matrix": [13, 1], "x": 13, "y": 1, "w": 2}, - - {"matrix": [4, 6], "x": 15.5, "y": 1}, - {"matrix": [5, 6], "x": 16.5, "y": 1}, - {"matrix": [6, 6], "x": 17.5, "y": 1}, - {"matrix": [7, 6], "x": 18.5, "y": 1}, - - {"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [3, 2], "x": 3.5, "y": 2}, - {"matrix": [4, 2], "x": 4.5, "y": 2}, - {"matrix": [5, 2], "x": 5.5, "y": 2}, - {"matrix": [6, 2], "x": 6.5, "y": 2}, - {"matrix": [7, 2], "x": 7.5, "y": 2}, - {"matrix": [8, 2], "x": 8.5, "y": 2}, - {"matrix": [9, 2], "x": 9.5, "y": 2}, - {"matrix": [10, 2], "x": 10.5, "y": 2}, - {"matrix": [11, 2], "x": 11.5, "y": 2}, - {"matrix": [12, 2], "x": 12.5, "y": 2}, - {"matrix": [13, 2], "x": 13.5, "y": 2, "w": 1.25}, - - {"matrix": [8, 6], "x": 15.5, "y": 2}, - {"matrix": [9, 6], "x": 16.5, "y": 2}, - {"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5}, - {"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2}, - - {"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [1, 3], "x": 1.75, "y": 3}, - {"matrix": [2, 3], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [4, 3], "x": 4.75, "y": 3}, - {"matrix": [5, 3], "x": 5.75, "y": 3}, - {"matrix": [6, 3], "x": 6.75, "y": 3}, - {"matrix": [7, 3], "x": 7.75, "y": 3}, - {"matrix": [8, 3], "x": 8.75, "y": 3}, - {"matrix": [9, 3], "x": 9.75, "y": 3}, - {"matrix": [10, 3], "x": 10.75, "y": 3}, - {"matrix": [11, 3], "x": 11.75, "y": 3}, - {"matrix": [13, 3], "x": 12.75, "y": 3, "w": 2.25}, - - {"matrix": [10, 7], "x": 15.5, "y": 3}, - {"matrix": [11, 7], "x": 16.5, "y": 3}, - {"matrix": [12, 7], "x": 17.5, "y": 3}, - - {"matrix": [0, 4], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [2, 4], "x": 2.25, "y": 4}, - {"matrix": [3, 4], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [5, 4], "x": 5.25, "y": 4}, - {"matrix": [6, 4], "x": 6.25, "y": 4}, - {"matrix": [7, 4], "x": 7.25, "y": 4}, - {"matrix": [8, 4], "x": 8.25, "y": 4}, - {"matrix": [9, 4], "x": 9.25, "y": 4}, - {"matrix": [10, 4], "x": 10.25, "y": 4}, - {"matrix": [11, 4], "x": 11.25, "y": 4}, - {"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75}, - - {"matrix": [1, 7], "x": 14.25, "y": 4}, - - {"matrix": [6, 7], "x": 15.5, "y": 4}, - {"matrix": [7, 7], "x": 16.5, "y": 4}, - {"matrix": [8, 7], "x": 17.5, "y": 4}, - {"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2}, - - {"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [9, 5], "x": 10, "y": 5}, - {"matrix": [10, 5], "x": 11, "y": 5}, - {"matrix": [12, 5], "x": 12, "y": 5}, - - {"matrix": [0, 7], "x": 13.25, "y": 5}, - {"matrix": [2, 7], "x": 14.25, "y": 5}, - {"matrix": [3, 7], "x": 15.25, "y": 5}, - - {"matrix": [4, 7], "x": 16.5, "y": 5}, - {"matrix": [5, 7], "x": 17.5, "y": 5} + {"matrix": [0, 6], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0}, + {"matrix": [2, 6], "x": 17.25, "y": 0}, + {"matrix": [3, 6], "x": 18.25, "y": 0}, + + {"matrix": [0, 1], "x": 0, "y": 1.125}, + {"matrix": [1, 1], "x": 1, "y": 1.125}, + {"matrix": [2, 1], "x": 2, "y": 1.125}, + {"matrix": [3, 1], "x": 3, "y": 1.125}, + {"matrix": [4, 1], "x": 4, "y": 1.125}, + {"matrix": [5, 1], "x": 5, "y": 1.125}, + {"matrix": [6, 1], "x": 6, "y": 1.125}, + {"matrix": [7, 1], "x": 7, "y": 1.125}, + {"matrix": [8, 1], "x": 8, "y": 1.125}, + {"matrix": [9, 1], "x": 9, "y": 1.125}, + {"matrix": [10, 1], "x": 10, "y": 1.125}, + {"matrix": [11, 1], "x": 11, "y": 1.125}, + {"matrix": [12, 1], "x": 12, "y": 1.125}, + {"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2}, + + {"matrix": [4, 6], "x": 15.25, "y": 1.125}, + {"matrix": [5, 6], "x": 16.25, "y": 1.125}, + {"matrix": [6, 6], "x": 17.25, "y": 1.125}, + {"matrix": [7, 6], "x": 18.25, "y": 1.125}, + + {"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.125}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2.125}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.125}, + {"matrix": [6, 2], "x": 6.5, "y": 2.125}, + {"matrix": [7, 2], "x": 7.5, "y": 2.125}, + {"matrix": [8, 2], "x": 8.5, "y": 2.125}, + {"matrix": [9, 2], "x": 9.5, "y": 2.125}, + {"matrix": [10, 2], "x": 10.5, "y": 2.125}, + {"matrix": [11, 2], "x": 11.5, "y": 2.125}, + {"matrix": [12, 2], "x": 12.5, "y": 2.125}, + {"matrix": [13, 2], "x": 13.5, "y": 2.125, "w": 1.5}, + + {"matrix": [8, 6], "x": 15.25, "y": 2.125}, + {"matrix": [9, 6], "x": 16.25, "y": 2.125}, + {"matrix": [10, 6], "x": 17.25, "y": 2.125}, + {"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2}, + + {"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75}, + {"matrix": [1, 3], "x": 1.75, "y": 3.125}, + {"matrix": [2, 3], "x": 2.75, "y": 3.125}, + {"matrix": [3, 3], "x": 3.75, "y": 3.125}, + {"matrix": [4, 3], "x": 4.75, "y": 3.125}, + {"matrix": [5, 3], "x": 5.75, "y": 3.125}, + {"matrix": [6, 3], "x": 6.75, "y": 3.125}, + {"matrix": [7, 3], "x": 7.75, "y": 3.125}, + {"matrix": [8, 3], "x": 8.75, "y": 3.125}, + {"matrix": [9, 3], "x": 9.75, "y": 3.125}, + {"matrix": [10, 3], "x": 10.75, "y": 3.125}, + {"matrix": [11, 3], "x": 11.75, "y": 3.125}, + {"matrix": [13, 3], "x": 12.75, "y": 3.125, "w": 2.25}, + + {"matrix": [10, 7], "x": 15.25, "y": 3.125}, + {"matrix": [11, 7], "x": 16.25, "y": 3.125}, + {"matrix": [12, 7], "x": 17.25, "y": 3.125}, + + {"matrix": [0, 4], "x": 0, "y": 4.125, "w": 2.25}, + {"matrix": [2, 4], "x": 2.25, "y": 4.125}, + {"matrix": [3, 4], "x": 3.25, "y": 4.125}, + {"matrix": [4, 4], "x": 4.25, "y": 4.125}, + {"matrix": [5, 4], "x": 5.25, "y": 4.125}, + {"matrix": [6, 4], "x": 6.25, "y": 4.125}, + {"matrix": [7, 4], "x": 7.25, "y": 4.125}, + {"matrix": [8, 4], "x": 8.25, "y": 4.125}, + {"matrix": [9, 4], "x": 9.25, "y": 4.125}, + {"matrix": [10, 4], "x": 10.25, "y": 4.125}, + {"matrix": [11, 4], "x": 11.25, "y": 4.125}, + {"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75}, + + {"matrix": [1, 7], "x": 14.125, "y": 4.25}, + + {"matrix": [6, 7], "x": 15.25, "y": 4.125}, + {"matrix": [7, 7], "x": 16.25, "y": 4.125}, + {"matrix": [8, 7], "x": 17.25, "y": 4.125}, + {"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2}, + + {"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25}, + {"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25}, + {"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25}, + {"matrix": [9, 5], "x": 10, "y": 5.125}, + {"matrix": [10, 5], "x": 11, "y": 5.125}, + {"matrix": [12, 5], "x": 12, "y": 5.125}, + + {"matrix": [0, 7], "x": 13.125, "y": 5.25}, + {"matrix": [2, 7], "x": 14.125, "y": 5.25}, + {"matrix": [3, 7], "x": 15.125, "y": 5.25}, + + {"matrix": [4, 7], "x": 16.25, "y": 5.125}, + {"matrix": [5, 7], "x": 17.25, "y": 5.125} ] } } diff --git a/keyboards/gmmk/gmmk2/p96/ansi/rules.mk b/keyboards/gmmk/gmmk2/p96/ansi/rules.mk index a076e0191687..2d2e9895fd8e 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/rules.mk +++ b/keyboards/gmmk/gmmk2/p96/ansi/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. RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index 16aae9b33037..fb21c571f53b 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 */ @@ -27,7 +25,6 @@ /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 -#define WEAR_LEVELING_BACKING_SIZE 2048 /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ @@ -35,12 +32,11 @@ #define SPI_MOSI_PIN A7 #define SPI_MISO_PIN A6 -#define DRIVER_1_CS A15 -#define DRIVER_2_CS B15 -#define DRIVER_1_EN C13 -#define DRIVER_2_EN C13 +#define AW20216S_CS_PIN_1 A15 +#define AW20216S_CS_PIN_2 B15 +#define AW20216S_EN_PIN_1 C13 +#define AW20216S_EN_PIN_2 C13 -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 54 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json index de9eb07edcf8..d9f53b76f1e3 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/info.json +++ b/keyboards/gmmk/gmmk2/p96/iso/info.json @@ -8,14 +8,24 @@ "pid": "0x505A", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", "layouts": { @@ -40,104 +50,104 @@ {"matrix": [13, 0], "x": 14, "y": 0}, - {"matrix": [0, 6], "x": 15.5, "y": 0}, - {"matrix": [1, 6], "x": 16.5, "y": 0}, - {"matrix": [2, 6], "x": 17.5, "y": 0}, - {"matrix": [3, 6], "x": 18.5, "y": 0}, - - {"matrix": [0, 1], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [2, 1], "x": 2, "y": 1}, - {"matrix": [3, 1], "x": 3, "y": 1}, - {"matrix": [4, 1], "x": 4, "y": 1}, - {"matrix": [5, 1], "x": 5, "y": 1}, - {"matrix": [6, 1], "x": 6, "y": 1}, - {"matrix": [7, 1], "x": 7, "y": 1}, - {"matrix": [8, 1], "x": 8, "y": 1}, - {"matrix": [9, 1], "x": 9, "y": 1}, - {"matrix": [10, 1], "x": 10, "y": 1}, - {"matrix": [11, 1], "x": 11, "y": 1}, - {"matrix": [12, 1], "x": 12, "y": 1}, - {"matrix": [13, 1], "x": 13, "y": 1, "w": 2}, - - {"matrix": [4, 6], "x": 15.5, "y": 1}, - {"matrix": [5, 6], "x": 16.5, "y": 1}, - {"matrix": [6, 6], "x": 17.5, "y": 1}, - {"matrix": [7, 6], "x": 18.5, "y": 1}, - - {"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [3, 2], "x": 3.5, "y": 2}, - {"matrix": [4, 2], "x": 4.5, "y": 2}, - {"matrix": [5, 2], "x": 5.5, "y": 2}, - {"matrix": [6, 2], "x": 6.5, "y": 2}, - {"matrix": [7, 2], "x": 7.5, "y": 2}, - {"matrix": [8, 2], "x": 8.5, "y": 2}, - {"matrix": [9, 2], "x": 9.5, "y": 2}, - {"matrix": [10, 2], "x": 10.5, "y": 2}, - {"matrix": [11, 2], "x": 11.5, "y": 2}, - {"matrix": [12, 2], "x": 12.5, "y": 2}, - {"matrix": [13, 3], "x": 13.5, "y": 2, "w": 1.25, "h": 2}, - - {"matrix": [8, 6], "x": 15.5, "y": 2}, - {"matrix": [9, 6], "x": 16.5, "y": 2}, - {"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5}, - {"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2}, - - {"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [1, 3], "x": 1.75, "y": 3}, - {"matrix": [2, 3], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [4, 3], "x": 4.75, "y": 3}, - {"matrix": [5, 3], "x": 5.75, "y": 3}, - {"matrix": [6, 3], "x": 6.75, "y": 3}, - {"matrix": [7, 3], "x": 7.75, "y": 3}, - {"matrix": [8, 3], "x": 8.75, "y": 3}, - {"matrix": [9, 3], "x": 9.75, "y": 3}, - {"matrix": [10, 3], "x": 10.75, "y": 3}, - {"matrix": [11, 3], "x": 11.75, "y": 3}, - {"matrix": [12, 3], "x": 12.75, "y": 3}, - - {"matrix": [10, 7], "x": 15.5, "y": 3}, - {"matrix": [11, 7], "x": 16.5, "y": 3}, - {"matrix": [12, 7], "x": 17.5, "y": 3}, - - {"matrix": [0, 4], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [1, 4], "x": 1.25, "y": 4}, - {"matrix": [2, 4], "x": 2.25, "y": 4}, - {"matrix": [3, 4], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [5, 4], "x": 5.25, "y": 4}, - {"matrix": [6, 4], "x": 6.25, "y": 4}, - {"matrix": [7, 4], "x": 7.25, "y": 4}, - {"matrix": [8, 4], "x": 8.25, "y": 4}, - {"matrix": [9, 4], "x": 9.25, "y": 4}, - {"matrix": [10, 4], "x": 10.25, "y": 4}, - {"matrix": [11, 4], "x": 11.25, "y": 4}, - {"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75}, - - {"matrix": [1, 7], "x": 14.25, "y": 4}, - - {"matrix": [6, 7], "x": 15.5, "y": 4}, - {"matrix": [7, 7], "x": 16.5, "y": 4}, - {"matrix": [8, 7], "x": 17.5, "y": 4}, - {"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2}, - - {"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [9, 5], "x": 10, "y": 5}, - {"matrix": [10, 5], "x": 11, "y": 5}, - {"matrix": [12, 5], "x": 12, "y": 5}, - - {"matrix": [0, 7], "x": 13.25, "y": 5}, - {"matrix": [2, 7], "x": 14.25, "y": 5}, - {"matrix": [3, 7], "x": 15.25, "y": 5}, - - {"matrix": [4, 7], "x": 16.5, "y": 5}, - {"matrix": [5, 7], "x": 17.5, "y": 5} + {"matrix": [0, 6], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0}, + {"matrix": [2, 6], "x": 17.25, "y": 0}, + {"matrix": [3, 6], "x": 18.25, "y": 0}, + + {"matrix": [0, 1], "x": 0, "y": 1.125}, + {"matrix": [1, 1], "x": 1, "y": 1.125}, + {"matrix": [2, 1], "x": 2, "y": 1.125}, + {"matrix": [3, 1], "x": 3, "y": 1.125}, + {"matrix": [4, 1], "x": 4, "y": 1.125}, + {"matrix": [5, 1], "x": 5, "y": 1.125}, + {"matrix": [6, 1], "x": 6, "y": 1.125}, + {"matrix": [7, 1], "x": 7, "y": 1.125}, + {"matrix": [8, 1], "x": 8, "y": 1.125}, + {"matrix": [9, 1], "x": 9, "y": 1.125}, + {"matrix": [10, 1], "x": 10, "y": 1.125}, + {"matrix": [11, 1], "x": 11, "y": 1.125}, + {"matrix": [12, 1], "x": 12, "y": 1.125}, + {"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2}, + + {"matrix": [4, 6], "x": 15.25, "y": 1.125}, + {"matrix": [5, 6], "x": 16.25, "y": 1.125}, + {"matrix": [6, 6], "x": 17.25, "y": 1.125}, + {"matrix": [7, 6], "x": 18.25, "y": 1.125}, + + {"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.125}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2.125}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.125}, + {"matrix": [6, 2], "x": 6.5, "y": 2.125}, + {"matrix": [7, 2], "x": 7.5, "y": 2.125}, + {"matrix": [8, 2], "x": 8.5, "y": 2.125}, + {"matrix": [9, 2], "x": 9.5, "y": 2.125}, + {"matrix": [10, 2], "x": 10.5, "y": 2.125}, + {"matrix": [11, 2], "x": 11.5, "y": 2.125}, + {"matrix": [12, 2], "x": 12.5, "y": 2.125}, + {"matrix": [13, 3], "x": 13.75, "y": 2.125, "w": 1.25, "h": 2}, + + {"matrix": [8, 6], "x": 15.25, "y": 2.125}, + {"matrix": [9, 6], "x": 16.25, "y": 2.125}, + {"matrix": [10, 6], "x": 17.25, "y": 2.125}, + {"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2}, + + {"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75}, + {"matrix": [1, 3], "x": 1.75, "y": 3.125}, + {"matrix": [2, 3], "x": 2.75, "y": 3.125}, + {"matrix": [3, 3], "x": 3.75, "y": 3.125}, + {"matrix": [4, 3], "x": 4.75, "y": 3.125}, + {"matrix": [5, 3], "x": 5.75, "y": 3.125}, + {"matrix": [6, 3], "x": 6.75, "y": 3.125}, + {"matrix": [7, 3], "x": 7.75, "y": 3.125}, + {"matrix": [8, 3], "x": 8.75, "y": 3.125}, + {"matrix": [9, 3], "x": 9.75, "y": 3.125}, + {"matrix": [10, 3], "x": 10.75, "y": 3.125}, + {"matrix": [11, 3], "x": 11.75, "y": 3.125}, + {"matrix": [12, 3], "x": 12.75, "y": 3.125}, + + {"matrix": [10, 7], "x": 15.25, "y": 3.125}, + {"matrix": [11, 7], "x": 16.25, "y": 3.125}, + {"matrix": [12, 7], "x": 17.25, "y": 3.125}, + + {"matrix": [0, 4], "x": 0, "y": 4.125, "w": 1.25}, + {"matrix": [1, 4], "x": 1.25, "y": 4.125}, + {"matrix": [2, 4], "x": 2.25, "y": 4.125}, + {"matrix": [3, 4], "x": 3.25, "y": 4.125}, + {"matrix": [4, 4], "x": 4.25, "y": 4.125}, + {"matrix": [5, 4], "x": 5.25, "y": 4.125}, + {"matrix": [6, 4], "x": 6.25, "y": 4.125}, + {"matrix": [7, 4], "x": 7.25, "y": 4.125}, + {"matrix": [8, 4], "x": 8.25, "y": 4.125}, + {"matrix": [9, 4], "x": 9.25, "y": 4.125}, + {"matrix": [10, 4], "x": 10.25, "y": 4.125}, + {"matrix": [11, 4], "x": 11.25, "y": 4.125}, + {"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75}, + + {"matrix": [1, 7], "x": 14.125, "y": 4.25}, + + {"matrix": [6, 7], "x": 15.25, "y": 4.125}, + {"matrix": [7, 7], "x": 16.25, "y": 4.125}, + {"matrix": [8, 7], "x": 17.25, "y": 4.125}, + {"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2}, + + {"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25}, + {"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25}, + {"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25}, + {"matrix": [9, 5], "x": 10, "y": 5.125}, + {"matrix": [10, 5], "x": 11, "y": 5.125}, + {"matrix": [12, 5], "x": 12, "y": 5.125}, + + {"matrix": [0, 7], "x": 13.125, "y": 5.25}, + {"matrix": [2, 7], "x": 14.125, "y": 5.25}, + {"matrix": [3, 7], "x": 15.125, "y": 5.25}, + + {"matrix": [4, 7], "x": 16.25, "y": 5.125}, + {"matrix": [5, 7], "x": 17.25, "y": 5.125} ] } } diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c index 40d28818b07c..f6b3528cb410 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p96/iso/iso.c @@ -18,8 +18,8 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Refer to IS31 manual for these locations +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to AW20216S manual for these locations * driver * | R location * | | G location diff --git a/keyboards/gmmk/gmmk2/p96/iso/rules.mk b/keyboards/gmmk/gmmk2/p96/iso/rules.mk index a076e0191687..2d2e9895fd8e 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/rules.mk +++ b/keyboards/gmmk/gmmk2/p96/iso/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. RGB_MATRIX_ENABLE = yes # Enable RGB matrix effects. -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/gmmk/numpad/config.h b/keyboards/gmmk/numpad/config.h index 6aa0a6c0160f..3627ab503c8e 100644 --- a/keyboards/gmmk/numpad/config.h +++ b/keyboards/gmmk/numpad/config.h @@ -28,16 +28,13 @@ #define SPI_MOSI_PIN B5 #define SPI_MISO_PIN B4 -#define DRIVER_1_CS B12 -#define DRIVER_1_EN A15 -#define DRIVER_1_PW_EN B13 - -#define DRIVER_COUNT 1 +#define AW20216S_CS_PIN_1 B12 +#define AW20216S_EN_PIN_1 A15 +#define AW20216S_PW_EN_PIN_1 B13 #define RGB_MATRIX_LED_COUNT 31 #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B6 -#define WEAR_LEVELING_BACKING_SIZE 2048 #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json index 195d4fa71020..83f7d840dcb6 100644 --- a/keyboards/gmmk/numpad/info.json +++ b/keyboards/gmmk/numpad/info.json @@ -8,13 +8,20 @@ "pid": "0x5088", "device_version": "0.0.1" }, + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "encoder": { "rotary": [ {"pin_a": "A2", "pin_b": "A1"} ] }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", diff --git a/keyboards/gmmk/numpad/numpad.c b/keyboards/gmmk/numpad/numpad.c index f1a46170fd76..5cdb34c7bd27 100644 --- a/keyboards/gmmk/numpad/numpad.c +++ b/keyboards/gmmk/numpad/numpad.c @@ -19,16 +19,13 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { -/* Each AW20216 channel is controlled by a register at some offset between 0x00 - * and 0xD7 inclusive. - * See drivers/awinic/aw20216.h for the mapping between register offsets and - * driver pin locations. +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to AW20216S manual for these locations * driver * | R location - * | | G location - * | | | B location - * | | | | */ + * | | G location + * | | | B location + * | | | | */ {0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 0 NUM {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 / {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 2 * @@ -110,12 +107,12 @@ led_config_t g_led_config = {{ 2, 2, 2, 2, 2, 2, 2 } }; -# ifdef DRIVER_1_PW_EN +# ifdef AW20216S_PW_EN_PIN_1 void keyboard_pre_init_user(void) { wait_ms(2000); - setPinOutput(DRIVER_1_PW_EN); - writePinHigh(DRIVER_1_PW_EN); + setPinOutput(AW20216S_PW_EN_PIN_1); + writePinHigh(AW20216S_PW_EN_PIN_1); } # endif diff --git a/keyboards/gmmk/numpad/rules.mk b/keyboards/gmmk/numpad/rules.mk index 5a0d3e34f86f..d289eb81a4d1 100644 --- a/keyboards/gmmk/numpad/rules.mk +++ b/keyboards/gmmk/numpad/rules.mk @@ -16,10 +16,8 @@ MIDI_ENABLE = yes RGB_MATRIX_ENABLE = yes -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash - LTO_ENABLE = yes -SRC += analog.c \ - matrix.c \ No newline at end of file +ANALOG_DRIVER_REQUIRED = yes + +SRC += matrix.c diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h index 8188418469e3..995dd95ec811 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 */ @@ -28,12 +26,12 @@ #define SPI_MOSI_PIN A6 #define SPI_MISO_PIN A7 -#define DRIVER_1_CS B13 -#define DRIVER_2_CS B14 -#define DRIVER_1_EN C13 -#define DRIVER_2_EN C13 +#define AW20216S_CS_PIN_1 B13 +#define AW20216S_CS_PIN_2 B14 +#define AW20216S_EN_PIN_1 C13 +#define AW20216S_EN_PIN_2 C13 -#define DRIVER_COUNT 2 +#define RGB_DISABLE_WHEN_USB_SUSPENDED // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/gmmk/pro/rev1/ansi/ansi.c b/keyboards/gmmk/pro/rev1/ansi/ansi.c index 9cd6a3739c3c..a06594cb8841 100644 --- a/keyboards/gmmk/pro/rev1/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev1/ansi/ansi.c @@ -136,7 +136,7 @@ led_config_t g_led_config = {{ 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json index 7a1532424bde..fc2197a0d762 100644 --- a/keyboards/gmmk/pro/rev1/ansi/info.json +++ b/keyboards/gmmk/pro/rev1/ansi/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], @@ -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 08eade43c877..18271fb4d25d 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -17,13 +17,14 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) - #define RGB_DISABLE_WHEN_USB_SUSPENDED +# 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 +// A debounce of 8 represents a minimum key press time of just under 1 refresh at 120Hz +// Slightly higher than the default because we are using sym_eager_pk #ifdef DEBOUNCE - #undef DEBOUNCE +# undef DEBOUNCE #endif #define DEBOUNCE 8 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c index 6c467ff63653..3d2792b4a64c 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c @@ -17,26 +17,21 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -enum layers { - WIN_BASE = 0, - WIN_FN, - MAC_BASE, - MAC_FN -}; +enum layers { WIN_BASE = 0, WIN_FN, MAC_BASE, 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. + 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 +#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] = { +uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // The GMMK Pro default layout is: // @@ -103,111 +98,99 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #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) }, + [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 /* To record user preferences */ typedef union { - uint32_t raw; // set to 32-bit of size + 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) + 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; /* 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 fast_timer_t delayed_press_delay = 0; +static uint16_t delayed_press_keycode = KC_NO; +static fast_timer_t delayed_press_start_time = 0; +static uint16_t delayed_press_sent_keycode = KC_NO; +static void start_delayed_press(fast_timer_t delay, uint16_t keycode); +static void mark_delayed_press_sent(void); +static void mark_delayed_release_sent(void); +static void cancel_delayed_press(void); + +#define IS_ANY_DELAYED_PRESS_PENDING() (delayed_press_start_time > 0 && delayed_press_keycode != KC_NO) +#define IS_DELAYED_PRESS_PENDING(keycode) (delayed_press_start_time > 0 && delayed_press_keycode == (keycode)) +#define IS_DELAYED_PRESS_SENT(keycode) (delayed_press_sent_keycode != KC_NO && delayed_press_sent_keycode == (keycode)) /* CMD+Q delay */ #ifndef CMD_Q_DELAY - #define CMD_Q_DELAY 1000 +# 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" +# error "CMD_Q_DELAY must be a positive integer smaller than UINT16_MAX / 2" #endif -#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 +# 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 -#if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2 - #error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2" -#endif +# ifndef EFFECTS_DURATION +# define EFFECTS_DURATION 2000 +# endif +# if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2 +# error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2" +# endif /* The interval for the flashing effect */ -#ifndef FLASHING_EFFECT_INTERVAL - #define FLASHING_EFFECT_INTERVAL 250 -#endif -#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 +# ifndef FLASHING_EFFECT_INTERVAL +# define FLASHING_EFFECT_INTERVAL 250 +# endif +# 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 static void set_rgb_layer_winfn(void); static void set_rgb_layer_macfn(void); /* 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); +static float flashing_effect(fast_timer_t delta_time); +static float static_effect(fast_timer_t delta_time); +static float increasing_effect(fast_timer_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 fast_timer_t effect_started_time = 0; +static fast_timer_t effect_max_duration = EFFECTS_DURATION; +static uint8_t effect_r = 0x0, effect_g = 0x0, effect_b = 0x0; +static float (*effect_multiplier)(fast_timer_t) = static_effect; +static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_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); +static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, 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 +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 } void keyboard_post_init_user(void) { - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE // Enable the RGB matrix, if not enabled if (!rgb_matrix_is_enabled()) { rgb_matrix_enable(); @@ -216,15 +199,15 @@ void keyboard_post_init_user(void) { if (rgb_matrix_get_flags() != LED_FLAG_ALL) { rgb_matrix_set_flags(LED_FLAG_ALL); } - #endif +#endif // Read the user config from EEPROM user_config.raw = eeconfig_read_user(); } void matrix_scan_user(void) { - if (is_any_delayed_press_pending()) { - if (sync_timer_elapsed(delayed_press_start_time) > delayed_press_delay) { + if (IS_ANY_DELAYED_PRESS_PENDING()) { + if (timer_elapsed_fast(delayed_press_start_time) > delayed_press_delay) { register_code(delayed_press_keycode); mark_delayed_press_sent(); } @@ -232,20 +215,20 @@ void matrix_scan_user(void) { } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (is_delayed_press_sent(keycode)) { + 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)) { + } 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()) { + } else if (IS_ANY_DELAYED_PRESS_PENDING()) { /* Cancel the pending press and resume processing */ cancel_delayed_press(); } @@ -258,17 +241,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case CMDQ_TOG: if (record->event.pressed) { +#ifdef RGB_MATRIX_ENABLE 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 } +#endif user_config.cmd_q_delay_enabled = !user_config.cmd_q_delay_enabled; eeconfig_update_user(user_config.raw); } @@ -276,22 +257,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case KC_Q: if (user_config.cmd_q_delay_enabled) { if (layer_state_is(MAC_BASE)) { - const uint8_t mods = get_mods(); + uint8_t mods = get_mods(); if (mods == MOD_BIT(KC_LCMD) || mods == MOD_BIT(KC_RCMD)) { if (record->event.pressed) { - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE start_delayed_press_with_effects(CMD_Q_DELAY, KC_Q, RGB_ORANGE); - #else +#else start_delayed_press(CMD_Q_DELAY, KC_Q); - #endif +#endif } return false; } } } break; - #ifdef RGB_MATRIX_ENABLE - #ifdef NKRO_ENABLE +#ifdef RGB_MATRIX_ENABLE +# ifdef NKRO_ENABLE case NK_TOGG: if (record->event.pressed) { if (keymap_config.nkro) { @@ -303,52 +284,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } break; - #endif // NKRO_ENABLE - case RGB_MOD: - case RGB_RMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - case RGB_SPI: - case RGB_SPD: - 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; +# endif // NKRO_ENABLE case RGB_TOG: if (record->event.pressed) { user_config.rgb_enabled = !user_config.rgb_enabled; eeconfig_update_user(user_config.raw); } return false; - #endif // RGB_MATRIX_ENABLE + case RGB_MODE_FORWARD ... RGB_MODE_TWINKLE: + 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; +#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(); +static void start_delayed_press(fast_timer_t delay, uint16_t keycode) { + delayed_press_delay = delay; + delayed_press_keycode = keycode; + delayed_press_start_time = timer_read_fast(); 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(); @@ -359,22 +319,17 @@ static void mark_delayed_release_sent(void) { } static void cancel_delayed_press(void) { - delayed_press_delay = 0; - delayed_press_keycode = KC_NO; + delayed_press_delay = 0; + delayed_press_keycode = KC_NO; delayed_press_start_time = 0; - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE stop_effects(); - #endif +#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) { +static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, uint8_t b_color) { start_delayed_press(delay, keycode); start_effects(delay, r_color, g_color, b_color, increasing_effect); } @@ -386,7 +341,7 @@ 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); + 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); @@ -407,50 +362,45 @@ layer_state_t default_layer_state_set_user(layer_state_t state) { 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; +static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_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(); + effect_started_time = timer_read_fast(); } static void stop_effects(void) { - effect_r = 0x0; - effect_g = 0x0; - effect_b = 0x0; - effect_multiplier = static_effect; + 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) { +static float flashing_effect(fast_timer_t delta_time) { return ((delta_time / FLASHING_EFFECT_INTERVAL) + 1) & 0x01; } -static float static_effect(const uint16_t delta_time) { +static float static_effect(fast_timer_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)); +static float increasing_effect(fast_timer_t delta_time) { + return ((float)delta_time) / effect_max_duration; } bool rgb_matrix_indicators_user(void) { if (effect_started_time > 0) { - const uint16_t delta_time = sync_timer_elapsed(effect_started_time); + fast_timer_t delta_time = timer_elapsed_fast(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; + float multiplier = effect_multiplier(delta_time); + uint8_t val_r = multiplier * effect_r; + uint8_t val_g = multiplier * effect_g; + uint8_t val_b = multiplier * effect_b; rgb_matrix_set_color_all(val_r, val_g, val_b); return false; } else { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index d095a6015482..14e410632183 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -3,9 +3,20 @@ # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no -# 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 +# Use sym_eager_pk for better latency when gaming. +# +# Previous issues with sym_defer_pk (and sym_eager_pk and debounce times +# shorter than 8ms) were due to Glorious' horrible hot-swap sockets. +# These issues were 100% resolved after I replaced them with Gateron hot-swap sockets. +# +# The old sockets apparently didn't hold onto the legs of the switches at all. +# +# Using eager might not be a good idea with other switch types, but I only use +# linears now, so this should be ok. +# +# asym_eager_defer_pk also works well and it is more resistant to chatter at +# the cost of delay when releasing a key being slightly higher. +DEBOUNCE_TYPE = sym_eager_pk # Useful for debugging # CONSOLE_ENABLE = yes diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/config.h deleted file mode 100644 index 16ac4f240789..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/config.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2021 Choi Byungyoon - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_KEYPRESSES - -// 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 -#undef ENABLE_RGB_MATRIX_BAND_SAT -#undef ENABLE_RGB_MATRIX_BAND_VAL -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -#undef 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 -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#undef ENABLE_RGB_MATRIX_DUAL_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -// #define ENABLE_RGB_MATRIX_RAINDROPS -// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -#undef ENABLE_RGB_MATRIX_HUE_BREATHING -#undef ENABLE_RGB_MATRIX_HUE_PENDULUM -#undef ENABLE_RGB_MATRIX_HUE_WAVE -// #define ENABLE_RGB_MATRIX_PIXEL_RAIN -#undef ENABLE_RGB_MATRIX_PIXEL_FLOW -#undef 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 -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#undef ENABLE_RGB_MATRIX_SPLASH -// #define ENABLE_RGB_MATRIX_MULTISPLASH -#undef ENABLE_RGB_MATRIX_SOLID_SPLASH -// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -#undef DEBOUNCE -/* High debounce time is required to avoid key chattering because of the debouncing algorithm sym_eager_pk */ -#define DEBOUNCE 40 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c deleted file mode 100644 index 487e6dc04ec9..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c +++ /dev/null @@ -1,132 +0,0 @@ -/* Copyright 2021 Choi Byungyoon - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "byungyoonc.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mic Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc TaskMgr -// Tab Q W E R T Y U I O P [ ] \ Del -// Caps A S D F G H J K L ; " Enter Home -// Sh_L Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - [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_MMUT, - 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_TASK, - KC_TAB, KC_Q, KC_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(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_CALC, KC_MSEL, RGB_VAD, RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_SEC1, KC_SEC2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DB_TOGG, _______, - _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RGB_HUI, RGB_HUD, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, GUI_TOG, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - - -}; -// clang-format on - -bool process_record_user_kb(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - rgblight_increase_hue(); - } - return true; -} - -#if defined(ENCODER_ENABLE) -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t mod_state = get_mods(); - if (mod_state & MOD_MASK_CTRL) { - unregister_mods(MOD_MASK_CTRL); - if (clockwise) { - tap_code16(LCTL(KC_RGHT)); - } else { - tap_code16(LCTL(KC_LEFT)); - } - set_mods(mod_state); - } else { - if (clockwise) { - tap_code16(KC_VOLU); - } else { - tap_code16(KC_VOLD); - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; -} -#endif // ENCODER_ENABLE - -static void set_rgb_caps_leds(void); - -static void set_rgb_caps_leds(void) { - rgb_matrix_set_color(73, 0xFF, 0x77, 0x77); // Left side LED 3 - rgb_matrix_set_color(74, 0xFF, 0x77, 0x77); // Right side LED 3 - rgb_matrix_set_color(76, 0xFF, 0x77, 0x77); // Left side LED 4 - rgb_matrix_set_color(77, 0xFF, 0x77, 0x77); // Right side LED 4 - rgb_matrix_set_color(80, 0xFF, 0x77, 0x77); // Left side LED 5 - rgb_matrix_set_color(81, 0xFF, 0x77, 0x77); // Right side LED 5 - rgb_matrix_set_color(83, 0xFF, 0x77, 0x77); // Left side LED 6 - rgb_matrix_set_color(84, 0xFF, 0x77, 0x77); // Right side LED 6 - rgb_matrix_set_color(3, 0xFF, 0x77, 0x77); // CAPS LED -} - -static void set_rgb_nlck_notset_leds(void); - -static void set_rgb_wlck_leds(void); - -static void set_rgb_nlck_notset_leds(void) { - rgb_matrix_set_color(67, 0x77, 0x77, 0xFF); // Left side LED 1 - rgb_matrix_set_color(68, 0x77, 0x77, 0xFF); // Right side LED 1 - rgb_matrix_set_color(70, 0x77, 0x77, 0xFF); // Left side LED 2 - rgb_matrix_set_color(71, 0x77, 0x77, 0xFF); // Right side LED 2 -} - -static void set_rgb_wlck_leds(void) { - rgb_matrix_set_color(87, 0x77, 0xFF, 0x77); // Left side LED 7 - rgb_matrix_set_color(88, 0x77, 0xFF, 0x77); // Right side LED 7 - rgb_matrix_set_color(91, 0x77, 0xFF, 0x77); // Left side LED 8 - rgb_matrix_set_color(92, 0x77, 0xFF, 0x77); // Right side LED 8 -} - -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.caps_lock) { - set_rgb_caps_leds(); - } - if (!led_state.num_lock) { - set_rgb_nlck_notset_leds(); - } - if (keymap_config.no_gui) { - set_rgb_wlck_leds(); - } - return false; -} - -void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { - for (int i = 0; i < 20; i++) { - wait_cpuclock(STM32_SYSCLK / 1000000L); - } -} diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/readme.md deleted file mode 100644 index d340bf86ed78..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -byungyoonc's GMMK Pro Layout -============================ - -## Keymap - -### Base Layer -![GMMK Pro Base Layer Layout Image](https://i.imgur.com/VvEL08Q.png) - -Made a bit of a change on the leftmost side of the keyboard to set Home and End closer to the arrow keys. Also uses a shortcut for Windows Task Manager, Windows PowerToys microphone mute. - -### Fn Layer -![GMMK Pro Fn Layer Layout Image](https://i.imgur.com/uQy2gSh.png) - -F-row media functions roughly matches the Keychron keyboard's layout. - -Added Debug key for faster debugging iteration. - -Supports Secrets input by Fn + Numbers. - -The rest are pretty self-explanatory RGB controls, a GUI toggle and an NKRO toggle. - -## Rotary Encoder Rotation -Volume control when no mods, Ctrl+Left/Right when Ctrl is pressed while rotating the encoder. - -## RGB Indicators -Uses side strap RGB as the RGB indicators. -- Top third lights on when the Num Lock is turned off. -- Middle third lights on when the Caps Lock is turned on. -- Bottom third lights on when the GUI is disabled (via `GUI_TOG`). - -## Debounce -Uses the `DEBOUNCE_TYPE` of `sym_eager_pk` for the shortest response time possible, and `DEBOUNCE` time of `40` in order to eliminate any key chattering. - -## NKRO -N-key rollover is turned on by default. - -## RGB Matrix -Keypresses effects are enabled. -Disabled default several RGB effects. -Added custom RGB matrix effect `saturated_solid_multisplash`. -Every keypress increases the RGB hue value. diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rgb_matrix_user.inc b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rgb_matrix_user.inc deleted file mode 100644 index 0d61e19f4c10..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rgb_matrix_user.inc +++ /dev/null @@ -1 +0,0 @@ -#include "saturated_solid_multisplash.h" diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rules.mk deleted file mode 100644 index 08f832c51bc0..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -DEBOUNCE_TYPE = sym_eager_pk -RGB_MATRIX_CUSTOM_USER = yes diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c deleted file mode 100644 index c00ba602f73d..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright 2021 Cedrik Lussier @cedrikl -.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "rgb_matrix_map.h" -#include "cedrikl.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] \ PgUp -// Caps A S D F G H J K L ; " Enter PgDn -// Sh_L Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without - // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB - // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI - // if that's your preference. - // - // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and - // it'll be back to normal when you plug it back in. - // - // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). - // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. - // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. - [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_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_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - 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, QK_BOOT, KC_MUTE, - KC_NUM, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC, KC_PSCR, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PSLS, KC_PAST, KC_BSLS, KC_PGUP, - KC_CAPS, RGB_VAD, RGB_TOG, RGB_VAI, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_PDOT, KC_SLSH, KC_RSFT, KC_UP, KC_INS, - KC_LCTL, KC_RGUI, KC_LALT, KC_SPC, KC_RALT, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; -// clang-format on - -#ifdef ENCODER_ENABLE - bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; - } -#endif // ENCODER_ENABLE - - -#ifdef RGB_MATRIX_ENABLE -//void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { -// const ledmap *l = &(ledmaps[layer]); -// -// -// -// for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { -// HSV hsv = { -// .h = (*l)[i][0], -// .s = (*l)[i][1], -// .v = val, -// }; -// -// if (hsv.h || hsv.s) { -// RGB rgb = hsv_to_rgb(hsv); -// RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); -// } -// } -//} - - // These shorthands are used below to set led colors on each matrix cycle - void loop_colorset(const uint8_t *indices, int array_size, const HSV target_color) { - HSV work_color = target_color; - work_color.v = rgb_matrix_get_val(); - - RGB final_color = hsv_to_rgb(work_color); - - for (int i = 0; i < array_size; i++) { - rgb_matrix_set_color(indices[i], final_color.r, final_color.g, final_color.b); // Set color A here - } - } - - // Capslock, Scroll lock and Numlock indicator on Left side lights. - bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - loop_colorset(LED_REGION_A, ARRAY_SIZE(LED_REGION_A), - hsv_cl_blue); - loop_colorset(LED_REGION_B, ARRAY_SIZE(LED_REGION_B), - hsv_cl_purple); - loop_colorset(LED_REGION_L_SIDE, ARRAY_SIZE(LED_REGION_L_SIDE), - hsv_cl_purple); - loop_colorset(LED_REGION_R_SIDE, ARRAY_SIZE(LED_REGION_R_SIDE), - hsv_cl_purple); - - switch(get_highest_layer(layer_state)){ // special handling per layer - case 1: //layer 1 - //rgb_matrix_set_color_all(RGB_AZURE); - loop_colorset(LED_REGION_NUMPAD, - ARRAY_SIZE(LED_REGION_NUMPAD), hsv_cl_numpad); - loop_colorset(LED_REGION_OTHER, ARRAY_SIZE(LED_REGION_OTHER), - hsv_cl_mods); - break; - default: //layer 0 - // - break; - break; - } - - HSV bad_hsv = hsv_cl_bad; - bad_hsv.v = rgb_matrix_get_val(); - RGB bad_rgb = hsv_to_rgb(bad_hsv); - led_t led_state = host_keyboard_led_state(); - - if (!led_state.num_lock) { // on if NUM lock is OFF - rgb_matrix_set_color(LED_R1, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R2, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R3, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R4, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R5, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R6, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R7, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_R8, bad_rgb.r, bad_rgb.g, bad_rgb.b); - } - if (led_state.caps_lock) { - rgb_matrix_set_color(LED_L1, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L2, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L3, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L4, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L5, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L6, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L7, bad_rgb.r, bad_rgb.g, bad_rgb.b); - rgb_matrix_set_color(LED_L8, bad_rgb.r, bad_rgb.g, bad_rgb.b); - loop_colorset(LED_REGION_CAPS, ARRAY_SIZE(LED_REGION_CAPS), - hsv_cl_bad); - } - return false; - } -#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rgb_matrix_map.h deleted file mode 100644 index 484f64b74c7d..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rgb_matrix_map.h +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright 2021 Cedrik Lussier @cedrikl -.* Directly inspired from the work of jonavin https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/ansi/keymaps/jonavin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifdef RGB_MATRIX_ENABLE - - // Custom RGB Colours - const HSV hsv_cl_blue = {150, 255, 255}; - const HSV hsv_cl_purple = {188, 255, 255}; - const HSV hsv_cl_numpad = {85, 255, 255}; - const HSV hsv_cl_mods = {42, 255, 255}; - const HSV hsv_cl_bad = {0, 255, 255}; - - // RGB LED locations - enum led_location_map { - LED_ESC, // 0, ESC, k13 - LED_GRV, // 1, ~, k16 - LED_TAB, // 2, Tab, k11 - LED_CAPS, // 3, Caps, k21 - LED_LSFT, // 4, Sh_L, k00 - LED_LCTL, // 5, Ct_L, k06 - LED_F1, // 6, F1, k26 - LED_1, // 7, 1, k17 - LED_Q, // 8, Q, k10 - LED_A, // 9, A, k12 - LED_Z, // 10, Z, k14 - LED_LWIN, // 11, Win_L, k90 - LED_F2, // 12, F2, k36 - LED_2, // 13, 2, k27 - LED_W, // 14, W, k20 - LED_S, // 15, S, k22 - LED_X, // 16, X, k24 - LED_LALT, // 17, Alt_L, k93 - LED_F3, // 18, F3, k31 - LED_3, // 19, 3, k37 - LED_E, // 20, E, k30 - LED_D, // 21, D, k32 - LED_C, // 22, C, k34 - LED_F4, // 23, F4, k33 - LED_4, // 24, 4, k47 - LED_R, // 25, R, k40 - LED_F, // 26, F, k42 - LED_V, // 27, V, k44 - LED_F5, // 28, F5, k07 - LED_5, // 29, 5, k46 - LED_T, // 30, T, k41 - LED_G, // 31, G, k43 - LED_B, // 32, B, k45 - LED_SPC, // 33, SPACE, k94 - LED_F6, // 34, F6, k63 - LED_6, // 35, 6, k56 - LED_Y, // 36, Y, k51 - LED_H, // 37, H, k53 - LED_N, // 38, N, k55 - LED_F7, // 39, F7, k71 - LED_7, // 40, 7, k57 - LED_U, // 41, U, k50 - LED_J, // 42, J, k52 - LED_M, // 43, M, k54 - LED_F8, // 44, F8, k76 - LED_8, // 45, 8, k67 - LED_I, // 46, I, k60 - LED_K, // 47, K, k62 - LED_COMM, // 48, ,, k64 - LED_RALT, // 49, Alt_R, k95 - LED_F9, // 50, F9, ka6 - LED_9, // 51, 9, k77 - LED_O, // 52, O, k70 - LED_L, // 53, L, k72 - LED_DOT, // 54, ., k74 - LED_FN, // 55, FN, k92 - LED_F10, // 56, F10, ka7 - LED_0, // 57, 0, k87 - LED_P, // 58, P, k80 - LED_SCLN, // 59, ;, k82 - LED_SLSH, // 60, ?, k85 - LED_F11, // 61, F11, ka3 - LED_MINS, // 62, -, k86 - LED_LBRC, // 63, [, k81 - LED_QUOT, // 64, ", k83 - LED_RCTL, // 65, Ct_R, k04 - LED_F12, // 66, F12, ka5 - LED_L1, // 67, LED, l01 - LED_R1, // 68, LED, l11 - LED_DEL, // 69, Prt, k97 -- remapped to DEL - LED_L2, // 70, LED, l02 - LED_R2, // 71, LED, l12 - LED_HOME, // 72, Del, k65 - LED_L3, // 73, LED, l03 - LED_R3, // 74, LED, l13 - LED_PGUP, // 75, PgUp, k15 - LED_L4, // 76, LED, l04 - LED_R4, // 77, LED, l14 - LED_EQL, // 78, =, k66 - LED_RGHT, // 79, Right, k05 - LED_L5, // 80, LED, l05 - LED_R5, // 81, LED, l15 - LED_END, // 82, End, k75 - LED_L6, // 83, LED, l06 - LED_R6, // 84, LED, l16 - LED_BSPC, // 85, BSpc, ka1 - LED_PGDN, // 86, PgDn, k25 - LED_L7, // 87, LED, l07 - LED_R7, // 88, LED, l17 - LED_RBRC, // 89, ], k61 - LED_RSFT, // 90, Sh_R, k91 - LED_L8, // 91, LED, l08 - LED_R8, // 92, LED, l18 - LED_BSLS, // 93, \, ka2 - LED_UP, // 94, Up, k35 - LED_LEFT, // 95, Left, k03 - LED_ENT, // 96, Enter, ka4 - LED_DOWN // 97, Down, k73 - }; - -const uint8_t LED_REGION_L_SIDE[] = {LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7,LED_L8}; -const uint8_t LED_REGION_R_SIDE[] = {LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7,LED_R8}; - - //const uint8_t LED_MATRIX[] = { - // LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_DEL, - // LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_HOME, - // LED_TAB, LED_Q, LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, LED_P, LED_LBRC, LED_RBRC, LED_BSLS, LED_PGUP, - // LED_CAPS, LED_A, LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN, LED_QUOT, LED_ENT, LED_PGDN, - // LED_LSFT, LED_Z, LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, LED_SLSH, LED_RSFT, LED_UP, LED_END, - // LED_LCTL, LED_LWIN, LED_LALT, LED_SPC, LED_RALT, LED_FN, LED_RCTL, LED_LEFT, LED_DOWN, LED_RGHT - //}; - - const uint8_t LED_REGION_A[] = { - LED_ESC, LED_F9, LED_F10, LED_F11, LED_F12, LED_DEL, - LED_GRV, LED_1, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_HOME, - LED_TAB, LED_Q, LED_P, LED_LBRC, LED_RBRC, LED_BSLS, LED_PGUP, - LED_CAPS, LED_A, LED_SCLN, LED_QUOT, LED_ENT, LED_PGDN, - LED_LSFT, LED_Z, LED_SLSH, LED_RSFT, LED_UP, LED_END, - LED_LCTL, LED_LWIN, LED_LALT, LED_RCTL, LED_LEFT, LED_DOWN, LED_RGHT - }; - const uint8_t LED_REGION_B[] = { - LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, - LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, - LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, - LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, - LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, - LED_SPC, LED_RALT, LED_FN - }; - - const uint8_t LED_REGION_NUMPAD[] = { - - LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, - LED_LBRC, LED_RBRC, - LED_ENT, - LED_DOT - - }; - - const uint8_t LED_REGION_OTHER[] = { - LED_ESC, LED_DEL, - LED_HOME, - - LED_A, LED_S, LED_D, - LED_END, - LED_LWIN - }; - - const uint8_t LED_REGION_CAPS[] = { - - LED_GRV, LED_1, - LED_TAB, LED_Q, - LED_CAPS, LED_A, - LED_LSFT, - LED_LCTL - }; - -#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rules.mk deleted file mode 100644 index 4b7ed8bf0b9b..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -IDLE_TIMEOUT_ENABLE = yes -STARTUP_NUMLOCK_ON = yes diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h deleted file mode 100644 index a0fbedde499b..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/config.h +++ /dev/null @@ -1,146 +0,0 @@ -/* Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -// Force n-key rollover -#define FORCE_NKRO - -// Set TT to two taps -#define TAPPING_TOGGLE 2 - -#ifdef COMMAND_ENABLE -#define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) //debug commands accessed by holding down both CTRLs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_command.md -#endif - -// Caps Word configuration -#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD -#define CAPS_WORD_IDLE_TIMEOUT 10000 // Automatically turn off after x milliseconds of idle. 0 to never timeout. - -// Handle GRAVESC combo keys -#define GRAVE_ESC_ALT_OVERRIDE -// Always send Escape if Alt is pressed -#define GRAVE_ESC_CTRL_OVERRIDE -// Always send Escape if Control is pressed - -// #define TAPPING_TERM 180 -#define TAPPING_TERM 300 -#define TAPPING_TERM_PER_KEY - -#ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_WHEN_USB_SUSPENDED - #define RGB_MATRIX_KEYPRESSES // Enables REACTIVE & SPLASH modes - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables Heatmap, Rain - - // RGB step values - #define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10) - #define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17) - #define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17) - - // Startup values, when none have been set - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default effect mode, if none has been set (was RGB_MATRIX_SOLID_COLOR) - #define RGB_MATRIX_DEFAULT_HUE 24 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 127 // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set - - // Uncomment any #undef line below to turn OFF any default enabled RGB background effect (enabled in keyboards/gmmk/pro/config.h). - #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Solid color (seems redundant; seems same as RGB_MATRIX_SOLID_COLOR?) - //#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static, horizontal rainbow - //#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static, vertical Rainbow - //#undef ENABLE_RGB_MATRIX_BREATHING // Breathing animation using selected HSV color - #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white) - //#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black) - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (with white) - //#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness (with black) - #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades brightness (with white) - //#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black) - //#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow - //#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient moving left to right - //#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom - #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient chevron scrolling left to right (too similar to cycle left right) - //#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center. - #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. (seems mostly redundant with above) - #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Built-in cycling pinwheel (seems redundant with below) - //#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard - #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Spinning rainbow (more distracting transitions) - //#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Spinning rainbow (smoother) - #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboard (distracting, busy) - #undef ENABLE_RGB_MATRIX_RAINDROPS // Sustained raindrops of blue, green, yellow (confusing to use with RGB layers) - //#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Sustained raindrops of blue, purple, pink, green (confusing to use with RGB layers, but slightly better than above) - #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back (very subtle) - #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left (very subtle) - #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right (very subtle) - //#undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Non-sustained raindrops of pastel colors - #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // More active version of pixel rain with quick cycling (unusable, very distracting) - #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Same as Pixel Flow but with current HSV only (somewhat distracting) - //Only enabled if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined - //#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Fading heatmap that follows keystrokes (has buggy side LEDs that glow red) - //#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix (has buggy side LEDs that glow red) - //Only enabled if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Keyboard lights up in chosen hue, key hits shown in complementary hue (try this as default?) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but more intense (Multi-key) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single current color fade (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-key) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades - //#undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black. - #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. (distracting on multiple keystroke hits) - #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (distracting on multiple key hits) - //#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black. -#endif //RGB_MATRIX_ENABLE - -// Add a layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable -#if defined COLEMAK_LAYER_ENABLE - #ifdef GAME_ENABLE - #define DYNAMIC_KEYMAP_LAYER_COUNT 6 - #define _COLEMAK 5 - #else - #define DYNAMIC_KEYMAP_LAYER_COUNT 5 - #define _COLEMAK 4 - #endif //GAME_ENABLE -#endif // COLEMAK_LAYER_ENABLE - -/* -// Mouse Keys Accelerated Mode Definitions -#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) -#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. -#define MOUSEKEY_MOVE_DELTA 8 // Step size (default: 8) -#define MOUSEKEY_MAX_SPEED 9 // Maximum cursor speed at which acceleration stops (default: 10) -#define MOUSEKEY_TIME_TO_MAX 150 // Time until maximum cursor speed is reached (default: 30) -#define MOUSEKEY_WHEEL_DELAY 0 // Delay between pressing a wheel key and wheel movement (default: 10) -#define MOUSEKEY_WHEEL_INTERVAL 80 // Time between wheel movements (default: 80) -#define MOUSEKEY_WHEEL_MAX_SPEED 8 // Maximum number of scroll steps per scroll action (default: 8) -#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Time until maximum scroll speed is reached (default: 40) -*/ - -// Mouse Keys Kinetic Mode Definitions -#define MK_KINETIC_SPEED // Enable Kinetic mode: Uses a quadratic curve on cursor speed to allow precise movements at the beginning and increases speed thereafter. -#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) -#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. -#define MOUSEKEY_MOVE_DELTA 5 // Step size for accelerating from initial to base speed (default: 8) -#define MOUSEKEY_MOVE_MAX 50 // use instead of BASE SPEED to limit speed in Kinetic mode -#define MOUSEKEY_INITIAL_SPEED 100 // Initial speed of the cursor in pixels per second (default: 100) -//#define MOUSEKEY_BASE_SPEED 800 // (broken in QMK 0.16.0) Maximum cursor speed at which acceleration stops (default: 1000) -#define MOUSEKEY_DECELERATED_SPEED 400 // Decelerated cursor speed (default: 400) -#define MOUSEKEY_ACCELERATED_SPEED 2000 // Accelerated cursor speed (default: 3000) -#define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 // Initial number of movements of the mouse wheel (default: 16) -#define MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 // Maximum number of movements at which acceleration stops (default: 32) -#define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 // Accelerated wheel movements (default: 48) -#define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 // Decelerated wheel movements (default: 8) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c deleted file mode 100644 index 64954feeafe7..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c +++ /dev/null @@ -1,713 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c - -#include QMK_KEYBOARD_H - -#include "rgb_matrix_map.h" - -#include "gourdo1.h" - -#include "paddlegame.h" - -#include - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layout - * - * ,-------------------------------------------------------------------------------------------------------------. - * | Esc || F1 | F2 | F3 | F4 || F5 | F6 | F7 | F8 || F9 | F10 | F11 | F12 || Home || Mute | - * |=============================================================================================================| - * | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | Backspc || Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ } | ] } | \ | || PgUp | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| - * | Capslock | A | S | D | F | G | H | J | K | L | ; : | ' " | Enter || PgDn | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | LShift | Z | X | C | V | B | N | M | , < | . > | / ? | RShift || Up || End | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | Ctrl | Win | LAlt | Space | RAlt | Fn | Ctrl || Left | Down | Rght | - * `------------------------------------------------------------------------------------------------------------' - */ - - [_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, LEFTOFENC, ENCFUNC, - 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, BELOWENC, - KC_TAB, KC_Q, KC_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, - CAPSNUM, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* FN1 Layout - * - * ,-------------------------------------------------------------------------------------------------------------. - * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause ||Sleep | - * |=============================================================================================================| - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |RGBTOD|RGBTOI| ________ ||RGBTOG| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ |QK_BOOT|| Home | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| - * | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | __________ || End | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | __________ |RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI| - * `------------------------------------------------------------------------------------------------------------' - */ - - #ifdef GAME_ENABLE - [_FN1] = LAYOUT( - EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_SLEP, - PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG, - _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, QK_BOOT, KC_HOME, - KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END, - _______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NUM, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______, - _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - - [_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - #else - [_FN1] = LAYOUT( - EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_SLEP, - PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG, - _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, QK_BOOT, KC_HOME, - KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END, - _______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NUM, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______, - _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - #endif //GAME_ENABLE - - /* _NUMPADMOUSE Layout - * Note: A symbol preceded by "P" is a Numpad-encoded version of the key -- any app that differentiates will recognize the char as coming from a physical numpad. - * ,-------------------------------------------------------------------------------------------------------------. - * | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ || ____ | - * |=============================================================================================================| - * | ____ | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P0 | P- | P+ | ________ || ____ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | ______ | PGUP | Up | PGDN | None | None | None | P4 | P5 | P6 | P+ | ____ | ____ | _____ || WhUp | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+-------++------| - * | ________ | Left | Down | Rght | None| None | None | P1 | P2 | P3 | P* | ____ | P-Enter || WhDn | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | __________ | None | ____ | ____ | ____ | None | None | 0 | 00 | P. | P/ | MBt1 ||MS_UP || MBt2 | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | ____ | ____ | ____ | _____ | ____ | ____ | MBt3 ||MS_LT |MS_DN |MS_RT | - * `------------------------------------------------------------------------------------------------------------' - */ - - [_NUMPADMOUSE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, - _______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_WH_U, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, KC_PENT, KC_WH_D, - _______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R - ), - - [_MOUSEKEY] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R - ), - - #ifdef COLEMAK_LAYER_ENABLE - [_COLEMAK] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - _______, _______, _______, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - #endif // COLEMAK_LAYER_ENABLE -}; - -#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults -void encoder_action_rgbhue(bool clockwise) { - if (clockwise) - rgblight_increase_hue_noeeprom(); - else - rgblight_decrease_hue_noeeprom(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t mods_state = get_mods(); - if (mods_state & MOD_BIT(KC_LSFT)) { // If you are holding L shift, encoder changes layers - encoder_action_layerchange(clockwise); - } else if (mods_state & MOD_BIT(KC_RSFT)) { // If you are holding R shift, Page up/dn - unregister_mods(MOD_BIT(KC_RSFT)); - encoder_action_navpage(clockwise); - register_mods(MOD_BIT(KC_RSFT)); - } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word - encoder_action_navword(clockwise); - } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour - encoder_action_rgbhue(clockwise); - } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track - encoder_action_mediatrack(clockwise); - } else { - switch (get_highest_layer(layer_state)) { - case _FN1: - #ifdef IDLE_TIMEOUT_ENABLE - timeout_update_threshold(clockwise); - #endif - break; - #ifdef GAME_ENABLE - case _GAME: - // Game: Paddle movement - if (damage_count == 0) { - if (clockwise) { - if (paddle_pos_full < 15) ++paddle_pos_full; - } else { - if (paddle_pos_full > 0) --paddle_pos_full; - } - } - break; - #endif //GAME_ENABLE - default: - encoder_action_volume(clockwise); // Otherwise it just changes volume - break; - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; -} -#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE - -#ifdef RGB_MATRIX_ENABLE - -// Game logic -#ifdef GAME_ENABLE -void init_ball(uint8_t i) { - i &= 1; - ball[i].on = true; - ball[i].up = false; - ball[i].y = 0; - ball[i].x = rand() % 16; - - // Set initial ball state - if (ball[i].x < 8) { - ball[i].left = false; - } else { - ball[i].x -= 4; - ball[i].left = true; - } - - // 1/4 chance of being an enemy ball after level 6 - if (level_number > 3) { - ball[i].enemy = ((rand() % 4) == 0); - } else { - ball[i].enemy = false; - } -} - -void hurt_paddle(void) { - if (paddle_lives > 0) { - --paddle_lives; - } - damage_timer = timer_read(); - damage_count = 10; - - // Reset board - init_ball(0); - ball[1].on = false; -} -#endif //GAME_ENABLE - -// Capslock, Scroll lock and Numlock indicator on Left side lights. -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); - - led_t led_state = host_keyboard_led_state(); - - // Scroll Lock RGB setup - if (led_state.scroll_lock) { - rgb_matrix_set_color(LED_L3, RGB_RED); - rgb_matrix_set_color(LED_L4, RGB_RED); - rgb_matrix_set_color(LED_TAB, RGB_RED); - rgb_matrix_set_color(LED_F12, RGB_RED); - } - -/* - // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); - rgb_matrix_set_color(LED_L1, RGB_ORANGE2); - rgb_matrix_set_color(LED_L2, RGB_ORANGE2); - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - rgb_matrix_set_color(LED_FN, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); - rgb_matrix_set_color(LED_L1, RGB_ORANGE2); - rgb_matrix_set_color(LED_L2, RGB_ORANGE2); - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - rgb_matrix_set_color(LED_FN, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR -*/ - - // CapsLock RGB setup - if (led_state.caps_lock) { - if (user_config.rgb_hilite_caps) { - for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) { - rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE); - } - rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE); - } - else { - rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE); - } - } - - // Winkey disabled (gaming) mode RGB setup - if (keymap_config.no_gui) { - rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Winkey red when disabled - rgb_matrix_set_color(LED_W, RGB_CHARTREUSE); //light up gaming keys with WSAD higlighted - rgb_matrix_set_color(LED_S, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_A, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_D, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_Q, RGB_ORANGE2); - rgb_matrix_set_color(LED_E, RGB_ORANGE2); - rgb_matrix_set_color(LED_R, RGB_ORANGE2); - rgb_matrix_set_color(LED_TAB, RGB_ORANGE2); - rgb_matrix_set_color(LED_F, RGB_ORANGE2); - rgb_matrix_set_color(LED_Z, RGB_ORANGE2); - rgb_matrix_set_color(LED_X, RGB_ORANGE2); - rgb_matrix_set_color(LED_C, RGB_ORANGE2); - rgb_matrix_set_color(LED_V, RGB_ORANGE2); - rgb_matrix_set_color(LED_SPC, RGB_ORANGE2); - rgb_matrix_set_color(LED_LCTL, RGB_ORANGE2); - rgb_matrix_set_color(LED_LSFT, RGB_ORANGE2); - } - - // Fn selector mode RGB setup - switch (get_highest_layer(layer_state)) { // special handling per layer - case _FN1: // on Fn layer select what the encoder does when pressed - rgb_matrix_set_color(LED_FN, RGB_RED); //FN key - - //NEW RGB LIGHTING TO RING KEYBOARD ON FN LAYER ACTIVATION: - for (uint8_t j = 0; j < ARRAYSIZE(LED_LIST_FUNCROW); j++) { - rgb_matrix_set_color(LED_LIST_FUNCROW[j], RGB_RED); - } - rgb_matrix_set_color(LED_LCTL, RGB_RED); - rgb_matrix_set_color(LED_LALT, RGB_RED); - rgb_matrix_set_color(LED_SPC, RGB_RED); - rgb_matrix_set_color(LED_LWIN, RGB_RED); - //rgb_matrix_set_color(LED_RALT, RGB_RED); - rgb_matrix_set_color(LED_FN, RGB_OFFBLUE); - //rgb_matrix_set_color(LED_RCTL, RGB_RED); - rgb_matrix_set_color(LED_BSLS, RGB_RED); - rgb_matrix_set_color(LED_L1, RGB_RED); - rgb_matrix_set_color(LED_L2, RGB_RED); - rgb_matrix_set_color(LED_L3, RGB_RED); - rgb_matrix_set_color(LED_L4, RGB_RED); - rgb_matrix_set_color(LED_L5, RGB_RED); - rgb_matrix_set_color(LED_L6, RGB_RED); - rgb_matrix_set_color(LED_L7, RGB_RED); - rgb_matrix_set_color(LED_L8, RGB_RED); - rgb_matrix_set_color(LED_DOWN, RGB_RED); - rgb_matrix_set_color(LED_LEFT, RGB_RED); - rgb_matrix_set_color(LED_RIGHT, RGB_RED); - rgb_matrix_set_color(LED_R1, RGB_RED); - rgb_matrix_set_color(LED_R2, RGB_RED); - rgb_matrix_set_color(LED_R3, RGB_RED); - rgb_matrix_set_color(LED_R4, RGB_RED); - rgb_matrix_set_color(LED_R5, RGB_RED); - rgb_matrix_set_color(LED_R6, RGB_RED); - rgb_matrix_set_color(LED_R7, RGB_RED); - rgb_matrix_set_color(LED_R8, RGB_RED); - rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE); - rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE); - - // Indicator for paddle game enabled in build - #ifdef GAME_ENABLE - rgb_matrix_set_color(LED_P, RGB_CHARTREUSE); - #else - rgb_matrix_set_color(LED_P, RGB_RED); - #endif // GAME_ENABLE - - // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR - - //Add RGB statuses for user.config toggles - if (user_config.rgb_hilite_caps) { - rgb_matrix_set_color(LED_1, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_1, RGB_PURPLE); - } - if (user_config.rgb_hilite_numpad) { - rgb_matrix_set_color(LED_2, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_2, RGB_PURPLE); - } - if (user_config.esc_double_tap_to_baselyr) { - rgb_matrix_set_color(LED_3, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_3, RGB_PURPLE); - } - if (user_config.del_right_home_top) { - rgb_matrix_set_color(LED_4, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_4, RGB_PURPLE); - } - if (user_config.double_tap_shift_for_capslock) { - rgb_matrix_set_color(LED_5, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_5, RGB_PURPLE); - } - if (user_config.encoder_press_mute_or_media) { - rgb_matrix_set_color(LED_6, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_6, RGB_PURPLE); - } - if (user_config.ins_on_shft_bkspc_or_del) { - rgb_matrix_set_color(LED_7, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_7, RGB_PURPLE); - } - if (user_config.disable_space_mods) { - rgb_matrix_set_color(LED_8, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_8, RGB_PURPLE); - } - if (user_config.autocorrect) { - rgb_matrix_set_color(LED_9, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_9, RGB_PURPLE); - } - - // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code - uint16_t timeout_threshold = get_timeout_threshold(); - if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_BLUE); - else if (timeout_threshold < 140) { - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold % 10)], RGB_BLUE); - } else { // >= 140 minutes, just show these 3 lights - rgb_matrix_set_color(LED_LIST_FUNCROW[10], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[11], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[12], RGB_CYAN); - } - break; - - // Numpad & Mouse Keys overlay RGB - case _NUMPADMOUSE: - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR - if (user_config.rgb_hilite_numpad) { - for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) { - rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE); - } - rgb_matrix_set_color(LED_L5, RGB_OFFBLUE); - rgb_matrix_set_color(LED_L6, RGB_OFFBLUE); - rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE); - rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_END, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE); - } else { - rgb_matrix_set_color(LED_L5, RGB_OFFBLUE); - rgb_matrix_set_color(LED_L6, RGB_OFFBLUE); - rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE); - } - break; - - // MOUSEKEYS mode RGB - case _MOUSEKEY: - rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RCTL, RGB_CYAN); - rgb_matrix_set_color(LED_RSFT, RGB_CYAN); - rgb_matrix_set_color(LED_END, RGB_CYAN); - rgb_matrix_set_color(LED_PGUP, RGB_OFFBLUE); - rgb_matrix_set_color(LED_PGDN, RGB_OFFBLUE); - break; - - // Colemak layer RGB - #ifdef COLEMAK_LAYER_ENABLE - case _COLEMAK: - for (uint8_t i = 0; i < ARRAYSIZE(LED_SIDE_RIGHT); i++) { - rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_MAGENTA); - rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_MAGENTA); - } - break; - #endif - - // Paddle game logic - #ifdef GAME_ENABLE - case _GAME: - if (!game_start) { - srand((unsigned int) timer_read()); - - // Store user light settings - last_hsv = rgb_matrix_get_hsv(); - rgb_matrix_sethsv_noeeprom(0, 0, 0); - - paddle_pos_full = 8; - paddle_lives = 4; - bounce_count = 0; - level_number = 0; - damage_count = 0; - - init_ball(0); - ball[1].on = false; - ball_timer = timer_read(); - - game_start = true; - } - - // Set level indicator - if (level_number < 12) { - rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE); - } - - // Set life bar - for (uint8_t i = 0; i < paddle_lives; i++) { - rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN); - } - - uint8_t paddle_pos = paddle_pos_full >> 1; - - if (damage_count > 0) { - // Flash paddle when receiving damage - if (timer_elapsed(damage_timer) > 500) { - --damage_count; - damage_timer = timer_read(); - } - if ((damage_count & 1) == 0) { - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED); - } - } - if (damage_count == 0) { - ball_timer = timer_read(); - } - - } else if (paddle_lives == 0) { - // Game over - for (uint8_t i = 0; i < ARRAY_SIZE(LED_GAME_OVER); i++) { - rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED); - } - - } else if (level_number >= 12) { - // You win - if (rgb_value.r == 0xff && rgb_value.g < 0xff) { - if (rgb_value.b > 0) { - --rgb_value.b; - } else { - ++rgb_value.g; - } - } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) { - if (rgb_value.r > 0) { - --rgb_value.r; - } else { - ++rgb_value.b; - } - } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) { - if (rgb_value.g > 0) { - --rgb_value.g; - } else { - ++rgb_value.r; - } - } - - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b); - } - rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); - - } else { - // normal game loop - - // Set paddle position - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN); - } - - // Ball movement logic happens at intervals - if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) { - for (int i = 0; i < 2; ++i) { - if (ball[i].on) { - // Ball movement - if (ball[i].up) { - if (ball[i].y > 0) { - --ball[i].y; - if (!ball[i].left) ++ball[i].x; - } else { - // Count reflections. If > 10, increase level - ++bounce_count; - if (bounce_count >= 10) { - bounce_count = 0; - ++level_number; - } - ball[i].on = false; - } - } else { - ++ball[i].y; - if (ball[i].left) --ball[i].x; - if (ball[i].y > 4) { - // Remove a life if ball isn't returned and isn't enemy - if (!ball[i].enemy) { - hurt_paddle(); - i = 2; - } else { - ball[i].on = false; - } - } - } - } - } - if (ball[0].y == 4 && !ball[1].on) { - init_ball(1); - } - if (ball[1].y == 4 && !ball[0].on) { - init_ball(0); - } - if (!ball[0].on && !ball[1].on) { - init_ball(0); - } - ball_timer = timer_read(); - } - - // Other ball stuff - for (int i = 0; i < 2; ++i) { - if (ball[i].on) { - // Ball deflection logic - if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) { - if (!ball[i].enemy) { - --ball[i].y; - if (!ball[i].left) { - ++ball[i].x; - } - ball[i].up = true; - } else { - hurt_paddle(); - i = 2; - } - } - - // Ball display - switch (ball[i].y) { - case 0: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE); - } - break; - - case 1: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE); - } - break; - - case 2: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE); - } - break; - - case 3: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE); - } - break; - - case 4: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE); - } - break; - } - } - } - } - break; - #endif //GAME_ENABLE - default: - #ifdef GAME_ENABLE - if (game_start) { - // Reset lighting settings - game_start = false; - rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v); - } - #endif //GAME_ENABLE - break; - } - return false; -} -#endif - -void keyboard_post_init_keymap(void) { - // keyboard_post_init_user() moved to userspace - #ifdef RGB_MATRIX_ENABLE - activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle - #endif -} diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h deleted file mode 100644 index 3d33975cfed9..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/paddlegame.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Tomas Guinan - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifdef GAME_ENABLE -const uint16_t GAME_TIMER[] = { - 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150 -}; - -bool game_start = false; -HSV last_hsv; -static uint8_t paddle_pos_full; -static uint8_t paddle_lives; -static uint8_t level_number; -static uint8_t bounce_count; -static uint8_t damage_count; -static uint16_t damage_timer; -static uint16_t ball_timer; - -struct BallStruct -{ - uint8_t x; - uint8_t y; - bool on; - bool up; - bool left; - bool enemy; -}; - -struct BallStruct ball[2]; - -void init_ball(uint8_t i); -void hurt_paddle(void); - -#endif //GAME_ENABLE \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md deleted file mode 100644 index aebccf6d147a..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/readme.md +++ /dev/null @@ -1,124 +0,0 @@ -# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts - -These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects. - -![image](https://raw.githubusercontent.com/gourdo1/media/main/susuwatari.jpg) - -* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md) -* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)) -* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)) -* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf) - -## Features - -### Core Functionality - -* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts. -* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings. -* [VIA](https://www.caniusevia.com/) support enabled. -* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters. -* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled -* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R -* 1000Hz polling rate with 5ms debounce time for quick response in games. -* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse. -* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry. -* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys. -* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time. -* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor. -* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted). -* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit. -* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/ -* Single-handed shortcut for WinKey-L (lock Windows): [FN]L -* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com. -* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO -* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13 -* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple) -* Double tap ESC any time to revert to base layer. -* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes. -* RGB backlight now remembers last color & effect settings after power down. - -### Quick & Easy Customization -* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence. -* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards) -* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF) - -#### Toggle-able Settings: - 1. CapsLock RGB - Highlight under alpha keys - 2. Numpad RGB - Highlight under numpad layer keys - 3. ESC key - Double tap ESC key to go to base layer - 4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC - 5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock - 6. Encoder button - Default mutes volume; alternate plays/pauses media - 7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL - 8. Modded-Space override - Use standard Space in place of modded-Space functions - 9. AutoCorrect - Internal (English) AutoCorrect; default is enabled - 0. (ISO layouts only) CapsLock highlights extended alpha keys - -### Numpad + Mouse Keys (Capslock key) - -* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting -* Numpad uses Space-bar as Enter for rapid number entry. -* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use) -* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle) -* Double zero on comma key. -* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. -* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel -* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green - -### Encoder Functionality - -* Default knob turn changes volume; button press toggles mute -* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease. -* FN + knob turn changes RGB idle timeout -* FN + knob push puts PC to Sleep -* holding Left Shift changes layers -* holding Right Shift navigates page up/down -* holding Left Ctrl navigates prev/next word -* holding Right Ctrl changes RGB hue/color -* holding Left Alt changes media prev/next track - -### Paddle Game - -* Based on [Tomas Guinan's excellent GMMK Pro paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) -* Paddle Game playable by pressing [FN]P (P lights up green in FN layer if game is enabled in firmware, otherwise it lights up red) -* Use rotary encoder to control paddle -* Contains 12 levels, indicated by blue LED on F-key row -* Player has 4 lives, indicated by nav cluster -* Deflect white balls while avoiding red ones -* Use [FN]P, double tap ESC or otherwise change layer to quit game - -### Global RGB Controls - -* RGB backlight lighting effect: [FN]up/down -* RGB backlight effect speed: [FN]left/right -* RGB backlight hue cycle: [FN]A/D -* RGB backlight brightness: [FN]W/S -* RGB backlight saturation: [FN]Q/E -* RGB backlight night mode toggle: [FN]Z (indicators still work) -* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes) - * F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes -* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle -* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green). - -### Advanced Controls - -* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO) -* [FN][ESC] to clear EEPROM -* [FN]R to toggle N-key Rollover -* [FN]N to toggle system numlock -* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete -* [FN]L is single-handed shortcut to Win-L (lock Windows) -* [FN][Encoder press] to sleep Windows PC - -## Layer Diagrams (ANSI) -### Base layer -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/base.png) - -### FN Layer -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/fn1.png) - -### Layer 2 (Numpad) -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/numpad.png) - -### COLEMAK layer -![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h deleted file mode 100644 index f1609a4bb396..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rgb_matrix_map.h +++ /dev/null @@ -1,410 +0,0 @@ -/* Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifdef RGB_MATRIX_ENABLE - -//Define variables for Game -bool fn_active = false; -RGB rgb_value; - -// Custom GMMK Pro-specific RGB color customizations (defaults found in quantum/color.h) -#define RGB_GODSPEED 0x00, 0xE4, 0xFF // color for matching keycaps -#define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Nautilus Font colors -#define RGB_OFFBLUE 0x00, 0x80, 0xFF // new color: blue with a hint of green -#define RGB_DKRED 0x28, 0x00, 0x00 // new color: dark red -#define RGB_ORANGE2 0xFF, 0x28, 0x00 // fix: reduced green from 80 to 28 -#define RGB_PURPLE2 0x80, 0x00, 0xFF // fix: increased red from 7A to 80 -#define RGB_SPRINGGREEN2 0x00, 0xFF, 0x10 // fix: blue was 80, now 10 -#define RGB_YELLOW2 0xFF, 0xB0, 0x00 // fix: green was FF, now B0 -#define RGB_OFF RGB_BLACK - -// Added by gourdo1 for RGB testing -// Red Green Blue Expected GMMK Pro result -#define RGB_TEST1 0xFF, 0x00, 0x00 // Q - red good! -#define RGB_TEST2 0x0F, 0xFF, 0x00 // W - green good! -#define RGB_TEST3 0x00, 0x00, 0xFF // E - blue good! -#define RGB_TEST4 0xFF, 0xB0, 0x00 // R - yellow slightly green heavy - reduced green LED by quite a bit -#define RGB_TEST5 0x00, 0xFF, 0xFF // T - cyan good! -#define RGB_TEST6 0xFF, 0x00, 0xFF // Y - magenta very slightly blue heavy? -#define RGB_TEST7 0xFF, 0x28, 0x00 // U - orange very green heavy at default -#define RGB_TEST8 0xFF, 0x00, 0x80 // I - pink good! -#define RGB_TEST9 0x80, 0xFF, 0x00 // O - chartreus good! -#define RGB_TEST10 0x00, 0xFF, 0x10 // P - springgrn fixed: was too blue because green LED has blue in it already -#define RGB_TEST11 0x00, 0x80, 0xFF // A - grn blue good! -#define RGB_TEST12 0x80, 0x00, 0xFF // S - purple good! - -// RGB LED locations -enum led_location_map { - LED_ESC, // 0, ESC, k13 - LED_GRV, // 1, ~, k16 - LED_TAB, // 2, Tab, k11 - LED_CAPS, // 3, Caps, k21 - LED_LSFT, // 4, Sh_L, k00 - LED_LCTL, // 5, Ct_L, k06 - LED_F1, // 6, F1, k26 - LED_1, // 7, 1, k17 - LED_Q, // 8, Q, k10 - LED_A, // 9, A, k12 - LED_Z, // 10, Z, k14 - LED_LWIN, // 11, Win_L, k90 - LED_F2, // 12, F2, k36 - LED_2, // 13, 2, k27 - LED_W, // 14, W, k20 - LED_S, // 15, S, k22 - LED_X, // 16, X, k24 - LED_LALT, // 17, Alt_L, k93 - LED_F3, // 18, F3, k31 - LED_3, // 19, 3, k37 - LED_E, // 20, E, k30 - LED_D, // 21, D, k32 - LED_C, // 22, C, k34 - LED_F4, // 23, F4, k33 - LED_4, // 24, 4, k47 - LED_R, // 25, R, k40 - LED_F, // 26, F, k42 - LED_V, // 27, V, k44 - LED_F5, // 28, F5, k07 - LED_5, // 29, 5, k46 - LED_T, // 30, T, k41 - LED_G, // 31, G, k43 - LED_B, // 32, B, k45 - LED_SPC, // 33, SPACE, k94 - LED_F6, // 34, F6, k63 - LED_6, // 35, 6, k56 - LED_Y, // 36, Y, k51 - LED_H, // 37, H, k53 - LED_N, // 38, N, k55 - LED_F7, // 39, F7, k71 - LED_7, // 40, 7, k57 - LED_U, // 41, U, k50 - LED_J, // 42, J, k52 - LED_M, // 43, M, k54 - LED_F8, // 44, F8, k76 - LED_8, // 45, 8, k67 - LED_I, // 46, I, k60 - LED_K, // 47, K, k62 - LED_COMM, // 48, ,, k64 - LED_RALT, // 49, Alt_R, k95 - LED_F9, // 50, F9, ka6 - LED_9, // 51, 9, k77 - LED_O, // 52, O, k70 - LED_L, // 53, L, k72 - LED_DOT, // 54, ., k74 - LED_FN, // 55, FN, k92 - LED_F10, // 56, F10, ka7 - LED_0, // 57, 0, k87 - LED_P, // 58, P, k80 - LED_SCLN, // 59, ;, k82 - LED_SLSH, // 60, ?, k85 - LED_F11, // 61, F11, ka3 - LED_MINS, // 62, -, k86 - LED_LBRC, // 63, [, k81 - LED_QUOT, // 64, ", k83 - LED_RCTL, // 65, Ct_R, k04 - LED_F12, // 66, F12, ka5 - LED_L1, // 67, LED, l01 - LED_R1, // 68, LED, l11 - LED_INS, // 69, Prt, k97 -- remapped to INS - LED_L2, // 70, LED, l02 - LED_R2, // 71, LED, l12 - LED_DEL, // 72, Del, k65 - LED_L3, // 73, LED, l03 - LED_R3, // 74, LED, l13 - LED_PGUP, // 75, PgUp, k15 - LED_L4, // 76, LED, l04 - LED_R4, // 77, LED, l14 - LED_EQL, // 78, =, k66 - LED_RIGHT, // 79, Right, k05 - LED_L5, // 80, LED, l05 - LED_R5, // 81, LED, l15 - LED_END, // 82, End, k75 - LED_L6, // 83, LED, l06 - LED_R6, // 84, LED, l16 - LED_BSPC, // 85, BSpc, ka1 - LED_PGDN, // 86, PgDn, k25 - LED_L7, // 87, LED, l07 - LED_R7, // 88, LED, l17 - LED_RBRC, // 89, ], k61 - LED_RSFT, // 90, Sh_R, k91 - LED_L8, // 91, LED, l08 - LED_R8, // 92, LED, l18 - LED_BSLS, // 93, \, ka2 - LED_UP, // 94, Up, k35 - LED_LEFT, // 95, Left, k03 - LED_ENT, // 96, Enter, ka4 - LED_DOWN // 97, Down, k73 -}; - -const uint8_t LED_LIST_WASD[] = { - LED_W, - LED_A, - LED_S, - LED_D -}; - -const uint8_t LED_LIST_ARROWS[] = { - LED_LEFT, - LED_RIGHT, - LED_UP, - LED_DOWN -}; - -const uint8_t LED_LIST_FUNCROW[] = { - LED_ESC, - LED_F1, - LED_F2, - LED_F3, - LED_F4, - LED_F5, - LED_F6, - LED_F7, - LED_F8, - LED_F9, - LED_F10, - LED_F11, - LED_F12, - LED_INS -}; - -const uint8_t LED_LIST_NUMROW[] = { - LED_GRV, - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL, - LED_BSPC, - LED_DEL -}; - -const uint8_t LED_LIST_LETTERS[] = { -/* LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, */ - LED_Q, - LED_W, - LED_E, - LED_R, - LED_T, - LED_Y, - LED_U, - LED_I, - LED_O, - LED_P, - LED_A, - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_Z, - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M -}; - -const uint8_t LED_LIST_NUMPAD[] = { - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL, - LED_U, - LED_I, - LED_O, - LED_P, - LED_J, - LED_K, - LED_L, - LED_SCLN, - LED_ENT, - LED_M, - LED_COMM, - LED_DOT, - LED_SLSH, - LED_END, - LED_RIGHT -}; - -const uint8_t LED_SIDE_LEFT[] = { - LED_L1, - LED_L2, - LED_L3, - LED_L4, - LED_L5, - LED_L6, - LED_L7, - LED_L8 -}; - -const uint8_t LED_SIDE_RIGHT[] = { - LED_R1, - LED_R2, - LED_R3, - LED_R4, - LED_R5, - LED_R6, - LED_R7, - LED_R8 -}; - -#ifdef GAME_ENABLE -// Game LED rules -const uint8_t GAME_LIVES[] = { - LED_DEL, - LED_PGUP, - LED_PGDN, - LED_END -}; -const uint8_t GAME_PADDLE[] = { - LED_Z, - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M, - LED_COMM, - LED_DOT, - LED_SLSH -}; -const uint8_t GAME_SMILE1[] = { - LED_A, - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_SCLN, - LED_QUOT -}; -const uint8_t GAME_SMILE2[] = { - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL -}; -const uint8_t GAME_R4[] = { - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M, - LED_COMM, - LED_DOT -}; -const uint8_t GAME_R3[] = { - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_SCLN -}; -const uint8_t GAME_R2[] = { - LED_W, - LED_E, - LED_R, - LED_T, - LED_Y, - LED_U, - LED_I, - LED_O, - LED_P, - LED_LBRC -}; -const uint8_t GAME_R1[] = { - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL -}; -const uint8_t GAME_R0[] = { - LED_F1, - LED_F2, - LED_F3, - LED_F4, - LED_F5, - LED_F6, - LED_F7, - LED_F8, - LED_F9, - LED_F10, - LED_F11, - LED_F12 -}; -const uint8_t LED_GAME_OVER[] = { - LED_5, - LED_8, - LED_F, - LED_G, - LED_H, - LED_J, - LED_C, - LED_M -}; -#endif //GAME_ENABLE - -#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk deleted file mode 100644 index 3a6786af6810..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -LTO_ENABLE = yes # link time optimization -- achieves a smaller compiled size -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -VIA_ENABLE = yes - -MOUSEKEY_ENABLE = yes -TAP_DANCE_ENABLE = no -CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality -IDLE_TIMEOUT_ENABLE = yes -STARTUP_NUMLOCK_ON = yes -ENCODER_DEFAULTACTIONS_ENABLE = no -COLEMAK_LAYER_ENABLE = yes # Enable Colemak layer / set to no to disable -INVERT_NUMLOCK_INDICATOR = yes -GAME_ENABLE ?= yes # Enable Paddle Game / set to no to disable -ifeq ($(strip $(GAME_ENABLE)), yes) - OPT_DEFS += -DGAME_ENABLE -endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/config.h deleted file mode 100644 index 52f82bd60e6b..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 Jonavin Eng - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 -// TT set to two taps - -/* Handle GRAVESC combo keys */ -#define GRAVE_ESC_ALT_OVERRIDE - //Always send Escape if Alt is pressed -#define GRAVE_ESC_CTRL_OVERRIDE - //Always send Escape if Control is pressed - -#define TAPPING_TERM 180 - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - #define RGB_DISABLE_WHEN_USB_SUSPENDED -#endif - -// add fifth layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable -#if defined COLEMAK_LAYER_ENABLE - #define DYNAMIC_KEYMAP_LAYER_COUNT 5 - #define _COLEMAK 4 -#endif // COLEMAK_LAYER_ENABLE diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c deleted file mode 100644 index 7cb2d9f6fe7c..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c +++ /dev/null @@ -1,204 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Jonavin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "rgb_matrix_map.h" -#include "jonavin.h" - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Ins Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] \ PgUp -// Caps A S D F G H J K L ; " Enter PgDn -// Sh_L Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - - [_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_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_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, - TT(_LOWER), KC_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_LSFTCAPSWIN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FN1] = LAYOUT( - _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_CALC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, QK_BOOT, KC_HOME, - KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NUM, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______, - _______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - - [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, - _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PDOT, _______, _______, _______, KC_HOME, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_P1, KC_P2, KC_P3, KC_NO, KC_PAST, KC_PENT, KC_END, - _______, KC_NO, KC_DEL, KC_INS, KC_NO, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, _______, RCTL(KC_PGUP), _______, - _______, _______, _______, KC_BSPC, _______, _______, _______, RCTL(KC_LEFT), RCTL(KC_PGDN), RCTL(KC_RIGHT) - ), - - [_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -#ifdef COLEMAK_LAYER_ENABLE - [_COLEMAK] = 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_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_DEL, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - TT(_LOWER), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFTCAPSWIN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), -#endif // COLEMAK_LAYER_ENABLE -}; - -#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults - void encoder_action_rgbhue(bool clockwise) { - if (clockwise) - rgblight_increase_hue_noeeprom(); - else - rgblight_decrease_hue_noeeprom(); - } - - bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t mods_state = get_mods(); - if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers - encoder_action_layerchange(clockwise); - } else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn - unregister_mods(MOD_BIT(KC_RSFT)); - encoder_action_navpage(clockwise); - register_mods(MOD_BIT(KC_RSFT)); - } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word - encoder_action_navword(clockwise); - } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour - encoder_action_rgbhue(clockwise); - } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track - encoder_action_mediatrack(clockwise); - } else { - switch(get_highest_layer(layer_state)) { - case _FN1: - #ifdef IDLE_TIMEOUT_ENABLE - timeout_update_threshold(clockwise); - #endif - break; - default: - encoder_action_volume(clockwise); // Otherwise it just changes volume - break; - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; - } -#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE - -#ifdef RGB_MATRIX_ENABLE - // Capslock, Scroll lock and Numlock indicator on Left side lights. - bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - led_t led_state = host_keyboard_led_state(); - if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); - if (led_state.scroll_lock) { - rgb_matrix_set_color(LED_L1, RGB_GREEN); - rgb_matrix_set_color(LED_L2, RGB_GREEN); - } - - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF - rgb_matrix_set_color(LED_L3, RGB_MAGENTA); - rgb_matrix_set_color(LED_L4, RGB_MAGENTA); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_L3, RGB_MAGENTA); - rgb_matrix_set_color(LED_L4, RGB_MAGENTA); - } - #endif // INVERT_NUMLOCK_INDICATOR - - if (led_state.caps_lock) { - rgb_matrix_set_color(LED_L5, RGB_RED); - rgb_matrix_set_color(LED_L6, RGB_RED); - rgb_matrix_set_color(LED_L7, RGB_RED); - } - if (keymap_config.no_gui) { - rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled - } - switch(get_highest_layer(layer_state)){ // special handling per layer - case _FN1: // on Fn layer select what the encoder does when pressed - rgb_matrix_set_color(LED_R2, RGB_RED); - rgb_matrix_set_color(LED_R3, RGB_RED); - rgb_matrix_set_color(LED_R4, RGB_RED); - rgb_matrix_set_color(LED_FN, RGB_RED); //FN key - - // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code - uint16_t timeout_threshold = get_timeout_threshold(); - if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_RED); - else if (timeout_threshold < 140) { - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_RED); - } else { // >= 140 minutes, just show these 3 lights - rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_RED); - } - break; - case _LOWER: - for (uint8_t i=0; i or encoder - - setting to zero disables timeout - - indicators in FN layer using RGB in FN and number rows to show the timeout in minutes - - LED address location map as enum definition in rgb_matrix_map.h - - LED group lists for arrows, numpad, F row, num row, left and right side LEDs - - default startup in single mode with default colour - - Capslock, Scroll Lock, and Num Lock (not set) indicator on left side LED - - Layer indicator on right side LED - - Fn key light up red when Fn layer activate - - Win Key light up red when Win Lock mode enabled - - Layer 2 activation lights up Numpad area - - Fn + Z to turn off all RGB lights except rgb indicators; press again to toggle - -rules.mk OPTIONS - Active features from userspace -STARTUP_NUMLOCK_ON = yes - - turns on NUMLOCK by default - -ENCODER_DEFAULTACTIONS_ENABLE = yes - - Enabled default encoder funtions - -TD_LSFT_CAPSLOCK_ENABLE = yes - - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS - -IDLE_TIMEOUT_ENABLE = yes - - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically - -INVERT_NUMLOCK_INDICATOR - - inverts the Num lock indicator, LED is on when num lokc is off - -COLEMAK_LAYER_ENABLE = yes - - Enabled optional 5th layer for COLEMAK layout - - Use Shift and encoder to enter 5th layer, right led indicator lights up BLUE - -## All layers diagram -Default layer -![image](https://user-images.githubusercontent.com/71780717/124177658-82324880-da7e-11eb-9421-b69100131062.png) - -Fn Layer -![image](https://user-images.githubusercontent.com/71780717/131255937-06c9691b-835f-4c94-93e6-6d1dc3de272b.png) - -Layer 2 (Caps Lock Mod) -![image](https://user-images.githubusercontent.com/71780717/124177683-8b231a00-da7e-11eb-9434-e2475f679a54.png) - -Optional COLEMAK layer -![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rgb_matrix_map.h deleted file mode 100644 index 1ee53889054e..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rgb_matrix_map.h +++ /dev/null @@ -1,144 +0,0 @@ -/* Copyright 2021 Jonavin Eng - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifdef RGB_MATRIX_ENABLE - - // Custom RGB Colours - #define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps - #define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Naurilus Font colours - - // RGB LED locations - enum led_location_map { - LED_ESC, // 0, ESC, k13 - LED_GRV, // 1, ~, k16 - LEB_TAB, // 2, Tab, k11 - LED_CAPS, // 3, Caps, k21 - LED_LSFT, // 4, Sh_L, k00 - LED_LCTL, // 5, Ct_L, k06 - LED_F1, // 6, F1, k26 - LED_1, // 7, 1, k17 - LED_Q, // 8, Q, k10 - LED_A, // 9, A, k12 - LED_Z, // 10, Z, k14 - LED_LWIN, // 11, Win_L, k90 - LED_F2, // 12, F2, k36 - LED_2, // 13, 2, k27 - LED_W, // 14, W, k20 - LED_S, // 15, S, k22 - LED_X, // 16, X, k24 - LED_LALT, // 17, Alt_L, k93 - LED_F3, // 18, F3, k31 - LED_3, // 19, 3, k37 - LED_E, // 20, E, k30 - LED_D, // 21, D, k32 - LED_C, // 22, C, k34 - LED_F4, // 23, F4, k33 - LED_4, // 24, 4, k47 - LED_R, // 25, R, k40 - LED_F, // 26, F, k42 - LED_V, // 27, V, k44 - LED_F5, // 28, F5, k07 - LED_5, // 29, 5, k46 - LED_T, // 30, T, k41 - LED_G, // 31, G, k43 - LED_B, // 32, B, k45 - LED_SPC, // 33, SPACE, k94 - LED_F6, // 34, F6, k63 - LED_6, // 35, 6, k56 - LED_Y, // 36, Y, k51 - LED_H, // 37, H, k53 - LED_N, // 38, N, k55 - LED_F7, // 39, F7, k71 - LED_7, // 40, 7, k57 - LED_U, // 41, U, k50 - LED_J, // 42, J, k52 - LED_M, // 43, M, k54 - LED_F8, // 44, F8, k76 - LED_8, // 45, 8, k67 - LED_I, // 46, I, k60 - LED_K, // 47, K, k62 - LED_COMM, // 48, ,, k64 - LED_RALT, // 49, Alt_R, k95 - LED_F9, // 50, F9, ka6 - LED_9, // 51, 9, k77 - LED_O, // 52, O, k70 - LED_L, // 53, L, k72 - LED_DOT, // 54, ., k74 - LED_FN, // 55, FN, k92 - LED_F10, // 56, F10, ka7 - LED_0, // 57, 0, k87 - LED_P, // 58, P, k80 - LED_SCLN, // 59, ;, k82 - LED_SLSH, // 60, ?, k85 - LED_F11, // 61, F11, ka3 - LED_MINS, // 62, -, k86 - LED_LBRC, // 63, [, k81 - LED_QUOT, // 64, ", k83 - LED_RCTL, // 65, Ct_R, k04 - LED_F12, // 66, F12, ka5 - LED_L1, // 67, LED, l01 - LED_R1, // 68, LED, l11 - LED_INS, // 69, Prt, k97 -- remapped to INS - LED_L2, // 70, LED, l02 - LED_R2, // 71, LED, l12 - LED_DEL, // 72, Del, k65 - LED_L3, // 73, LED, l03 - LED_R3, // 74, LED, l13 - LED_PGUP, // 75, PgUp, k15 - LED_L4, // 76, LED, l04 - LED_R4, // 77, LED, l14 - LED_EQL, // 78, =, k66 - LED_RIGHT, // 79, Right, k05 - LED_L5, // 80, LED, l05 - LED_R5, // 81, LED, l15 - LED_END, // 82, End, k75 - LED_L6, // 83, LED, l06 - LED_R6, // 84, LED, l16 - LED_BSPC, // 85, BSpc, ka1 - LED_PGDN, // 86, PgDn, k25 - LED_L7, // 87, LED, l07 - LED_R7, // 88, LED, l17 - LED_RBRC, // 89, ], k61 - LED_RSFT, // 90, Sh_R, k91 - LED_L8, // 91, LED, l08 - LED_R8, // 92, LED, l18 - LED_BSLS, // 93, \, ka2 - LED_UP, // 94, Up, k35 - LED_LEFT, // 95, Left, k03 - LED_ENT, // 96, Enter, ka4 - LED_DOWN // 97, Down, k73 - }; - - const uint8_t LED_LIST_WASD[] = { LED_W, LED_A, LED_S, LED_D }; - - const uint8_t LED_LIST_ARROWS[] = { LED_LEFT, LED_RIGHT, LED_UP, LED_DOWN }; - - const uint8_t LED_LIST_FUNCROW[] = { LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_INS}; - - const uint8_t LED_LIST_NUMROW[] = { LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_DEL}; - - const uint8_t LED_LIST_NUMPAD[] = { - LED_7, LED_8, LED_9, - LED_U, LED_I, LED_O, - LED_J, LED_K, LED_L, - LED_M, LED_COMM, LED_DOT - }; - - const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8}; - - const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8}; - -#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rules.mk deleted file mode 100644 index 1ffc2058a262..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -VIA_ENABLE = yes -MOUSEKEY_ENABLE = no -TAP_DANCE_ENABLE = yes -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite - -TD_LSFT_CAPSLOCK_ENABLE = yes -IDLE_TIMEOUT_ENABLE = yes -STARTUP_NUMLOCK_ON = yes -ENCODER_DEFAULTACTIONS_ENABLE = no - -COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable -INVERT_NUMLOCK_INDICATOR = yes diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c deleted file mode 100644 index a7ab0c9cc3ab..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c +++ /dev/null @@ -1,241 +0,0 @@ -/* Copyright 2021 Gigahawk - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// clang-format off -#include "ansi.h" - -#ifdef RGB_MATRIX_ENABLE -led_config_t PROGMEM g_led_config = {{ - { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 }, - { 8, 2, 9, 0, 10, 75, 1, 7 }, - { 14, 3, 15, NO_LED, 16, 86, 6, 13 }, - { 20, 18, 21, 23, 22, 94, 12, 19 }, - { 25, 30, 26, 31, 27, 32, 29, 24 }, - { 41, 36, 42, 37, 43, 38, 35, 40 }, - { 46, 89, 47, 34, 48, 72, 78, 45 }, - { 52, 39, 53, 97, 54, 82, 44, 51 }, - { 58, 63, 59, 64, NO_LED, 60, 62, 57 }, - { 11, 90, 55, 17, 33, 49, NO_LED, 69 }, - { NO_LED, 85, 93, 61, 96, 66, 50, 56 } -}, { - {0, 0}, // 0, ESC, k13 - {0, 15}, // 1, ~, k16 - {4, 26}, // 2, Tab, k11 - {5, 38}, // 3, Caps, k21 - {9, 49}, // 4, Sh_L, k00 - {2, 61}, // 5, Ct_L, k06 - {18, 0}, // 6, F1, k26 - {14, 15}, // 7, 1, k17 - {22, 26}, // 8, Q, k10 - {25, 38}, // 9, A, k12 - {33, 49}, // 10, Z, k14 - {20, 61}, // 11, Win_L, k90 - {33, 0}, // 12, F2, k36 - {29, 15}, // 13, 2, k27 - {36, 26}, // 14, W, k20 - {40, 38}, // 15, S, k22 - {47, 49}, // 16, X, k24 - {38, 61}, // 17, Alt_L, k93 - {47, 0}, // 18, F3, k31 - {43, 15}, // 19, 3, k37 - {51, 26}, // 20, E, k30 - {54, 38}, // 21, D, k32 - {61, 49}, // 22, C, k34 - {61, 0}, // 23, F4, k33 - {58, 15}, // 24, 4, k47 - {65, 26}, // 25, R, k40 - {69, 38}, // 26, F, k42 - {76, 49}, // 27, V, k44 - {79, 0}, // 28, F5, k07 - {72, 15}, // 29, 5, k46 - {79, 26}, // 30, T, k41 - {83, 38}, // 31, G, k43 - {90, 49}, // 32, B, k45 - {92, 61}, // 33, SPACE, k94 - {94, 0}, // 34, F6, k63 - {87, 15}, // 35, 6, k56 - {94, 26}, // 36, Y, k51 - {98, 38}, // 37, H, k53 - {105, 49}, // 38, N, k55 - {108, 0}, // 39, F7, k71 - {101, 15}, // 40, 7, k57 - {108, 26}, // 41, U, k50 - {112, 38}, // 42, J, k52 - {119, 49}, // 43, M, k54 - {123, 0}, // 44, F8, k76 - {116, 15}, // 45, 8, k67 - {123, 26}, // 46, I, k60 - {126, 38}, // 47, K, k62 - {134, 49}, // 48, ,, k64 - {145, 61}, // 49, Alt_R, k95 - {141, 0}, // 50, F9, ka6 - {130, 15}, // 51, 9, k77 - {137, 26}, // 52, O, k70 - {141, 38}, // 53, L, k72 - {148, 49}, // 54, ., k74 - {159, 61}, // 55, FN, k92 - {155, 0}, // 56, F10, ka7 - {145, 15}, // 57, 0, k87 - {152, 26}, // 58, P, k80 - {155, 38}, // 59, ;, k82 - {163, 49}, // 60, ?, k85 - {170, 0}, // 61, F11, ka3 - {159, 15}, // 62, -, k86 - {166, 26}, // 63, [, k81 - {170, 38}, // 64, ", k83 - {173, 61}, // 65, Ct_R, k04 - {184, 0}, // 66, F12, ka5 - {0, 8}, // 67, LED, l01 - {224, 8}, // 68, LED, l11 - {202, 0}, // 69, Prt, k97 - {0, 15}, // 70, LED, l02 - {224, 15}, // 71, LED, l12 - {224, 15}, // 72, Del, k65 - {0, 21}, // 73, LED, l03 - {224, 21}, // 74, LED, l13 - {224, 26}, // 75, PgUp, k15 - {0, 28}, // 76, LED, l04 - {224, 28}, // 77, LED, l14 - {173, 15}, // 78, =, k66 - {220, 64}, // 79, Right, k05 - {0, 35}, // 80, LED, l05 - {224, 35}, // 81, LED, l15 - {224, 49}, // 82, End, k75 - {0, 42}, // 83, LED, l06 - {224, 42}, // 84, LED, l16 - {195, 15}, // 85, BSpc, ka1 - {224, 38}, // 86, PgDn, k25 - {0, 48}, // 87, LED, l07 - {224, 48}, // 88, LED, l17 - {181, 26}, // 89, ], k61 - {182, 49}, // 90, Sh_R, k91 - {0, 55}, // 91, LED, l08 - {224, 55}, // 92, LED, l18 - {199, 26}, // 93, \, ka2 - {206, 52}, // 94, Up, k35 - {191, 64}, // 95, Left, k03 - {193, 38}, // 96, Enter, ka4 - {206, 64} // 97, Down, k73 -}, { - 4, 4, 4, 1, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, 2, - 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 -}}; - -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { - {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 - {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 - {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 - {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21 - {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00 - {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06 - {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26 - {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17 - {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10 - {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12 - {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14 - {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90 - {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36 - {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27 - {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20 - {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22 - {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24 - {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93 - {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31 - {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37 - {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30 - {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32 - {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34 - {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33 - {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47 - {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40 - {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42 - {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44 - {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07 - {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46 - {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41 - {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43 - {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45 - {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94 - {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63 - {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56 - {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51 - {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53 - {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55 - {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71 - {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57 - {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50 - {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52 - {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54 - {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76 - {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67 - {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60 - {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62 - {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64 - {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95 - {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6 - {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77 - {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70 - {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72 - {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74 - {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92 - {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7 - {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87 - {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80 - {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82 - {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85 - {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3 - {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86 - {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81 - {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83 - {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04 - - {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5 - {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01 - {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11 - {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97 - {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02 - {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12 - {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65 - {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03 - {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13 - {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15 - {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04 - {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14 - {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66 - {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05 - {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05 - {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15 - {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75 - {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06 - {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16 - {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1 - {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25 - {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07 - {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17 - {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61 - {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91 - {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08 - {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18 - {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2 - {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35 - {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03 - {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4 - {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73 -}; -// clang-format on -#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/config.h deleted file mode 100644 index 0a10e8c8cfda..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/config.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 2021 Matt Gauf - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// clang-format off -#pragma once - -/* Defaults */ -#define RAW_USAGE_PAGE 0x200 -#define RAW_USAGE_ID 0x40 - -/* Board Features */ -#define DYNAMIC_MACRO_SIZE 512 - -/* RGB Matrix Features */ -#define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR -#define RGB_DISABLE_WHEN_USB_SUSPENDED true - -/* RGB Matrix Framebuffer Config */ -// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 25 - -/* RGB Matrix Disabled Effects */ -#define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue -#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation -#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness -#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in -#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard -#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard -#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard -#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard -#define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue -#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation -#define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left -#define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right - -#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) - #define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation -#endif - -#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) - #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - #define DISABLE_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 DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out - #define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out -#endif - -#define DISABLE_RGB_MATRIX_EFFECT_MAX -// clang-format on diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c deleted file mode 100644 index d30224636b26..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 Matt Gauf - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rgb_matrix.h" - -void rgb_matrix_set_color_flags(uint8_t red, uint8_t green, uint8_t blue, uint8_t flags) { - for (uint8_t ii = 0; ii < RGB_MATRIX_LED_COUNT; ii++) { - if (g_led_config.flags[ii] & flags) { - rgb_matrix_set_color(ii, red, green, blue); - } - } -} diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c deleted file mode 100644 index ceddf81a77ea..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c +++ /dev/null @@ -1,222 +0,0 @@ -/* Copyright 2021 Matt Gauf - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// clang-format off -#include QMK_KEYBOARD_H -#include "keymap_helpers.h" - - -enum custom_codes { - SET_MP = RGB_M_P, - SET_MB = RGB_M_B, - SET_MR = RGB_M_R, - - MG_F17 = SAFE_RANGE, - MG_F18, - MG_F19 -}; - - -enum layer_names { - _DEFAULT = 0, - _EFFECTS, - _UTILITY, - _DFUMODE -}; - - -// static uint8_t rgb_pin_fn_column[] = {PIN_DEL,PIN_PGUP,PIN_PGDN,PIN_END}; -// static uint8_t rgb_pin_left_underglow[] = {PIN_LED_L01,PIN_LED_L02,PIN_LED_L03,PIN_LED_L04,PIN_LED_L05,PIN_LED_L06,PIN_LED_L07,PIN_LED_L08}; -// static uint8_t rgb_pin_right_underglow[] = {PIN_LED_L11,PIN_LED_L12,PIN_LED_L13,PIN_LED_L14,PIN_LED_L15,PIN_LED_L16,PIN_LED_L17,PIN_LED_L18}; - - -#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) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT] = 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, MG_F17, 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_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_RGUI, KC_RALT, MO(_EFFECTS), KC_LEFT, KC_DOWN, KC_RGHT), - - [_EFFECTS] = LAYOUT(_______, KC_F13, KC_F14, KC_F15, KC_F16, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, MG_F18, _______, - _______, SET_MP, SET_MB, SET_MR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_SAI, RGB_SPD, - _______, _______, _______, _______, TG(_UTILITY), MO(_DFUMODE), _______, RGB_HUD, RGB_SAD, RGB_HUI), - - [_UTILITY] = LAYOUT(_______, _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [_DFUMODE] = LAYOUT(QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MG_F19, DB_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; -// Runs constantly in the background, in a loop. -bool rgb_matrix_indicators_user(void) { - if (rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER)) { - - if (IS_LAYER_ON(_UTILITY)) { - rgb_matrix_set_color(PIN_F9, LEDGREE); - rgb_matrix_set_color(PIN_F10, LEDGREE); - rgb_matrix_set_color(PIN_F11, LED_RED); - rgb_matrix_set_color(PIN_F12, LED_RED); - rgb_matrix_set_color(PIN_PRINT, LEDTEAL); - } - - switch (get_highest_layer(layer_state)) { - case _DFUMODE: - rgb_matrix_set_color_all(LED_OFF); - rgb_matrix_set_color(PIN_ESC, LED_RED); - rgb_matrix_set_color(PIN_PRINT, LEDORAN); - return; - case _EFFECTS: - rgb_matrix_set_color(PIN_PRINT, LEDGREE); - break; - default: - break; - } - - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(PIN_CAPS, RGB_WHITE); - } - - } - return false; -} - - -// Called on start -void dynamic_macro_record_start_user(int8_t direction) { - dprint("-- Recording Started\n"); - layer_on(_UTILITY); -} - - -// Called on end -void dynamic_macro_record_end_user(int8_t direction) { - dprint("-- Recording Ended\n"); -} - - -// Called on playback -void dynamic_macro_play_user(int8_t direction) { - dprint("-- Recording Playing\n"); -} - - -// Runs on encoder event -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t curr_mod = get_mods(); - - if (IS_LAYER_ON(_EFFECTS)) { - if (clockwise) { - rgb_matrix_increase_val(); - } else { - rgb_matrix_decrease_val(); - } - } else { - if (MODS_GUI) { - if (MODS_GUI && MODS_SHIFT) { - clear_mods(); - if (clockwise) { - tap_code16(LSG(KC_Z)); - } else { - tap_code16(LGUI(KC_Z)); - } - set_mods(curr_mod); - } else if (MODS_GUI && MODS_ALT) { - clear_mods(); - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - set_mods(curr_mod); - } else { - if (clockwise) { - tap_code16(LGUI(KC_TAB)); - } else { - tap_code16(LSG(KC_TAB)); - } - } - } else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; -} - - -// Runs on key event -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MG_F17: - if (record->event.pressed) { - tap_code16(HYPR(KC_F17)); - } - return false; - case MG_F18: - if (record->event.pressed) { - tap_code16(HYPR(KC_F18)); - } - return false; - case MG_F19: - if (record->event.pressed) { - tap_code16(HYPR(KC_F19)); - } - return false; - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_NONE); - break; - case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: - rgb_matrix_set_flags(LED_FLAG_ALL); - break; - case LED_FLAG_UNDERGLOW: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); - break; - default: - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - break; - } - } - return false; - default: - return true; // Process all other keycodes normally - } -} -// clang-format on diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap_helpers.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap_helpers.h deleted file mode 100644 index 2a6e8dae7b75..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap_helpers.h +++ /dev/null @@ -1,165 +0,0 @@ -/* Copyright 2021 Matt Gauf - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// clang-format off -#include -#include "rgb_matrix_types.h" - -/* Color Codes */ -#define LEDWHIT 0xff, 0xff, 0xff -#define LED_RED 0xff, 0x00, 0x00 -#define LEDORAN 0xff, 0x29, 0x00 -#define LEDGOLD 0xff, 0x80, 0x00 -#define LEDYELL 0xff, 0xff, 0x00 -#define LEDCHAR 0x80, 0xff, 0x00 -#define LEDGREE 0x00, 0xff, 0x00 -#define LEDFOAM 0x00, 0xff, 0x40 -#define LEDTEAL 0x00, 0x80, 0xff -#define LEDBLUE 0x00, 0x00, 0xff -#define LEDPURP 0x80, 0x00, 0xff -#define LEDMAGE 0xff, 0x00, 0xff -#define LEDPINK 0xff, 0x00, 0x80 -#define LEDBLAC 0x00, 0x00, 0x00 -#define LED_OFF 0x00, 0x00, 0x00 - -/* Color Functions */ -void rgb_matrix_set_color_flags(uint8_t red, uint8_t green, uint8_t blue, uint8_t flags); - -/* Function Row */ -#define PIN_ESC 0 -#define PIN_F1 6 -#define PIN_F2 12 -#define PIN_F3 18 -#define PIN_F4 23 -#define PIN_F5 28 -#define PIN_F6 34 -#define PIN_F7 39 -#define PIN_F8 44 -#define PIN_F9 50 -#define PIN_F10 56 -#define PIN_F11 61 -#define PIN_F12 66 -#define PIN_PRINT 69 - -/* Number Row */ -#define PIN_0 57 -#define PIN_1 7 -#define PIN_2 13 -#define PIN_3 19 -#define PIN_4 24 -#define PIN_5 29 -#define PIN_6 35 -#define PIN_7 40 -#define PIN_8 45 -#define PIN_9 51 - -/* QWERTY */ -#define PIN_A 9 -#define PIN_B 32 -#define PIN_C 22 -#define PIN_D 21 -#define PIN_E 20 -#define PIN_F 26 -#define PIN_G 31 -#define PIN_H 37 -#define PIN_I 46 -#define PIN_J 42 -#define PIN_K 47 -#define PIN_L 53 -#define PIN_M 43 -#define PIN_N 38 -#define PIN_O 52 -#define PIN_P 58 -#define PIN_Q 8 -#define PIN_R 25 -#define PIN_S 15 -#define PIN_T 30 -#define PIN_U 41 -#define PIN_V 27 -#define PIN_W 14 -#define PIN_X 16 -#define PIN_Y 36 -#define PIN_Z 10 - -/* Symbols */ -#define PIN_MINUS 62 -#define PIN_EQUAL 78 -#define PIN_RBRACKET 89 -#define PIN_LBRACKET 63 -#define PIN_BSLASH 93 -#define PIN_SLASH 60 -#define PIN_SCOLON 59 -#define PIN_QUOTE 64 -#define PIN_COMMA 48 -#define PIN_DOT 54 -#define PIN_GRAVE 1 - -/* Indentation */ -#define PIN_TAB 2 -#define PIN_SPACE 33 - -/* Line Control */ -#define PIN_BSPACE 85 -#define PIN_ENTER 96 - -/* Indicator */ -#define PIN_CAPS 3 - -/* Left Modifiers */ -#define PIN_LSHIFT 4 -#define PIN_LCTRL 5 -#define PIN_LALT 17 -#define PIN_LGUI 11 - -/* Right Modifiers */ -#define PIN_RSHIFT 90 -#define PIN_RCTRL 65 -#define PIN_RALT 49 -#define PIN_FN 55 - -/* Arrow Keys */ -#define PIN_UP 94 -#define PIN_DOWN 97 -#define PIN_LEFT 95 -#define PIN_RIGHT 79 - -/* Fn Column */ -#define PIN_DEL 72 // â”ģ TOP -#define PIN_PGUP 75 // ┃ -#define PIN_PGDN 86 // ┃ -#define PIN_END 82 // â”ŧ BOTTOM - -/* Left Side Underglow */ -#define PIN_LED_L01 67 // â”ģ TOP -#define PIN_LED_L02 70 // ┃ -#define PIN_LED_L03 73 // ┃ -#define PIN_LED_L04 76 // ┃ -#define PIN_LED_L05 80 // ┃ -#define PIN_LED_L06 83 // ┃ -#define PIN_LED_L07 87 // ┃ -#define PIN_LED_L08 91 // â”ŧ BOTTOM - -/* Right Side Underglow */ -#define PIN_LED_L11 68 // â”ģ TOP -#define PIN_LED_L12 71 // ┃ -#define PIN_LED_L13 74 // ┃ -#define PIN_LED_L14 77 // ┃ -#define PIN_LED_L15 81 // ┃ -#define PIN_LED_L16 84 // ┃ -#define PIN_LED_L17 88 // ┃ -#define PIN_LED_L18 92 // â”ŧ BOTTOM - -// clang-format on diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/readme.md deleted file mode 100644 index 94e268a0e3c8..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/readme.md +++ /dev/null @@ -1,52 +0,0 @@ -# @mattgauf's GMMK Pro layout - -### `_DEFAULT` -> *Based on the default ansi layout, this keymap contains the following changes to the default layer.* - - Screensaver: `HYPER(F17)` - - `KC_PSCR` → `MG_F17` - - `KC_DEL` → `KC_HOME` - -> *Additionally the encoder will follow new rules when holding a key.* - - `KC_GUI` will cycle through applications (macOS variant) - - `KC_GUI + KC_ALT` will tap the left and right arrows. - - `KC_GUI + KC_SHIFT` will tap Undo and Redo (macOS variant) - -### `_EFFECTS` -> *The function layer is now used for additional layer access, effect keys, and media keys (following the Macbook Pro fn key layout).* - -> *Additionally while effects is active, the encoder will only adjust the brightness of the RGB matrix.* - - The RGB matrix effect and speed keys are located on the right hand vertical nav column. - - `KC_HOME` → `RGB_MOD` - - `KC_PGUP` → `RGB_RMOD` - - `KC_PGDN` → `RGB_SPI` - - `KC_END` → `RGB_SPD` - - The RGB matrix Hue, Saturation keys are mapped to the arrow keys. - - `KC_UP` → `RGB_SAI` - - `KC_DN` → `RGB_SAD` - - `KC_LEFT` → `RGB_HUD` - - `KC_RIGHT` → `RGB_HUI` - - The RGB matrix toggle is intercepted in process_record_user() cycling through the `LED_FLAG` modifiers. (`NONE`, `UNDERGLOW`, `KEYLIGHT`, `ALL`) - - `KC_SLSH` → `RGB_TOG` - - Hibernate: `HYPER(F18)` - - `MG_F17` → `MG_F18` - - -### `_UTILITY` -*The utility layer is currently used for remapping* `KF_F9` *to* `KC_F12` *&* `MG_F17` *to the dynamic macro keys.* - - Playback - - `KC_F9` → `DM_PLY1` - - `KC_F10` → `DM_PLY2` - - Record - - `KC_F11` → `DM_REC1` - - `KC_F12` → `DM_REC2` - - Stop Recording - - `MG_F17` → `DM_RSTP` - -### `_DFUMODE` -> *The final layer is used for resetting the board or triggering an immediate shutdown.* - - DFU Mode - - `KC_ESC` → `RESET` - - Shutdown: `HYPER(F19)` - - `MG_F17` → `MG_F19` - - Encoder press, triggers debug output. - - `KC_MUTE` → `DB_TOGG` diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/rules.mk deleted file mode 100644 index 76e1674d5848..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build rules -LIB_SRC += ansi.c -LIB_SRC += helpers.c - -# Overrides -MOUSEKEY_ENABLE = no # Mouse keys diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c deleted file mode 100644 index 759c4034c062..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/moults31/keymap.c +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright 2021 Glorious, 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 - -#include "moults31.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] \ PgUp -// Caps A S D F G H J K L ; " Enter PgDn -// Sh_L Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - - // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without - // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB - // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI - // if that's your preference. - // - // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and - // it'll be back to normal when you plug it back in. - [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_MPLY, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_DEL, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(2), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [2] = LAYOUT( - M_GDB_STOP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_DBGCNSLFOCUS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_PLAY, M_GDB_PAUSE, - _______, M_VSC_FILEPRV, M_VSC_FILENXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_STEPOUT, _______, - _______, _______, _______, _______, _______, _______, _______, M_GDB_RESTART, M_GDB_STEPIN, M_GDB_STEPOVER - ), - -}; - - -bool encoder_update_user(uint8_t index, bool clockwise) { - const layer_state_t curr_layer = get_highest_layer(layer_state); - if(curr_layer == 2) { - if (clockwise) { - moults31_tap_custom_code(M_VSC_FILENXT); - } else { - moults31_tap_custom_code(M_VSC_FILEPRV); - } - } - else if(curr_layer == 1) { - if (clockwise) { - moults31_tap_custom_code(M_VSC_VIEWSIZEINC); - } else { - moults31_tap_custom_code(M_VSC_VIEWSIZEDEC); - } - } - else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return false; -} diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/keymap.c deleted file mode 100644 index e6627959c4c6..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/keymap.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright 2021 Glorious, 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 -#include "vnmm.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [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_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_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, WIN_F, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [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_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_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, KC_END, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, WIN_F, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [WIN_FN] = LAYOUT( - _______, DF_WIN, DF_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, - EE_CLR, _______, _______, QK_BOOT, _______, _______, _______, KC_MPRV, _______, KC_MNXT - ), - - [MAC_FN] = LAYOUT( - _______, DF_WIN, DF_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_RMOD,RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, - EE_CLR, _______, _______, QK_BOOT, _______, _______, _______, KC_MPRV, _______, KC_MNXT - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [MAC_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, -}; -#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/readme.md deleted file mode 100644 index 28738e9bfc23..000000000000 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/vnmm/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Vnmm's ANSI GMMK pro layout - -This keymap builds on the default but with a more sensible FN layer. - -## Features - -- Alphabet keys light up red when caps lock is on or shift is pressed -- Pressing FN shows keys that have a definition -- Via enabled -- Reset to bootloader with FN+Space diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json index 7b78ca57163a..492a5cf486d4 100644 --- a/keyboards/gmmk/pro/rev1/iso/info.json +++ b/keyboards/gmmk/pro/rev1/iso/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], @@ -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/iso/iso.c b/keyboards/gmmk/pro/rev1/iso/iso.c index 0ded23162f6c..9744447587f0 100644 --- a/keyboards/gmmk/pro/rev1/iso/iso.c +++ b/keyboards/gmmk/pro/rev1/iso/iso.c @@ -137,7 +137,7 @@ led_config_t g_led_config = {{ 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h deleted file mode 100644 index a0fbedde499b..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/config.h +++ /dev/null @@ -1,146 +0,0 @@ -/* Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -// Force n-key rollover -#define FORCE_NKRO - -// Set TT to two taps -#define TAPPING_TOGGLE 2 - -#ifdef COMMAND_ENABLE -#define IS_COMMAND() (get_mods() == MOD_MASK_CTRL) //debug commands accessed by holding down both CTRLs: https://github.com/qmk/qmk_firmware/blob/master/docs/feature_command.md -#endif - -// Caps Word configuration -#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD -#define CAPS_WORD_IDLE_TIMEOUT 10000 // Automatically turn off after x milliseconds of idle. 0 to never timeout. - -// Handle GRAVESC combo keys -#define GRAVE_ESC_ALT_OVERRIDE -// Always send Escape if Alt is pressed -#define GRAVE_ESC_CTRL_OVERRIDE -// Always send Escape if Control is pressed - -// #define TAPPING_TERM 180 -#define TAPPING_TERM 300 -#define TAPPING_TERM_PER_KEY - -#ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_WHEN_USB_SUSPENDED - #define RGB_MATRIX_KEYPRESSES // Enables REACTIVE & SPLASH modes - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables Heatmap, Rain - - // RGB step values - #define RGBLIGHT_HUE_STEP 32 // The number of steps to cycle through the hue by (default 10) - #define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by (default 17) - #define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by (default 17) - - // Startup values, when none have been set - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE // Sets the default effect mode, if none has been set (was RGB_MATRIX_SOLID_COLOR) - #define RGB_MATRIX_DEFAULT_HUE 24 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 127 // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set - - // Uncomment any #undef line below to turn OFF any default enabled RGB background effect (enabled in keyboards/gmmk/pro/config.h). - #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Solid color (seems redundant; seems same as RGB_MATRIX_SOLID_COLOR?) - //#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static, horizontal rainbow - //#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static, vertical Rainbow - //#undef ENABLE_RGB_MATRIX_BREATHING // Breathing animation using selected HSV color - #undef ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white) - //#undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black) - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (with white) - //#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness (with black) - #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades brightness (with white) - //#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black) - //#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow - //#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient moving left to right - //#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom - #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient chevron scrolling left to right (too similar to cycle left right) - //#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center. - #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. (seems mostly redundant with above) - #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Built-in cycling pinwheel (seems redundant with below) - //#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard - #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Spinning rainbow (more distracting transitions) - //#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Spinning rainbow (smoother) - #undef ENABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboard (distracting, busy) - #undef ENABLE_RGB_MATRIX_RAINDROPS // Sustained raindrops of blue, green, yellow (confusing to use with RGB layers) - //#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Sustained raindrops of blue, purple, pink, green (confusing to use with RGB layers, but slightly better than above) - #undef ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back (very subtle) - #undef ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left (very subtle) - #undef ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right (very subtle) - //#undef ENABLE_RGB_MATRIX_PIXEL_RAIN // Non-sustained raindrops of pastel colors - #undef ENABLE_RGB_MATRIX_PIXEL_FLOW // More active version of pixel rain with quick cycling (unusable, very distracting) - #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Same as Pixel Flow but with current HSV only (somewhat distracting) - //Only enabled if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined - //#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // Fading heatmap that follows keystrokes (has buggy side LEDs that glow red) - //#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix (has buggy side LEDs that glow red) - //Only enabled if RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Keyboard lights up in chosen hue, key hits shown in complementary hue (try this as default?) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but more intense (Multi-key) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single current color fade (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-key) - #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades (Single key) - //#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades - //#undef ENABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black. - #undef ENABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. (distracting on multiple keystroke hits) - #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (distracting on multiple key hits) - //#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black. -#endif //RGB_MATRIX_ENABLE - -// Add a layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable -#if defined COLEMAK_LAYER_ENABLE - #ifdef GAME_ENABLE - #define DYNAMIC_KEYMAP_LAYER_COUNT 6 - #define _COLEMAK 5 - #else - #define DYNAMIC_KEYMAP_LAYER_COUNT 5 - #define _COLEMAK 4 - #endif //GAME_ENABLE -#endif // COLEMAK_LAYER_ENABLE - -/* -// Mouse Keys Accelerated Mode Definitions -#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) -#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. -#define MOUSEKEY_MOVE_DELTA 8 // Step size (default: 8) -#define MOUSEKEY_MAX_SPEED 9 // Maximum cursor speed at which acceleration stops (default: 10) -#define MOUSEKEY_TIME_TO_MAX 150 // Time until maximum cursor speed is reached (default: 30) -#define MOUSEKEY_WHEEL_DELAY 0 // Delay between pressing a wheel key and wheel movement (default: 10) -#define MOUSEKEY_WHEEL_INTERVAL 80 // Time between wheel movements (default: 80) -#define MOUSEKEY_WHEEL_MAX_SPEED 8 // Maximum number of scroll steps per scroll action (default: 8) -#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Time until maximum scroll speed is reached (default: 40) -*/ - -// Mouse Keys Kinetic Mode Definitions -#define MK_KINETIC_SPEED // Enable Kinetic mode: Uses a quadratic curve on cursor speed to allow precise movements at the beginning and increases speed thereafter. -#define MOUSEKEY_DELAY 3 // Delay between pressing a movement key and cursor movement (default: 10) -#define MOUSEKEY_INTERVAL 13 // Time between cursor movements in milliseconds (default: 20); Try setting to 1000/monitor refresh for smooth movement. -#define MOUSEKEY_MOVE_DELTA 5 // Step size for accelerating from initial to base speed (default: 8) -#define MOUSEKEY_MOVE_MAX 50 // use instead of BASE SPEED to limit speed in Kinetic mode -#define MOUSEKEY_INITIAL_SPEED 100 // Initial speed of the cursor in pixels per second (default: 100) -//#define MOUSEKEY_BASE_SPEED 800 // (broken in QMK 0.16.0) Maximum cursor speed at which acceleration stops (default: 1000) -#define MOUSEKEY_DECELERATED_SPEED 400 // Decelerated cursor speed (default: 400) -#define MOUSEKEY_ACCELERATED_SPEED 2000 // Accelerated cursor speed (default: 3000) -#define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 // Initial number of movements of the mouse wheel (default: 16) -#define MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 // Maximum number of movements at which acceleration stops (default: 32) -#define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 // Accelerated wheel movements (default: 48) -#define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 // Decelerated wheel movements (default: 8) diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c deleted file mode 100644 index 44fed8fd294d..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c +++ /dev/null @@ -1,726 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 RustyBrakes (ISO conversion) - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c - -#include QMK_KEYBOARD_H - -#include "rgb_matrix_map.h" - -#include "gourdo1.h" - -#include "paddlegame.h" - -#include - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Base Layout - * - * ,-------------------------------------------------------------------------------------------------------------. - * | Esc || F1 | F2 | F3 | F4 || F5 | F6 | F7 | F8 || F9 | F10 | F11 | F12 || Home || Mute | - * |=============================================================================================================| - * | ISO | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | Backspc || Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ } | ] } | || PgUp | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------| - * | Capslock | A | S | D | F | G | H | J | K | L | ; : | ' " | ISO| Enter || PgDn | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | LShift | ISO | Z | X | C | V | B | N | M | , < | . > | / ? | RShift || Up || End | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | Ctrl | Win | LAlt | Space | RAlt | Fn | Ctrl || Left | Down | Rght | - * `------------------------------------------------------------------------------------------------------------' - */ - - [_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, LEFTOFENC, ENCFUNC, - 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, BELOWENC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, - CAPSNUM, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* FN1 Layout - * - * ,-------------------------------------------------------------------------------------------------------------. - * | Esc ||MyCmp |WbHom | Calc |MdSel ||MdPrv |MdNxt |MdPly |MdStp ||VolDn |VolUp |PrScr |ScrLk ||Pause ||Sleep | - * |=============================================================================================================| - * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ |RGBTOD|RGBTOI| ________ ||RGBTOG| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | ______ |RGBSAD|RGBVAI|RGBSAI| NKRO | ____ |YAHOO | ____ | ____ |OUTLK |Pause | ____ | ____ | || Home | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------| - * | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | ___ | ____ || End | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | ____ |QK_BOOT|RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI| - * `------------------------------------------------------------------------------------------------------------' - */ - - #ifdef GAME_ENABLE - [_FN1] = LAYOUT( - EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_SLEP, - PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG, - _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, KC_HOME, - KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END, - _______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NUM, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______, - _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - - [_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - #else - [_FN1] = LAYOUT( - EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_SLEP, - PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG, - _______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, KC_HOME, - KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END, - _______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NUM, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______, - _______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - #endif //GAME_ENABLE - - /* _NUMPADMOUSE Layout - * Note: A symbol preceded by "P" is a Numpad-encoded version of the key -- any app that differentiates will recognize the char as coming from a physical numpad. - * ,-------------------------------------------------------------------------------------------------------------. - * | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ | ____ | ____ | ____ || ____ || ____ | - * |=============================================================================================================| - * | ____ | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P0 | P- | P+ | ________ || ____ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+----------++------| - * | ______ | PGUP | Up | PGDN | None | None | None | P4 | P5 | P6 | P+ | ____ | ____ | || WhUp | - * |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------| - * | ________ | Left | Down | Rght | None| None | None | P1 | P2 | P3 | P* | ___ | ___ |P-Enter|| WhDn | - * |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------| - * | __________ | None | ____ | ____ | ____ | None | None | 0 | 00 | P. | P/ | MBt1 ||MS_UP || MBt2 | - * |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======| - * | ____ | ____ | ____ | _____ | ____ | ____ | MBt3 ||MS_LT |MS_DN |MS_RT | - * `------------------------------------------------------------------------------------------------------------' - */ - - [_NUMPADMOUSE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, - _______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, KC_WH_U, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, _______, KC_PENT, KC_WH_D, - _______, _______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R - ), - - [_MOUSEKEY] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, _______, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R - ), - - #ifdef COLEMAK_LAYER_ENABLE - [_COLEMAK] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, _______, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP, - _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, - _______, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - _______, _______, _______, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - #endif // COLEMAK_LAYER_ENABLE -}; - -#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults -void encoder_action_rgbhue(bool clockwise) { - if (clockwise) - rgblight_increase_hue_noeeprom(); - else - rgblight_decrease_hue_noeeprom(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t mods_state = get_mods(); - if (mods_state & MOD_BIT(KC_LSFT)) { // If you are holding L shift, encoder changes layers - encoder_action_layerchange(clockwise); - } else if (mods_state & MOD_BIT(KC_RSFT)) { // If you are holding R shift, Page up/dn - unregister_mods(MOD_BIT(KC_RSFT)); - encoder_action_navpage(clockwise); - register_mods(MOD_BIT(KC_RSFT)); - } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word - encoder_action_navword(clockwise); - } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour - encoder_action_rgbhue(clockwise); - } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track - encoder_action_mediatrack(clockwise); - } else { - switch (get_highest_layer(layer_state)) { - case _FN1: - #ifdef IDLE_TIMEOUT_ENABLE - timeout_update_threshold(clockwise); - #endif - break; - #ifdef GAME_ENABLE - case _GAME: - // Game: Paddle movement - if (damage_count == 0) { - if (clockwise) { - if (paddle_pos_full < 15) ++paddle_pos_full; - } else { - if (paddle_pos_full > 0) --paddle_pos_full; - } - } - break; - #endif //GAME_ENABLE - default: - encoder_action_volume(clockwise); // Otherwise it just changes volume - break; - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; -} -#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE - -#ifdef RGB_MATRIX_ENABLE - -// Game logic -#ifdef GAME_ENABLE -void init_ball(uint8_t i) { - i &= 1; - ball[i].on = true; - ball[i].up = false; - ball[i].y = 0; - ball[i].x = rand() % 16; - - // Set initial ball state - if (ball[i].x < 8) { - ball[i].left = false; - } else { - ball[i].x -= 4; - ball[i].left = true; - } - - // 1/4 chance of being an enemy ball after level 6 - if (level_number > 3) { - ball[i].enemy = ((rand() % 4) == 0); - } else { - ball[i].enemy = false; - } -} - -void hurt_paddle(void) { - if (paddle_lives > 0) { - --paddle_lives; - } - damage_timer = timer_read(); - damage_count = 10; - - // Reset board - init_ball(0); - ball[1].on = false; -} -#endif //GAME_ENABLE - -// Capslock, Scroll lock and Numlock indicator on Left side lights. -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); - - led_t led_state = host_keyboard_led_state(); - - // Scroll Lock RGB setup - if (led_state.scroll_lock) { - rgb_matrix_set_color(LED_L3, RGB_RED); - rgb_matrix_set_color(LED_L4, RGB_RED); - rgb_matrix_set_color(LED_TAB, RGB_RED); - rgb_matrix_set_color(LED_F12, RGB_RED); - } - -/* - // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); - rgb_matrix_set_color(LED_L1, RGB_ORANGE2); - rgb_matrix_set_color(LED_L2, RGB_ORANGE2); - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - rgb_matrix_set_color(LED_FN, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_GRV, RGB_ORANGE2); - rgb_matrix_set_color(LED_L1, RGB_ORANGE2); - rgb_matrix_set_color(LED_L2, RGB_ORANGE2); - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - rgb_matrix_set_color(LED_FN, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR -*/ - - // CapsLock RGB setup - if (led_state.caps_lock) { - if (user_config.rgb_hilite_caps) { - if (user_config.rgb_english_caps) { - for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) { - rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE); - } - } - else { - for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS_DE); i++) { - rgb_matrix_set_color(LED_LIST_LETTERS_DE[i], RGB_CHARTREUSE); - } - } - rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE); - } - else { - rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LSFT, RGB_CHARTREUSE); - } - } - - // Winkey disabled (gaming) mode RGB setup - if (keymap_config.no_gui) { - rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Winkey red when disabled - rgb_matrix_set_color(LED_W, RGB_CHARTREUSE); //light up gaming keys with WSAD higlighted - rgb_matrix_set_color(LED_S, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_A, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_D, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_Q, RGB_ORANGE2); - rgb_matrix_set_color(LED_E, RGB_ORANGE2); - rgb_matrix_set_color(LED_R, RGB_ORANGE2); - rgb_matrix_set_color(LED_TAB, RGB_ORANGE2); - rgb_matrix_set_color(LED_F, RGB_ORANGE2); - rgb_matrix_set_color(LED_Z, RGB_ORANGE2); - rgb_matrix_set_color(LED_X, RGB_ORANGE2); - rgb_matrix_set_color(LED_C, RGB_ORANGE2); - rgb_matrix_set_color(LED_V, RGB_ORANGE2); - rgb_matrix_set_color(LED_SPC, RGB_ORANGE2); - rgb_matrix_set_color(LED_LCTL, RGB_ORANGE2); - rgb_matrix_set_color(LED_LSFT, RGB_ORANGE2); - } - - // Fn selector mode RGB setup - switch (get_highest_layer(layer_state)) { // special handling per layer - case _FN1: // on Fn layer select what the encoder does when pressed - rgb_matrix_set_color(LED_FN, RGB_RED); //FN key - - //NEW RGB LIGHTING TO RING KEYBOARD ON FN LAYER ACTIVATION: - for (uint8_t j = 0; j < ARRAYSIZE(LED_LIST_FUNCROW); j++) { - rgb_matrix_set_color(LED_LIST_FUNCROW[j], RGB_RED); - } - rgb_matrix_set_color(LED_LCTL, RGB_RED); - rgb_matrix_set_color(LED_LALT, RGB_RED); - rgb_matrix_set_color(LED_SPC, RGB_RED); - rgb_matrix_set_color(LED_LWIN, RGB_RED); - //rgb_matrix_set_color(LED_RALT, RGB_RED); - rgb_matrix_set_color(LED_FN, RGB_OFFBLUE); - //rgb_matrix_set_color(LED_RCTL, RGB_RED); - rgb_matrix_set_color(LED_BSLS, RGB_RED); - rgb_matrix_set_color(LED_L1, RGB_RED); - rgb_matrix_set_color(LED_L2, RGB_RED); - rgb_matrix_set_color(LED_L3, RGB_RED); - rgb_matrix_set_color(LED_L4, RGB_RED); - rgb_matrix_set_color(LED_L5, RGB_RED); - rgb_matrix_set_color(LED_L6, RGB_RED); - rgb_matrix_set_color(LED_L7, RGB_RED); - rgb_matrix_set_color(LED_L8, RGB_RED); - rgb_matrix_set_color(LED_DOWN, RGB_RED); - rgb_matrix_set_color(LED_LEFT, RGB_RED); - rgb_matrix_set_color(LED_RIGHT, RGB_RED); - rgb_matrix_set_color(LED_R1, RGB_RED); - rgb_matrix_set_color(LED_R2, RGB_RED); - rgb_matrix_set_color(LED_R3, RGB_RED); - rgb_matrix_set_color(LED_R4, RGB_RED); - rgb_matrix_set_color(LED_R5, RGB_RED); - rgb_matrix_set_color(LED_R6, RGB_RED); - rgb_matrix_set_color(LED_R7, RGB_RED); - rgb_matrix_set_color(LED_R8, RGB_RED); - rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE); - rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE); - - // Indicator for paddle game enabled in build - #ifdef GAME_ENABLE - rgb_matrix_set_color(LED_P, RGB_CHARTREUSE); - #else - rgb_matrix_set_color(LED_P, RGB_RED); - #endif // GAME_ENABLE - - // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR - - //Add RGB statuses for user.config toggles - if (user_config.rgb_hilite_caps) { - rgb_matrix_set_color(LED_1, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_1, RGB_PURPLE); - } - if (user_config.rgb_hilite_numpad) { - rgb_matrix_set_color(LED_2, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_2, RGB_PURPLE); - } - if (user_config.esc_double_tap_to_baselyr) { - rgb_matrix_set_color(LED_3, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_3, RGB_PURPLE); - } - if (user_config.del_right_home_top) { - rgb_matrix_set_color(LED_4, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_4, RGB_PURPLE); - } - if (user_config.double_tap_shift_for_capslock) { - rgb_matrix_set_color(LED_5, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_5, RGB_PURPLE); - } - if (user_config.encoder_press_mute_or_media) { - rgb_matrix_set_color(LED_6, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_6, RGB_PURPLE); - } - if (user_config.ins_on_shft_bkspc_or_del) { - rgb_matrix_set_color(LED_7, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_7, RGB_PURPLE); - } - if (user_config.disable_space_mods) { - rgb_matrix_set_color(LED_8, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_8, RGB_PURPLE); - } - if (user_config.autocorrect) { - rgb_matrix_set_color(LED_9, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_9, RGB_PURPLE); - } - if (user_config.rgb_english_caps) { - rgb_matrix_set_color(LED_0, RGB_GREEN); - } else { - rgb_matrix_set_color(LED_0, RGB_PURPLE); - } - - // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code - uint16_t timeout_threshold = get_timeout_threshold(); - if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_BLUE); - else if (timeout_threshold < 140) { - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold % 10)], RGB_BLUE); - } else { // >= 140 minutes, just show these 3 lights - rgb_matrix_set_color(LED_LIST_FUNCROW[10], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[11], RGB_CYAN); - rgb_matrix_set_color(LED_LIST_FUNCROW[12], RGB_CYAN); - } - break; - - // Numpad & Mouse Keys overlay RGB - case _NUMPADMOUSE: - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_N, RGB_ORANGE2); - } - #endif // INVERT_NUMLOCK_INDICATOR - if (user_config.rgb_hilite_numpad) { - for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) { - rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE); - } - rgb_matrix_set_color(LED_L5, RGB_OFFBLUE); - rgb_matrix_set_color(LED_L6, RGB_OFFBLUE); - rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE); - rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RCTL, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RSFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_END, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_PGUP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_PGDN, RGB_CHARTREUSE); - } else { - rgb_matrix_set_color(LED_L5, RGB_OFFBLUE); - rgb_matrix_set_color(LED_L6, RGB_OFFBLUE); - rgb_matrix_set_color(LED_CAPS, RGB_OFFBLUE); - } - break; - - // MOUSEKEYS mode RGB - case _MOUSEKEY: - rgb_matrix_set_color(LED_UP, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_DOWN, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_LEFT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RIGHT, RGB_CHARTREUSE); - rgb_matrix_set_color(LED_RCTL, RGB_CYAN); - rgb_matrix_set_color(LED_RSFT, RGB_CYAN); - rgb_matrix_set_color(LED_END, RGB_CYAN); - rgb_matrix_set_color(LED_PGUP, RGB_OFFBLUE); - rgb_matrix_set_color(LED_PGDN, RGB_OFFBLUE); - break; - - // Colemak layer RGB - #ifdef COLEMAK_LAYER_ENABLE - case _COLEMAK: - for (uint8_t i = 0; i < ARRAYSIZE(LED_SIDE_RIGHT); i++) { - rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_MAGENTA); - rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_MAGENTA); - } - break; - #endif - - // Paddle game logic - #ifdef GAME_ENABLE - case _GAME: - if (!game_start) { - srand((unsigned int) timer_read()); - - // Store user light settings - last_hsv = rgb_matrix_get_hsv(); - rgb_matrix_sethsv_noeeprom(0, 0, 0); - - paddle_pos_full = 8; - paddle_lives = 4; - bounce_count = 0; - level_number = 0; - damage_count = 0; - - init_ball(0); - ball[1].on = false; - ball_timer = timer_read(); - - game_start = true; - } - - // Set level indicator - if (level_number < 12) { - rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE); - } - - // Set life bar - for (uint8_t i = 0; i < paddle_lives; i++) { - rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN); - } - - uint8_t paddle_pos = paddle_pos_full >> 1; - - if (damage_count > 0) { - // Flash paddle when receiving damage - if (timer_elapsed(damage_timer) > 500) { - --damage_count; - damage_timer = timer_read(); - } - if ((damage_count & 1) == 0) { - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED); - } - } - if (damage_count == 0) { - ball_timer = timer_read(); - } - - } else if (paddle_lives == 0) { - // Game over - for (uint8_t i = 0; i < ARRAY_SIZE(LED_GAME_OVER); i++) { - rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED); - } - - } else if (level_number >= 12) { - // You win - if (rgb_value.r == 0xff && rgb_value.g < 0xff) { - if (rgb_value.b > 0) { - --rgb_value.b; - } else { - ++rgb_value.g; - } - } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) { - if (rgb_value.r > 0) { - --rgb_value.r; - } else { - ++rgb_value.b; - } - } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) { - if (rgb_value.g > 0) { - --rgb_value.g; - } else { - ++rgb_value.r; - } - } - - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b); - } - rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); - rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); - - } else { - // normal game loop - - // Set paddle position - for (uint8_t i = 0; i < 3; i++) { - rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN); - } - - // Ball movement logic happens at intervals - if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) { - for (int i = 0; i < 2; ++i) { - if (ball[i].on) { - // Ball movement - if (ball[i].up) { - if (ball[i].y > 0) { - --ball[i].y; - if (!ball[i].left) ++ball[i].x; - } else { - // Count reflections. If > 10, increase level - ++bounce_count; - if (bounce_count >= 10) { - bounce_count = 0; - ++level_number; - } - ball[i].on = false; - } - } else { - ++ball[i].y; - if (ball[i].left) --ball[i].x; - if (ball[i].y > 4) { - // Remove a life if ball isn't returned and isn't enemy - if (!ball[i].enemy) { - hurt_paddle(); - i = 2; - } else { - ball[i].on = false; - } - } - } - } - } - if (ball[0].y == 4 && !ball[1].on) { - init_ball(1); - } - if (ball[1].y == 4 && !ball[0].on) { - init_ball(0); - } - if (!ball[0].on && !ball[1].on) { - init_ball(0); - } - ball_timer = timer_read(); - } - - // Other ball stuff - for (int i = 0; i < 2; ++i) { - if (ball[i].on) { - // Ball deflection logic - if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) { - if (!ball[i].enemy) { - --ball[i].y; - if (!ball[i].left) { - ++ball[i].x; - } - ball[i].up = true; - } else { - hurt_paddle(); - i = 2; - } - } - - // Ball display - switch (ball[i].y) { - case 0: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE); - } - break; - - case 1: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE); - } - break; - - case 2: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE); - } - break; - - case 3: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE); - } - break; - - case 4: - if (ball[i].enemy) { - rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED); - } else { - rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE); - } - break; - } - } - } - } - break; - #endif //GAME_ENABLE - default: - #ifdef GAME_ENABLE - if (game_start) { - // Reset lighting settings - game_start = false; - rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v); - } - #endif //GAME_ENABLE - break; - } - return false; -} -#endif - -void keyboard_post_init_keymap(void) { - // keyboard_post_init_user() moved to userspace - #ifdef RGB_MATRIX_ENABLE - activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle - #endif -} diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h deleted file mode 100644 index 3d33975cfed9..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/paddlegame.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Tomas Guinan - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifdef GAME_ENABLE -const uint16_t GAME_TIMER[] = { - 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150 -}; - -bool game_start = false; -HSV last_hsv; -static uint8_t paddle_pos_full; -static uint8_t paddle_lives; -static uint8_t level_number; -static uint8_t bounce_count; -static uint8_t damage_count; -static uint16_t damage_timer; -static uint16_t ball_timer; - -struct BallStruct -{ - uint8_t x; - uint8_t y; - bool on; - bool up; - bool left; - bool enemy; -}; - -struct BallStruct ball[2]; - -void init_ball(uint8_t i); -void hurt_paddle(void); - -#endif //GAME_ENABLE \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md deleted file mode 100644 index aebccf6d147a..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/readme.md +++ /dev/null @@ -1,124 +0,0 @@ -# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts - -These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects. - -![image](https://raw.githubusercontent.com/gourdo1/media/main/susuwatari.jpg) - -* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md) -* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)) -* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)) -* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf) - -## Features - -### Core Functionality - -* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts. -* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings. -* [VIA](https://www.caniusevia.com/) support enabled. -* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters. -* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled -* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R -* 1000Hz polling rate with 5ms debounce time for quick response in games. -* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse. -* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry. -* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys. -* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time. -* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor. -* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted). -* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit. -* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/ -* Single-handed shortcut for WinKey-L (lock Windows): [FN]L -* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com. -* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO -* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13 -* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple) -* Double tap ESC any time to revert to base layer. -* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes. -* RGB backlight now remembers last color & effect settings after power down. - -### Quick & Easy Customization -* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence. -* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards) -* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF) - -#### Toggle-able Settings: - 1. CapsLock RGB - Highlight under alpha keys - 2. Numpad RGB - Highlight under numpad layer keys - 3. ESC key - Double tap ESC key to go to base layer - 4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC - 5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock - 6. Encoder button - Default mutes volume; alternate plays/pauses media - 7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL - 8. Modded-Space override - Use standard Space in place of modded-Space functions - 9. AutoCorrect - Internal (English) AutoCorrect; default is enabled - 0. (ISO layouts only) CapsLock highlights extended alpha keys - -### Numpad + Mouse Keys (Capslock key) - -* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting -* Numpad uses Space-bar as Enter for rapid number entry. -* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use) -* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle) -* Double zero on comma key. -* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. -* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel -* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green - -### Encoder Functionality - -* Default knob turn changes volume; button press toggles mute -* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease. -* FN + knob turn changes RGB idle timeout -* FN + knob push puts PC to Sleep -* holding Left Shift changes layers -* holding Right Shift navigates page up/down -* holding Left Ctrl navigates prev/next word -* holding Right Ctrl changes RGB hue/color -* holding Left Alt changes media prev/next track - -### Paddle Game - -* Based on [Tomas Guinan's excellent GMMK Pro paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) -* Paddle Game playable by pressing [FN]P (P lights up green in FN layer if game is enabled in firmware, otherwise it lights up red) -* Use rotary encoder to control paddle -* Contains 12 levels, indicated by blue LED on F-key row -* Player has 4 lives, indicated by nav cluster -* Deflect white balls while avoiding red ones -* Use [FN]P, double tap ESC or otherwise change layer to quit game - -### Global RGB Controls - -* RGB backlight lighting effect: [FN]up/down -* RGB backlight effect speed: [FN]left/right -* RGB backlight hue cycle: [FN]A/D -* RGB backlight brightness: [FN]W/S -* RGB backlight saturation: [FN]Q/E -* RGB backlight night mode toggle: [FN]Z (indicators still work) -* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes) - * F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes -* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle -* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green). - -### Advanced Controls - -* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO) -* [FN][ESC] to clear EEPROM -* [FN]R to toggle N-key Rollover -* [FN]N to toggle system numlock -* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete -* [FN]L is single-handed shortcut to Win-L (lock Windows) -* [FN][Encoder press] to sleep Windows PC - -## Layer Diagrams (ANSI) -### Base layer -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/base.png) - -### FN Layer -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/fn1.png) - -### Layer 2 (Numpad) -![image](https://raw.githubusercontent.com/gourdo1/gmmkpro-media/main/numpad.png) - -### COLEMAK layer -![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png) diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h deleted file mode 100644 index abcdb82aeb85..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rgb_matrix_map.h +++ /dev/null @@ -1,433 +0,0 @@ -/* Copyright 2021 Jonavin Eng @Jonavin - Copyright 2022 gourdo1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifdef RGB_MATRIX_ENABLE - -//Define variables for Game -bool fn_active = false; -RGB rgb_value; - -// Custom GMMK Pro-specific RGB color customizations (defaults found in quantum/color.h) -#define RGB_GODSPEED 0x00, 0xE4, 0xFF // color for matching keycaps -#define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Nautilus Font colors -#define RGB_OFFBLUE 0x00, 0x80, 0xFF // new color: blue with a hint of green -#define RGB_DKRED 0x28, 0x00, 0x00 // new color: dark red -#define RGB_ORANGE2 0xFF, 0x28, 0x00 // fix: reduced green from 80 to 28 -#define RGB_PURPLE2 0x80, 0x00, 0xFF // fix: increased red from 7A to 80 -#define RGB_SPRINGGREEN2 0x00, 0xFF, 0x10 // fix: blue was 80, now 10 -#define RGB_YELLOW2 0xFF, 0xB0, 0x00 // fix: green was FF, now B0 -#define RGB_OFF RGB_BLACK - -// Added by gourdo1 for RGB testing -// Red Green Blue Expected GMMK Pro result -#define RGB_TEST1 0xFF, 0x00, 0x00 // Q - red good! -#define RGB_TEST2 0x0F, 0xFF, 0x00 // W - green good! -#define RGB_TEST3 0x00, 0x00, 0xFF // E - blue good! -#define RGB_TEST4 0xFF, 0xB0, 0x00 // R - yellow slightly green heavy - reduced green LED by quite a bit -#define RGB_TEST5 0x00, 0xFF, 0xFF // T - cyan good! -#define RGB_TEST6 0xFF, 0x00, 0xFF // Y - magenta very slightly blue heavy? -#define RGB_TEST7 0xFF, 0x28, 0x00 // U - orange very green heavy at default -#define RGB_TEST8 0xFF, 0x00, 0x80 // I - pink good! -#define RGB_TEST9 0x80, 0xFF, 0x00 // O - chartreus good! -#define RGB_TEST10 0x00, 0xFF, 0x10 // P - springgrn fixed: was too blue because green LED has blue in it already -#define RGB_TEST11 0x00, 0x80, 0xFF // A - grn blue good! -#define RGB_TEST12 0x80, 0x00, 0xFF // S - purple good! - -// RGB LED locations -enum led_location_map { - LED_ESC, // 0, ESC, k13 - LED_GRV, // 1, `, k16 - LED_TAB, // 2, Tab, k11 - LED_CAPS, // 3, Caps, k21 - LED_LSFT, // 4, Sh_L, k00 - LED_LCTL, // 5, Ct_L, k06 - LED_F1, // 6, F1, k26 - LED_1, // 7, 1, k17 - LED_Q, // 8, Q, k10 - LED_A, // 9, A, k12 - LED_Z, // 10, Z, k14 - LED_LWIN, // 11, Win_L, k90 - LED_F2, // 12, F2, k36 - LED_2, // 13, 2, k27 - LED_W, // 14, W, k20 - LED_S, // 15, S, k22 - LED_X, // 16, X, k24 - LED_LALT, // 17, Alt_L, k93 - LED_F3, // 18, F3, k31 - LED_3, // 19, 3, k37 - LED_E, // 20, E, k30 - LED_D, // 21, D, k32 - LED_C, // 22, C, k34 - LED_F4, // 23, F4, k33 - LED_4, // 24, 4, k47 - LED_R, // 25, R, k40 - LED_F, // 26, F, k42 - LED_V, // 27, V, k44 - LED_F5, // 28, F5, k07 - LED_5, // 29, 5, k46 - LED_T, // 30, T, k41 - LED_G, // 31, G, k43 - LED_B, // 32, B, k45 - LED_SPC, // 33, SPACE, k94 - LED_F6, // 34, F6, k63 - LED_6, // 35, 6, k56 - LED_Y, // 36, Y, k51 - LED_H, // 37, H, k53 - LED_N, // 38, N, k55 - LED_F7, // 39, F7, k71 - LED_7, // 40, 7, k57 - LED_U, // 41, U, k50 - LED_J, // 42, J, k52 - LED_M, // 43, M, k54 - LED_F8, // 44, F8, k76 - LED_8, // 45, 8, k67 - LED_I, // 46, I, k60 - LED_K, // 47, K, k62 - LED_COMM, // 48, ,, k64 - LED_RALT, // 49, Alt_R, k95 - LED_F9, // 50, F9, ka6 - LED_9, // 51, 9, k77 - LED_O, // 52, O, k70 - LED_L, // 53, L, k72 - LED_DOT, // 54, ., k74 - LED_FN, // 55, FN, k92 - LED_F10, // 56, F10, ka7 - LED_0, // 57, 0, k87 - LED_P, // 58, P, k80 - LED_SCLN, // 59, ;, k82 - LED_SLSH, // 60, ?, k85 - LED_F11, // 61, F11, ka3 - LED_MINS, // 62, -, k86 - LED_LBRC, // 63, [, k81 - LED_QUOT, // 64, ", k83 - LED_RCTL, // 65, Ct_R, k04 - LED_F12, // 66, F12, ka5 - LED_BSLS, // 67, \, k23 - LED_L1, // 68, LED, l01 - LED_R1, // 69, LED, l11 - LED_PRT, // 70, Prt, k97 - LED_L2, // 71, LED, l02 - LED_R2, // 72, LED, l12 - LED_DEL, // 73, Del, k65 - LED_L3, // 74, LED, l03 - LED_R3, // 75, LED, l13 - LED_PGUP, // 76, PgUp, k15 - LED_L4, // 77, LED, l04 - LED_R4, // 78, LED, l14 - LED_EQL, // 79, =, k66 - LED_RIGHT, // 80, Right, k05 - LED_L5, // 81, LED, l05 - LED_R5, // 82, LED, l15 - LED_END, // 83, End, k75 - LED_L6, // 84, LED, l06 - LED_R6, // 85, LED, l16 - LED_BSPC, // 86, BSpc, ka1 - LED_PGDN, // 87, PgDn, k25 - LED_L7, // 88, LED, l07 - LED_R7, // 89, LED, l17 - LED_RBRC, // 90, ], k61 - LED_RSFT, // 91, Sh_R, k91 - LED_L8, // 92, LED, l08 - LED_R8, // 93, LED, l18 - LED_UP, // 94, Up, k35 - LED_HASH, // 95, #, k84 - LED_LEFT, // 96, Left, k03 - LED_ENT, // 97, Enter, ka4 - LED_DOWN // 98, Down, k73 -}; - -const uint8_t LED_LIST_WASD[] = { - LED_W, - LED_A, - LED_S, - LED_D -}; - -const uint8_t LED_LIST_ARROWS[] = { - LED_LEFT, - LED_RIGHT, - LED_UP, - LED_DOWN -}; - -const uint8_t LED_LIST_FUNCROW[] = { - LED_ESC, - LED_F1, - LED_F2, - LED_F3, - LED_F4, - LED_F5, - LED_F6, - LED_F7, - LED_F8, - LED_F9, - LED_F10, - LED_F11, - LED_F12, - LED_PRT -}; - -const uint8_t LED_LIST_NUMROW[] = { - LED_GRV, - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL, - LED_BSPC, - LED_DEL -}; - -const uint8_t LED_LIST_LETTERS[] = { - LED_Q, - LED_W, - LED_E, - LED_R, - LED_T, - LED_Y, - LED_U, - LED_I, - LED_O, - LED_P, - LED_A, - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_Z, - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M -}; - -const uint8_t LED_LIST_LETTERS_DE[] = { - LED_Q, - LED_W, - LED_E, - LED_R, - LED_T, - LED_Y, - LED_U, - LED_I, - LED_O, - LED_P, - LED_A, - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_Z, - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M, - LED_SCLN, - LED_LBRC, - LED_QUOT -}; - -const uint8_t LED_LIST_NUMPAD[] = { - LED_1, - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL, - LED_U, - LED_I, - LED_O, - LED_P, - LED_J, - LED_K, - LED_L, - LED_SCLN, - LED_ENT, - LED_M, - LED_COMM, - LED_DOT, - LED_SLSH, - LED_END, - LED_RIGHT -}; - -const uint8_t LED_SIDE_LEFT[] = { - LED_L1, - LED_L2, - LED_L3, - LED_L4, - LED_L5, - LED_L6, - LED_L7, - LED_L8 -}; - -const uint8_t LED_SIDE_RIGHT[] = { - LED_R1, - LED_R2, - LED_R3, - LED_R4, - LED_R5, - LED_R6, - LED_R7, - LED_R8 -}; - -#ifdef GAME_ENABLE -// Game LED rules -const uint8_t GAME_LIVES[] = { - LED_DEL, - LED_PGUP, - LED_PGDN, - LED_END -}; -const uint8_t GAME_PADDLE[] = { - LED_Z, - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M, - LED_COMM, - LED_DOT, - LED_SLSH -}; -const uint8_t GAME_SMILE1[] = { - LED_A, - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_SCLN, - LED_QUOT -}; -const uint8_t GAME_SMILE2[] = { - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL -}; -const uint8_t GAME_R4[] = { - LED_X, - LED_C, - LED_V, - LED_B, - LED_N, - LED_M, - LED_COMM, - LED_DOT -}; -const uint8_t GAME_R3[] = { - LED_S, - LED_D, - LED_F, - LED_G, - LED_H, - LED_J, - LED_K, - LED_L, - LED_SCLN -}; -const uint8_t GAME_R2[] = { - LED_W, - LED_E, - LED_R, - LED_T, - LED_Y, - LED_U, - LED_I, - LED_O, - LED_P, - LED_LBRC -}; -const uint8_t GAME_R1[] = { - LED_2, - LED_3, - LED_4, - LED_5, - LED_6, - LED_7, - LED_8, - LED_9, - LED_0, - LED_MINS, - LED_EQL -}; -const uint8_t GAME_R0[] = { - LED_F1, - LED_F2, - LED_F3, - LED_F4, - LED_F5, - LED_F6, - LED_F7, - LED_F8, - LED_F9, - LED_F10, - LED_F11, - LED_F12 -}; -const uint8_t LED_GAME_OVER[] = { - LED_5, - LED_8, - LED_F, - LED_G, - LED_H, - LED_J, - LED_C, - LED_M -}; -#endif //GAME_ENABLE - -#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk deleted file mode 100644 index 1eb14ebbefcf..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ -LTO_ENABLE = yes # link time optimization -- achieves a smaller compiled size -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -MOUSEKEY_ENABLE = yes - -VIA_ENABLE = yes -TAP_DANCE_ENABLE = no -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality - -TD_LSFT_CAPSLOCK_ENABLE = yes -IDLE_TIMEOUT_ENABLE = yes -STARTUP_NUMLOCK_ON = yes -ENCODER_DEFAULTACTIONS_ENABLE = no - -COLEMAK_LAYER_ENABLE = yes # Enable Colemak layer / set to no to disable -INVERT_NUMLOCK_INDICATOR = yes - -GAME_ENABLE ?= yes # Enable Paddle Game / set to no to disable -ifeq ($(strip $(GAME_ENABLE)), yes) - OPT_DEFS += -DGAME_ENABLE -endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/config.h b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/config.h deleted file mode 100644 index 539f78874a71..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 Jonavin Eng - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define TAPPING_TOGGLE 2 -// TT set to two taps - -/* Handle GRAVESC combo keys */ -#define GRAVE_ESC_ALT_OVERRIDE - //Always send Escape if Alt is pressed -#define GRAVE_ESC_CTRL_OVERRIDE - //Always send Escape if Control is pressed - -#define TAPPING_TERM 180 - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR -# define RGB_DISABLE_WHEN_USB_SUSPENDED -#endif - -// add fifth layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable -#if defined COLEMAK_LAYER_ENABLE -# define DYNAMIC_KEYMAP_LAYER_COUNT 5 -# define _COLEMAK 4 -#endif // COLEMAK_LAYER_ENABLE diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c deleted file mode 100644 index 82359551d16f..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c +++ /dev/null @@ -1,194 +0,0 @@ -/* Copyright 2021 Glorious, LLC - Copyright 2021 Jonavin - Copyright 2022 RustyBrakes (ISO conversion) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "rgb_matrix_map.h" -#include "jonavin.h" - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Ins Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] PgUp -// Caps A S D F G H J K L ; " # Enter PgDn -// Sh_L \ Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - - [_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_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_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_PGUP, - TT(_LOWER), 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_LSFTCAPSWIN, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FN1] = LAYOUT( - _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_CALC, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, KC_HOME, - KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, QK_BOOT, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NUM, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______, - _______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI - ), - - [_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, - _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PDOT, _______, _______, KC_HOME, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_P1, KC_P2, KC_P3, KC_NO, KC_PAST, _______, KC_PENT, KC_END, - _______, _______, KC_NO, KC_DEL, KC_INS, KC_NO, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, _______, RCTL(KC_PGUP), _______, - _______, _______, _______, KC_BSPC, _______, _______, _______, RCTL(KC_LEFT), RCTL(KC_PGDN), RCTL(KC_RIGHT) - ), - -#ifdef COLEMAK_LAYER_ENABLE - [_COLEMAK] = 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_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_DEL, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP, - TT(_LOWER), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, - KC_LSFTCAPSWIN, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), -#endif // COLEMAK_LAYER_ENABLE -}; - -#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults - void encoder_action_rgbhue(bool clockwise) { - if (clockwise) - rgblight_increase_hue_noeeprom(); - else - rgblight_decrease_hue_noeeprom(); - } - - bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t mods_state = get_mods(); - if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers - encoder_action_layerchange(clockwise); - } else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn - unregister_mods(MOD_BIT(KC_RSFT)); - encoder_action_navpage(clockwise); - register_mods(MOD_BIT(KC_RSFT)); - } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word - encoder_action_navword(clockwise); - } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour - encoder_action_rgbhue(clockwise); - } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track - encoder_action_mediatrack(clockwise); - } else { - switch(get_highest_layer(layer_state)) { - case _FN1: - #ifdef IDLE_TIMEOUT_ENABLE - timeout_update_threshold(clockwise); - #endif - break; - default: - encoder_action_volume(clockwise); // Otherwise it just changes volume - break; - } - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; - } -#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE - -#ifdef RGB_MATRIX_ENABLE - // Capslock, Scroll lock and Numlock indicator on Left side lights. - bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - led_t led_state = host_keyboard_led_state(); - if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); - if (led_state.scroll_lock) { - rgb_matrix_set_color(LED_L1, RGB_GREEN); - rgb_matrix_set_color(LED_L2, RGB_GREEN); - } - - #ifdef INVERT_NUMLOCK_INDICATOR - if (!led_state.num_lock) { // on if NUM lock is OFF - rgb_matrix_set_color(LED_L3, RGB_MAGENTA); - rgb_matrix_set_color(LED_L4, RGB_MAGENTA); - } - #else - if (led_state.num_lock) { // Normal, on if NUM lock is ON - rgb_matrix_set_color(LED_L3, RGB_MAGENTA); - rgb_matrix_set_color(LED_L4, RGB_MAGENTA); - } - #endif // INVERT_NUMLOCK_INDICATOR - - if (led_state.caps_lock) { - rgb_matrix_set_color(LED_L5, RGB_RED); - rgb_matrix_set_color(LED_L6, RGB_RED); - rgb_matrix_set_color(LED_L7, RGB_RED); - } - if (keymap_config.no_gui) { - rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled - } - switch(get_highest_layer(layer_state)){ // special handling per layer - case _FN1: // on Fn layer select what the encoder does when pressed - rgb_matrix_set_color(LED_R2, RGB_RED); - rgb_matrix_set_color(LED_R3, RGB_RED); - rgb_matrix_set_color(LED_R4, RGB_RED); - rgb_matrix_set_color(LED_FN, RGB_RED); //FN key - - // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code - uint16_t timeout_threshold = get_timeout_threshold(); - if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_RED); - else if (timeout_threshold < 140) { - rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_RED); - } else { // >= 140 minutes, just show these 3 lights - rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_RED); - rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_RED); - } - break; - case _LOWER: - for (uint8_t i=0; i or encoder - - setting to zero disables timeout - - indicators in FN layer using RGB in FN and number rows to show the timeout in minutes - - LED address location map as enum definition in rgb_matrix_map.h - - LED group lists for arrows, numpad, F row, num row, left and right side LEDs - - default startup in single mode with default colour - - Capslock, Scroll Lock, and Num Lock (not set) indicator on left side LED - - Layer indicator on right side LED - - Fn key light up red when Fn layer activate - - Win Key light up red when Win Lock mode enabled - - Layer 2 activation lights up Numpad area - - Fn + Z to turn off all RGB lights except rgb indicators; press again to toggle - -rules.mk OPTIONS - Active features from userspace -STARTUP_NUMLOCK_ON = yes - - turns on NUMLOCK by default - -ENCODER_DEFAULTACTIONS_ENABLE = yes - - Enabled default encoder funtions - -TD_LSFT_CAPSLOCK_ENABLE = yes - - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS - -IDLE_TIMEOUT_ENABLE = yes - - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically - -INVERT_NUMLOCK_INDICATOR - - inverts the Num lock indicator, LED is on when num lokc is off - -COLEMAK_LAYER_ENABLE = yes - - Enabled optional 5th layer for COLEMAK layout - - Use Shift and encoder to enter 5th layer, right led indicator lights up BLUE diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rgb_matrix_map.h b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rgb_matrix_map.h deleted file mode 100644 index 1aa31f2a0fd7..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rgb_matrix_map.h +++ /dev/null @@ -1,146 +0,0 @@ -/* Copyright 2021 Jonavin Eng - * Copyright 2022 RustyBrakes (ISO conversion) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifdef RGB_MATRIX_ENABLE - - // Custom RGB Colours - #define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps - #define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Naurilus Font colours - - // RGB LED locations - enum led_location_map { - LED_ESC, // 0, ESC, k13 - LED_GRV, // 1, `, k16 - LEB_TAB, // 2, Tab, k11 - LED_CAPS, // 3, Caps, k21 - LED_LSFT, // 4, Sh_L, k00 - LED_LCTL, // 5, Ct_L, k06 - LED_F1, // 6, F1, k26 - LED_1, // 7, 1, k17 - LED_Q, // 8, Q, k10 - LED_A, // 9, A, k12 - LED_Z, // 10, Z, k14 - LED_LWIN, // 11, Win_L, k90 - LED_F2, // 12, F2, k36 - LED_2, // 13, 2, k27 - LED_W, // 14, W, k20 - LED_S, // 15, S, k22 - LED_X, // 16, X, k24 - LED_LALT, // 17, Alt_L, k93 - LED_F3, // 18, F3, k31 - LED_3, // 19, 3, k37 - LED_E, // 20, E, k30 - LED_D, // 21, D, k32 - LED_C, // 22, C, k34 - LED_F4, // 23, F4, k33 - LED_4, // 24, 4, k47 - LED_R, // 25, R, k40 - LED_F, // 26, F, k42 - LED_V, // 27, V, k44 - LED_F5, // 28, F5, k07 - LED_5, // 29, 5, k46 - LED_T, // 30, T, k41 - LED_G, // 31, G, k43 - LED_B, // 32, B, k45 - LED_SPC, // 33, SPACE, k94 - LED_F6, // 34, F6, k63 - LED_6, // 35, 6, k56 - LED_Y, // 36, Y, k51 - LED_H, // 37, H, k53 - LED_N, // 38, N, k55 - LED_F7, // 39, F7, k71 - LED_7, // 40, 7, k57 - LED_U, // 41, U, k50 - LED_J, // 42, J, k52 - LED_M, // 43, M, k54 - LED_F8, // 44, F8, k76 - LED_8, // 45, 8, k67 - LED_I, // 46, I, k60 - LED_K, // 47, K, k62 - LED_COMM, // 48, ,, k64 - LED_RALT, // 49, Alt_R, k95 - LED_F9, // 50, F9, ka6 - LED_9, // 51, 9, k77 - LED_O, // 52, O, k70 - LED_L, // 53, L, k72 - LED_DOT, // 54, ., k74 - LED_FN, // 55, FN, k92 - LED_F10, // 56, F10, ka7 - LED_0, // 57, 0, k87 - LED_P, // 58, P, k80 - LED_SCLN, // 59, ;, k82 - LED_SLSH, // 60, /, k85 - LED_F11, // 61, F11, ka3 - LED_MINS, // 62, -, k86 - LED_LBRC, // 63, [, k81 - LED_QUOT, // 64, ", k83 - LED_RCTL, // 65, Ct_R, k04 - LED_F12, // 66, F12, ka5 - LED_BSLS, // 67, \, k23 - LED_L1, // 68, LED, l01 - LED_R1, // 69, LED, l11 - LED_PRT, // 70, Prt, k97 - LED_L2, // 71, LED, l02 - LED_R2, // 72, LED, l12 - LED_DEL, // 73, Del, k65 - LED_L3, // 74, LED, l03 - LED_R3, // 75, LED, l13 - LED_PGUP, // 76, PgUp, k15 - LED_L4, // 77, LED, l04 - LED_R4, // 78, LED, l14 - LED_EQL, // 79, =, k66 - LED_RIGHT, // 80, Right, k05 - LED_L5, // 81, LED, l05 - LED_R5, // 82, LED, l15 - LED_END, // 83, End, k75 - LED_L6, // 84, LED, l06 - LED_R6, // 85, LED, l16 - LED_BSPC, // 86, BSpc, ka1 - LED_PGDN, // 87, PgDn, k25 - LED_L7, // 88, LED, l07 - LED_R7, // 89, LED, l17 - LED_RBRC, // 90, ], k61 - LED_RSFT, // 91, Sh_R, k91 - LED_L8, // 92, LED, l08 - LED_R8, // 93, LED, l18 - LED_UP, // 94, Up, k35 - LED_HASH, // 95, #, k84 - LED_LEFT, // 96, Left, k03 - LED_ENT, // 97, Enter, ka4 - LED_DOWN // 98, Down, k73 - }; - - const uint8_t LED_LIST_WASD[] = { LED_W, LED_A, LED_S, LED_D }; - - const uint8_t LED_LIST_ARROWS[] = { LED_LEFT, LED_RIGHT, LED_UP, LED_DOWN }; - - const uint8_t LED_LIST_FUNCROW[] = { LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_PRT}; - - const uint8_t LED_LIST_NUMROW[] = { LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_DEL}; - - const uint8_t LED_LIST_NUMPAD[] = { - LED_7, LED_8, LED_9, - LED_U, LED_I, LED_O, - LED_J, LED_K, LED_L, - LED_M, LED_COMM, LED_DOT - }; - - const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8}; - - const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8}; - -#endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rules.mk deleted file mode 100644 index 1ffc2058a262..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -VIA_ENABLE = yes -MOUSEKEY_ENABLE = no -TAP_DANCE_ENABLE = yes -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite - -TD_LSFT_CAPSLOCK_ENABLE = yes -IDLE_TIMEOUT_ENABLE = yes -STARTUP_NUMLOCK_ON = yes -ENCODER_DEFAULTACTIONS_ENABLE = no - -COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable -INVERT_NUMLOCK_INDICATOR = yes diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h deleted file mode 100644 index 91fce71359fa..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2021 Victor Toni (@vitoni) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#if defined(RGB_MATRIX_ENABLE) - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - // number of milliseconds to wait until turning off RGB automatically - #define RGB_MATRIX_TIMEOUT 300000 // 300 seconds / 5 min - // start fading out before getting disabled - // fading out is timed (depending on the rgb_matrix_config.speed) to have finished before reaching RGB_MATRIX_TIMEOUT - #define RGB_DISABLE_WITH_FADE_OUT - #define RGB_DISABLE_WHEN_USB_SUSPENDED - // number of milliseconds to wait until activating RGB idle effects - #define RGB_IDLE_TIMEOUT 4500 // 4.5 seconds - // activate breathe effect when idle - #define RGB_IDLE_BREATHE - // fade in when we have been suspended - #define RGB_FADE_IN -#endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c deleted file mode 100644 index 2c8a67ef9b75..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright 2021 Glorious, LLC , -// Copyright 2021 Victor Toni (@vitoni) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#include "vitoni.h" - -enum layer_names { - _BASE, - _MOV, - _RGB -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] PgUp -// Caps A S D F G H J K L ; " # Enter PgDn -// Sh_L / Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - - - // - // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). - // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. - // Press CAPS+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. - [_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_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_PGUP, - MO(_MOV), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TG(_RGB),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_MOV] = LAYOUT( - QK_BOOT, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - [_RGB] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI - ), - -}; -// clang-format on - -#if defined(ENCODER_ENABLE) -bool encoder_update_user(uint8_t index, bool clockwise) { - switch (get_highest_layer(layer_state)) { - case _MOV: - if (clockwise) { - tap_code16(C(KC_TAB)); - } else { - tap_code16(S(C(KC_TAB))); - } - break; -#if defined(RGB_MATRIX_ENABLE) - case _RGB: - if (clockwise) { - rgb_matrix_increase_val_noeeprom(); - } else { - rgb_matrix_decrease_val_noeeprom(); - } - break; -#endif // RGB_MATRIX_ENABLE - default: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - } - //return true; //set to return false to counteract enabled encoder in pro.c - return false; -} -#endif // ENCODER_ENABLE - -#if defined(RGB_MATRIX_ENABLE) -/* -* Set up default RGB color. -*/ -void rgb_matrix_set_default_color(void) { - rgb_matrix_sethsv_noeeprom_user(HSV_CHARTREUSE); -} - -/* -* Set up RGB defaults. -*/ -void rgb_matrix_configure_default_settings(void) { - rgb_matrix_set_default_color(); -} - -void keyboard_post_init_user(void) { - rgb_matrix_enable_noeeprom(); - rgb_matrix_configure_default_settings(); -} - -/* -* Use RGB underglow to indicate specific layers. -*/ -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _MOV: - rgb_matrix_sethsv_noeeprom_user(HSV_SPRINGGREEN); - break; - case _RGB: - rgb_matrix_sethsv_noeeprom_user(HSV_GREEN); - break; - default: // for any other layer - rgb_matrix_set_default_color(); - break; - } - return state; -} - -void matrix_scan_user(void) { - matrix_scan_user_rgb(); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user_rgb(keycode, record)) { - return false; - } - - switch (keycode) { - case QK_BOOT: // when activating QK_BOOT mode for flashing - if (record->event.pressed) { - rgb_matrix_set_color_all(63, 0, 0); - rgb_matrix_driver.flush(); - } - return true; - } - return true; // Process all other keycodes normally -} -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc deleted file mode 100644 index c34887ebd240..000000000000 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc +++ /dev/null @@ -1,104 +0,0 @@ -= ViToni's keymap for GMMK Pro ISO - -== Layout -Based on the stock layout but making use of CAPS as FN similar to laptop keyboards. -This frees up the left row for other uses (although not remapped yet). -Since both Delete and Insert are used for coding they are part of the CAPS layer as well. - -The differences are as follows: - -=== Layer 0 (`_BASE`) -Mostly stock + CAPS goes to layer `_MOV`. -FN toggles the layer `_RGB`. - -=== Layer 1 (`_MOV`), accessed by pressing `CAPS` on layer `_BASE` -[%header] -|=== -| Key / Action | Mapped to -| ESC | _RESET_ -| F1 | KC_MYCM -| F2 | KC_WHOM -| F3 | KC_CALC -| F4 | KC_MSEL -| F5 | KC_MPRV -| F6 | KC_MPLY -| F7 | KC_MSTP -| F8 | KC_MNXT -| F9 | KC_MUTE -| F10 | KC_VOLD -| F11 | KC_VOLU -| N | NK_TOGG -| Delete | Insert -| Left | Home -| Right | End -| Up | PgUp -| Down | PgDn -|=== - -=== Layer 2 (`_RGB`), accessed by pressing `FN` on layer `_BASE` -Revamped the stock FN layer to focus on RGB only. - -[%header] -|=== -| Key / Action | Mapped to -| Knob clockwise | Value/Brightness up -| Knob anti-clockwise | Value/Brightness down -| Backspace | _RESET_ -| Enter | RGB_TOG -| Del | RGB_MOD -| PgUp | RGB_RMOD -| PgDn | RGB_SPI -| End | RGB_SPD -| Left | RGB_HUD -| Right | RGB_HUI -| Up | RGB_SAI -| Down | RGB_SAD -|=== - -No other changes have been made. - -== RGB light - -The code customizing RGB light usage is decribed here: - -* link:../../../../../../users/vitoni/readme.adoc[/users/vitoni/readme.adoc] - -When using `RGB_MATRIX_TIMEOUT` addtional options are available: - -* `RGB_FADE_IN` makes the RGB lights fade in instead of setting the value/brightness to 100% (implicitly due to HSV including the brightness) when resuming after RGB lights have been turned off. -Fade in occurs when the keyboard is initialized and when the RGB brightness has been changed (e.g. suspending, fade out, etc.). -* `RGB_DISABLE_WITH_FADE_OUT` activates fade out before the keyboard is disabled by `RGB_MATRIX_TIMEOUT`. - -Parameters used to define the behavior are: -[%header] -|=== -|Key | Default | Description - -| RGB_MATRIX_MAXIMUM_BRIGHTNESS -| 200 (<= UNIT8_MAX) -| Maximum assumed value for brightness. -Used to calculate lead time for fade out before suspend timeout. - -|=== - -`RGB_IDLE_TIMEOUT` enables fading out after being idle for the defined time and allows -* `RGB_IDLE_BREATHE` also activates a brethe effect while idling. - -[%header] -|=== -|Key | Default | Description - -|RGB_IDLE_TIMEOUT -|4500 -|Time in milliseconds without activity before considered to be idle. - -|RGB_IDLE_MINIMUM_BRIGHTNESS -|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` / 5 -|Brightness value RGB is dimmed to when starting to idle. + -When breathing used as the lower bound of the brightness value. - -|RGB_IDLE_MAXIMUM_BRIGHTNESS -|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` * 2/5 -|Upper bound of brightness value of the RGB light while breathing. - -|=== diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c index ccdcd427268b..322e94c938cb 100644 --- a/keyboards/gmmk/pro/rev2/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev2/ansi/ansi.c @@ -136,7 +136,7 @@ led_config_t g_led_config = {{ 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json index ff693e35739b..cd1fd31bf005 100644 --- a/keyboards/gmmk/pro/rev2/ansi/info.json +++ b/keyboards/gmmk/pro/rev2/ansi/info.json @@ -9,18 +9,28 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "encoder": { "rotary": [ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gmmk/pro/rev2/ansi/rules.mk b/keyboards/gmmk/pro/rev2/ansi/rules.mk index 2f50d82c82f4..6d23fe350a4f 100644 --- a/keyboards/gmmk/pro/rev2/ansi/rules.mk +++ b/keyboards/gmmk/pro/rev2/ansi/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/gmmk/pro/rev2/config.h b/keyboards/gmmk/pro/rev2/config.h index fa409ba02661..c393e04e45e3 100644 --- a/keyboards/gmmk/pro/rev2/config.h +++ b/keyboards/gmmk/pro/rev2/config.h @@ -19,7 +19,6 @@ /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12 -#define WEAR_LEVELING_BACKING_SIZE 2048 /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDQ diff --git a/keyboards/gmmk/pro/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json index 972551ec4138..623335661646 100644 --- a/keyboards/gmmk/pro/rev2/iso/info.json +++ b/keyboards/gmmk/pro/rev2/iso/info.json @@ -9,18 +9,28 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "AW20216" + "driver": "aw20216s" }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "encoder": { "rotary": [ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c index e056ff6c12b1..3a5b21c01495 100644 --- a/keyboards/gmmk/pro/rev2/iso/iso.c +++ b/keyboards/gmmk/pro/rev2/iso/iso.c @@ -137,7 +137,7 @@ led_config_t g_led_config = {{ 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev2/iso/rules.mk b/keyboards/gmmk/pro/rev2/iso/rules.mk index db00e4c84c73..46eda64be726 100644 --- a/keyboards/gmmk/pro/rev2/iso/rules.mk +++ b/keyboards/gmmk/pro/rev2/iso/rules.mk @@ -15,5 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c index d551f4cb504a..065cf3eddc09 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/gopolar/gg86/config.h b/keyboards/gopolar/gg86/config.h index e925b2b38446..633ca727de38 100644 --- a/keyboards/gopolar/gg86/config.h +++ b/keyboards/gopolar/gg86/config.h @@ -23,7 +23,6 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 100 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES /* RGB Matrix effect */ diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json index dbdf673f3eb1..470709ca7525 100644 --- a/keyboards/gopolar/gg86/info.json +++ b/keyboards/gopolar/gg86/info.json @@ -13,7 +13,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "E6", "D2", "D3"], diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/config.h b/keyboards/gopolar/gg86/keymaps/bongocat/config.h deleted file mode 100644 index 72550165316b..000000000000 --- a/keyboards/gopolar/gg86/keymaps/bongocat/config.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* Additional thing to reduce compiled size */ -#define DYNAMIC_KEYMAP_LAYER_COUNT 2 -#define NO_ACTION_ONESHOT - -#ifdef RGB_MATRIX_ENABLE - /* RGB Matrix config */ - #undef RGB_MATRIX_KEYPRESSES - - /* RGB Matrix effect */ - #undef ENABLE_RGB_MATRIX_ALPHAS_MODS - #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN - #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT - #undef ENABLE_RGB_MATRIX_BREATHING - #undef ENABLE_RGB_MATRIX_BAND_SAT - #undef ENABLE_RGB_MATRIX_BAND_VAL - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT - #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL - #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT - #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN - #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON - #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL - #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON - #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS - #undef ENABLE_RGB_MATRIX_RAINDROPS - #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS - #undef ENABLE_RGB_MATRIX_HUE_PENDULUM - #undef ENABLE_RGB_MATRIX_HUE_WAVE - #undef ENABLE_RGB_MATRIX_PIXEL_RAIN -#endif diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c b/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c deleted file mode 100644 index e0c17f868a71..000000000000 --- a/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Copyright 2023 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -// OLED animation -#include "oled/bongocat.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, - _FN, -}; - -// enum layer_keycodes { }; - -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 │ - │ = │ Bckspc│ │Hom│Scr│Pse│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │ │ │ │ │ │ │ │ │ │ │ │ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_BASE] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUSE, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - │Slp│ │M_T│F13│F14│F15│ │F16│Rfh│Stp│ │ │ │ │ │Est│ │ │VoD│VoU│ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hui│Sai│Spi│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Hud│Sad│Spd│ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ │ │ │ │ │ │ │ │ │ │ │ │ RGB_Tog│ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │ │ │ │ │Cal│ │ │ │ │ │ │ │ │ │ │Vai│ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │ │ │ │ │ │ │ │ │Rod│Vad│Mod│ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_FN] = LAYOUT_all( - KC_SLEP, RGB_M_T, KC_F13, KC_F14, KC_F15, KC_F16, KC_WREF, KC_WSTP, _______, _______, _______, _______, EE_CLR, _______, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_SPI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, - _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD - ), -}; - -#ifdef OLED_ENABLE - bool oled_task_user(void) { - led_t led_usb_state = host_keyboard_led_state(); - - render_bongocat(); - oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top) - oled_write_P(PSTR("WPM:"), false); - oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string - oled_set_cursor(17, 2); - oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_set_cursor(17, 3); - oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false); - - return true; - } -#endif diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/readme.md b/keyboards/gopolar/gg86/keymaps/bongocat/readme.md deleted file mode 100644 index 9e02220c4ce7..000000000000 --- a/keyboards/gopolar/gg86/keymaps/bongocat/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Keymap with VIA and Bongo Cat on OLED diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk b/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk deleted file mode 100644 index 05f6cfd50100..000000000000 --- a/keyboards/gopolar/gg86/keymaps/bongocat/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -SRC += oled/bongocat.c - -VIA_ENABLE = yes -WPM_ENABLE = yes diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c deleted file mode 100644 index fc725ad3f0a2..000000000000 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap.c +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright 2023 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "horrortroll.h" -#include "oled/oled_stuff.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 │ - │ = │ Bckspc│ │Hom│Scr│Pse│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ │End│Scr│Pse│ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter│ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │RSt│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │LCrl │GUI│ LAlt│ Space │ RAlt│ Fn│ RCrl│ │ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │RSt│ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │ │ │ │ │ │ │ │ │ │ │ │ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_BASE] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUSE, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT - ), - -/* - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┐ - │Rst│ │MeP│VoD│VoU│Mut│ │Stp│Prv│Ply│Nxt│ │Mai│Hom│Cal│Sch│ │Rod│Mod│Tog│ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┐ - │NKO│ │ │ │ │ │ │ │ │ │ │Spd│Spi│ │ │C_E│ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───â”Ī - │ │1Hd│1Hi│1Sd│1Si│1Vd│1Vi│ │ │ │ │ │ │ │ │ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ - │ │2Hd│2Hi│2Sd│2Si│2Vd│2Vi│ │ │ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │ │ │Pre│Ref│Flp│ │ │ │ │ │ │ │ │ │ │Vai│ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───â”ī┮───┮─â”ī───â”Ī ┌───┾───┾───┐ - │ │ │ │ │ │ Fn│ │ │Hud│Vad│Hui│ - └─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ └───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_FN] = LAYOUT_all( - QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, - _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, - _______, _______, G_PRE, REF_G, G_FLIP, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI - ), -}; diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h b/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h deleted file mode 100644 index d67e5a18c533..000000000000 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/oled/oled_stuff.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2021 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// OLED animation -#include "lib/wave.h" - -#ifdef OLED_ENABLE - static void render_layer_info(void) { - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR(" QWERTY "), false); - break; - case 1: - oled_write_P(PSTR(" Function "), false); - break; - default: - oled_write_P(PSTR(" Undefined "), false); - } - } - - static void render_layer_number(void) { - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("0"), false); - break; - case 1: - oled_write_P(PSTR("1"), false); - break; - default: - oled_write_P(PSTR("X"), false); - } - } - - bool oled_task_user(void) { - render_layer_info(); - - // sleep if it has been long enough since we last got a char - if (timer_elapsed32(wave_sleep) > OLED_TIMEOUT) { - oled_off(); - } else { - oled_on(); - } - // time for the next frame? - if (timer_elapsed(wave_timer) > FRAME_TIMEOUT) { - wave_timer = timer_read(); - render_frame(); - } - - oled_set_cursor(0, 3); - oled_write_P(PSTR(" Layer: "), false); - render_layer_number(); - - return true; - } -#endif diff --git a/keyboards/gopolar/gg86/rules.mk b/keyboards/gopolar/gg86/rules.mk index 9eef6b6cc41a..acdf49b47da0 100644 --- a/keyboards/gopolar/gg86/rules.mk +++ b/keyboards/gopolar/gg86/rules.mk @@ -22,4 +22,3 @@ RGB_MATRIX_ENABLE = yes # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # OLED display diff --git a/keyboards/gray_studio/aero75/config.h b/keyboards/gray_studio/aero75/config.h index a55a587467e2..d00df8f11f6e 100644 --- a/keyboards/gray_studio/aero75/config.h +++ b/keyboards/gray_studio/aero75/config.h @@ -5,22 +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 -#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 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/gray_studio/aero75/info.json b/keyboards/gray_studio/aero75/info.json index e8a08e79e4e0..476ee33d6170 100644 --- a/keyboards/gray_studio/aero75/info.json +++ b/keyboards/gray_studio/aero75/info.json @@ -12,7 +12,23 @@ "pin": "B10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "max_brightness": 200, + "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 + } }, "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 ecfd4b5b959f..4a5444486747 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 362574dea832..d8a6abbc38ca 100644 --- a/keyboards/gray_studio/apollo80/config.h +++ b/keyboards/gray_studio/apollo80/config.h @@ -16,21 +16,4 @@ 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 - #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/gray_studio/apollo80/info.json b/keyboards/gray_studio/apollo80/info.json index 1dfa43bfe1ed..bbaa577c9231 100644 --- a/keyboards/gray_studio/apollo80/info.json +++ b/keyboards/gray_studio/apollo80/info.json @@ -12,7 +12,23 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "max_brightness": 180, + "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 + } }, "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 7a2d573aaf71..578f469599aa 100644 --- a/keyboards/gray_studio/cod67/config.h +++ b/keyboards/gray_studio/cod67/config.h @@ -17,22 +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 -#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 - /* 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/gray_studio/cod67/info.json b/keyboards/gray_studio/cod67/info.json index fe6f1b186709..653885f963e2 100644 --- a/keyboards/gray_studio/cod67/info.json +++ b/keyboards/gray_studio/cod67/info.json @@ -8,6 +8,24 @@ "pid": "0x1000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "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 + } + }, "ws2812": { "pin": "B2" }, @@ -17,6 +35,7 @@ }, "diode_direction": "COL2ROW", "backlight": { + "driver": "timer", "pin": "D4", "on_state": 0 }, diff --git a/keyboards/gray_studio/cod67/keymaps/rys/keymap.c b/keyboards/gray_studio/cod67/keymaps/rys/keymap.c deleted file mode 100644 index 06532a846074..000000000000 --- a/keyboards/gray_studio/cod67/keymaps/rys/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -#include QMK_KEYBOARD_H - -enum layers { - _TOP, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_TOP] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LALT, KC_LGUI, _______, _______, KC_SPC, _______, _______, _______, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT - ), - [_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_MOD,RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, - _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/gray_studio/cod67/keymaps/rys/readme.md b/keyboards/gray_studio/cod67/keymaps/rys/readme.md deleted file mode 100644 index 8214809bba32..000000000000 --- a/keyboards/gray_studio/cod67/keymaps/rys/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Rys's keymap for a COD67 - -The COD67 supports really nice RGB underglow which you can see through the mid diffuser. I've put control for that on layer 1, along with reset on `Space`, backlight toggle on `Enter`, and the function row. The board supports all of the QMK RGB effects. - -Look at the excellent [RGB Lighting](https://docs.qmk.fm/#/feature_rgblight) docs on the QMK site for more controls. diff --git a/keyboards/gray_studio/hb85/config.h b/keyboards/gray_studio/hb85/config.h deleted file mode 100644 index 41df8a357d2b..000000000000 --- a/keyboards/gray_studio/hb85/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2017 Luiz Ribeiro - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 5 -#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/gray_studio/hb85/info.json b/keyboards/gray_studio/hb85/info.json index 138b1bfe5c91..c0bd4749c14f 100644 --- a/keyboards/gray_studio/hb85/info.json +++ b/keyboards/gray_studio/hb85/info.json @@ -16,6 +16,21 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 5, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h index b1c76459fcfb..b5b661bef2ab 100644 --- a/keyboards/gray_studio/space65/config.h +++ b/keyboards/gray_studio/space65/config.h @@ -17,22 +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 -#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 - /* 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/gray_studio/space65/info.json b/keyboards/gray_studio/space65/info.json index 8bcd90705aca..db7c2f3b68b5 100644 --- a/keyboards/gray_studio/space65/info.json +++ b/keyboards/gray_studio/space65/info.json @@ -18,6 +18,24 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gray_studio/space65/keymaps/billiams/config.h b/keyboards/gray_studio/space65/keymaps/billiams/config.h deleted file mode 100644 index c2fdc91084f9..000000000000 --- a/keyboards/gray_studio/space65/keymaps/billiams/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2019 MechMerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed diff --git a/keyboards/gray_studio/space65/keymaps/billiams/keymap.c b/keyboards/gray_studio/space65/keymaps/billiams/keymap.c deleted file mode 100644 index 3c22e2aaed58..000000000000 --- a/keyboards/gray_studio/space65/keymaps/billiams/keymap.c +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright 2019 MechMerlin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,------------------------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | DEL | INS | - * |------------------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | PGUP | - * |------------------------------------------------------------------------------------------------+ - * | Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | PGDN | - * |------------------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | Up | ESC | - * |------------------------------------------------------------------------------------------------+ - * | Ctrl | Alt | Cmd | Space | Alt | Ctrl | Left | Down | Right | - * `------------------------------------------------------------------------------------------------' - */ - -[0] = LAYOUT( - KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_INS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_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_ESC, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* 1st Layer - * ,------------------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | Next | - * |------------------------------------------------------------------------------------------------+ - * | |RGB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| | | | | | Prev | - * |------------------------------------------------------------------------------------------------+ - * | | RGBP | RGPG | RGPK | | | Left| Down| Up |Right| | | Play/Pause | | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | | | | | Scr- | Scr+ | | | PGUP | | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | Fn2 | HOME | PGDN | END | - * `------------------------------------------------------------------------------------------------' - */ - -[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_VOLD, KC_VOLU, KC_MFFD, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, - KC_TRNS, RGB_M_P, RGB_M_G, RGB_M_K, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, 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_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_HOME, KC_PGDN, KC_END - ), - - /* 2nd Layer - * ,------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | | | | | | | | | | QK_BOOT | - * |------------------------------------------------------------------------------------------------+ - * | | | | | | | | | | - * `------------------------------------------------------------------------------------------------' - */ - -[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, QK_BOOT, - 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/gray_studio/space65/keymaps/billiams/readme.md b/keyboards/gray_studio/space65/keymaps/billiams/readme.md deleted file mode 100644 index bf14fbfe949b..000000000000 --- a/keyboards/gray_studio/space65/keymaps/billiams/readme.md +++ /dev/null @@ -1,80 +0,0 @@ -## Billiam's Space65 layout (with split backspace) - -This layout is optimized for vim users on MacOS with a split backspace. - -Settings: - -* The `CAPS LOCK` key is a function key. -* The `ALT` and `CMD` keys are swapped to replicate the Mac layout. -* RESET is available as `Fn`+ `Right Ctrl` + `ESC` -* Underglow toggle is available as `Fn` + `Q`. -* vim-style arrow key bindings H J K L in layer 1 - -### Initial Installation - -I found the instructions to be longer than they had to be, and I ended up having to Google some steps anyway. These are the steps I took to get my keyboard setup, in case you are new to the process. - -1. Fork and Clone the qmk_firmware repo locally -``` -# Choose one: -git clone git@github.com:qmk/qmk_firmware.git # OR -git clone https://github.com/qmk/qmk_firmware.git -``` -2. Customize your layout by starting with a [keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gray_studio/space65/keymaps). I copied the default and changed it to my liking. -3. Before plugging in your keyboard into your computer, hold `ESC` key down -4. Plug the keyboard into your computer, which will put the keyboard in bootloader mode. -5. Build your hex file and flash your keyboard -``` -make gray_studio/space65:billiams:flash # be in the qmk_firmware directory to do this -``` - -Notes: -- If you are using QMK Toolbox, use `make gray_studio/space65:` in the base qmk_firmware directory instead of step 5 above which will create a hex file `gray_studio_space65_billiams.hex` which you can then choose in the toolbox and hit flash -- If you accidentally loaded the default keymap, then to `RESET` the keyboard and kick it into bootloader mode again, hold the `ESC` key and plug the board in. - -Hope this helps! - -### 0 Qwerty -``` -,------------------------------------------------------------------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del | INS | -|------------------------------------------------------------------------------------------------+ -| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | PGUP | -|------------------------------------------------------------------------------------------------+ -| Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | PGDN | -|------------------------------------------------------------------------------------------------+ -| Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | up | ESC | -|------------------------------------------------------------------------------------------------+ -| Ctrl | Alt | Cmd | Space | Alt | Ctrl | Left | Down | Right | -`------------------------------------------------------------------------------------------------' -``` - -### 1 Fn Layer -``` -,------------------------------------------------------------------------------------------------. -| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | Next | -|------------------------------------------------------------------------------------------------+ -| |RGB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| Spd- | Spd+ | | | | Prev | -|------------------------------------------------------------------------------------------------+ -| | RGBP | RGBG | RGBK | | | Left| Down| Up |Right| | | Play/Pause | | -|------------------------------------------------------------------------------------------------+ -| | | | | | | | | | Scr- | Scr+ | | |PGUP | | -|------------------------------------------------------------------------------------------------+ -| | | | | | Fn2 | HOME | PGDN | END | -`------------------------------------------------------------------------------------------------' -``` - -### 2 Fn Layer - Just for bootloader mode button -``` -,------------------------------------------------------------------------------------------------. -| | | | | | | | | | | | | | | | | -|------------------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | | -|------------------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | -|------------------------------------------------------------------------------------------------+ -| | | | | | | | | | | | | | | RESET | -|------------------------------------------------------------------------------------------------+ -| | | | | | | | | | -`------------------------------------------------------------------------------------------------' -``` diff --git a/keyboards/gray_studio/space65/keymaps/conor/config.h b/keyboards/gray_studio/space65/keymaps/conor/config.h deleted file mode 100644 index e32150b1a4f3..000000000000 --- a/keyboards/gray_studio/space65/keymaps/conor/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 Conor Burns - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RGBLIGHT_LAYERS -#define GRAVE_ESC_GUI_OVERRIDE -#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2 -#define RGBLIGHT_DEFAULT_HUE 152 -#define RGBLIGHT_DEFAULT_SAT 232 -#define RGBLIGHT_DEFAULT_VAR 255 -#define RGBLIGHT_DEFAULT_SPD 2 \ No newline at end of file diff --git a/keyboards/gray_studio/space65/keymaps/conor/keymap.c b/keyboards/gray_studio/space65/keymaps/conor/keymap.c deleted file mode 100644 index 975c0c6072b0..000000000000 --- a/keyboards/gray_studio/space65/keymaps/conor/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright 2021 Conor Burns - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum layer_names { - _HOME, - _FN2, - _FN3, - _FN4 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_HOME] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_FN2] = 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, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, RALT(KC_U), _______, RALT(KC_O), _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, RALT(KC_A), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, MO(2), _______, _______, _______, _______, _______, _______, _______ - ), - [_FN3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______ - ), - [_FN4] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -// RGB LED Indicators -const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 3, HSV_PURPLE} // Light 3 LEDs, starting with LED 0 -); -const rgblight_segment_t PROGMEM my_2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {3, 1, HSV_PURPLE} // Light 1 LED, starting with LED 3 -); -const rgblight_segment_t PROGMEM my_3_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {4, 1, HSV_PURPLE} // Light 1 LED, starting with LED 4 -); -const rgblight_segment_t PROGMEM my_4_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {5, 1, HSV_PURPLE} // Light 1 LED, starting with LED 5 -); - -// Now define the array of layers. Later layers take precedence -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, // 0 - my_2_layer, // 1 - my_3_layer, // 2 - my_4_layer // 3 -); - -void keyboard_post_init_user(void) { - // Enable the LED layers - rgblight_layers = my_rgb_layers; -} - -bool led_update_user(led_t led_state) { - rgblight_set_layer_state(0, led_state.caps_lock); - return true; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(1, layer_state_cmp(state, _FN2)); - rgblight_set_layer_state(2, layer_state_cmp(state, _FN3)); - rgblight_set_layer_state(3, layer_state_cmp(state, _FN4)); - return state; -} \ No newline at end of file diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/config.h b/keyboards/gray_studio/space65/keymaps/madhatter/config.h deleted file mode 100644 index b591b6d76fba..000000000000 --- a/keyboards/gray_studio/space65/keymaps/madhatter/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#undef PRODUCT -#define PRODUCT "MadHatter's Custom Spacc" diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c b/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c deleted file mode 100644 index be9d9b283c81..000000000000 --- a/keyboards/gray_studio/space65/keymaps/madhatter/keymap.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2019 Khader Syed - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum keyboard_layers { - _QWERTY, - _FNM -}; - -#define FNM MO(_FNM) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, - KC_GRV, KC_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_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_SPC, KC_SPC, FNM, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -[_FNM] = LAYOUT( - QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_VOLU, KC_MFFD, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, QK_BOOT, KC_MRWD, - KC_TRNS, RGB_M_P, RGB_M_G, RGB_M_K, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, - AG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, 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 - ), - -}; diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/rules.mk b/keyboards/gray_studio/space65/keymaps/madhatter/rules.mk deleted file mode 100644 index 1e9835b3bd66..000000000000 --- a/keyboards/gray_studio/space65/keymaps/madhatter/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -SLEEP_LED_ENABLE = no -NKRO_ENABLE = yes diff --git a/keyboards/gray_studio/space65r3/config.h b/keyboards/gray_studio/space65r3/config.h index 88824052b260..27d4b4a6e568 100644 --- a/keyboards/gray_studio/space65r3/config.h +++ b/keyboards/gray_studio/space65r3/config.h @@ -4,22 +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 -#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 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/gray_studio/space65r3/info.json b/keyboards/gray_studio/space65r3/info.json index 7caa7cdd6034..85e0978a5986 100644 --- a/keyboards/gray_studio/space65r3/info.json +++ b/keyboards/gray_studio/space65r3/info.json @@ -12,7 +12,23 @@ "pin": "B10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "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 + } }, "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 703a4ac4e133..edf9d72c6e6d 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 deleted file mode 100644 index 7a2cc1f03c8f..000000000000 --- a/keyboards/gray_studio/think65/hotswap/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2019 MechMerlin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 -#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 - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/gray_studio/think65/hotswap/info.json b/keyboards/gray_studio/think65/hotswap/info.json index 1912e10989be..382ef80517b2 100644 --- a/keyboards/gray_studio/think65/hotswap/info.json +++ b/keyboards/gray_studio/think65/hotswap/info.json @@ -8,6 +8,24 @@ "pid": "0x4001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gray_studio/think65/solder/config.h b/keyboards/gray_studio/think65/solder/config.h deleted file mode 100644 index 7a2cc1f03c8f..000000000000 --- a/keyboards/gray_studio/think65/solder/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2019 MechMerlin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#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 -#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 - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/gray_studio/think65/solder/info.json b/keyboards/gray_studio/think65/solder/info.json index 7bc54a5bc5b0..e6c0b972b85e 100644 --- a/keyboards/gray_studio/think65/solder/info.json +++ b/keyboards/gray_studio/think65/solder/info.json @@ -8,6 +8,24 @@ "pid": "0x4000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/config.h b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/config.h deleted file mode 100644 index 9b3ecffef128..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/config.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2019 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_EFFECT_BREATHING // Only have Breathing Animation - -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#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 diff --git a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c deleted file mode 100644 index a71389707da9..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2019 Brandon Schlack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "brandonschlack.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Base Layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│PgU│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgD│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī │ - * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī─â”ī───â”ī───â”ī───┘ - */ -[_BASE] = LAYOUT_65_ansi_blocker( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, - HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, XXXXXXX, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT -), -/* Function Layer - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Delete│VlU│ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │RMod │RH+│RS+│RV+│ │ │ │ │ │ │F13│F14│F15│ SlpD│VlD│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │RTgl │RH-│RS-│RV-│ │ │ │ │ │ │MNC│LHP│ │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī │ - * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│MteSft│PgU│ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │ │ │ │ │ │ │ │Hom│PgD│End│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī─â”ī───â”ī───â”ī───┘ - */ -[_FN1] = 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_VOLU, - RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_SLPD, KC_VOLD, - RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, MC_MSSN, MC_LHPD, _______, XXXXXXX, - _______, RGB_LYR, RGB_THM, _______, _______, QK_BOOT, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, MUT_SFT, KC_PGUP, XXXXXXX, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END -), -/* Blank Layout - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │ │ │ │ │ │ │ │ │ │ │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī─â”ī───â”ī───â”ī───┘ -[X] = LAYOUT_65_ansi_blocker( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -*/ -}; diff --git a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/readme.md b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/readme.md deleted file mode 100644 index 76174061a98e..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# brandonschlack's Think6.5 keymap - -My keymap for the Think6.5. Using the `LAYOUT_65_ansi_blocker` LAYOUT and based on my keyboard-agnostic layout, some small changes for the navigation keys not present due to the badge. - -## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/b396fee9f49d6e9493876e82a8ee99ac) -![Base Layer](https://i.imgur.com/AZYVuZS.jpg) - -## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/06e684133399bb63d8b72ac6982e0e68) -![Function Layer](https://i.imgur.com/GbOOxME.jpg) diff --git a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/rules.mk b/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/rules.mk deleted file mode 100644 index 4ce80104ef53..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/brandonschlack/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Build Options -MOUSEKEY_ENABLE = no # Don't need mouse keys diff --git a/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c deleted file mode 100644 index e0d9e00448f2..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/rys/keymap.c +++ /dev/null @@ -1,271 +0,0 @@ -/* Copyright 2019 Rys Sommefeldt - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -/* - * LED ranges - * ┌─────────────┮─────────────┮───────────────────────────────────────────┐ - * │ 00 01 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │ - * │   escape    │    badge    │              underglow                    │ - * └─────────────â”ī─────────────â”ī───────────────────────────────────────────┘ - */ - -// Define the LED ranges start, end -#define THINK65_LED_RANGE_OFF 0, 0 -#define THINK65_LED_RANGE_ESC 0, 4 -#define THINK65_LED_RANGE_BADGE 4, 8 -#define THINK65_LED_RANGE_UNDERGLOW 8, 22 -#define THINK65_LED_RANGE_ALL 0, 22 - -// Turn the LEDs off by setting HSV to 0, 0, 0 -#define THINK65_LEDS_OFF 0, 0, 0 - -// There are 3 ranges, so we can store all combinations in 2^3 values -// Define all of them to make it easier to write the cycling code -#define THINK65_LED_STATE_OFF 0x0 // 0b00000000 -#define THINK65_LED_STATE_ESC 0x1 // 0b00000001 -#define THINK65_LED_STATE_BADGE 0x2 // 0b00000010 -#define THINK65_LED_STATE_UNDERGLOW 0x4 // 0b00000100 -#define THINK65_LED_STATE_ESC_AND_BADGE 0x3 // 0b00000011 -#define THINK65_LED_STATE_ESC_AND_UNDERGLOW 0x5 // 0b00000101 -#define THINK65_LED_STATE_BADGE_AND_UNDERGLOW 0x6 // 0b00000110 -#define THINK65_LED_STATE_ON 0x7 // 0b00000111 - -// Define each LED range as a bit flag -#define THINK65_LED_ESC_RANGE_BIT 0 -#define THINK65_LED_BADGE_RANGE_BIT 1 -#define THINK65_LED_UNDERGLOW_RANGE_BIT 2 - -// Setup some keycodes to control cycling and range toggling -enum rys_keycodes { - CYC_LED = SAFE_RANGE, - TOG_ESC, - TOG_BDG, - TOG_UGL -}; - -// setup the user EEPROM space we need -typedef union { - uint8_t raw; - struct { - uint8_t current_led_state:8; - }; -} user_config_t; - -user_config_t user_config; - -// toggle one of the range flag bits -void toggle_led_state(unsigned int led_range) { - if (led_range >= THINK65_LED_ESC_RANGE_BIT && led_range <= THINK65_LED_UNDERGLOW_RANGE_BIT) { - user_config.current_led_state ^= 1 << led_range; - } -} - -// set one of the range flag bits -void set_led_state(unsigned int led_range) { - if (led_range >= THINK65_LED_ESC_RANGE_BIT && led_range <= THINK65_LED_UNDERGLOW_RANGE_BIT) { - user_config.current_led_state |= 1 << led_range; - } -} - -// clear one of the range flag bits -void clear_led_state(unsigned int led_range) { - if (led_range >= THINK65_LED_ESC_RANGE_BIT && led_range <= THINK65_LED_UNDERGLOW_RANGE_BIT) { - user_config.current_led_state &= ~(1 << led_range); - } -} - -// cycle LED states: Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All -void cycle_led_state(void) { - switch(user_config.current_led_state) { - case THINK65_LED_STATE_OFF: - user_config.current_led_state = THINK65_LED_STATE_ESC; - break; - case THINK65_LED_STATE_ESC: - user_config.current_led_state = THINK65_LED_STATE_BADGE; - break; - case THINK65_LED_STATE_BADGE: - user_config.current_led_state = THINK65_LED_STATE_UNDERGLOW; - break; - case THINK65_LED_STATE_UNDERGLOW: - user_config.current_led_state = THINK65_LED_STATE_ESC_AND_BADGE; - break; - case THINK65_LED_STATE_ESC_AND_BADGE: - user_config.current_led_state = THINK65_LED_STATE_ESC_AND_UNDERGLOW; - break; - case THINK65_LED_STATE_ESC_AND_UNDERGLOW: - user_config.current_led_state = THINK65_LED_STATE_BADGE_AND_UNDERGLOW; - break; - case THINK65_LED_STATE_BADGE_AND_UNDERGLOW: - user_config.current_led_state = THINK65_LED_STATE_ON; - break; - case THINK65_LED_STATE_ON: - user_config.current_led_state = THINK65_LED_STATE_OFF; - break; - default: - break; - } -} - -void apply_led_state(void) { - uint8_t h = rgblight_get_hue(); - uint8_t s = rgblight_get_sat(); - uint8_t v = rgblight_get_val(); - - // Set the RGB ranges based on the current state - switch(user_config.current_led_state) { - case THINK65_LED_STATE_OFF: - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ALL); - break; - case THINK65_LED_STATE_ESC: - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_BADGE: - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_UNDERGLOW: - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_ESC_AND_BADGE: - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_ESC_AND_UNDERGLOW: - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_BADGE_AND_UNDERGLOW: - rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ESC); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE); - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_UNDERGLOW); - break; - case THINK65_LED_STATE_ON: - rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_ALL); - break; - default: - break; - } -} - -void keyboard_post_init_user(void) { - user_config.raw = eeconfig_read_user(); - - if (user_config.current_led_state >= THINK65_LED_STATE_OFF && user_config.current_led_state <= THINK65_LED_STATE_ON) { - // If the current state read from user EEPROM is valid, apply it - apply_led_state(); - } else { - // Setup a new default state of off - user_config.current_led_state = THINK65_LED_STATE_OFF; - apply_led_state(); - eeconfig_update_user(user_config.raw); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case CYC_LED: - if (record->event.pressed) { - cycle_led_state(); - apply_led_state(); - eeconfig_update_user(user_config.raw); - } - break; - case TOG_ESC: - if (record->event.pressed) { - toggle_led_state(THINK65_LED_ESC_RANGE_BIT); - apply_led_state(); - eeconfig_update_user(user_config.raw); - } - break; - case TOG_BDG: - if (record->event.pressed) { - toggle_led_state(THINK65_LED_BADGE_RANGE_BIT); - apply_led_state(); - eeconfig_update_user(user_config.raw); - } - break; - case TOG_UGL: - if (record->event.pressed) { - toggle_led_state(THINK65_LED_UNDERGLOW_RANGE_BIT); - apply_led_state(); - eeconfig_update_user(user_config.raw); - } - break; - case KC_CAPS: - if (!record->event.pressed) { - // connect capslock LED control to the badge LEDs - host_keyboard_led_state().caps_lock ? set_led_state(THINK65_LED_BADGE_RANGE_BIT) : clear_led_state(THINK65_LED_BADGE_RANGE_BIT); - apply_led_state(); - eeconfig_update_user(user_config.raw); - } - break; - default: - break; - } - return true; -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_iso_badge( - /* - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ ` │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │Del│ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐ Ent├───â”Ī - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │   │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───â”Ī   │ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │   │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │Ctrl│LAlt│GUI │      Spaaaaaaace       │RAlt│ L1 │ │ ← │ ↓ │ → │ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ - */ - 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_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_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_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_iso_badge( - /* - * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ - * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│       │   │ - * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī - * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│   │   │   │   │     │   │ - * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┐    ├───â”Ī - * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │   │ - * ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”ī┮───â”Ī   │ - * │    │   │   │   │   │   │   │   │   │   │   │   │      │CYC│   │ - * ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī - * │    │    │    │                        │    │    │ │ESC│BDG│UGL│ - * └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ - */ - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CYC_LED, - _______, _______, _______, _______, _______, _______, TOG_ESC, TOG_BDG, TOG_UGL - ), - -}; diff --git a/keyboards/gray_studio/think65/solder/keymaps/rys/readme.md b/keyboards/gray_studio/think65/solder/keymaps/rys/readme.md deleted file mode 100644 index ed73e306472f..000000000000 --- a/keyboards/gray_studio/think65/solder/keymaps/rys/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Personal keymap for the Think 6.5 with compatible soldered PCB - -The layout is UK ISO with some small personal tweaks. - -The LED cycling code is based on code posted to the Gray Studio Discord by `MudkipMao` on Nov 22nd 2019. Thanks! - -## LED cycling - -This map saves and restores your current active LED group choice to user EEPROM and restores it on keyboard init, which you can cycle through all combinations of, or toggle individually. - -The cycle is `Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All`. Look at the keymap for the controls on layer 1. diff --git a/keyboards/gray_studio/think65v3/config.h b/keyboards/gray_studio/think65v3/config.h new file mode 100644 index 000000000000..0a0596e64c61 --- /dev/null +++ b/keyboards/gray_studio/think65v3/config.h @@ -0,0 +1,9 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#pragma once +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD +/* 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 + \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/info.json b/keyboards/gray_studio/think65v3/info.json new file mode 100644 index 000000000000..8fba691fa483 --- /dev/null +++ b/keyboards/gray_studio/think65v3/info.json @@ -0,0 +1,796 @@ +{ + "keyboard_name": "think65v3", + "url": "https://graystudio.club/products/testthink6-5-v3", + "maintainer": "edwardslau", + "manufacturer": "GrayStudio", + "processor": "STM32F072", + "diode_direction": "COL2ROW", + "bootloader": "stm32-dfu", + "usb": { + "vid": "0x4753", + "pid": "0x4003", + "device_version": "0.0.3" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "ws2812": { + "pin": "B10" + }, + "matrix_pins": { + "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"], + "rows": ["A6", "B12", "A2", "A0", "A1"] + }, + "rgblight": { + "led_count": 6, + "sleep": true, + "max_brightness": 150, + "layers": { + "enabled": true, + "override_rgb": 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 + } + }, + "layout_aliases": { + "LAYOUT_65_blocker": "LAYOUT_ansi_blocker", + "LAYOUT_65_iso_blocker": "LAYOUT_iso_blocker" + }, + "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": [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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "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, 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, 13], "x": 12.75, "y": 2, "w": 2.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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 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, 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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 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, 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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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_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, 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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 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, 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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_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": [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, 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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 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, 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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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_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": [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, 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, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "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, 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} + ] + } + } +} diff --git a/keyboards/gray_studio/think65v3/keymaps/default/keymap.c b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..a3c2e873c177 --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/gray_studio/think65v3/keymaps/via/keymap.c b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c new file mode 100644 index 000000000000..a3c2e873c177 --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/gray_studio/think65v3/keymaps/via/rules.mk b/keyboards/gray_studio/think65v3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gray_studio/think65v3/matrix_diagram.md b/keyboards/gray_studio/think65v3/matrix_diagram.md new file mode 100644 index 000000000000..e2bbb127b68b --- /dev/null +++ b/keyboards/gray_studio/think65v3/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for GrayStudio think65v3 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ +│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 │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───┘ ┌──â”ī┐2E │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2D │ │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī └───â”ī────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───┐ +│40 │41 │42 │47 │4A │4B │ │4D │4E │4F │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┐ +│40 │41 │42 │47 │4B │ Blocker Tsangan +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────┘ +``` diff --git a/keyboards/gray_studio/think65v3/readme.md b/keyboards/gray_studio/think65v3/readme.md new file mode 100644 index 000000000000..dc09a00d1d2c --- /dev/null +++ b/keyboards/gray_studio/think65v3/readme.md @@ -0,0 +1,21 @@ +# Gray Studio think65v3 + + A 65% keyboard by Graystudio. PCB designed and manufactured by DEMO Studio. + + * Keyboard Maintainer: [edwardslau](https://github.com/edwardslau) + * Hardware Support: Think6.5 V3 + * Hardware Availability: + + Make example for this keyboard (after setting up your build environment): + + make gray_studio/think65v3:default + + Flashing example for this keyboard: + + make gray_studio/think65v3:default:flash + +## Bootloader + +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead + +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 infromation. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/rules.mk b/keyboards/gray_studio/think65v3/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/gray_studio/think65v3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/think65v3.c b/keyboards/gray_studio/think65v3/think65v3.c new file mode 100644 index 000000000000..04dd85406fb5 --- /dev/null +++ b/keyboards/gray_studio/think65v3/think65v3.c @@ -0,0 +1,22 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include "quantum.h" +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,6, HSV_WHITE} +); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_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) { + bool res = led_update_user(led_state); + if (res) { + rgblight_set_layer_state(0, led_state.caps_lock); + } + return res; +} diff --git a/keyboards/gregandcin/teaqueen/info.json b/keyboards/gregandcin/teaqueen/info.json new file mode 100644 index 000000000000..841c524e62d3 --- /dev/null +++ b/keyboards/gregandcin/teaqueen/info.json @@ -0,0 +1,115 @@ +{ + "manufacturer": "gregandcin", + "keyboard_name": "gregandcin/teaqueen", + "maintainer": "gregandcin", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP22", "GP20", "GP23", "NO_PIN"], + "rows": ["GP5", "GP6", "GP7", "GP8", "GP9"] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP22", "GP20", "GP23", "GP21"], + "rows": ["GP5", "GP6", "GP7", "GP8", "GP9"] + } + }, + "soft_serial_pin": "GP3" + }, + "url": "https://github.com/gregandcin/teaqueen", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0x4743" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0.6, "y": 0}, + {"matrix": [0, 1], "x": 1.6, "y": 0}, + {"matrix": [0, 2], "x": 2.6, "y": 0}, + {"matrix": [0, 3], "x": 3.6, "y": 0}, + {"matrix": [0, 4], "x": 4.6, "y": 0}, + {"matrix": [0, 5], "x": 5.6, "y": 0}, + {"matrix": [0, 6], "x": 6.6, "y": 0}, + + {"matrix": [5, 0], "x": 8.5, "y": 0}, + {"matrix": [5, 1], "x": 9.5, "y": 0}, + {"matrix": [5, 2], "x": 10.5, "y": 0}, + {"matrix": [5, 3], "x": 11.5, "y": 0}, + {"matrix": [5, 4], "x": 12.5, "y": 0}, + {"matrix": [5, 5], "x": 13.5, "y": 0}, + {"matrix": [5, 6], "x": 14.5, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0.35, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.85, "y": 1}, + {"matrix": [1, 3], "x": 2.85, "y": 1}, + {"matrix": [1, 4], "x": 3.85, "y": 1}, + {"matrix": [1, 5], "x": 4.85, "y": 1}, + {"matrix": [1, 6], "x": 5.85, "y": 1}, + + {"matrix": [6, 0], "x": 8.25, "y": 1}, + {"matrix": [6, 1], "x": 9.25, "y": 1}, + {"matrix": [6, 2], "x": 10.25, "y": 1}, + {"matrix": [6, 3], "x": 11.25, "y": 1}, + {"matrix": [6, 4], "x": 12.25, "y": 1}, + {"matrix": [6, 5], "x": 13.25, "y": 1}, + {"matrix": [6, 6], "x": 14.25, "y": 1}, + {"matrix": [6, 7], "x": 15.25, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0.2, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.95, "y": 2}, + {"matrix": [2, 3], "x": 2.95, "y": 2}, + {"matrix": [2, 4], "x": 3.95, "y": 2}, + {"matrix": [2, 5], "x": 4.95, "y": 2}, + {"matrix": [2, 6], "x": 5.95, "y": 2}, + + {"matrix": [7, 0], "x": 8.75, "y": 2}, + {"matrix": [7, 1], "x": 9.75, "y": 2}, + {"matrix": [7, 2], "x": 10.75, "y": 2}, + {"matrix": [7, 3], "x": 11.75, "y": 2}, + {"matrix": [7, 4], "x": 12.75, "y": 2}, + {"matrix": [7, 5], "x": 13.75, "y": 2}, + {"matrix": [7, 7], "x": 14.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": [8, 0], "x": 8.45, "y": 3}, + {"matrix": [8, 1], "x": 9.45, "y": 3}, + {"matrix": [8, 2], "x": 10.45, "y": 3}, + {"matrix": [8, 3], "x": 11.45, "y": 3}, + {"matrix": [8, 4], "x": 12.45, "y": 3}, + {"matrix": [8, 5], "x": 13.45, "y": 3}, + {"matrix": [8, 6], "x": 14.45, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 16.20, "y": 3}, + + {"matrix": [4, 0], "x": 0.2, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.7, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4.75, "y": 4, "w": 2}, + {"matrix": [4, 6], "x": 6.75, "y": 4}, + + {"matrix": [9, 1], "x": 8.45, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 11.20, "y": 4, "w": 1.5}, + {"matrix": [9, 6], "x": 14.5, "y": 4}, + {"matrix": [9, 7], "x": 15.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c b/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c new file mode 100644 index 000000000000..2bcc085b7775 --- /dev/null +++ b/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2018-2023 Mattia Dal Ben gregandcin +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layer { + _QWERTY, + _SYMB, + _NAV +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_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, MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), + + [_SYMB] = 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), + + [_NAV] = 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_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, 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), +}; + diff --git a/keyboards/gregandcin/teaqueen/keymaps/via/keymap.c b/keyboards/gregandcin/teaqueen/keymaps/via/keymap.c new file mode 100644 index 000000000000..2bcc085b7775 --- /dev/null +++ b/keyboards/gregandcin/teaqueen/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2018-2023 Mattia Dal Ben gregandcin +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layer { + _QWERTY, + _SYMB, + _NAV +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_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, MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), + + [_SYMB] = 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), + + [_NAV] = 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_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, 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), +}; + diff --git a/keyboards/gregandcin/teaqueen/keymaps/via/rules.mk b/keyboards/gregandcin/teaqueen/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/gregandcin/teaqueen/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gregandcin/teaqueen/readme.md b/keyboards/gregandcin/teaqueen/readme.md new file mode 100644 index 000000000000..2d259e644d2d --- /dev/null +++ b/keyboards/gregandcin/teaqueen/readme.md @@ -0,0 +1,26 @@ +# gregandcin/teaqueen + +![gregandcin/teaqueen](https://i.imgur.com/Wf1EIqwh.png) + +An Alice inspired, split layout keyboar featuring Kailh hotswap sockets. + +* Keyboard Maintainer: [gregandcin](https://github.com/gregandcin) +* Hardware Supported: Elite-Pi, other RP2040 Community Edition Boards + +Make example for this keyboard (after setting up your build environment): + + make gregandcin/teaqueen:default + +Flashing example for this keyboard: + + make gregandcin/teaqueen: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/gregandcin/teaqueen/rules.mk b/keyboards/gregandcin/teaqueen/rules.mk new file mode 100644 index 000000000000..161ec22b16e2 --- /dev/null +++ b/keyboards/gregandcin/teaqueen/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/grid600/press/config.h b/keyboards/grid600/press/config.h index 81bccd015b40..a7f362f47b71 100644 --- a/keyboards/grid600/press/config.h +++ b/keyboards/grid600/press/config.h @@ -17,22 +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 -#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 - /* 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/grid600/press/info.json b/keyboards/grid600/press/info.json index 6a5d86e0c735..e808036385d3 100644 --- a/keyboards/grid600/press/info.json +++ b/keyboards/grid600/press/info.json @@ -12,6 +12,23 @@ "cols": ["F1", "F4", "F5", "F6"], "rows": ["F0"] }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/h0oni/deskpad/config.h b/keyboards/h0oni/deskpad/config.h index ddcf0ebe4af5..441e3b8c1a66 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 96a23f7f615f..e51aa7e7dfc3 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 9891423e3fec..4c8c95e41ec1 100644 --- a/keyboards/h0oni/hotduck/config.h +++ b/keyboards/h0oni/hotduck/config.h @@ -16,23 +16,6 @@ #pragma once -/* RGB Underglow - */ -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/h0oni/hotduck/info.json b/keyboards/h0oni/hotduck/info.json index 6e8e2e61448c..939d1ec262b0 100644 --- a/keyboards/h0oni/hotduck/info.json +++ b/keyboards/h0oni/hotduck/info.json @@ -13,6 +13,24 @@ "rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 10, + "saturation_steps": 15, + "brightness_steps": 15, + "led_count": 20, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/hackpad/info.json b/keyboards/hackpad/info.json new file mode 100644 index 000000000000..0a77c9320c5f --- /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 000000000000..43489484ae4d --- /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 000000000000..f992e55b39cc --- /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 000000000000..7114cc329583 --- /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 7b7acf32b640..ca2798c9076a 100644 --- a/keyboards/hadron/ver2/config.h +++ b/keyboards/hadron/ver2/config.h @@ -18,18 +18,3 @@ along with this program. If not, see . // configure oled driver for the 128x32 oled #define OLED_UPDATE_INTERVAL 33 // ~30fps - -/* ws2812 RGB LED*/ -#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 -#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 612d3af50aa3..fb1dc102b7e3 100644 --- a/keyboards/hadron/ver2/info.json +++ b/keyboards/hadron/ver2/info.json @@ -7,6 +7,22 @@ "rows": ["D7", "E6", "B4", "B5", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 10, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c index f352b1c8510c..9cc621df2f22 100644 --- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c +++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c @@ -316,36 +316,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { -#ifdef AUDIO_ENABLE - startup_user(); -#endif -} - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick - PLAY_SONG(tone_startup); -} - -void shutdown_user(void) -{cc - PLAY_SONG(tone_goodbye); - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/hadron/ver2/rules.mk b/keyboards/hadron/ver2/rules.mk index d07da3fca08d..188b4696f185 100644 --- a/keyboards/hadron/ver2/rules.mk +++ b/keyboards/hadron/ver2/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 02e4116bb609..c9fc1028f823 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -60,66 +60,54 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ -#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ -#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ +#define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 - -#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 - -#define RGBLED_NUM 10 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 + +#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 753a9676ceb4..381a5dc5501e 100644 --- a/keyboards/hadron/ver3/info.json +++ b/keyboards/hadron/ver3/info.json @@ -3,7 +3,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B8", "B2", "B10", "A0", "A1", "A2", "B0", "A3", "B1", "A6", "A7", "B12", "C13", "B11", "B9"], @@ -15,6 +15,21 @@ {"pin_a": "B13", "pin_b": "B14"} ] }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/hadron/ver3/keymaps/ishtob/config.h b/keyboards/hadron/ver3/keymaps/ishtob/config.h deleted file mode 100644 index 6f70f09beec2..000000000000 --- a/keyboards/hadron/ver3/keymaps/ishtob/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c deleted file mode 100644 index e99ff55caf03..000000000000 --- a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c +++ /dev/null @@ -1,250 +0,0 @@ -#include QMK_KEYBOARD_H -#include "ishtob.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,------+------+------+------+------+------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | PSCR | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | Tab | Q | W | E | R | T | 7 | 8 | 9 | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | LCTL | A | S | D | F | G | 4 | 5 | 6 | H | J | K | L | ;/Nav|Ctl/Et| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | 1 | 2 | 3 | N | M | , | . | / | - | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | Ctrl | GUI | Alt |Lower |Space | 0 | . | = |Space |Raise | Alt | NumL | App | Del | - * `--------------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_wrapper( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR, - LT_FN(KC_TAB), _________________QWERTY_L1_________________, KC_P7, KC_P8, KC_P9, _________________QWERTY_R1_________________, KC_BSPC, - KC_CAPS, _________________QWERTY_L2_________________, KC_P4, KC_P5, KC_P6, _________________QWERTY_R2_________________, CTL_ENT, - KC_LSFT, _________________QWERTY_L3_________________, KC_P1, KC_P2, KC_P3, _________________QWERTY_R3_________________, LT_RAI(KC_MINS), - KC_ESC, KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_P0, KC_DOT, KC_EQL, KC_SPC, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_DEL -), - -/* Colemak - * ,------+------+------+------+------+------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | PSCR | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | Tab | Q | W | F | P | G | 7 | 8 | 9 | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------| - * | CAPS | A | R | S | T | D | 4 | 5 | 6 | H | N | E | I | O |Ctl/Et| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | 1 | 2 | 3 | K | M | , | . | / | - | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | Ctrl | GUI | Alt |Lower |Space | 0 | . | = |Space |Raise | Alt | NumL | App | Del | - * `--------------------------------------------------------------------------------------------------------' - */ -[_COLEMAK] = LAYOUT_wrapper( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR, - LT_FN(KC_TAB), _________________COLEMAK_L1________________, KC_P7, KC_P8, KC_P9, _________________COLEMAK_R1________________, KC_BSPC, - KC_LCTL, _________________COLEMAK_L2________________, KC_P4, KC_P5, KC_P6, _________________COLEMAK_R2________________, CTL_ENT, - KC_LSFT, _________________COLEMAK_L3________________, KC_P1, KC_P2, KC_P3, _________________COLEMAK_R3________________, LT_RAI(KC_MINS), - KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_P0, KC_DOT, KC_EQL, KC_SPC, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_DEL - ), - -/* Dvorak - * ,------+------+------+------+------+------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | PSCR | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | Tab | " | , | . | P | Y | 7 | 8 | 9 | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------| - * | Esc | A | O | E | U | I | 4 | 5 | 6 | D | H | T | N | S | / | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | 1 | 2 | 3 | B | M | W | V | Z |Ctl/Et| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | Ctrl | GUI | Alt |Lower |Space | 0 | . | = |Space |Raise | Alt | NumL | App | Del | - * `--------------------------------------------------------------------------------------------------------' - */ -[_DVORAK] = LAYOUT_wrapper( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR, - LT_FN(KC_TAB), _________________DVORAK_L1_________________, KC_P7, KC_P8, KC_P9, _________________DVORAK_R1_________________, KC_BSPC, - KC_LCTL, _________________DVORAK_L2_________________, KC_P4, KC_P5, KC_P6, _________________DVORAK_R2_________________, CTL_ENT, - KC_LSFT, _________________DVORAK_L3_________________, KC_P1, KC_P2, KC_P3, _________________DVORAK_R3_________________, LT_RAI(KC_MINS), - KC_ESC, KC_CAPS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_P0, KC_DOT, KC_EQL, KC_SPC, RAISE, KC_RALT, KC_RGUI, KC_APP, KC_DEL -), - -/* Lower - * ,------+------+------+------+------+------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO ~ |ISO | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `--------------------------------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_wrapper( - 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,------+------+------+------+------+------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | | | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO # |ISO / | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `--------------------------------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_wrapper( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - ________________NUMBER_LEFT________________, KC_6, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, KC_PLUS, KC_BSLS, - KC_DEL, KC_A, KC_UP, KC_D, KC_PSCR, KC_VOLU, _______, _______, _______, KC_4, KC_5, KC_6, KC_PAST, KC_COLN, KC_QUOT, - _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_MUTE, KC_VOLD, _______, _______, _______, KC_1, KC_2, KC_3, KC_UP, KC_SLSH, _______, - _______, _______, _______, _______, _______, KC_SPC, _______, _______, KC_SPC, KC_0, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NUM -), - -/* FN layer on Esc key - * ,------+------+------+------+------+------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | + | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | _ | = | [ | ] | ' | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO ~ |ISO | | { | } |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * '------+------+------+------+------+------+------+------+------+------+------+------+--------------------' - */ -[_FNLAYER] = LAYOUT_wrapper( - 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_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, - _______, __________________LONG_FUNC_LEFT___________________, _______, _______, _______, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, KC_QUOT, - _______, __________________LONG_FUNC_RIGHT__________________, _______, _______, _______,S(KC_NUHS),S(KC_NUBS),KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Mouse Layer (semi-col) - * ,------+------+------+------+------+------------------------------------------------. - * | ACCL0| ACCL1| ACCL2| | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | | | | | | | | | Home | Wh_Up| WHL_L| M_Up | WHL_R| Macro| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | End | Wh_Dn| M_Lft| M_Dn | M_Rt | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | BTN2 | BTN3 | BTN4 | BTN5 | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | BTN1 | | | | BTN1 | | | | | | - * `--------------------------------------------------------------------------------------------------------' - */ - -[_MOUSECURSOR] = LAYOUT_wrapper( - KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, M_EMAIL,M_EMAIL2, _______, _______, _______, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R, P_MPASS, P_META, - _______, _______, _______, _______, O_RTQ6H, _______, _______, _______, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, O_DAYRN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______, - _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, KC_BTN1, _______, _______, _______, P_CITRIX, O_AUTODC -), - -/* Adjust (Lower + Raise) - * ,------+------+------+------+------+------------------------------------------------. - * | Reset|HPT TG|HPT FB|HPT M+|HPT M-|HPT RS| | | | | |EEP RS| - * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------. - * | |RGB TG|RGB ST|RGBH -|RGBH +|RGBS -|RGBS +|RGBV -|RGBV +| | | | | | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm| | | |AGswap|Qwerty|Colemk| | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff| | | | | | |BL - | BL + |BL ST |BL TG | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |CK RS |CK - |CK + |CK TG | - * `--------------------------------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_wrapper( - _______, HF_TOGG, HF_FDBK, HF_NEXT, HF_PREV, HF_RST, _______, _______, _______, _______, _______, EE_CLR, - QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, KC_DEL, - _______, MAGIC_TOGGLE_NKRO, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, - _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_STEP, BL_TOGG, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CK_RST, CK_DOWN, CK_UP, CK_TOGG -) - - - -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - - -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - layer_on(_RAISE); - } else { - layer_off(_RAISE); - } - return false; - break; - case BACKLIT: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - return false; - break; - } - return true; -} - -bool music_mask_user(uint16_t keycode) { - switch (keycode) { - case RAISE: - case LOWER: - return false; - default: - return true; - } -} - - -void matrix_init_keymap(void) { -} - - -void matrix_scan_keymap(void) { -} - diff --git a/keyboards/hadron/ver3/keymaps/ishtob/readme.md b/keyboards/hadron/ver3/keymaps/ishtob/readme.md deleted file mode 100644 index 88b958ec4235..000000000000 --- a/keyboards/hadron/ver3/keymaps/ishtob/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# The Default Hadron Layout - diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c b/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c index 01fe45bd05e7..fcae7f07c6c3 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/hadron/ver3/keymaps/xulkal/config.h b/keyboards/hadron/ver3/keymaps/xulkal/config.h deleted file mode 100644 index 6f70f09beec2..000000000000 --- a/keyboards/hadron/ver3/keymaps/xulkal/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/hadron/ver3/keymaps/xulkal/keymap.c b/keyboards/hadron/ver3/keymaps/xulkal/keymap.c deleted file mode 100644 index 4ae1d0717003..000000000000 --- a/keyboards/hadron/ver3/keymaps/xulkal/keymap.c +++ /dev/null @@ -1,73 +0,0 @@ -#include QMK_KEYBOARD_H -#include "xulkal.h" - -#define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty Layout - * ,-----------------------------------------------------------------------------------. - * | GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BkSp | - * |------+------+------+------+------+------|------+------+------+------+------+------+--------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | 7 | 8 | 9 | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------| - * |FN(CAPS)| A | S | D | F | G | H | J | K | L | ; | Enter| 4 | 5 | 6 | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Sft[ | Z | X | C | V | B | N | M | , | . | / | Sft] | 1 | 2 | 3 | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctl- | Win | LOWER| RAISE| Alt | Space| Space| Left | Up | Down | Right| Ctl= | 0 | . | = | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------' - */ - [_QWERTY] = EXPAND_LAYOUT( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_P7, KC_P8, KC_P9, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_P4, KC_P5, KC_P6, - _________________QWERTY_L4_________________, _________________QWERTY_R4_________________, KC_P1, KC_P2, KC_P3, - _________________QWERTY_L5_________________, _________________QWERTY_R5_________________, KC_P0, KC_DOT, KC_EQL - ), - -#ifndef GAMELAYER_DISABLE - [_GAME] = EXPAND_LAYOUT( - ___________________GAME_L1_________________, ___________________GAME_R1_________________, - ___________________GAME_L2_________________, ___________________GAME_R2_________________, _______, _______, _______, - ___________________GAME_L3_________________, ___________________GAME_R3_________________, _______, _______, _______, - ___________________GAME_L4_________________, ___________________GAME_R4_________________, _______, _______, _______, - ___________________GAME_L5_________________, ___________________GAME_R5_________________, _______, _______, _______ - ), -#endif - - [_LOWER] = EXPAND_LAYOUT( - __________________LOWER_L1_________________, __________________LOWER_R1_________________, - __________________LOWER_L2_________________, __________________LOWER_R2_________________, _______, _______, _______, - __________________LOWER_L3_________________, __________________LOWER_R3_________________, _______, _______, _______, - __________________LOWER_L4_________________, __________________LOWER_R4_________________, _______, _______, _______, - __________________LOWER_L5_________________, __________________LOWER_R5_________________, _______, _______, _______ - ), - - [_RAISE] = EXPAND_LAYOUT( - __________________RAISE_L1_________________, __________________RAISE_R1_________________, - __________________RAISE_L2_________________, __________________RAISE_R2_________________, _______, _______, _______, - __________________RAISE_L3_________________, __________________RAISE_R3_________________, _______, _______, _______, - __________________RAISE_L4_________________, __________________RAISE_R4_________________, _______, _______, _______, - __________________RAISE_L5_________________, __________________RAISE_R5_________________, _______, _______, _______ - ), - -#ifdef TRILAYER_ENABLED - [_ADJUST] = EXPAND_LAYOUT( - _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, - _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, _______, _______, _______, - _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, _______, _______, _______, - _________________ADJUST_L4_________________, _________________ADJUST_R4_________________, _______, _______, _______, - _________________ADJUST_L5_________________, _________________ADJUST_R5_________________, _______, _______, _______ - ), -#endif -}; - -bool music_mask_user(uint16_t keycode) { - switch (keycode) { - case RAISE: - case LOWER: - return false; - default: - return true; - } -} diff --git a/keyboards/hadron/ver3/keymaps/xulkal/rules.mk b/keyboards/hadron/ver3/keymaps/xulkal/rules.mk deleted file mode 100644 index 0305226b3215..000000000000 --- a/keyboards/hadron/ver3/keymaps/xulkal/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Overridden build options - -COMMAND_ENABLE = no -ENCODER_ENABLER = no diff --git a/keyboards/hadron/ver3/rules.mk b/keyboards/hadron/ver3/rules.mk index 5739e57d19bc..edc5fa7d5bf5 100644 --- a/keyboards/hadron/ver3/rules.mk +++ b/keyboards/hadron/ver3/rules.mk @@ -12,7 +12,6 @@ AUDIO_ENABLE = yes RGBLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = no # once arm_rgb is implemented HAPTIC_ENABLE = yes -HAPTIC_DRIVER = DRV2605L +HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLER = yes diff --git a/keyboards/halfcliff/config.h b/keyboards/halfcliff/config.h index 6f5dd093d657..d3c5de43387f 100644 --- a/keyboards/halfcliff/config.h +++ b/keyboards/halfcliff/config.h @@ -25,14 +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 RGBLED_SPLIT { 5, 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 */ - /* 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 fb0666fbf434..0c9b4ddb0f48 100644 --- a/keyboards/halfcliff/info.json +++ b/keyboards/halfcliff/info.json @@ -16,6 +16,13 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, + "split_count": [5, 5] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/halokeys/elemental75/config.h b/keyboards/halokeys/elemental75/config.h index c23763ee9bfa..ea52da292806 100644 --- a/keyboards/halokeys/elemental75/config.h +++ b/keyboards/halokeys/elemental75/config.h @@ -15,28 +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 -#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 - -//#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 5f8bdb38a6a9..1ee23d967ba9 100644 --- a/keyboards/halokeys/elemental75/info.json +++ b/keyboards/halokeys/elemental75/info.json @@ -18,11 +18,31 @@ {"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, + "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 + } }, "processor": "STM32F303", "bootloader": "stm32-dfu", diff --git a/keyboards/hand88/rules.mk b/keyboards/hand88/rules.mk old mode 100755 new mode 100644 index 266889cfe705..475da662628f --- 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 819f0f640f52..5f360813239b 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 1df0ccbdee5c..b33273e19dbb 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/3dfoxc/keymaps/dlg/config.h b/keyboards/handwired/3dfoxc/keymaps/dlg/config.h deleted file mode 100644 index d824330b04c6..000000000000 --- a/keyboards/handwired/3dfoxc/keymaps/dlg/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 david l goodrich - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 GRAVE_ESC_ALT_OVERRIDE diff --git a/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c b/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c deleted file mode 100644 index 2af980204978..000000000000 --- a/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright 2022 david l goodrich - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum custom_layers { - _BL, - _FL, - _MAC, - _LA, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Keymap _BL: (Base Layer) Default Layer - * ,---------------------------------------------------------------. - * |~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bks|???|Esc| - * |---------------------------------------------------------------| - * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del| - * |---------------------------------------------------------------| - * |Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |PUp| - * |---------------------------------------------------------------| - * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift |Up |PDn| - * |---------------------------------------------------------------| - * |Ctrl|Win |Alt | Space |Alt |Fn ||Lt |Dn |Rt | - * `--------------------------------------------------''-----------' - */ - [_BL] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, 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_RBRC, KC_BSLS, KC_DEL, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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, LM(_LA, MOD_LALT), KC_SPC, KC_LALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Keymap _FL: Function Layer - * ,---------------------------------------------------------------. - * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del|RST| | - * |---------------------------------------------------------------| - * | | | | | | | | |mac| |PSc|Br-|Br+| |Ins| - * |---------------------------------------------------------------| - * | | | | | | |Lt |Dn |Up |Rt | | | |Hme| - * |---------------------------------------------------------------| - * | | | | | | | |MUT|V- |V+ | | |PUp|End| - * |---------------------------------------------------------------| - * | | | | | | ||Hme|PDn|End| - * `--------------------------------------------------''-----------' - */ - [_FL] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC),_______, KC_PSCR, KC_BRID, KC_BRIU, _______, KC_INS, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_HOME, - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, KC_END, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - /* Keymap _MAC: Mac Layer - * ,---------------------------------------------------------------. - * | | | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * |Ctrl|Alt |Win | |Win | || | | | - * `--------------------------------------------------''-----------' - */ - [_MAC] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LALT, KC_LGUI, _______, KC_RGUI, _______, _______, _______, _______ - ), - - /* Keymap _LA: Left Alt Layer - LALT-4 maps to LALT-F4 so I can quit apps - * ,---------------------------------------------------------------. - * | | | | |F4 | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |---------------------------------------------------------------| - * | | | | | | || | | | - * `--------------------------------------------------''-----------' - */ - [_LA] = LAYOUT( - _______, _______, _______, _______, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) - -}; diff --git a/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md b/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md deleted file mode 100755 index 487086e5725a..000000000000 --- a/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md +++ /dev/null @@ -1,73 +0,0 @@ -# dlg's layout - -Inspired heavily by [my tada68 layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/tada68/keymaps/dlg). - -Notable deviation from the default keymap includes correctly placing `KC_BSLS` and moving `KC_BSPC` up to the top row where it belongs. The additional key on the top-row is a NOOP while I think of something fun. I also swapped `Esc` and `~` as in my tada68 layout. - - -### Base Layer - -``` -,---------------------------------------------------------------. -|~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bks|???|Esc| -|---------------------------------------------------------------| -|Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del| -|---------------------------------------------------------------| -|Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |PUp| -|---------------------------------------------------------------| -|Shift | Z | X | C | V | B | N | M | , | . | / |Shift |Up |PDn| -|---------------------------------------------------------------| -|Ctrl|Win |Alt | Space |Alt |Fn ||Lt |Dn |Rt | -`--------------------------------------------------''-----------' -``` - - -### Fn Layer - -``` -,---------------------------------------------------------------. -| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del|RST| | -|---------------------------------------------------------------| -| | | | | | | | |mac| |PSc|Br-|Br+| |Ins| -|---------------------------------------------------------------| -| | | | | | |Lt |Dn |Up |Rt | | | |Hme| -|---------------------------------------------------------------| -| | | | | | | |MUT|V- |V+ | | |PUp|End| -|---------------------------------------------------------------| -| | | | | | ||Hme|PDn|End| -`--------------------------------------------------''-----------' -``` - -### Mac Layer - -``` -,---------------------------------------------------------------. -| | | | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | -|---------------------------------------------------------------| -|Ctrl|Alt |Win | |Win | || | | | -`--------------------------------------------------''-----------' -``` - -### `LALT` Layer - -Left Alt Layer - LALT-4 maps to LALT-F4 so I can quit apps - -``` -,---------------------------------------------------------------. -| | | | |F4 | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | | | | | | | | | | -|---------------------------------------------------------------| -| | | | | | || | | | -`--------------------------------------------------''-----------' -``` diff --git a/keyboards/handwired/3dp660/config.h b/keyboards/handwired/3dp660/config.h index f804456960f6..c2949ab3a7a4 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 c3bc103d773d..82132e447332 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"] @@ -15,6 +18,7 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "halfkay", + "community_layouts": ["66_ansi"], "layouts": { "LAYOUT_66_ansi": { "layout": [ diff --git a/keyboards/handwired/3dp660_oled/3dp660_oled.c b/keyboards/handwired/3dp660_oled/3dp660_oled.c new file mode 100644 index 000000000000..cc98d235f45a --- /dev/null +++ b/keyboards/handwired/3dp660_oled/3dp660_oled.c @@ -0,0 +1,121 @@ +// Copyright 2023 xia0 (@xia0) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#if defined (OLED_ENABLE) + + +// WPM responsiveness +#define IDLE_FRAMES 5 +#define IDLE_SPEED 20 // Speed at which animation goes into idle +#define TAP_FRAMES 2 +#define TAP_SPEED 40 // WPM to trigger Bongo +#define ANIM_FRAME_DURATION 200 // Frame MS +#define ANIM_SIZE 636 // Number of bytes in array, max 1024 + + + +static void render_animation(void) { + + static uint32_t anim_timer = 0; + static uint32_t anim_sleep = 0; + static uint8_t current_idle_frame = 0; + static uint8_t current_tap_frame = 0; + + static const char PROGMEM idle[IDLE_FRAMES][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; + static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }; + + void animation_phase(void) { + 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)], ANIM_SIZE); + } + + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + oled_write_raw_P(prep[0], ANIM_SIZE); + } + + 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)], ANIM_SIZE); + } + } + if (get_current_wpm() != 000) { + oled_on(); // Enables OLED on any alpha keypress + + if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } +} + + + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + // Render Bongo Cat + render_animation(); + + // WPM text + oled_set_cursor(0, 0); + oled_write(get_u8_str(get_current_wpm(), '0'), false); + + // Caps lock text + led_t led_state = host_keyboard_led_state(); + oled_set_cursor(0, 3); + if (led_state.caps_lock) { + oled_write_P(PSTR("CAPS"), false); + } + + return true; +} + +#endif diff --git a/keyboards/handwired/3dp660_oled/info.json b/keyboards/handwired/3dp660_oled/info.json new file mode 100644 index 000000000000..a43aca34643c --- /dev/null +++ b/keyboards/handwired/3dp660_oled/info.json @@ -0,0 +1,251 @@ +{ + "manufacturer": "xia0", + "keyboard_name": "handwired/3dp660_oled", + "maintainer": "xia0", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": true, + "extrakey": true, + "mousekey": true, + "oled": true, + "nkro": true, + "wpm": true + }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D5", "B0", "B5", "B4", "E6", "D7", "C6", "D4", "D2", "D3"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x3661", + "vid": "0x6662" + }, + "layouts": { + "LAYOUT_66_ansi": { + "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": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 }, + { "label": "Page Up", "matrix": [5, 7], "w": 1, "x": 15.5, "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": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Page Down", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "Caps Lock", "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": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.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": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 }, + { "label": "Up", "matrix": [8, 6], "w": 1, "x": 14.5, "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, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 }, + { "label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 }, + { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "Left", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "Down", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "Up", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] + }, + "LAYOUT_66_iso": { + "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": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 }, + { "label": "Insert", "matrix": [5, 7], "w": 1, "x": 15.5, "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": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "Delete", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "Caps Lock", "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": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 }, + { "h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1 }, + { "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": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 }, + { "label": "\u2191", "matrix": [8, 6], "w": 1, "x": 14.5, "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, "x": 3.75, "y": 4 }, + { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 }, + { "label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 }, + { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "\u2190", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "\u2193", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "\u2192", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "label": "GRAVE", "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": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "9", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": "0", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "DASH", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "EQUALSIGN", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "YEN", "matrix": [5, 5], "w": 1, "x": 13, "y": 0 }, + { "label": "BACKSPACE", "matrix": [5, 6], "w": 1, "x": 14, "y": 0 }, + { "label": "PAGEUP", "matrix": [5, 7], "w": 1, "x": 15.5, "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": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "LBRACKET", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "RBRACKET", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "PAGEDOWN", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "CAPSLOCK", "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": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": "SEMICOLON", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "QUOTE", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "ISOHASH", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 }, + { "label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2 }, + { "label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "ISOBACKSLASH", "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": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "COMMA", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": "PERIOD", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "SLASH", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "JPBACKSLASH", "matrix": [8, 4], "w": 1, "x": 12.25, "y": 3 }, + { "label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3 }, + { "label": "UP", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 }, + { "label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "LALT", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4 }, + { "label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4 }, + { "label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4 }, + { "label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4 }, + { "label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4 }, + { "label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 }, + { "label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 }, + { "label": "RCTRL", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 }, + { "label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "LEFT", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "DOWN", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "RIGHT", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/3dp660_oled/keymaps/default/keymap.c b/keyboards/handwired/3dp660_oled/keymaps/default/keymap.c new file mode 100644 index 000000000000..79e23eaabcaa --- /dev/null +++ b/keyboards/handwired/3dp660_oled/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2023 xia0 (@xia0) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_GRV , KC_BSPC, KC_INS, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC , KC_SPC , KC_INT4, KC_RALT, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_all( KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, KC_DEL , KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_MUTE, KC_VOLD, + _______, _______, MO(2) , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), + + [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/handwired/3dp660_oled/keymaps/via/keymap.c b/keyboards/handwired/3dp660_oled/keymaps/via/keymap.c new file mode 100644 index 000000000000..74d17bf0edbf --- /dev/null +++ b/keyboards/handwired/3dp660_oled/keymaps/via/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2023 xia0 (@xia0) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_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_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_INT4, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, 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_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), +}; diff --git a/keyboards/handwired/3dp660_oled/keymaps/via/rules.mk b/keyboards/handwired/3dp660_oled/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/3dp660_oled/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/3dp660_oled/readme.md b/keyboards/handwired/3dp660_oled/readme.md new file mode 100644 index 000000000000..408fa4770a5b --- /dev/null +++ b/keyboards/handwired/3dp660_oled/readme.md @@ -0,0 +1,28 @@ +# handwired/3dp660_oled + +![handwired/3dp660_oled](https://i.imgur.com/AQ6VQfgh.jpg) + +*A handwired FC660 layout with OLED display support.* + +* Keyboard Maintainer: [xia0](https://github.com/xia0) +* Hardware Supported: ATmega32U4 e.g. Arduino Pro Micro or Teensy 2.0 + * Note: If using a Pro Micro, pins B0 and D5 are required. [Click for details](https://golem.hu/guide/pro-micro-upgrade/). +* Hardware Availability: [Printables](https://www.printables.com/model/464322-3dp-fc660-v3-oled-hand-wired-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make handwired/3dp660_oled:default + +Flashing example for this keyboard: + + make handwired/3dp660_oled: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 MCU or short RST to GND. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/3dp660_oled/rules.mk b/keyboards/handwired/3dp660_oled/rules.mk new file mode 100644 index 000000000000..c80812f6e0a4 --- /dev/null +++ b/keyboards/handwired/3dp660_oled/rules.mk @@ -0,0 +1 @@ +# This file is intentionally blank diff --git a/keyboards/handwired/42/config.h b/keyboards/handwired/42/config.h index 57a8664649be..fa9a83d08ec4 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 dccafc6d86ad..e2cc8dbf716f 100644 --- a/keyboards/handwired/42/info.json +++ b/keyboards/handwired/42/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.3" }, + "bluetooth": { + "driver": "bluefruit_le" + }, + "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/42/rules.mk b/keyboards/handwired/42/rules.mk index 15cf817e7e31..0c5b506f63f0 100644 --- a/keyboards/handwired/42/rules.mk +++ b/keyboards/handwired/42/rules.mk @@ -15,4 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/6key/config.h b/keyboards/handwired/6key/config.h deleted file mode 100644 index 0ba89040c74a..000000000000 --- a/keyboards/handwired/6key/config.h +++ /dev/null @@ -1,20 +0,0 @@ - /* Copyright 2020 Bratzworth - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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_PINS { C6 } diff --git a/keyboards/handwired/6key/info.json b/keyboards/handwired/6key/info.json index 39c26006d6e5..8e33a60e2e8d 100644 --- a/keyboards/handwired/6key/info.json +++ b/keyboards/handwired/6key/info.json @@ -13,6 +13,9 @@ "rows": ["B4", "D0"] }, "diode_direction": "COL2ROW", + "dip_switch": { + "pins": ["C6"] + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/handwired/6macro/config.h b/keyboards/handwired/6macro/config.h index 55716a3b7a78..248e43f88e72 100644 --- a/keyboards/handwired/6macro/config.h +++ b/keyboards/handwired/6macro/config.h @@ -17,18 +17,4 @@ 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 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 RGB_MATRIX_LED_COUNT 10 diff --git a/keyboards/handwired/6macro/info.json b/keyboards/handwired/6macro/info.json index 5bc9833fa52d..63dc42e7db6d 100644 --- a/keyboards/handwired/6macro/info.json +++ b/keyboards/handwired/6macro/info.json @@ -8,11 +8,23 @@ "pid": "0x0037", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "static_gradient": true + } + }, "ws2812": { "pin": "D2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B0", "B1", "B2"], diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h index 629111515849..fa8d618c7476 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 dfa762ce817e..e71156e9882f 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/aek64/keymaps/4sstylz/keycodes.h b/keyboards/handwired/aek64/keymaps/4sstylz/keycodes.h deleted file mode 100644 index 9898fe0df365..000000000000 --- a/keyboards/handwired/aek64/keymaps/4sstylz/keycodes.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - * Version 2, December 2004 - * - * Copyright (C) 2019 4sStylZ <4sstylz@protonmail.ch> - * - * Everyone is permitted to copy and distribute verbatim or modified - * copies of this license document, and changing it is allowed as long - * as the name is changed. - * - * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - * TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - * - * 0. You just DO WHAT THE FUCK YOU WANT TO. - */ -#include QMK_KEYBOARD_H - -/** - * Macro for selecting all the text in the document. - * Usual shortcut :â€ŊCtrl+A. - * - * @param keyrecord_t *record - * - * @return void - */ -void select_all(keyrecord_t *record) { - if (record->event.pressed) { - register_code(KC_LCTL); - tap_code(KC_A); - unregister_code(KC_LCTL); - } -} - -/** - * Macro for selecting the current row. - * - * @param keyrecord_t *record - * - * @return void - */ -void select_row(keyrecord_t *record) { - if (record->event.pressed) { - tap_code(KC_HOME); - register_code(KC_LSFT); - tap_code(KC_END); - unregister_code(KC_LSFT); - } -} - -/** - * Macro for selecting the current word. - * Usage : You need to have the cursor into the word or directly at the right. - * - * - * Usual shortcut :â€ŊCtrl+A. - * - * @param keyrecord_t *record - * - * @return void - */ -void select_word(keyrecord_t *record) { - if (record->event.pressed) { - register_code(KC_LCTL); - tap_code(KC_LEFT); - register_code(KC_LSFT); - tap_code(KC_RIGHT); - unregister_code(KC_LSFT); - unregister_code(KC_LCTL); - } -} - -/** - * Macro for inserting two 0 with keypad. - * Be carefull to have the keypad lock enabled - * - * @param keyrecord_t *record - * - * @return void - */ -void insert_00(keyrecord_t *record) { - if (record->event.pressed) { - tap_code(KC_P0); - tap_code(KC_P0); - } -} diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c deleted file mode 100644 index 8f136b51fd03..000000000000 --- a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c +++ /dev/null @@ -1,115 +0,0 @@ -#include QMK_KEYBOARD_H -#include - -// Implement Super-altâ†Ŋtab -// See https://docs.qmk.fm/#/feature_macros?id=super-altâ†Ŋtab -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; - -// Defining all the custom keycodes. -enum custom_keycodes { - ALT_TAB = SAFE_RANGE, - SLC_ROW, - SLC_ALL, - SLC_WRD -}; - -const uint16_t PROGMEM lock_combo[] = {KC_J, KC_K, KC_L, KC_SCLN, COMBO_END}; -combo_t key_combos[] = {COMBO(lock_combo, LGUI(KC_O))}; - -// Define the keycodes for one qwerty layer and one Fn layer. -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty - * ┌──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮─────────────┐ - * │ ` Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bksp │ - * ├──────â”ī──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾─────┮───────â”Ī - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ - * ├─────────────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾─────â”ī┐ Enter│ - * │ Layer 2 │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ - * ├──────┮──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────â”ī──────â”ī──────â”Ī - * │ Shift│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ - * ├──────┾──────┾──────┾──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────┾──────┮──────┮──────â”Ī - * │ Ctrl │ Alt │â†ŊATab │ Space │ Gui │ Alt │ Ctrl │ - * └──────â”ī──────â”ī──────â”ī──────────────────────────────────────────────────────────────â”ī──────â”ī──────â”ī──────┘ - * - * Hidden features : - * - Left Shift is also Home on a single tap. - * - Left Ctrl is also End on a single tap. - * - Right Shift is also page-up on a single tap. - * - Right Ctrl is also page-down on a single tap. - * - Press JKLM for Windows + L (Session lock) - */ - [0] = LAYOUT( - QK_GESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, - MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , - SC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SC_RSPC , - SC_LCPO , KC_LGUI, KC_LALT, KC_SPC, KC_APP , KC_RALT, SC_RCPC - ), - - /* 1: second layer for media keys and many advanced features ç - * ┌──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮──────┮─────────────┐ - * │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ - * ├──────â”ī──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾─────┮───────â”Ī - * │ │ │PrtScn│ Brt+ │ Brt- │Ctrl A│ Home │ Up │ End │ â€― â€Ŋ│ ↑ â€Ŋâ€Ŋâ€Ŋâ€Ŋ│ âļŪ â€Ŋ │ │ │ - * ├─────────────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾─────â”ī┐ │ - * │ │ Cut │ Copy │Paste │ Del │ Del │ Left │ Down │Right │ ← │ ↓ │ → │ │ │ - * ├──────┮──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────┾──────â”ī──────â”ī──────â”Ī - * │ │ │ Mute │ Vol- │ Vol+ │ │ │ │ │ │ │Reset │ │ - * ├──────┾──────┾──────┾──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────â”ī──────┾──────┮──────┮──────â”Ī - * │ │ │ │ │ │ │ │ - * └──────â”ī──────â”ī──────â”ī──────────────────────────────────────────────────────────────â”ī──────â”ī──────â”ī──────┘ - */ - [1] = LAYOUT( - LALT(KC_F4), KC_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 , - _______ , _______ , SLC_ALL , SLC_ROW , SLC_WRD , _______, KC_BSPC, KC_HOME, KC_UP , KC_END , KC_BRIU, KC_BRID , KC_PSCR, - _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_ENT , KC_LEFT, KC_DOWN, KC_RIGHT, BL_TOGG, BL_STEP , BL_BRTG, _______, - _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , ALT_TAB, _______, _______, _______, _______ , _______, QK_BOOT , _______ , - _______ , _______ , _______ , _______, _______ , _______, _______ - ) -}; - -// Set the unicode input mode for using UC. -void matrix_init_user(void) { - set_unicode_input_mode(UNICODE_MODE_LINUX); -} - -// Processing all the key pressed. -// Alt+tab. -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - // Depending keycodesâ€Ķ - switch (keycode) { // This will do most of the grunt work with the keycodes. - case ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - break; - case SLC_ALL: - select_all(record); - break; - case SLC_ROW: - select_row(record); - break; - case SLC_WRD: - select_word(record); - break; - } - return true; -} - -void matrix_scan_user(void) { // The very important timer. - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > 750) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } -} diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/rules.mk b/keyboards/handwired/aek64/keymaps/4sstylz/rules.mk deleted file mode 100644 index ab1e438182a3..000000000000 --- a/keyboards/handwired/aek64/keymaps/4sstylz/rules.mk +++ /dev/null @@ -1 +0,0 @@ -COMBO_ENABLE = yes diff --git a/keyboards/handwired/alcor_dactyl/info.json b/keyboards/handwired/alcor_dactyl/info.json index 8d59a107f700..405436b6f5fb 100644 --- a/keyboards/handwired/alcor_dactyl/info.json +++ b/keyboards/handwired/alcor_dactyl/info.json @@ -27,7 +27,7 @@ "rows": ["GP5", "GP4", "GP3", "GP2", "GP1", "GP0"] }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"x": 0, "y": 0.375}, {"x": 16.5, "y": 0.38} diff --git a/keyboards/handwired/amigopunk/rules.mk b/keyboards/handwired/amigopunk/rules.mk index 395f25f859ec..9c75f75d52d3 100644 --- a/keyboards/handwired/amigopunk/rules.mk +++ b/keyboards/handwired/amigopunk/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/handwired/angel/config.h b/keyboards/handwired/angel/config.h index 3439d8c8c18c..ee492503d123 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 6f44c0cbba3c..b20b3099e9ae 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 cecaefe80de8..820851f803ef 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<. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#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 -#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 * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/atreus50/info.json b/keyboards/handwired/atreus50/info.json index cb1d6f6f0a6b..3df8e9f7bb1c 100644 --- a/keyboards/handwired/atreus50/info.json +++ b/keyboards/handwired/atreus50/info.json @@ -8,6 +8,22 @@ "pid": "0x040D", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h b/keyboards/handwired/atreus50/keymaps/ajp10304/config.h deleted file mode 100644 index 4f15c5626969..000000000000 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021 Alan Pocklington - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS - -#define MATRIX_ROW_PINS { D4, D5, C7, C6 } -#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, D7, D1, B7, D0, B3, B2, B1, B0 } - -#endif diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c deleted file mode 100644 index d807df047d2b..000000000000 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c +++ /dev/null @@ -1,222 +0,0 @@ -/* Copyright 2021 Alan Pocklington - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_uk.h" -#include "ajp10304.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 | ;: | Enter| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | V | B | | N | M | ,< | .> | /? | Shft | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 | - * `-------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC , - MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, 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(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2) -), - -/* Colemak-DHm - * ,-----------------------------------------| |-----------------------------------------. - * | Esc | Q | W | F | P | B | | J | L | U | Y | ;: | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | A | R | S | T | G | | M | N | E | I | O | Enter| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | D | V | | K | H | ,< | .> | /? | Shft | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 | - * `-------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC , - MT(MOD_LSFT, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, MT(MOD_RSFT, KC_ENT) , - KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT , - MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2) -), - -/* Function - * ,------------------------------------------ |-----------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | ~ |INSERT| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| \| | `ÂŽ | #~ | * | -_ | | =+ | \| | [{ | ]} | '@ |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Mouse | MENU | Alt | Ctrl | Fn | - * `-------------------------------------------------------------------------------------------------' - */ -[_FUNC] = 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, UK_TILD, KC_INSERT , - KC_LSFT, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_PAST, KC_MINS, KC_EQL, KC_BSLS, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) , - _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_MOUSE), _______, _______, _______, _______ -), - -/* Lower - * ,------------------------------------------ |-----------------------------------------. - * | 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | DEL | Bksp | - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | ! | " | ÂĢ | $ | % | ^ | | & | * | ( | ) |WrdDel|WrdBks| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| \| | `ÂŽ | #~ | '@ | -_ | | =+ | #~ | [{ | ]} | '@ |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC , - LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), LCTL(KC_DEL), LCTL(KC_BSPC) , - SC_LSPO, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_QUOT, KC_MINS, KC_EQL, KC_NONUS_HASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) , - _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,------------------------------------------ |-----------------------------------------. - * | ` | |WRDSEL| [ | ] | | | | PGUP | HOME |PGDOWN| |PRNTSC| - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | ` | | | ( | ) | | | | HOME | UP | END | |ZOOM +| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | { | } | | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -| - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------| - * | Mouse| | | | | Alt | Ctrl | Alt |Enter |Raise | | | | | - * `-------------------------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT( - KC_GRV, XXXXXXX, M_WORD_SEL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDN, XXXXXXX, KC_PSCR , - KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) , - _______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) , - MO(_MOUSE), _______, _______, _______, _______, KC_LALT, _______, _______, KC_ENT, _______, XXXXXXX, _______, _______, _______ -), - -/* Adjust (Lower + Raise) - * ,------------------------------------------ |------------------------------------------. - * | ???? | Reset|Qwerty| | | REC1 | | REC2 | | | | | Del | - * |------+------+------+------+------+------- |------+------+------+------+------+-------| - * | CAPS | | | | | PLAY1| | PLAY2| Mute | Vol+ | Play | |Qwerty | - * |------+------+------+------+------+------| |------+------+------+------+------+-------| - * | PC/MC| | | | | STOP | | STOP | Prev | Vol- | Next | |Colemak| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+-------| - * | | | | | | | | | | | | | | | - * `--------------------------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT( - M_CUSTOM, QK_BOOT, QWERTY, _______, _______, DM_REC1, DM_REC2, _______, _______, _______, _______, KC_DEL , - KC_CAPS, _______, _______, _______, _______, DM_PLY1, DM_PLY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, QWERTY , - TG(_MAC), _______, _______, _______, _______, DM_RSTP, DM_RSTP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, COLEMAK , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -/* Mouse - * ,------------------------------------------ |-----------------------------------------. - * | ESC | | | | | | | WH_L | WH_UP| BTN3 | WH_D | WH_R | | - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | ACC0 | ACC1 | ACC2 | | | | | | BTN1 | UP | BTN2 | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ACC0 | ACC1 | ACC2 | | | | | | LEFT | DOWN |RIGHT | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ -[_MOUSE] = LAYOUT( - KC_ESC , _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_UP, KC_MS_BTN3, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______ , - KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______ , - KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - - -/* Num Pad - * ,------------------------------------------ |-----------------------------------------. - * | ESC | | | | | | |NMLOCK| 7 | 8 | 9 | / | | - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | | | | | | | | | 4 | 5 | 6 | * | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | 1 | 2 | 3 | + | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------| - * | | | | | | | | | | 0 | . | , | - | | - * `-------------------------------------------------------------------------------------------------' - */ -[_NUMPAD] = LAYOUT( - _______, _______, _______, _______, _______, _______, KC_NUM, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, _______, - _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, KC_COMM, KC_KP_MINUS, _______ -), - - -/* Function 2 (Right hand side) - * ,------------------------------------------ |-----------------------------------------. - * | | |WRDSEL| | | | | LNDEL| | | | | | - * |------+------+------+------+------+------- |------+------+------+------+------+------| - * | | | LNSEL| DUP | | | | | |LNJOIN| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | UNDO | CUT | COPY | PASTE| | | | | | | | MODE | - * |------+------+------+------+------+------|------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ -[_FUNC2] = LAYOUT( - _______, _______, M_WORD_SEL, _______, _______, _______, M_LINE_DEL, _______, _______, _______, _______, _______, - _______, _______, M_LINE_SEL, M_DUP, _______, _______, _______, M_JOIN, _______, _______, _______, _______, - _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M_MODE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MAC] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - MFNC, _______, _______, _______, MLWR, _______, _______, _______, _______, MRSE, _______, _______, _______, MFNC2 -), - -[_MLWR] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MRSE] = LAYOUT( - _______, _______, M_WORD_SEL_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) , - _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MFNC] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), - -[_MFNC2] = LAYOUT( - _______, _______, M_WORD_SEL_MAC, _______, _______, _______, M_LINE_DEL_MAC, _______, _______, _______, _______, _______, - _______, _______, M_LINE_SEL_MAC, M_DUP_MAC, _______, _______, _______, M_JOIN_MAC, _______, _______, _______, _______, - _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M_MODE_MAC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) - -}; diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md deleted file mode 100644 index 6ba052065d7f..000000000000 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md +++ /dev/null @@ -1,130 +0,0 @@ -# AJP10304 Custom Atreus50 Layout -# Also available for the Planck, Shark, Quark and JJ40 - -**Note:** In the tables below where there are two characters on a key, -the second is the output when shift is applied. - -**Note:** The below tables assume a UK layout. - -#### Flashing -Refer to the README.md of the keyboard you want to flash. - -##### Main Qwerty Layer - -* Tab: when held, operates as shift. -* Enter: when held, operates as shift. -* MENU: perform right-click - -| | | | | | | | | | | | | | | -| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:| -| Esc | Q | W | E | R | T | | | Y | U | I | O | P | Bksp | -| Tab | A | S | D | F | G | | | H | J | K | L | ;: | Enter| -| Shft | Z | X | C | V | B | | | N | M | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 | - -##### Main Colemak-DHm Layer - -| | | | | | | | | | | | | | | -| ---- |:----:| :---:|:---:|:-----:|:----:| :---:| :---:|:-----:|:-----:|:-----:|:----:|:----:| ----:| -| Esc | Q | W | F | P | B | | | J | L | U | Y | ;: | Bksp | -| Tab | A | R | S | T | G | | | M | N | E | I | O | Enter| -| Shft | Z | X | C | D | V | | | K | H | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI | Lower | Bksp | Ctrl | Alt | Space | Raise | Shift | MENU | Ctrl | Fn2 | - - -##### Function Layer -Activated when `fn` held in the above `qwerty` layer. - -| | | | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| F1 | F2 | F3 | F4 | F5 | F6 | | | F7 | F8 | F9 | F10 | F11 | F12 | -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | | | 7& | 8* | 9( | 0) | ~ |INSERT| -| Shift | \| | `ÂŽ | #~ | * | -_ | | | =+ | \| | [{ | ]} | '@ |Shift | -| Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Mouse | MENU | Alt | Ctrl | Fn2 | - -##### Lower Layer -Activated when `Lower` is held in the above `qwerty` layer. - -* Numbers are along the top row, their shifted counterparts are on row 2. -* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word. -* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word. - -| | | | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| 1! | 2" | 3ÂĢ | 4$ | 5% | 6^ | | | 7& | 8* | 9( | 0) | DEL | Bksp | -| ! | " | ÂĢ | $ | % | ^ | | | & | * | ( | ) |WrdDel|WrdBks| -| Shift | \| | `ÂŽ | #~ | '@ | -_ | | | =+ | #~ | [{ | ]} | '@ |Shift | -| | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play | - -##### Raise Layer -Activated when `Raise` is held in the above `qwerty` layer. - -* Preferred layer for typing brackets. -* Allows for cursor navigation to be used solely with the right hand. -* WRDSEL: Select the word where the cursor is. -* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping. - -| | | | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| -| ` | |WRDSEL| [ | ] | | | | | PGUP | HOME |PGDOWN| |PRNTSC| -| ` | | | ( | ) | | | | | HOME | UP | END | |ZOOM +| -| | | | { | } | | | ||<| LEFT | DOWN |RIGHT |>||ZOOM -| -| Mouse | | | | | Alt | Ctrl | Alt | Enter |Raise | | | | | - -##### Lower + Raise -Activated when `Lower` and `Raise` are held together in the above `qwerty` layer. - -* Audio controls in the same position as cursor keys from the `Raise` layer. -* ????: Runs a macro for outputting a text string. Do not use this store passwords. -* Reset: Enter bootloader for flashing firmware to the keyboard. -* CAPS: Toggle caps lock. -* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2. -To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2. -* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, -MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively. - -| | | | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|:-------:| -| ???? | Reset|Qwerty| | | REC1 | | | REC2 | | | | | Del | -| CAPS | | | | | PLAY1| | |PLAY2 | Mute | Vol+ | Play | | Qwerty | -| MAC | | | | | STOP1| | |STOP2 | Prev | Vol- | Next | | Colemak | -| | | | | | | Ctrl | Alt | | | DYN | | | | - -##### Function 2 Layer -Activated when `fn` held in the above `qwerty` layer. -* WRDSEL: Select the word where the cursor is. -* LNDEL: Delete the line where the cursor is. -* LNSEL: Select the line where the cursor is. -* DUP: Duplicate the selected text. -* LNJOIN: Join the line where the cursor is with the following line. -* MODE: Print either `PC` or `OSX` depending on what layer mode is active. - -| | | | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | |WRDSEL| | | | | | LNDEL| | | | | | -| | | LNSEL| DUP | | | | | | |LNJOIN| | | | -| | UNDO | CUT | COPY | PASTE| | | | | | | | | MODE | -| | | | | | | Ctrl | Alt | | | | | | | - -##### Mouse Layer -Activated when `fn` and `raise` held together. - -| | | | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| ESC | | | | | | | | W_L | W_UP | BTN3 | W_DWN| W_R | | -| ACC0 | ACC1 | ACC2 | | | | | | | BTN1 | UP | BTN2 | | | -| ACC0 | ACC1 | ACC2 | | | | | | | LEFT | DOWN | RIGHT| | | -| | | | | | | Ctrl | Alt | | | | | | | - -##### Number Pad Layout -Activated when holding `Esc` key. - -| | | | | | | | | | | | | | | -| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| | | | | | | | |NMLOCK| 7 | 8 | 9 | / | | -| | | | | | | | | | 4 | 5 | 6 | * | | -| | | | | | | | | | 1 | 2 | 3 | + | | -| | | | | | | Ctrl | Alt | | 0 | . | , | - | | - - - diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk b/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk deleted file mode 100644 index 900dbaed11ac..000000000000 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_ENABLE = no -MOUSEKEY_ENABLE = yes -BOOTLOADER = halfkay diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c index cbcc5fc6f8f7..c9de095cf895 100644 --- a/keyboards/handwired/atreus50/keymaps/default/keymap.c +++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c @@ -94,20 +94,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef AUDIO_ENABLE -float tone_startup[][2] = { - {NOTE_B5, 20}, - {NOTE_B6, 8}, - {NOTE_DS6, 20}, - {NOTE_B6, 8} -}; +// float tone_startup[][2] = { +// {NOTE_B5, 20}, +// {NOTE_B6, 8}, +// {NOTE_DS6, 20}, +// {NOTE_B6, 8} +// }; float tone_qwerty[][2] = SONG(QWERTY_SOUND); float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_goodbye[][2] = SONG(GOODBYE_SOUND); - -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); #endif void persistent_default_layer_set(uint16_t default_layer) { @@ -178,36 +175,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; }; - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif -} - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick - PLAY_SONG(tone_startup); -} - -void shutdown_user(void) -{ - PLAY_SONG(tone_goodbye); - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk index 7422e738735d..a41273f89001 100644 --- a/keyboards/handwired/battleship_gamepad/rules.mk +++ b/keyboards/handwired/battleship_gamepad/rules.mk @@ -1,5 +1,3 @@ -SRC += analog.c - # Build Options # change yes to no to disable # diff --git a/keyboards/handwired/bdn9_ble/info.json b/keyboards/handwired/bdn9_ble/info.json index eb6e57abdec4..e5c947945370 100644 --- a/keyboards/handwired/bdn9_ble/info.json +++ b/keyboards/handwired/bdn9_ble/info.json @@ -8,7 +8,11 @@ "pid": "0x1134", "device_version": "1.0.0" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "backlight": { + "driver": "timer", "pin": "F6", "levels": 5 }, diff --git a/keyboards/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk index c9d3996b93ef..0dafe2f289e1 100644 --- a/keyboards/handwired/bdn9_ble/rules.mk +++ b/keyboards/handwired/bdn9_ble/rules.mk @@ -15,4 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h index 75eb7537b2b5..65cc76694543 100644 --- a/keyboards/handwired/bento/rev1/config.h +++ b/keyboards/handwired/bento/rev1/config.h @@ -16,22 +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 -#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 - /* 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/bento/rev1/info.json b/keyboards/handwired/bento/rev1/info.json index 555731bdd585..6730c14a3611 100644 --- a/keyboards/handwired/bento/rev1/info.json +++ b/keyboards/handwired/bento/rev1/info.json @@ -8,6 +8,24 @@ "pid": "0xDAD3", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/brain/config.h b/keyboards/handwired/brain/config.h index 61dddcd9c27c..91253b16957a 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 0454b36669ca..910a628ca6a2 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/brain/keymaps/klackygears/config.h b/keyboards/handwired/brain/keymaps/klackygears/config.h deleted file mode 100644 index b572858448b6..000000000000 --- a/keyboards/handwired/brain/keymaps/klackygears/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2020 James Smith - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 PERMISSIVE_HOLD -#define TAPPING_TERM 150 - -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_RAINBOW_SWIRL_RANGE -#define RGBLIGHT_RAINBOW_SWIRL_RANGE 75 -#define RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_SNAKE_LENGTH -#define RGBLIGHT_EFFECT_SNAKE_LENGTH 20 -#define RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_KNIGHT_LENGTH -#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 20 - -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1 / 127 diff --git a/keyboards/handwired/brain/keymaps/klackygears/keymap.c b/keyboards/handwired/brain/keymaps/klackygears/keymap.c deleted file mode 100644 index 07185446db69..000000000000 --- a/keyboards/handwired/brain/keymaps/klackygears/keymap.c +++ /dev/null @@ -1,99 +0,0 @@ -#include QMK_KEYBOARD_H -#include "klackygears.h" - -//For an explanation of what's going on here with the keymap wrappers, check out drashna's user folder. - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_WINBASE] = LAYOUT_wrapper( - _______________DVORAK_L1___________________, KC_ESC, KC_GAMER, _______________DVORAK_R1___________________, - RGB_TOG, _______________DVORAK_L2___________________, _______, KC_GAMR1, _______________DVORAK_R2___________________, RGB_TOG, - RGB_MOD, _______________WINDVK_L3___________________, _______, KC_GAMR2, _______________WINDVK_R3___________________, RGB_MOD, - _______, _______, __________________WIN_THUMB_CLUSTER_V2______________ , _______, _______, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ), - - [_MACBASE] = LAYOUT_wrapper( - _______________DVORAK_L1___________________, KC_ESC, _______, _______________DVORAK_R1___________________, - RGB_TOG, _______________DVORAK_L2___________________, _______, _______, _______________DVORAK_R2___________________, RGB_TOG, - RGB_MOD, _______________MACDVK_L3___________________, _______, _______, _______________MACDVK_R3___________________, RGB_MOD, - _______, _______, __________________MAC_THUMB_CLUSTER_V2______________ , _______, _______, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ), - - - [_QWERTY] = LAYOUT_wrapper( - _________________QWERTY_L1_________________, KC_ESC, _______, _________________QWERTY_R1_________________, - KC_CAPS, _________________QWERTY_L2_________________, _______, _______, _________________QWERTY_R2_________________, KC_ENT, - KC_LSFT, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, KC_RSFT, - KC_LCTL, KC_LALT, KC_LGUI, MO(_MNMB), MO(_SYMB), MO(_SYMB), MO(_MNMB), KC_RGUI, MO(_MDIA), MO(_FUNC), - KC_LSFT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RSFT - ), - //Jedi - Fallen Order - [_GAMER] = LAYOUT_wrapper( - KC_R, KC_Q, KC_W, KC_E, KC_1, KC_ESC, KC_WINBASE, _________________RGB_1_____________________, - KC_TAB, KC_F, KC_A, KC_S, KC_D, KC_2, LSFT(KC_F2), KC_GAMR1, _________________RGB_2_____________________, RGB_TOG, - KC_TAB, KC_TAB, KC_X, KC_Z, KC_C, KC_3, KC_M, KC_GAMR2, _________________MEDIA_____________________, RGB_MOD, - KC_LCTL, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, _______, KC_UP, _______, _______, _______, - KC_NO, KC_LSFT, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - //Borderlands - [_GAMR1] = LAYOUT_wrapper( - KC_R, KC_G, KC_W, KC_E, KC_1, KC_ESC, KC_WINBASE, _________________RGB_1_____________________, - KC_TAB, KC_V, KC_A, KC_S, KC_D, KC_2, KC_L, KC_GAMR1, _________________RGB_2_____________________, RGB_TOG, - KC_T, KC_I, KC_F, KC_Q, KC_4, KC_3, KC_M, KC_GAMR2, _________________MEDIA_____________________, RGB_MOD, - KC_X, KC_K, KC_C, KC_LSFT, KC_SPC, _______, KC_UP, _______, _______, _______, - KC_Z, KC_LSFT, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - //Witcher - [_GAMR2] = LAYOUT_wrapper( - KC_R, KC_Q, KC_W, KC_E, KC_1, KC_ESC, KC_WINBASE, _________________RGB_1_____________________, - KC_TAB, KC_LALT, KC_A, KC_S, KC_D, KC_2, KC_J, KC_GAMR1, _________________RGB_2_____________________, RGB_TOG, - KC_X, KC_I, KC_F, KC_C, KC_V, KC_3, KC_M, KC_GAMR2, _________________MEDIA_____________________, RGB_MOD, - KC_LCTL, KC_V, KC_HOME, KC_LSFT, KC_SPC, _______, KC_UP, _______, _______, _______, - KC_ENT, KC_LCTL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT - ), - - [_SYMB] = LAYOUT_wrapper( - _________________PUNC_L1_ALT_______________, _______, _______, _________________PUNC_R1___________________, - _______, _________________PUNC_L3___________________, _______, _______, _________________PUNC_R2___________________, _______, - RGB_MOD, _________________PUNC_L3_ALT_______________, _______, _______, _________________PUNC_R3___________________, _______, - _______, _______, _______, _______, KC_DEL, KC_CAPS, _______, _______, _______, _______, - _______, _______, KC_DEL, KC_CAPS, _______, _______ - ), - - [_FUNC] = LAYOUT_wrapper( - _____________FUNC_L1_______________________, _______, _______, _______, _____________FUNC_1_______________, - _______, ________MAC_MISSION_CTRL__________, LGUI(KC_L), _______, _______, _______, _____________FUNC_2_______________, _______, - RGB_MOD, _____________FUNC_L3_______________________, _______, _______, _______, _____________FUNC_3_______________, _______, - _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, - _______, _______, _______, KC_CAPS, _______, _______ - ), - - [_MNMB] = LAYOUT_wrapper( - _________________MACNAV_L1_________________, _______, _______, _________________NUMB_R1___________________, - _______, _________________MACNAV_L2_________________, _______, _______, _________________NUMB_R2___________________, _______, - RGB_MOD, _________________MACNAV_L3_________________, _______, _______, _________________NUMB_R3_MAC_______________, _______, - _______, _______, _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT, _______, _______, - _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT - ), - - - [_NUMB] = LAYOUT_wrapper( - _________________WINNAV_L1_________________, _______, _______, _________________NUMB_R1___________________, - _______, _________________WINNAV_L2_________________, _______, _______, _________________NUMB_R2___________________, _______, - RGB_MOD, _________________WINNAV_L3_________________, _______, _______, _________________NUMB_R3_WIN_______________, _______, - _______, _______, _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT, _______, _______, - _______, _______, _______, _______, RSFT_T(KC_ENT), KC_RSFT - ), - - [_MDIA] = LAYOUT_wrapper( - _________________LYOUT_____________________, _______, RGB_TOG, _________________RGB_1_____________________, - _______, _________________KC_BLANK__________________, _______, _______, _________________RGB_2_____________________, _______, - RGB_MOD, _________________KC_BLANK__________________, _______, _______, _________________MEDIA_____________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ) - - }; diff --git a/keyboards/handwired/brain/keymaps/klackygears/rules.mk b/keyboards/handwired/brain/keymaps/klackygears/rules.mk deleted file mode 100644 index 26c9daf6ad33..000000000000 --- a/keyboards/handwired/brain/keymaps/klackygears/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ - -RGBLIGHT_ENABLE = yes #Enable WS2812 RGB underlight. -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h index 677804cbe9b1..4d245e80e4b1 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 2cb9a7a4d94b..0bbdefe92166 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 9a1946bb60fb..91a488483f89 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 8cafa3c6f3bb..b6b7cecec24f 100644 --- a/keyboards/handwired/co60/rev7/config.h +++ b/keyboards/handwired/co60/rev7/config.h @@ -23,21 +23,5 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* RGB underglow configuration */ -#define WS2812_SPI SPID1 +#define WS2812_SPI_DRIVER SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 - -#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 - -#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 1f1c2a2cf987..0fb11d041817 100644 --- a/keyboards/handwired/co60/rev7/info.json +++ b/keyboards/handwired/co60/rev7/info.json @@ -12,6 +12,21 @@ "pin": "B8", "breathing": true }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/handwired/colorlice/info.json b/keyboards/handwired/colorlice/info.json index 0cba4487033b..0f8383a2aaab 100644 --- a/keyboards/handwired/colorlice/info.json +++ b/keyboards/handwired/colorlice/info.json @@ -12,7 +12,7 @@ "pin": "B1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "E6", "B0", "B3"], diff --git a/keyboards/handwired/concertina/64key/config.h b/keyboards/handwired/concertina/64key/config.h index b315e309ae30..70aafa3bfd4d 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 1bca5a6fa483..2786c3345192 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 deleted file mode 100644 index bbc4eccf18e3..000000000000 --- a/keyboards/handwired/consolekeyboard/18key/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Gareth Edwards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - #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/handwired/consolekeyboard/18key/info.json b/keyboards/handwired/consolekeyboard/18key/info.json index 3a37174f3646..a49ce18c4b68 100644 --- a/keyboards/handwired/consolekeyboard/18key/info.json +++ b/keyboards/handwired/consolekeyboard/18key/info.json @@ -8,6 +8,15 @@ "pid": "0x3332", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true, + "animations": { + "breathing": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/20key/config.h b/keyboards/handwired/consolekeyboard/20key/config.h deleted file mode 100644 index bbc4eccf18e3..000000000000 --- a/keyboards/handwired/consolekeyboard/20key/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Gareth Edwards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - #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/handwired/consolekeyboard/20key/info.json b/keyboards/handwired/consolekeyboard/20key/info.json index 1dc5a331e161..c076b50fa3d0 100644 --- a/keyboards/handwired/consolekeyboard/20key/info.json +++ b/keyboards/handwired/consolekeyboard/20key/info.json @@ -8,6 +8,15 @@ "pid": "0x3432", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true, + "animations": { + "breathing": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/27key/config.h b/keyboards/handwired/consolekeyboard/27key/config.h deleted file mode 100644 index bbc4eccf18e3..000000000000 --- a/keyboards/handwired/consolekeyboard/27key/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Gareth Edwards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - #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/handwired/consolekeyboard/27key/info.json b/keyboards/handwired/consolekeyboard/27key/info.json index 86682eb0f4d0..6f9c3a7d2d07 100644 --- a/keyboards/handwired/consolekeyboard/27key/info.json +++ b/keyboards/handwired/consolekeyboard/27key/info.json @@ -8,6 +8,15 @@ "pid": "0x3433", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true, + "animations": { + "breathing": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/30key/config.h b/keyboards/handwired/consolekeyboard/30key/config.h deleted file mode 100644 index 30d9a2f459ee..000000000000 --- a/keyboards/handwired/consolekeyboard/30key/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Gareth Edwards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - #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/handwired/consolekeyboard/30key/info.json b/keyboards/handwired/consolekeyboard/30key/info.json index e2bac91ab1a7..d0b726a1ff8f 100644 --- a/keyboards/handwired/consolekeyboard/30key/info.json +++ b/keyboards/handwired/consolekeyboard/30key/info.json @@ -8,6 +8,15 @@ "pid": "0x3433", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true, + "animations": { + "breathing": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/croxsplit44/config.h b/keyboards/handwired/croxsplit44/config.h deleted file mode 100644 index 5703448756d0..000000000000 --- a/keyboards/handwired/croxsplit44/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2021 Samux6146 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 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 -#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/handwired/croxsplit44/info.json b/keyboards/handwired/croxsplit44/info.json index 399dae6c33aa..c788072d920e 100644 --- a/keyboards/handwired/croxsplit44/info.json +++ b/keyboards/handwired/croxsplit44/info.json @@ -8,6 +8,24 @@ "pid": "0x6146", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 42, + "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 + } + }, "ws2812": { "pin": "C4" }, diff --git a/keyboards/handwired/cyberstar/config.h b/keyboards/handwired/cyberstar/config.h index 813b56503697..4d9d9bf5c265 100644 --- a/keyboards/handwired/cyberstar/config.h +++ b/keyboards/handwired/cyberstar/config.h @@ -27,18 +27,3 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 #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 -#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/handwired/cyberstar/info.json b/keyboards/handwired/cyberstar/info.json index 47eaab67a731..6b2db46b1f04 100644 --- a/keyboards/handwired/cyberstar/info.json +++ b/keyboards/handwired/cyberstar/info.json @@ -8,6 +8,23 @@ "pid": "0x432A", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B4", "driver": "pwm" diff --git a/keyboards/handwired/cyberstar/rules.mk b/keyboards/handwired/cyberstar/rules.mk index 000ee78e21a2..cc9d7bb3f537 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 64364451ff12..9fc090c3ae37 100644 --- a/keyboards/handwired/d48/config.h +++ b/keyboards/handwired/d48/config.h @@ -1,23 +1,5 @@ #pragma once -/* 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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#endif - /* Audio */ #ifdef AUDIO_ENABLE #define STARTUP_SONG_DOOM SONG(E1M1_DOOM) @@ -35,9 +17,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 db3f2bbacc15..295fead5879d 100644 --- a/keyboards/handwired/d48/info.json +++ b/keyboards/handwired/d48/info.json @@ -8,6 +8,23 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A15" }, @@ -22,6 +39,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/d48/keymaps/anderson/keymap.c b/keyboards/handwired/d48/keymaps/anderson/keymap.c deleted file mode 100644 index 5ae92d2360a6..000000000000 --- a/keyboards/handwired/d48/keymaps/anderson/keymap.c +++ /dev/null @@ -1,342 +0,0 @@ -#include QMK_KEYBOARD_H -#include "taphold.h" -#include "seq.h" -#include "ds1307.h" -#include "lightmode.h" -#include - -/* Note: don't forget there's some more code in qmk_firmware/users/anderson dir */ - -#define _MAIN 0 -#define _ALPHA 1 -#define _BETA 2 - -enum custom_keycodes { - KC_MAIN = SAFE_RANGE, - KC_ALPHA, - KC_BETA, -#ifdef LIGHTMODE_ENABLE - KC_LIGHT_MODE, -#endif - KC_SEQ, - KC_SET_TIME, -}; -#ifdef LIGHTMODE_ENABLE -#endif - -/* TapHold is my own implementation of the `LT` macro. It's processed in `process_record_user()`. */ -#define TAPHOLD_CONFIG_SIZE 3 -taphold_t taphold_config[TAPHOLD_CONFIG_SIZE] = { - {.key=KC_ALPHA, .mode=TAPHOLD_LAYER, .shortAction=KC_ESC, .longAction=_ALPHA}, - {.key=KC_BETA, .mode=TAPHOLD_LAYER, .shortAction=KC_EQL, .longAction=_BETA}, - {.key=KC_RCTL, .mode=TAPHOLD_MOD, .shortAction=KC_MINS, .longAction=KC_LCTL}, -}; -uint16_t taphold_config_size = TAPHOLD_CONFIG_SIZE; -uint32_t taphold_timeout = 90; - -/* Seq is implementation of unicode macros similar to UCIS, but with unicode strings. */ -#define SEQ_CONFIG_SIZE 3 -seq_t seq_config[SEQ_CONFIG_SIZE] = { - {.sequence="temp", .result="42°C"}, - {.sequence="table", .result="â”ģ━━â”ģ"}, - {.sequence="shrug", .result="ÂŊ\\_(ツ)_/ÂŊ"} -}; -uint16_t seq_config_size = SEQ_CONFIG_SIZE; - -/* Colors */ -uint32_t layer_colors[3] = { - [_MAIN] = 0xFF0010, - [_ALPHA] = 0x4020FF, - [_BETA] = 0x20FF00, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Main layer - │MUTE │ │L_MOD│ - ┏━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━┓ - ┃ TAB ┃ Q │ W │ E │ R │ T ┃ Y │ U │ I │ O │ P ┃ BSP ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃𝛞/ESC┃ A │ S │ D │ F │ G ┃ H │ J │ K │ L │ ; ┃ RET ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃SHIFT┃ Z │ X │ C │ V │ B ┃ N │ M │ , │ . │ / ┃CTL/-┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃LCTRL┃ │ │ ALT │ GUI │SPACE┃SPACE│ ð›―/= │ ' │ │ ┃ \ ┃ - ┗━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┛ - */ - [_MAIN] = LAYOUT( - KC_MUTE, LCTL(KC_D), - 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_ALPHA,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_SLSH, KC_RCTL, - KC_LCTL, _______, _______, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_BETA, KC_QUOT, _______, _______, KC_BSLS - ), - - /* Alpha layer (𝛞) - │ │ │ │ - ┏━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━┓ - ┃ ┃PREV │PLAY │NEXT │ │NUMLK┃ - │ ^^^ │ ^ │ vvv │ ~ ┃ DEL ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃ ┃ │VOL -│VOL +│ │CPSLK┃HOME │ <-- │ v │ --> │ ` ┃ \ ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃ ┃ │ │ │ │SCRLK┃ END │ = │ [ │ ] │ ( ┃ ) ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃ - ┗━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┛ - */ - [_ALPHA] = LAYOUT( - _______, _______, - _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NUM, KC_MINS, KC_PGUP, KC_UP, KC_PGDN, KC_TILD, KC_DEL, - _______, _______, KC_VOLD, KC_VOLU, _______, KC_CAPS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_GRV, KC_BSLS, - _______, _______, _______, _______, _______, KC_SCRL, KC_END, KC_EQL, KC_LBRC, KC_RBRC, KC_LPRN ,KC_RPRN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Beta layer (ð›―) - │ │ │ │ - ┏━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”Ŋ━━━━━â”ģ━━━━━┓ - ┃ RGB ┃ 1 │ 2 │ 3 │ 4 │ 5 ┃ 6 │ 7 │ 8 │ 9 │ 0 ┃ F12 ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃L_MOD┃ F1 │ F2 │ F3 │ F4 │ F5 ┃ F6 │ F7 │ F8 │ F9 │ F10 ┃ F11 ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃ ┃Boot │Debug│ │ │TIME ┃SLEEP│ SEQ │ { │ } │PTSCR┃ ┃ - â”Ģ━━━━━╉─────┾─────┾─────┾─────┾─────╂─────┾─────┾─────┾─────┾─────╊━━━━━â”Ŧ - ┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃ - ┗━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━â”ŧ━━━━━┛ - */ - [_BETA] = LAYOUT( - _______, _______, - RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, -#ifdef LIGHTMODE_ENABLE - KC_LIGHT_MODE, -#else - _______, -#endif - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, QK_BOOT, DB_TOGG, _______, _______, KC_SET_TIME,KC_SLEP,KC_SEQ,KC_LCBR, KC_RCBR, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -static bool alpha_pressed = false; -static bool beta_pressed = false; - -static bool ctrl_pressed = false; -static bool alt_pressed = false; -static bool shift_pressed = false; -static bool gui_pressed = false; - -static bool is_in_seq = false; - -void keyboard_post_init_user(void) { - /* debug_enable = true; */ - /* debug_matrix = true; */ -} - -void eeconfig_init_user(void) { - set_unicode_input_mode(UNICODE_MODE_LINUX); -} - -void matrix_init_user(void) { -#ifdef LIGHTMODE_ENABLE - set_light_mode(SMOOTHLED, layer_colors[_MAIN]); -#endif -} - -static uint32_t last_update = 0; -static uint8_t hours, minutes, seconds; - -void matrix_scan_user(void) { - uint32_t now = timer_read32(); - if (now - last_update > 500) { - ds1307_get_time(&hours, &minutes, &seconds); - last_update = now; - } -} - -static bool is_in_set_time = false; -static char new_time[6]; -static uint8_t new_time_index = 0; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (keycode == KC_SEQ && record->event.pressed) { - seq_start(); - layer_off(_BETA); - is_in_seq = true; - return false; - } else if (is_in_seq) { - if (record->event.pressed) { - if (!seq_feed(keycode)) { - is_in_seq = false; - } - } - return false; - } - if (keycode == KC_SET_TIME && record->event.pressed) { - is_in_set_time = true; - new_time_index = 0; - } else if (is_in_set_time) { - if (!record->event.pressed && keycode >= KC_1 && keycode <= KC_0) { - new_time[new_time_index++] = (keycode == KC_0) ? 0 : keycode - KC_1 + 1; - if (new_time_index == 6) { - is_in_set_time = false; - ds1307_set_time( - (new_time[0]) * 10 + (new_time[1]), - (new_time[2]) * 10 + (new_time[3]), - (new_time[4]) * 10 + (new_time[5]) - ); - for (int i = 0; i < 6; i++) { - tap_code(KC_BACKSPACE); - } - } - } - } - - if (keycode == KC_LCTL || keycode == KC_RCTL) { - ctrl_pressed = record->event.pressed; - } else if (keycode == KC_LALT) { - alt_pressed = record->event.pressed; - } else if (keycode == KC_LSFT) { - shift_pressed = record->event.pressed; - } else if (keycode == KC_LGUI) { - gui_pressed = record->event.pressed; - } else if (keycode == KC_ALPHA) { - alpha_pressed = record->event.pressed; - } else if (keycode == KC_BETA) { - beta_pressed = record->event.pressed; - } - - if (keycode == QK_BOOT) { - rgblight_setrgb(255, 255, 0); - } -#ifdef LIGHTMODE_ENABLE - if (record->event.pressed && keycode == KC_LIGHT_MODE) { - next_light_mode(layer_colors[_MAIN]); - } -#endif - if (keycode == KC_LCTL) { - /* Some Overlay1_Enable fuckery! */ - (record->event.pressed ? register_code : unregister_code)(KC_LCTL); - return false; - } - return taphold_process(keycode, record); -} - -layer_state_t layer_state_set_user(layer_state_t state) { -#ifdef LIGHTMODE_ENABLE - uint8_t layer = get_highest_layer(state); - update_light_mode(layer_colors[layer]); -#endif - return state; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (!alpha_pressed) { - tap_code(clockwise ? KC_VOLD : KC_VOLU); - } else { - tap_code(clockwise ? KC_MPRV : KC_MNXT); - } - } else if (index == 1) { - if (!alpha_pressed) { - tap_code(clockwise ? KC_UP : KC_DOWN); - } else { - tap_code(clockwise ? KC_PGUP : KC_PGDN); - } - } - return true; -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_0; -} - -bool oled_task_user(void) { - /* Host Keyboard Layer Status */ - uint8_t current_layer = get_highest_layer(layer_state); - - /* Layer */ - static const char PROGMEM icons[4][3][6] = { - { - { 0x80, 0x81, 0x82, 0x83, 0x84, 0 }, - { 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0 }, - { 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0 } - }, - { - { 0x85, 0x86, 0x87, 0x88, 0x89, 0 }, - { 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0 }, - { 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0 } - }, - { - { 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0 }, - { 0xaa, 0xab, 0xac, 0xad, 0xae, 0 }, - { 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0 } - }, - { - { 0x8f, 0x90, 0x91, 0x92, 0x93, 0 }, - { 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0 }, - { 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0 } - } - }; - - uint8_t icon_index = current_layer == _MAIN ? 3 : current_layer == _ALPHA ? 1 : 2; - for (int i = 0; i < 3; i++) { - oled_set_cursor(0, i + 1); - oled_write_P(icons[icon_index][i], false); - } - - /* Time */ - oled_set_cursor(6, 0); - // oled_write_P(PSTR("-D48 Custom-\n"), false); - char buf[16]; - sprintf( - buf, - "%02d:%02d:%02d", hours, minutes, seconds - ); - oled_write(buf, false); - - /* Modifiers */ - static const char PROGMEM mods[][2] = { - {0x94, 0x95}, // CTL - {0x96, 0x97}, // ALT - {0x98, 0x99}, // GUI - {0x9a, 0x9b}, // SFT - /* {0x9c, 0x9d}, // EMPTY */ - }; - - char mod_data[13] = "\x9c\x9d\x9c\x9d\x9c\x9d\x9c\x9d \x07\x07\x07\0"; - if (ctrl_pressed) strncpy(mod_data, mods[0], 2); - if (alt_pressed) strncpy(mod_data + 2, mods[1], 2); - if (gui_pressed) strncpy(mod_data + 4, mods[2], 2); - if (shift_pressed) strncpy(mod_data + 6, mods[3], 2); - led_t led_usb_state = host_keyboard_led_state(); - if (led_usb_state.num_lock) mod_data[9] = 'N'; - if (led_usb_state.caps_lock) mod_data[10] = 'C'; - if (led_usb_state.scroll_lock) mod_data[11] = 'S'; - - oled_set_cursor(6, 1); - oled_write(mod_data, false); - - /* Matrix */ - static const char PROGMEM matrix_chars[] = { - 0xb4, // None - 0xb5, // Upper - 0xb6, // Lower - 0xb7 // Both - }; - - for (uint8_t row = 1; row < MATRIX_ROWS; row += 2) { - // Skip first row because it's used by the encoders. - uint16_t bits1 = matrix_get_row(row); - uint16_t bits2 = matrix_get_row(row + 1); - - for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint8_t matrix_char = matrix_chars[((bits1 & (1 << col)) ? 1 : 0) | ((bits2 & (1 << col)) ? 2 : 0)]; - oled_set_cursor(6 + col, 2 + (row - 1) / 2); - oled_write_char(matrix_char, false); - } - } - - return false; -} -#endif diff --git a/keyboards/handwired/d48/keymaps/anderson/lightmode.c b/keyboards/handwired/d48/keymaps/anderson/lightmode.c deleted file mode 100644 index bc059562144c..000000000000 --- a/keyboards/handwired/d48/keymaps/anderson/lightmode.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "lightmode.h" - -#ifdef LIGHTMODE_ENABLE - -/* Light modes switcher */ - -uint8_t light_mode = SMOOTHLED; - -void set_light_mode(light_mode_t value, uint32_t color) { - light_mode = value; - if (light_mode == SMOOTHLED) { - smoothled_set(color); - } else { - dmc12_start(color, true); - } -} - -void process_light_mode(void) { - if (light_mode == SMOOTHLED) { - smoothled_process(); - } else { - dmc12_process(); - } -} - -void update_light_mode(uint32_t color) { - if (light_mode == SMOOTHLED) { - smoothled_set(color); - } else { - dmc12_start(color, false); - } -} - -void next_light_mode(uint32_t color) { - light_mode = (light_mode + 1) % LIGHT_MODE_SIZE; - set_light_mode(light_mode, color); -} - -void matrix_scan_kb(void) { - process_light_mode(); - matrix_scan_user(); -} - -#endif diff --git a/keyboards/handwired/d48/keymaps/anderson/lightmode.h b/keyboards/handwired/d48/keymaps/anderson/lightmode.h deleted file mode 100644 index 0c81e476bbe1..000000000000 --- a/keyboards/handwired/d48/keymaps/anderson/lightmode.h +++ /dev/null @@ -1,12 +0,0 @@ -#include "smoothled.h" -#include "dmc12.h" -#include "quantum.h" - -/* Light modes */ -enum light_mode_enum { SMOOTHLED, DMC12, LIGHT_MODE_SIZE }; -typedef enum light_mode_enum light_mode_t; - -void set_light_mode(light_mode_t value, uint32_t color); -void process_light_mode(void); -void update_light_mode(uint32_t color); -void next_light_mode(uint32_t color); diff --git a/keyboards/handwired/d48/keymaps/anderson/rules.mk b/keyboards/handwired/d48/keymaps/anderson/rules.mk deleted file mode 100644 index e925b9a89f7d..000000000000 --- a/keyboards/handwired/d48/keymaps/anderson/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OPT_DEFS += -DLIGHTMODE_ENABLE -SRC += smoothled.c dmc12.c seq.c lightmode.c diff --git a/keyboards/handwired/d48/rules.mk b/keyboards/handwired/d48/rules.mk index 411362b652f0..7fa8dfdd340f 100644 --- a/keyboards/handwired/d48/rules.mk +++ b/keyboards/handwired/d48/rules.mk @@ -13,7 +13,6 @@ USE_I2C = no RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 UNICODE_ENABLE = yes SRC += ds1307.c taphold.c diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h index f37a8f2722c9..94b407d73587 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 8297e609a1cf..e95c380d9c04 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/rules.mk b/keyboards/handwired/dactyl/rules.mk index 830812f79ade..bffd901b04db 100644 --- a/keyboards/handwired/dactyl/rules.mk +++ b/keyboards/handwired/dactyl/rules.mk @@ -14,5 +14,5 @@ SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard RGBLIGHT_ENABLE = no # project specific files -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes SRC += matrix.c diff --git a/keyboards/handwired/dactyl_cc/info.json b/keyboards/handwired/dactyl_cc/info.json new file mode 100644 index 000000000000..e607bfad1a48 --- /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": "0x444E", + "pid": "0x1407", + "device_version": "1.0.0" + }, + "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.1, "w":1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 0.35}, + {"matrix": [0, 2], "x": 2.25, "y": 0.1}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0.1}, + {"matrix": [0, 5], "x": 5.25, "y": 0.1}, + + {"matrix": [6, 0], "x": 11.25, "y": 0.1}, + {"matrix": [6, 1], "x": 12.25, "y": 0.1}, + {"matrix": [6, 2], "x": 13.25, "y": 0}, + {"matrix": [6, 3], "x": 14.25, "y": 0.1}, + {"matrix": [6, 4], "x": 15.25, "y": 0.35}, + {"matrix": [6, 5], "x": 16.25, "y": 0.1, "w":1.25}, + + {"matrix": [1, 0], "x": 0, "y": 1.1, "w":1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1.35}, + {"matrix": [1, 2], "x": 2.25, "y": 1.1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1.1}, + {"matrix": [1, 5], "x": 5.25, "y": 1.1}, + + {"matrix": [7, 0], "x": 11.25, "y": 1.1}, + {"matrix": [7, 1], "x": 12.25, "y": 1.1}, + {"matrix": [7, 2], "x": 13.25, "y": 1}, + {"matrix": [7, 3], "x": 14.25, "y": 1.1}, + {"matrix": [7, 4], "x": 15.25, "y": 1.35}, + {"matrix": [7, 5], "x": 16.25, "y": 1.1, "w":1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.1, "w":1.25}, + {"matrix": [2, 1], "x": 1.25, "y": 2.35}, + {"matrix": [2, 2], "x": 2.25, "y": 2.1}, + {"matrix": [2, 3], "x": 3.25, "y": 2}, + {"matrix": [2, 4], "x": 4.25, "y": 2.1}, + {"matrix": [2, 5], "x": 5.25, "y": 2.1}, + + {"matrix": [8, 0], "x": 11.25, "y": 2.1}, + {"matrix": [8, 1], "x": 12.25, "y": 2.1}, + {"matrix": [8, 2], "x": 13.25, "y": 2}, + {"matrix": [8, 3], "x": 14.25, "y": 2.1}, + {"matrix": [8, 4], "x": 15.25, "y": 2.35}, + {"matrix": [8, 5], "x": 16.25, "y": 2.1, "w":1.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.1, "w":1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3.35}, + {"matrix": [3, 2], "x": 2.25, "y": 3.1}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3.1}, + {"matrix": [3, 5], "x": 5.25, "y": 3.1}, + + {"matrix": [9, 0], "x": 11.25, "y": 3.1}, + {"matrix": [9, 1], "x": 12.25, "y": 3.1}, + {"matrix": [9, 2], "x": 13.25, "y": 3}, + {"matrix": [9, 3], "x": 14.25, "y": 3.1}, + {"matrix": [9, 4], "x": 15.25, "y": 3.35}, + {"matrix": [9, 5], "x": 16.25, "y": 3.1, "w":1.25}, + + {"matrix": [4, 1], "x": 1.25, "y": 4.35}, + {"matrix": [4, 2], "x": 2.25, "y": 4.1}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4.1}, + + {"matrix": [10, 1], "x": 12.25, "y": 4.1}, + {"matrix": [10, 2], "x": 13.25, "y": 4}, + {"matrix": [10, 3], "x": 14.25, "y": 4.1}, + {"matrix": [10, 4], "x": 15.25, "y": 4.35}, + + {"matrix": [5, 4], "x": 6.25, "y": 5}, + {"matrix": [4, 5], "x": 7.25, "y": 5}, + + {"matrix": [10, 0], "x": 9.25, "y": 5}, + {"matrix": [11, 1], "x": 10.25, "y": 5}, + + {"matrix": [5, 1], "x": 5.25, "y": 6, "h": 2}, + {"matrix": [5, 2], "x": 6.25, "y": 6, "h": 2}, + {"matrix": [5, 5], "x": 7.25, "y": 6}, + + {"matrix": [11, 0], "x": 9.25, "y": 6}, + {"matrix": [11, 3], "x": 10.25, "y": 6, "h": 2}, + {"matrix": [11, 4], "x": 11.25, "y": 6, "h": 2}, + + {"matrix": [5, 3], "x": 7.25, "y": 7}, + {"matrix": [11, 2], "x": 9.25, "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 000000000000..49d5477f0a71 --- /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 000000000000..6422699684c4 --- /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 000000000000..49d5477f0a71 --- /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 000000000000..aad8656a06c6 --- /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 000000000000..1e5b99807cb7 --- /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 000000000000..580539639bd1 --- /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/users/mguterl/config.h b/keyboards/handwired/dactyl_cc/rules.mk similarity index 100% rename from users/mguterl/config.h rename to keyboards/handwired/dactyl_cc/rules.mk diff --git a/keyboards/handwired/dactyl_kinesis/info.json b/keyboards/handwired/dactyl_kinesis/info.json new file mode 100644 index 000000000000..91cb98e0409b --- /dev/null +++ b/keyboards/handwired/dactyl_kinesis/info.json @@ -0,0 +1,141 @@ +{ + "keyboard_name": "Dactyl Kinesis", + "manufacturer": "dmik", + "url": "", + "maintainer": "dmik", + "usb": { + "vid": "0x444D", + "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" + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F5", "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": [7, 0], "x": 11, "y": 0}, + {"matrix": [7, 1], "x": 12, "y": 0}, + {"matrix": [7, 2], "x": 13, "y": 0}, + {"matrix": [7, 3], "x": 14, "y": 0}, + {"matrix": [7, 4], "x": 15, "y": 0}, + {"matrix": [7, 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": [8, 0], "x": 11, "y": 1}, + {"matrix": [8, 1], "x": 12, "y": 1}, + {"matrix": [8, 2], "x": 13, "y": 1}, + {"matrix": [8, 3], "x": 14, "y": 1}, + {"matrix": [8, 4], "x": 15, "y": 1}, + {"matrix": [8, 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": [9, 0], "x": 11, "y": 2}, + {"matrix": [9, 1], "x": 12, "y": 2}, + {"matrix": [9, 2], "x": 13, "y": 2}, + {"matrix": [9, 3], "x": 14, "y": 2}, + {"matrix": [9, 4], "x": 15, "y": 2}, + {"matrix": [9, 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": [10, 0], "x": 11, "y": 3}, + {"matrix": [10, 1], "x": 12, "y": 3}, + {"matrix": [10, 2], "x": 13, "y": 3}, + {"matrix": [10, 3], "x": 14, "y": 3}, + {"matrix": [10, 4], "x": 15, "y": 3}, + {"matrix": [10, 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": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + + {"matrix": [11, 0], "x": 11, "y": 4}, + {"matrix": [11, 1], "x": 12, "y": 4}, + {"matrix": [11, 2], "x": 13, "y": 4}, + {"matrix": [11, 3], "x": 14, "y": 4}, + {"matrix": [11, 4], "x": 15, "y": 4}, + {"matrix": [11, 5], "x": 16, "y": 4}, + + {"matrix": [5, 0], "x": 1, "y": 5}, + {"matrix": [5, 1], "x": 2, "y": 5}, + {"matrix": [5, 2], "x": 3, "y": 5}, + {"matrix": [5, 3], "x": 4, "y": 5}, + + {"matrix": [12, 2], "x": 12, "y": 5}, + {"matrix": [12, 3], "x": 13, "y": 5}, + {"matrix": [12, 4], "x": 14, "y": 5}, + {"matrix": [12, 5], "x": 15, "y": 5}, + + {"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": [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 000000000000..05e138da72df --- /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 000000000000..69427406d12e --- /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 000000000000..6e7633bfe015 --- /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 index 2e10fda4dd98..4d581b974e09 100644 --- a/keyboards/handwired/dactyl_lightcycle/info.json +++ b/keyboards/handwired/dactyl_lightcycle/info.json @@ -4,9 +4,9 @@ "url": "https://github.com/adereth/dactyl-keyboard", "maintainer": "Matt Adereth", "usb": { - "vid": "0xFEED", - "pid": "0x3060", - "device_version": "0.0.1" + "vid": "0x444C", + "pid": "0xA460", + "device_version": "1.0.0" }, "features": { "bootmagic": true, @@ -36,173 +36,173 @@ "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, 0], "x": 0, "y": 0.35}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.1}, - {"matrix": [5, 0], "x": 11, "y": 0}, - {"matrix": [5, 1], "x": 12, "y": 0}, + {"matrix": [5, 0], "x": 11, "y": 0.1}, + {"matrix": [5, 1], "x": 12, "y": 0.1}, {"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": [5, 3], "x": 14, "y": 0.1}, + {"matrix": [5, 4], "x": 15, "y": 0.35}, + {"matrix": [5, 5], "x": 16, "y": 0.35}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1.35}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.1}, - {"matrix": [6, 0], "x": 11, "y": 1}, - {"matrix": [6, 1], "x": 12, "y": 1}, + {"matrix": [6, 0], "x": 11, "y": 1.1}, + {"matrix": [6, 1], "x": 12, "y": 1.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": [6, 3], "x": 14, "y": 1.1}, + {"matrix": [6, 4], "x": 15, "y": 1.35}, + {"matrix": [6, 5], "x": 16, "y": 1.35}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2.35}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.1}, - {"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.1, "h": 1.25}, + {"matrix": [4, 5], "x": 7, "y": 2.1, "h": 1.5}, - {"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.1, "h": 1.5}, + {"matrix": [8, 0], "x": 10, "y": 2.1, "h": 1.25}, - {"matrix": [9, 0], "x": 9, "y": 2, "h": 1.5}, - {"matrix": [8, 0], "x": 10, "y": 2, "h": 1.25}, + {"matrix": [7, 0], "x": 11, "y": 2.1}, + {"matrix": [7, 1], "x": 12, "y": 2.1}, + {"matrix": [7, 2], "x": 13, "y": 2}, + {"matrix": [7, 3], "x": 14, "y": 2.1}, + {"matrix": [7, 4], "x": 15, "y": 2.35}, + {"matrix": [7, 5], "x": 16, "y": 2.35}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 3.35}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3.1}, {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.1}, - {"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": [4, 2], "x": 5, "y": 3.1, "h": 2}, + {"matrix": [4, 3], "x": 6, "y": 3.35, "h": 1.75}, + {"matrix": [4, 4], "x": 7, "y": 3.6, "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": [9, 1], "x": 9, "y": 3.6, "h": 1.5}, + {"matrix": [9, 2], "x": 10, "y": 3.35, "h": 1.75}, + {"matrix": [9, 3], "x": 11, "y": 3.1, "h": 2}, - {"matrix": [8, 1], "x": 12, "y": 3}, + {"matrix": [8, 1], "x": 12, "y": 3.1}, {"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} + {"matrix": [8, 3], "x": 14, "y": 3.1}, + {"matrix": [8, 4], "x": 15, "y": 3.35}, + {"matrix": [8, 5], "x": 16, "y": 3.35} ] }, "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, 0], "x": 0, "y": 0.35}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.1}, - {"matrix": [5, 0], "x": 11, "y": 0}, - {"matrix": [5, 1], "x": 12, "y": 0}, + {"matrix": [5, 0], "x": 11, "y": 0.1}, + {"matrix": [5, 1], "x": 12, "y": 0.1}, {"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": [5, 3], "x": 14, "y": 0.1}, + {"matrix": [5, 4], "x": 15, "y": 0.35}, + {"matrix": [5, 5], "x": 16, "y": 0.35}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1.35}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.1}, - {"matrix": [6, 0], "x": 11, "y": 1}, - {"matrix": [6, 1], "x": 12, "y": 1}, + {"matrix": [6, 0], "x": 11, "y": 1.1}, + {"matrix": [6, 1], "x": 12, "y": 1.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": [6, 3], "x": 14, "y": 1.1}, + {"matrix": [6, 4], "x": 15, "y": 1.35}, + {"matrix": [6, 5], "x": 16, "y": 1.35}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2.35}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.1}, - {"matrix": [7, 0], "x": 11, "y": 2}, - {"matrix": [7, 1], "x": 12, "y": 2}, + {"matrix": [7, 0], "x": 11, "y": 2.1}, + {"matrix": [7, 1], "x": 12, "y": 2.1}, {"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": [7, 3], "x": 14, "y": 2.1}, + {"matrix": [7, 4], "x": 15, "y": 2.35}, + {"matrix": [7, 5], "x": 16, "y": 2.35}, - {"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": [4, 2], "x": 5, "y": 3.1, "h": 2}, + {"matrix": [4, 3], "x": 6, "y": 3.35, "h": 1.75}, + {"matrix": [4, 4], "x": 7, "y": 3.6, "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": [9, 1], "x": 9, "y": 3.6, "h": 1.5}, + {"matrix": [9, 2], "x": 10, "y": 3.35, "h": 1.75}, + {"matrix": [9, 3], "x": 11, "y": 3.1, "h": 2} ] }, "LAYOUT_split_3x5_3": { "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0}, - {"matrix": [0, 2], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 0.35}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, {"matrix": [0, 3], "x": 2, "y": 0}, - {"matrix": [0, 4], "x": 3, "y": 0}, - {"matrix": [0, 5], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.1}, - {"matrix": [5, 0], "x": 10, "y": 0}, - {"matrix": [5, 1], "x": 11, "y": 0}, + {"matrix": [5, 0], "x": 10, "y": 0.1}, + {"matrix": [5, 1], "x": 11, "y": 0.1}, {"matrix": [5, 2], "x": 12, "y": 0}, - {"matrix": [5, 3], "x": 13, "y": 0}, - {"matrix": [5, 4], "x": 14, "y": 0}, + {"matrix": [5, 3], "x": 13, "y": 0.1}, + {"matrix": [5, 4], "x": 14, "y": 0.35}, - {"matrix": [1, 1], "x": 0, "y": 1}, - {"matrix": [1, 2], "x": 1, "y": 1}, + {"matrix": [1, 1], "x": 0, "y": 1.35}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, {"matrix": [1, 3], "x": 2, "y": 1}, - {"matrix": [1, 4], "x": 3, "y": 1}, - {"matrix": [1, 5], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.1}, - {"matrix": [6, 0], "x": 10, "y": 1}, - {"matrix": [6, 1], "x": 11, "y": 1}, + {"matrix": [6, 0], "x": 10, "y": 1.1}, + {"matrix": [6, 1], "x": 11, "y": 1.1}, {"matrix": [6, 2], "x": 12, "y": 1}, - {"matrix": [6, 3], "x": 13, "y": 1}, - {"matrix": [6, 4], "x": 14, "y": 1}, + {"matrix": [6, 3], "x": 13, "y": 1.1}, + {"matrix": [6, 4], "x": 14, "y": 1.35}, - {"matrix": [2, 1], "x": 0, "y": 2}, - {"matrix": [2, 2], "x": 1, "y": 2}, + {"matrix": [2, 1], "x": 0, "y": 2.35}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, {"matrix": [2, 3], "x": 2, "y": 2}, - {"matrix": [2, 4], "x": 3, "y": 2}, - {"matrix": [2, 5], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.1}, - {"matrix": [7, 0], "x": 10, "y": 2}, - {"matrix": [7, 1], "x": 11, "y": 2}, + {"matrix": [7, 0], "x": 10, "y": 2.1}, + {"matrix": [7, 1], "x": 11, "y": 2.1}, {"matrix": [7, 2], "x": 12, "y": 2}, - {"matrix": [7, 3], "x": 13, "y": 2}, - {"matrix": [7, 4], "x": 14, "y": 2}, + {"matrix": [7, 3], "x": 13, "y": 2.1}, + {"matrix": [7, 4], "x": 14, "y": 2.35}, - {"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": [4, 2], "x": 4, "y": 3.1, "h": 2}, + {"matrix": [4, 3], "x": 5, "y": 3.35, "h": 1.75}, + {"matrix": [4, 4], "x": 6, "y": 3.6, "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} + {"matrix": [9, 1], "x": 8, "y": 3.6, "h": 1.5}, + {"matrix": [9, 2], "x": 9, "y": 3.35, "h": 1.75}, + {"matrix": [9, 3], "x": 10, "y": 3.1, "h": 2} ] } } diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json b/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json index bf48cd3139d9..a9cc3e2741cf 100644 --- a/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json @@ -7,20 +7,20 @@ "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" + "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", + "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_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" ], diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json b/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json index 3c770db69317..c1089e77110f 100644 --- a/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json @@ -3,24 +3,29 @@ "version": 1, "author": "dunk2k", "notes": "This file is a keymap(.json) file for handwired/dactyl_lightcycle", + "config": { + "features": { + "via": true + } + }, "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" + "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", + "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_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" ], diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json deleted file mode 100644 index cfe109fb3729..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/info.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "keyboard_name": "Dactyl Minidox (3x5+3)", - "manufacturer": "DLFord", - "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", - "maintainer": "dlford", - "usb": { - "vid": "0x444D", - "pid": "0x3536", - "device_version": "0.0.3" - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "WS2812" - }, - "matrix_pins": { - "cols": ["C6", "D7", "E6", "B4", "B5"], - "rows": ["B1", "B3", "B2", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "soft_serial_pin": "D0" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "community_layouts": ["split_3x5_3"], - "layouts": { - "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": [4, 0], "x": 10, "y": 0}, - {"matrix": [4, 1], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0}, - {"matrix": [4, 3], "x": 13, "y": 0}, - {"matrix": [4, 4], "x": 14, "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": [5, 0], "x": 10, "y": 1}, - {"matrix": [5, 1], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1}, - {"matrix": [5, 3], "x": 13, "y": 1}, - {"matrix": [5, 4], "x": 14, "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": [6, 0], "x": 10, "y": 2}, - {"matrix": [6, 1], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2}, - {"matrix": [6, 3], "x": 13, "y": 2}, - {"matrix": [6, 4], "x": 14, "y": 2}, - - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - - {"matrix": [7, 0], "x": 10, "y": 3}, - {"matrix": [7, 1], "x": 11, "y": 3}, - {"matrix": [7, 2], "x": 12, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk deleted file mode 100644 index f40ace960604..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Includes -SRC += features/caps_word.c - -# Build Options -# change yes to no to disable -# -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly -RGB_MATRIX_DRIVER = WS2812 -INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. -# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times -# KEY_OVERRIDE_ENABLE = yes # Override key combos -# COMBO_ENABLE = yes # Custom key combos - -LTO_ENABLE = yes -RGBLIGHT_SUPPORTED = yes -RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk deleted file mode 100644 index 38ee6f425280..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk +++ /dev/null @@ -1,18 +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 = yes # Audio output - -RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB matrix -SPLIT_KEYBOARD = yes - -RGBLIGHT_SUPPORTED = yes -RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h deleted file mode 100644 index 9a4e39dad218..000000000000 --- 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 5fdab01ef43c..141bb4771774 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/keymaps/ibnuda/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h deleted file mode 100644 index a597d848e2e6..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c deleted file mode 100644 index 9d613042c962..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c +++ /dev/null @@ -1,60 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "ibnuda.h" - -#define TAB KC_TAB -#define GUI KC_LGUI -#define MIN KC_MINS -#define SLS KC_SLSH -#define CTL KC_LCTL -#define DEL KC_DEL -#define QUE KC_QUES -#define ___ KC_NO - -// clang-format off -#define LAYOUT_dm_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - KTA, KTB, KTC, KTD, KTE, KTF \ - ) \ - LAYOUT_wrapper( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - TAB, KTA, KTF, SLS, \ - KTB, KTC, KTD, KTE, \ - CTL, DEL, QUE, CTL, \ - ___, ___, ___, ___ \ - ) - -#define LAYOUT_dm_base_wrapper(...) LAYOUT_dm_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BASE] = LAYOUT_dm_base_wrapper( - LUP, LUR, LUM, LUI, LUII, RUII, RUI, RUM, RUR, RUP, - SHLP, CTLR, ALLM, LMI, GULII, GURII, RMI, ALRM, CTRR, SHRP, - LLP, LLR, LLM, LLI, LLII, RLII, RLI, RLM, RLR, RLP, - CT_ESC, LW_E, SF_BSPC, AL_ENT, RS_SPC, TRAISE -), - -[_RAISE] = LAYOUT_dm_base_wrapper( - KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR, KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH,CT_LEFT,AL_DOWN,KC_RGHT,KC_DLR, GU_EQL, KC_4, AL_FIVE,CT_SIX, SH_ZERO , - KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS , - _______,ADDDD ,_______, _______,RS_SPC, _______ -), -[_LOWER] = LAYOUT_dm_base_wrapper( - KC_ESC, KC_QUES,KC_UNDS,KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS,KC_SLSH,KC_BSPC , - KC_LSFT,KC_PSCR,KC_PGUP,KC_F5, KC_F6, KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT , - KC_CAPS,KC_SCRL,KC_PGDN,KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_INS, KC_SLSH , - _______,_______,_______, _______,ADDDD, _______ -), -[_ADJUST] = LAYOUT_dm_base_wrapper( - _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, - TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, - _______,CLSGUI, _______,CONPST, QK_BOOT, _______,_______,_______,_______,_______, - _______,_______,_______, _______,_______,_______ -),}; -// clang-format on - diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 3860a696c886..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT( \ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ - XXX, XXX, XXX, XXX, \ - K32, K33, K36, K37, \ - K34, XXX, XXX, K35, \ - XXX, XXX, XXX, XXX \ -) diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/info.json b/keyboards/handwired/dactyl_manuform/4x5_5/info.json index 7ad7118ee472..76f13971d45b 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 cb78c9fb56b2..8d38152f969e 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 0e9620231585..5774ab7f3bd6 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 9a4e39dad218..000000000000 --- 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 7de3ef0b0d23..5b415fbd2bb7 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/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index f50033a04632..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ - XXX, XXX, XXX, XXX, \ - K32, K33, K36, K37, \ - K34, XXX, XXX, K35, \ - XXX, XXX, XXX, XXX \ -) diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md deleted file mode 100644 index b7f7cbf93800..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md +++ /dev/null @@ -1,8 +0,0 @@ -#### compile with - -`make handwired/dactyl_manuform/4x6:scheikled` - - -#### flash with - -`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheikled` diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h deleted file mode 100644 index a68c21b21596..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - - -#pragma once - -#define USE_I2C - -#define SPLIT_HAND_PIN F6 - -// WS2812 RGB LED strip input and number of LEDs -#undef WS2812_DI_PIN -#undef RGBLED_NUM -#define WS2812_DI_PIN F4 -#define RGBLED_NUM 52 -#define RGBLED_SPLIT {26, 26} -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_SNAKE - -// Amoeba royale PCBs (https://github.com/mtl/keyboard-pcbs/tree/master/amoeba-royale) use row to column layout (current can flow from row pin to column pin). -#undef DIODE_DIRECTION -#define DIODE_DIRECTION ROW2COL - -#define DEBOUNCE 5 - -#define AUTO_SHIFT_TIMEOUT 100 -#define NO_AUTO_SHIFT_SPECIAL -#define NO_AUTO_SHIFT_NUMERIC - -// require two taps for a TT layer switch (default 5) -#define TAPPING_TOGGLE 2 - -// Mouse control -// constant mode (velocity) -#define MK_3_SPEED -// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 - -// Cursor offset per movement (unmodified) -#define MK_C_OFFSET_UNMOD 16 -// Time between cursor movements (unmodified) -#define MK_C_INTERVAL_UNMOD 10 -/* #define MK_C_INTERVAL_UNMOD 16 */ - -// Cursor offset per movement (KC_ACL0) -#define MK_C_OFFSET_0 1 -// Time between cursor movements (KC_ACL0) -#define MK_C_INTERVAL_0 32 - -// Cursor offset per movement (KC_ACL1) -#define MK_C_OFFSET_1 4 -// Time between cursor movements (KC_ACL1) -#define MK_C_INTERVAL_1 16 - -// Cursor offset per movement (KC_ACL2) -#define MK_C_OFFSET_2 20 -/* #define MK_C_OFFSET_2 32 */ -// Time between cursor movements (KC_ACL2) -#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c deleted file mode 100644 index 2e92d4b86b3f..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - -/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */ - -#include QMK_KEYBOARD_H -#include "koy_keys_on_quertz_de_latin1.h" - -enum custom_layers { - _1, - _3, - _4, - _7, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_1] = LAYOUT( - KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , - MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , - KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , - KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) , - KC_LALT , KC_SPC , MO(_3) , MO(_4) , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - ), - - [_3] = LAYOUT( - - KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT , - KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT , - KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , - KC_LALT , KC_SPC , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - - [_4] = LAYOUT( - - KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS , - KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS , - KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT , - KC_TRNS , KC_TRNS , KC_0 , KC_TRNS , - KC_LALT , KC_0 , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - - [_7] = LAYOUT( - - KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , RGB_HUI , QK_BOOT , - KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , RGB_SAI , RGB_TOG , - KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , RGB_VAI , RGB_MODE_FORWARD , - KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS , - KC_LALT , KC_F10 , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - -}; diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk deleted file mode 100644 index 9991dcad7190..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2021 Paul Maria Scheikl (@ScheiklP) -# SPDX-License-Identifier: GPL-2.0-or-later - -BOOTLOADER = atmel-dfu -AUTO_SHIFT_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -NKRO_ENABLE = yes -RGBLIGHT_ENABLE = yes -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md deleted file mode 100644 index 18c4d8e78d20..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md +++ /dev/null @@ -1,8 +0,0 @@ -#### compile with - -`make handwired/dactyl_manuform/4x6:scheiklp` - - -#### flash with - -`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheiklp` diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h deleted file mode 100644 index 2db9052799e4..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - - -#define USE_I2C -#define SPLIT_HAND_PIN F6 - -#undef WS2812_DI_PIN -#undef RGBLED_NUM - -#define DEBOUNCE 5 - -#define AUTO_SHIFT_TIMEOUT 100 -#define NO_AUTO_SHIFT_SPECIAL -#define NO_AUTO_SHIFT_NUMERIC - -// require two taps for a TT layer switch (default 5) -#define TAPPING_TOGGLE 2 - -// Mouse control -// constant mode (velocity) -#define MK_3_SPEED -// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 - -// Cursor offset per movement (unmodified) -#define MK_C_OFFSET_UNMOD 16 -// Time between cursor movements (unmodified) -#define MK_C_INTERVAL_UNMOD 10 -/* #define MK_C_INTERVAL_UNMOD 16 */ - -// Cursor offset per movement (KC_ACL0) -#define MK_C_OFFSET_0 1 -// Time between cursor movements (KC_ACL0) -#define MK_C_INTERVAL_0 32 - -// Cursor offset per movement (KC_ACL1) -#define MK_C_OFFSET_1 4 -// Time between cursor movements (KC_ACL1) -#define MK_C_INTERVAL_1 16 - -// Cursor offset per movement (KC_ACL2) -#define MK_C_OFFSET_2 20 -/* #define MK_C_OFFSET_2 32 */ -// Time between cursor movements (KC_ACL2) -#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c deleted file mode 100644 index 86a34c4f04f6..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - -/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */ - -#include QMK_KEYBOARD_H -#include "koy_keys_on_quertz_de_latin1.h" - -enum custom_layers { - _1, - _3, - _4, - _7, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_1] = LAYOUT( - KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , - MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , - KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , - KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) , - KC_LALT , KC_SPC , MO(_3) , MO(_4) , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - ), - - [_3] = LAYOUT( - - KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT , - KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT , - KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT , - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , - KC_LALT , KC_SPC , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - - [_4] = LAYOUT( - - KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS , - KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS , - KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT , - KC_TRNS , KC_TRNS , KC_0 , KC_TRNS , - KC_LALT , KC_0 , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - - [_7] = LAYOUT( - - KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , KC_TRNS , KC_TRNS , - KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS , - KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS , - KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS , - KC_LALT , KC_F10 , KC_TRNS , KC_TRNS , - N_COPY , N_CUT , KC_ESC , KC_ENTER , - N_PASTE , N_UNDO , KC_BSPC , KC_DEL - - ), - -}; diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk deleted file mode 100644 index db873a752254..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2021 Paul Maria Scheikl (@ScheiklP) -# SPDX-License-Identifier: GPL-2.0-or-later - -BOOTLOADER = atmel-dfu -AUTO_SHIFT_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -NKRO_ENABLE = yes -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json b/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json new file mode 100644 index 000000000000..60830dbf80af --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json @@ -0,0 +1,111 @@ +{ + "keyboard_name": "Dactyl-Manuform (4x6 + 4 and 3 for thumbs)", + "manufacturer": "joshreve", + "url": "https://github.com/joshreve/dactyl-keyboard", + "maintainer": "rek", + "usb": { + "vid": "0x444D", + "pid": "0x3536", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "ws2812": { + "pin": "D3" + }, + "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": 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": 11, "y": 4}, + {"matrix": [10, 3], "x": 12, "y": 4}, + {"matrix": [10, 4], "x": 13, "y": 4}, + {"matrix": [10, 5], "x": 14, "y": 4}, + + {"matrix": [5, 3], "x": 3, "y": 5}, + {"matrix": [5, 4], "x": 4, "y": 5}, + {"matrix": [5, 5], "x": 5, "y": 5}, + + {"matrix": [11, 0], "x": 14, "y": 5}, + {"matrix": [11, 1], "x": 15, "y": 5}, + {"matrix": [11, 2], "x": 16, "y": 5} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h new file mode 100644 index 000000000000..4d83c191f3c1 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +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 MASTER_LEFT +//#define MASTER_RIGHT + +//#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c new file mode 100644 index 000000000000..d8fe94a59bfd --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +// Copyright 2023 Adam Tombleson (@rekarnar) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +enum layer_names { + _BASE, + _RAISE, + _LOWER +}; + +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_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_CAPS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_BSLS, + KC_LCTL , KC_TAB , KC_LSFT, KC_LALT, KC_COMMA,KC_DOT , KC_LBRC , KC_RBRC , + LOWER, KC_SPC , KC_BSPC, RAISE , KC_ENT , KC_DEL + ), + + [_LOWER] = LAYOUT( + _______ , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______ , _______ , _______ , KC_TILD , KC_PLUS, + _______ , KC_HOME, KC_PGUP, KC_PGDN, KC_END , _______, _______, KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_PIPE, + _______ , _______, _______, _______, _______, _______, _______, _______ , _______ , _______ , KC_EQL , KC_UNDS, + _______ , _______, _______, _______, KC_TILD, _______ , KC_LPRN , KC_RPRN , + _______, KC_LGUI, LALT(KC_PSCR), C(S(KC_LEFT)), KC_GRAVE, C(S(KC_RIGHT)) + + ), + + [_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_HOME , KC_PGUP , KC_PGDN , KC_END , _______, + _______ , _______,_______ , _______, _______, _______, _______, _______ , _______ , _______ , _______ , _______, + _______ , _______,_______ , _______, _______, _______ , _______ , LALT(KC_TAB), + KC_VOLD, KC_MUTE, KC_VOLU, _______, _______ , _______ + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md b/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md new file mode 100644 index 000000000000..c3574c52bb8f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md @@ -0,0 +1,9 @@ +# Dactyl-Manuform (4x6 + 4 and 3 for thumbs) + +This is a 4x6 manuform with a 4 key bottom row and 3 key thumb clusters. + +The result is a 62 key layout. + +## Description + +* Keyboard Maintainer: https://github.com/joshreve/dactyl-keyboard diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk b/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk new file mode 100644 index 000000000000..3bbd2614291a --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk @@ -0,0 +1 @@ +# File intentionally blank 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 9a4e39dad218..000000000000 --- 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 b9ebd6d7df1e..f54f0d56d25e 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/4x6_5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 9532d1f67c6b..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku -// generated -*- buffer-read-only: t -*- - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ - XXX, XXX, XXX, XXX, \ - K32, K33, K34, K35, K36, K37, \ - XXX, XXX, XXX, XXX \ -) diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index 7c5717a0fee0..000000000000 --- a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku -// generated -*- buffer-read-only: t -*- - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h deleted file mode 100644 index 9a4e39dad218..000000000000 --- 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 89c2c800c6e2..e6372961d8f4 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/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h deleted file mode 100644 index 9ee1c3e3cb66..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#pragma once - -#define EE_HANDS - -#undef TAPPING_TERM -#define TAPPING_TERM 200 diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c deleted file mode 100644 index 326eded64002..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#include QMK_KEYBOARD_H -#include "333fred.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_5x6( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), - KC_F4, KC_F5, TG(CODEFLOW), KC_EQL, - KC_LALT, KC_BSPC, KC_SPC, OSL(VIM), - TD(TD_COPY_PASTE), TD(TD_SYM_VIM), KC_ENT, KC_RGUI, - KC_LCTL, KC_DEL, KC_UP, KC_DOWN - ), - - [CODEFLOW] = LAYOUT_5x6( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_F7, KC_F8, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [SYMB] = LAYOUT_5x6( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_7, KC_8, KC_9, _______, KC_F12, - _______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, _______, KC_4, KC_5, KC_6, _______, _______, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, KC_1, KC_2, KC_3, _______, _______, - KC_F7, KC_F8, KC_0, KC_ENT, - _______, _______, KC_MPLY, KC_MNXT, - _______, _______, KC_MPRV, _______, - _______, _______, KC_VOLU, KC_VOLD - ), - - [VIM] = LAYOUT_5x6( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, - _______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______ - ), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_process_keycode(keycode); - return !try_handle_macro(keycode, record); -} diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk deleted file mode 100644 index 5ad63b02b703..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -KEY_LOCK_ENABLE = yes -CONSOLE_ENABLE = no -LTO_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h deleted file mode 100644 index 68900af390b2..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h +++ /dev/null @@ -1,23 +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 MASTER_LEFT -// #define MASTER_RIGHT -//#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c deleted file mode 100644 index 3f3ae258486d..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ - -/* A QWERTY 3 Layer layout for the Dactyl Manuform 5x6 Keyboard */ - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - - [_QWERTY] = LAYOUT_5x6( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS, - KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, - RAISE,KC_SPC, KC_ENT, LOWER, - KC_TAB,KC_HOME, KC_END, KC_DEL, - KC_BSPC,KC_GRV, KC_LGUI, KC_LALT - ), - - - [_LOWER] = LAYOUT_5x6( - 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_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, - _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, - _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, - _______,KC_PSCR, _______, KC_P0, - _______,_______, _______,_______, - _______,_______, _______,_______, - _______,_______, _______,_______ - -), - - [_RAISE] = LAYOUT_5x6( - 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_LBRC, KC_RBRC,_______,KC_NUM,KC_INS ,KC_SCRL,KC_MUTE, - _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, - _______,_______, KC_EQL ,_______, - _______,_______, _______,_______, - _______,_______, _______,_______, - _______,_______, _______,_______ - ), - - }; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index a213d43d3940..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -#define LAYOUT_miryoku(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT_5x6( \ -XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ - XXX, XXX, XXX, XXX, \ - K32, K33, K36, K37, \ - K34, XXX, XXX, K35, \ - XXX, XXX, XXX, XXX \ -) diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h deleted file mode 100644 index 7eaeceb44ad3..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h +++ /dev/null @@ -1,47 +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 USE_I2C -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS -// Rows are doubled-up -// #define DEBOUNCE 5 -#define TAPPING_TOGGLE 3 -#define ONESHOT_TAP_TOGGLE 3 -#define PERMISSIVE_HOLD -#define TAPPING_TERM 300 -#ifdef RGBLED_NUM -# undef RGBLED_NUM -#endif -#define RGBLED_NUM 54 -#define RGBLIGHT_LIMIT_VAL 200 -#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 -// #define RGBLIGHT_LED_MAP { 11,10,9,8,7,6,5,4,3,2,1,0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 } -#define RGBLIGHT_SPLIT 27 diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c deleted file mode 100644 index 83b47f3ca919..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/keymap.c +++ /dev/null @@ -1,61 +0,0 @@ -/* A standard layout for the Dactyl Manuform 5x6 Keyboard */ - -#include QMK_KEYBOARD_H -#include "rishka.h" - -enum layers { - BASE, // default layer - WIN, // Switch keys that are needed in windows - SYMB, // symbols - MDIA // media keys -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_5x6_wrapper( - KC_EQL , ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_MINS, - KC_ESC , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, - KC_F1 , _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, KC_QUOT, - OS_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, OS_RSFT, - KC_LEFT,KC_RGHT, KC_UP, KC_DOWN, - KC_BSPC, KC_SPC, KC_TAB, KC_ENT, - KC_LGUI, MO(SYMB), MO(SYMB), TT(MDIA), - KC_DEL, KC_GRV, TT(WIN), KC_LALT - ), - [WIN] = LAYOUT_5x6_wrapper( - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _________________QWERTY_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______, - KC_LCTL, _______, _______, _______, - _______, _______, _______, _______ - ), - - [SYMB] = LAYOUT_5x6_wrapper( - KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11, - _______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, KC_NUM, - _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, - _______, _________________SYMBOL_L3_________________, _________________SYMBOL_R3_________________, _______, - _______, _______, KC_P0 , KC_PDOT, - _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, - RGB_TOG, _______, _______, _______ - ), - [MDIA] = LAYOUT_5x6_wrapper( - - RGB_MOD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_M_SN, RGB_HUD, _______, KC_MS_U, _______, KC_WH_U, _______, _______, KC_WH_U, _______, _______, _______, - RGB_VAI, RGB_SAI, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, MOUSE_L, KC_WH_D, MOUSE_R, _______, _______, - RGB_VAD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - KC_BTN1, KC_BTN2, _______, _______, - KC_BTN3, KC_BTN4, _______, _______, - KC_BTN5, _______, _______, _______ - - ), -}; - - diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk deleted file mode 100644 index 7084862d136c..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -BOOTLOADER=qmk-dfu -RGBLIGHT_ENABLE = yes - diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md deleted file mode 100644 index 81a8004f7bd9..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md +++ /dev/null @@ -1,8 +0,0 @@ -#### compile with - -`make handwired/dactyl_manuform/5x6:scheiklp` - - -#### flash with - -`qmk flash -kb handwired/dactyl_manuform/5x6 -km scheiklp` diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h deleted file mode 100644 index 613d8ae47fb9..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - - -#pragma once - - -#define USE_I2C - -/* #define MASTER_LEFT */ - /* #define MASTER_RIGHT */ -#define EE_HANDS -// Rows are doubled-up - -#define AUTO_SHIFT_TIMEOUT 125 -#define NO_AUTO_SHIFT_SPECIAL -#define NO_AUTO_SHIFT_NUMERIC - -// require two taps for a TT layer switch (default 5) -#define TAPPING_TOGGLE 2 - -// Mouse control -// constant mode (velocity) -#define MK_3_SPEED -// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 - -// Cursor offset per movement (unmodified) -#define MK_C_OFFSET_UNMOD 16 -// Time between cursor movements (unmodified) -#define MK_C_INTERVAL_UNMOD 10 -/* #define MK_C_INTERVAL_UNMOD 16 */ - -// Cursor offset per movement (KC_ACL0) -#define MK_C_OFFSET_0 1 -// Time between cursor movements (KC_ACL0) -#define MK_C_INTERVAL_0 32 - -// Cursor offset per movement (KC_ACL1) -#define MK_C_OFFSET_1 4 -// Time between cursor movements (KC_ACL1) -#define MK_C_INTERVAL_1 16 - -// Cursor offset per movement (KC_ACL2) -#define MK_C_OFFSET_2 20 -/* #define MK_C_OFFSET_2 32 */ -// Time between cursor movements (KC_ACL2) -#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c deleted file mode 100644 index 1f9102e82918..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2021 Paul Maria Scheikl (@ScheiklP) -// SPDX-License-Identifier: GPL-2.0-or-later - -/* A K.O,Y layout for the Dactyl Manuform 5x6 Keyboard */ - -#include QMK_KEYBOARD_H -#include "koy_keys_on_quertz_de_latin1.h" - - -enum custom_layers { - _1, - _3, - _4, - _7, -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_1] = LAYOUT_5x6( - 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_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , - MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , - KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , - KC_LCTL , KC_LGUI , KC_CAPS , TT(_7), - KC_LALT, KC_SPC, MO(_3), MO(_4), - N_COPY, N_CUT, DM_RSTP, KC_ENTER, - N_PASTE, N_UNDO, DM_REC1, DM_PLY1 - ), - - [_3] = LAYOUT_5x6( - - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, - KC_TAB, N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC, N_EXKL, N_LT, N_GT, N_EQ, N_AMP, N_ACUT, - KC_TRNS, N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR, N_QUES, N_LPARN, N_RPARN, N_MINS, N_COLN, N_AT, - KC_LSFT, N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE, N_PLUS, N_PERC, N_QUOT, N_SING, N_SEMI, KC_RSFT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LALT,KC_SPC, KC_TRNS,KC_TRNS, - N_COPY, N_CUT, DM_RSTP, KC_ENTER, - N_PASTE, N_UNDO, DM_REC1, DM_PLY1 - - ), - - [_4] = LAYOUT_5x6( - - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, - KC_TAB, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_KP_SLASH, KC_7, KC_8, KC_9, KC_KP_MINUS, KC_TRNS, - KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_KP_ASTERISK, KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, - KC_LSFT, KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO, KC_KP_ENTER, KC_1, KC_2, KC_3, KC_KP_DOT, KC_RSFT, - KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, - KC_LALT,KC_0, KC_TRNS,KC_TRNS, - N_COPY, N_CUT, DM_RSTP, KC_ENTER, - N_PASTE, N_UNDO, DM_REC1, DM_PLY1 - - ), - - [_7] = LAYOUT_5x6( - - KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, - KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_MS_ACCEL1, 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_LALT,KC_0, KC_TRNS,KC_TRNS, - N_COPY, N_CUT, DM_RSTP, KC_ENTER, - N_PASTE, N_UNDO, DM_REC1, DM_PLY1 - - ), - -}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk deleted file mode 100644 index a0b983c7aba0..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2021 Paul Maria Scheikl (@ScheiklP) -# SPDX-License-Identifier: GPL-2.0-or-later - -AUTO_SHIFT_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = no -NKRO_ENABLE = yes -BOOTLOADER = atmel-dfu -DYNAMIC_MACRO_ENABLE = yes - diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h deleted file mode 100644 index 0d3e3d88d289..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -Copyright 2021 Tyler Tolley - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - - -#pragma once - -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS -// Rows are doubled-up - -#undef WS2812_DI_PIN -#define WS2812_DI_PIN F5 - -#undef SOFT_SERIAL_PIN -#define SOFT_SERIAL_PIN D0 -// #define RGB_MATRIX_LED_COUNT 32 - -#define RGB_MATRIX_KEYPRESSES - -#ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 -#undef RGBLED_NUM -#define RGBLED_NUM 64 // Number of LEDs -#define RGB_MATRIX_LED_COUNT RGBLED_NUM -#define RGB_MATRIX_SPLIT \ - { 32, 32 } -#define SPLIT_TRANSPORT_MIRROR - -// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP // Sets the default mode, if none has been set -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS - -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS - -#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c deleted file mode 100644 index 05920d16e824..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/keymap.c +++ /dev/null @@ -1,178 +0,0 @@ -/* -Copyright 2021 Tyler Tolley - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 dactyl_layers { - _QWERTY, - _LOWER, - _RAISE, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -#define KC_CBP LCTL(KC_F11) //Clipboard previous -#define KC_CBN LCTL(KC_F12) //Clipboard previous -#define KC_DSKD LCA(KC_DOWN) -#define KC_DSKU LCA(KC_UP) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_5x6( - - - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - 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_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_DSKU, KC_DSKD, KC_PGUP, KC_PGDN, - // └────────â”ī────────┘ ┌────────┮────────┐ ┌────────┮────────┐ └────────â”ī────────┘ - LOWER, KC_ENT, KC_SPC, RAISE, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - KC_LGUI, KC_GRV, KC_DEL, KC_RALT, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - KC_CBP, KC_CBN, KC_APP, KC_RCTL - // └────────â”ī────────┘ └────────â”ī────────┘ - ), - - [_LOWER] = LAYOUT_5x6( - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - XXXXXXX, KC_VOLU, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, _______, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - KC_MUTE, KC_VOLD, RGB_M_SW,RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PSCR, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ┌────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, - //└────────â”ī────────┾────────┾────────┾────────┾────────┘ └────────â”ī────────┾────────┾────────┾────────┾────────┘ - KC_PGUP, KC_PGDN, KC_P0, Debug, - // └────────â”ī────────┘ ┌────────┮────────┐ ┌────────┮────────┐ └────────â”ī────────┘ - _______, _______, _______, _______, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - _______, _______, _______, _______, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - _______, QK_BOOT, _______, _______ - // └────────â”ī────────┘ └────────â”ī────────┘ - - ), - - [_RAISE] = LAYOUT_5x6( - //┌────────┮────────┮────────┮────────┮────────┮────────┐ ┌────────┮────────┮────────┮────────┮────────┮────────┐ - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - XXXXXXX, _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_UNDS, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ├────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_INS, KC_HOME, KC_PPLS, KC_MINS, KC_TILD, KC_EQL, - //├────────┾────────┾────────┾────────┾────────┾────────â”Ī ┌────────┾────────┾────────┾────────┾────────┾────────â”Ī - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_DEL, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______, - //└────────â”ī────────┾────────┾────────┾────────┾────────┘ └────────â”ī────────┾────────┾────────┾────────┾────────┘ - DM_REC1, DM_REC2, DM_PLY1, DM_PLY2, - // └────────â”ī────────┘ ┌────────┮────────┐ ┌────────┮────────┐ └────────â”ī────────┘ - LOWER, KC_ENT, KC_SPC, RAISE, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - KC_LGUI, KC_GRV, KC_DEL, KC_RALT, - // ├────────┾────────â”Ī ├────────┾────────â”Ī - XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX - // └────────â”ī────────┘ └────────â”ī────────┘ - ), -}; - - -#ifdef RGB_MATRIX_ENABLE - - // Logical Layout - // Columns - // Left - // 0 1 2 3 4 5 - // ROWS - // 25 24 19 18 11 10 0 - // 03 02 01 - // 26 23 20 17 12 09 1 - // 04 05 06 - // 27 22 21 16 13 08 2 - // - // 15 14 07 3 - // - // Right - // 0 1 2 3 4 5 - // ROWS - // 25 24 19 18 11 10 4 - // 03 02 01 - // 26 23 20 17 12 09 5 - // 04 05 06 - // 27 22 21 16 13 08 6 - // - // 15 14 07 7 - // - // Physical Layout - // Columns - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 - // ROWS - // 25 24 19 18 11 10 10 11 18 19 24 25 0 - // 03 02 01 01 02 03 - // 26 23 20 17 12 09 09 12 17 20 23 26 1 - // 04 04 - // 27 22 21 16 13 08 08 13 16 21 22 27 2 - // 05 06 06 05 - // 15 14 07 07 14 15 3 - -led_config_t g_led_config = { { - { 0, 1, 2, 3, 4, 5 }, - { 11, 10, 9, 8, 7, 6 }, - { 12, 13, 14, 15, 16, 17 }, - { 23, 22, 21, 20, 19, 18 }, - { NO_LED, NO_LED, 24, 25, 26, 27 }, - { NO_LED, NO_LED, 30, 31, 28, 29 }, - { 37, 36, 35, 34, 33, 32 }, - { 43, 42, 41, 40, 39, 38 }, - { 49, 48, 47, 46, 45, 44 }, - { 55, 54, 53, 52, 51, 50 }, - // { NO_LED, NO_LED, 57, 56, NO_LED, NO_LED}, - // { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } - { 59, 58, 57, 56, NO_LED, NO_LED}, - { 61, 60, 62, 63, NO_LED, NO_LED } - -}, { - { 0, 0 }, { 17, 0 }, { 34, 0 }, { 52, 0 }, { 69, 0 }, { 86, 0 }, { 86, 9 }, { 69, 9 }, - { 52, 9 }, { 34, 9 }, { 17, 9 }, { 0, 9 }, { 0, 18 }, { 17, 18 }, { 34, 18 }, { 52, 18 }, - { 60, 18 }, { 86, 18 }, { 86, 27 }, { 69, 27 }, { 52, 27 }, { 34, 27 }, { 17, 27 }, { 0, 27 }, - { 34, 37 }, { 52, 37 }, { 69, 45 }, { 86, 45 }, { 103, 55 }, { 103, 64 }, { 86, 55 }, { 86, 64 }, - - - { 224, 0 }, { 207, 0 }, { 190, 0 }, { 172, 0 }, { 155, 0 }, { 138, 0 }, { 224, 9 }, { 207, 9 }, - { 190, 9 }, { 172, 9 }, { 155, 9 }, { 138, 9 }, { 224, 18 }, { 207, 18 }, { 190, 18 },{ 172, 18 }, - { 155, 18 }, { 138, 18 }, { 224, 27 }, { 207, 27 }, { 190, 27}, { 172, 27 },{ 155, 27 }, { 138, 27 }, - { 190, 37 }, { 172, 37 }, { 155, 45}, { 138, 45 }, { 121, 55 }, { 121, 64 }, { 138, 64 }, { 138, 55 } -}, { - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2 -} }; - -#endif - diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk deleted file mode 100644 index 53ca4b51d0ab..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -DYNAMIC_MACRO_ENABLE = yes -# CONSOLE_ENABLE = yes - -MOUSEKEY_ENABLE = no diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h deleted file mode 100644 index af5842e602e8..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2022 Ulrich SpÃķrlein (@uqs) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define RGBLED_NUM 12 -#define RGBLED_SPLIT {6,6} -#define RGBLIGHT_LIMIT_VAL 127 - -#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c deleted file mode 100644 index 620994fc379d..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2022 Ulrich SpÃķrlein (@uqs) -// SPDX-License-Identifier: GPL-2.0-or-later -// vi:et sw=4 cc=5,15,25,35,45,55,65: - -#include "uqs.h" - -/* - * My custom layout macro that allows for easy diff(1) operations between - * various keyboards. It probably doesn't make sense to you. - */ -#define LAYOUT_uqs( \ - L00, L01, L02, L03, L04, L05, \ - L10, L11, L12, L13, L14, L15, \ - L20, L21, L22, L23, L24, L25, \ - L30, L31, L32, L33, L34, L35, \ - L42, L43, \ - L44, L45, L54, \ - L55, L52, L53, \ - R00, R01, R02, R03, R04, R05, \ - R10, R11, R12, R13, R14, R15, \ - R20, R21, R22, R23, R24, R25, \ - R30, R31, R32, R33, R34, R35, \ - R42, R43, \ - R51, R40, R41, \ - R50, R52, R53 \ -) \ -LAYOUT_5x6( \ - 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, \ - L42, L43, R42, R43, \ - L44, L45, R40, R41, \ - L54, L55, R50, R51, \ - L52, L53, R52, R53 \ -) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [L_QWER] = LAYOUT_uqs( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_LBRC, KC_RBRC, - /*thumb*/ LT_EXTD_ESC, KC_SPC, LT_MOUSE_ALT_SHIFT_INS, - /*aux*/ QK_LEAD, OSM_GUI, KC_LALT, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, - KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV), - KC_MINS, KC_EQL, - /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC, - /*aux*/ KC_RALT, KC_APP, QK_LEAD - ), - - [L_WASD] = LAYOUT_uqs( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, - KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, - KC_B, KC_GRV, KC_Z, KC_X, KC_C, KC_V, - KC_LBRC, KC_RBRC, - /*thumb*/ KC_LCTL, KC_SPC, KC_R, - /*aux*/ A(KC_M), KC_LGUI, KC_LALT, - KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV), - KC_MINS, KC_EQL, - /*thumb*/ DF(L_COLM), KC_ENT, KC_BSPC, - /*aux*/ KC_F5, KC_RALT, KC_APP - ), - - [L_COLM] = LAYOUT_uqs( - KC_NO, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO, - KC_BTN2, KC_Q, KC_W, KC_F, KC_P, KC_B, - KC_BTN1, KC_G_A, KC_A_R, KC_S_S, KC_C_T, KC_G, - KC_BTN3, KC_Z, KC_X, KC_C, KC_D, KC_V, - MS_WHUP, MS_WHDN, - /*thumb*/ LT_EXTD_ESC, SFT_T(KC_SPC), LT(L_MOUSE, KC_TAB), - /*aux*/ QK_LEAD, OSM_GUI, KC_LALT, - KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO, - KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_NO, - KC_M, KC_C_N, KC_S_E, KC_A_I, KC_G_O, KC_NO, - KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_NO, - KC_NO, KC_NO, - /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC, - /*aux*/ QK_LEAD, KC_RALT, KC_APP - ), - - // Updated with inspiration from https://forum.colemak.com/topic/2014-extend-extra-extreme/ - // I like the AltGr trick from https://stevep99.github.io/seniply/ and should probably incorporate some stuff from it. - [L_EXTD] = LAYOUT_uqs( - _______, _______, _______, _______, _______, _______, - _______, KC_BTN1, KC_SCTAB, KC_PGUP, KC_CTAB, QK_LEAD, - _______, OSM_GUI, OSM_ALT, OSM_SFT, OSM_CTL, KC_RALT, - _______, ALT_TAB, MS_WHUP, MS_WHDN, KC_PGDN, INS_HARD, - _______, _______, - /*thumb*/ _______, _______, _______, - /*aux*/ _______, _______, _______, - /* ^^^^ can't be used */ - _______, _______, _______, _______, _______, _______, - KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_NO, - KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO, - WIN_LEFT, WIN_DN, WIN_UP, WIN_RGHT, KC_PSTE, KC_NO, // KC_PSTE works in XTerm to emulate middle-click - _______, _______, - /*thumb*/ _______, _______, KC_BSPC, - /*aux*/ _______, _______, _______ - /* ^^^^ use these */ - ), - - // TODO: maybe swap # with ;, that way I can roll :w or :wq which I need - // often ... probably better to add a combo? - [L_NUM] = LAYOUT_uqs( - _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, - _______, KC_SCLN, KC_COLN, KC_LCBR, KC_LPRN, KC_LBRC, - _______, KC_CIRC, KC_AMPR, KC_RCBR, KC_RPRN, KC_RBRC, - KC_GRV, KC_TILDE, - /*thumb*/ KC_ESC, KC_SPC, KC_0, - /*aux*/ _______, _______, _______, - /* ^^^^ use these */ - KC_NUM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_EQUAL, KC_7, KC_8, KC_9, KC_KP_PLUS,_______, - KC_KP_ASTERISK,KC_4,KC_5, KC_6, MINS_UNDSCR,_______, - KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH,KC_KP_ENTER, // Enter here, because thumb is occupied - KC_0, KC_KP_DOT, - /*thumb*/ _______, _______, _______, - /*aux*/ _______, _______, _______ - /* ^^^^ can't be used */ - ), - - [L_FUNC] = LAYOUT_uqs( - _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, DF(L_WASD), - _______, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, DF(L_QWER), - _______, KC_NO, KC_NO, KC_NO, KC_NO, DF(L_COLM), - KC_NO, KC_NO, - /*thumb*/ _______, _______, _______, - /*aux*/ _______, _______, _______, - /* ^^^^ use these */ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, - KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, - KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, KC_NO, - KC_NO, KC_NO, - /*thumb*/ _______, _______, _______, - /*aux*/ _______, _______, _______ - /* ^^^^ can't be used */ - ), - - [L_MOUSE] = LAYOUT_uqs( - _______, _______, _______, _______, _______, _______, - _______, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_VOLU, - _______, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_VOLD, - _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, - KC_NO, KC_NO, - /*thumb*/ _______, _______, _______, - /*aux*/ _______, _______, _______, - /* ^^^^ can't be used */ - _______, _______, _______, _______, _______, _______, - _______, _______, KC_MS_UP, MS_WHUP, _______, _______, - MS_WHLEFT,KC_MS_L, KC_MS_D, KC_MS_R, MS_WHRGHT,_______, - _______, MS_WHDN, KC_BTN3, KC_BTN4, KC_BTN5, _______, - KC_NO, KC_NO, - /*thumb*/ KC_NO, KC_BTN1, KC_BTN2, - /*aux*/ _______, _______, _______ - /* use these ^^^^ */ - ), -}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk deleted file mode 100644 index 2cd3745fa1c2..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk +++ /dev/null @@ -1 +0,0 @@ -#VIA_ENABLE = yes # doesn't fit with 7 layers :/ diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c new file mode 100644 index 000000000000..337f332c5d97 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2023 QMK Community +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_5x6( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE,KC_SPC, KC_ENT, LOWER, + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_5x6( + 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_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + + ), + + [_RAISE] = LAYOUT_5x6( + 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_LBRC, KC_RBRC,_______,KC_NUM,KC_INS ,KC_SCRL,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______, KC_EQL ,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h deleted file mode 100644 index 68ea3f1933d9..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#pragma once - -#define EE_HANDS - -#undef TAPPING_TERM -#define TAPPING_TERM 200 - -#define OLED_DISPLAY_128X64 - -#define ENCODERS_PAD_A { F4 } -#define ENCODERS_PAD_B { F5 } - -#undef SOFT_SERIAL_PIN -#define SOFT_SERIAL_PIN D2 - -#undef OLED_TIMEOUT -#define OLED_TIMEOUT 240000 diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c deleted file mode 100644 index 139cd1f5106c..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c +++ /dev/null @@ -1,581 +0,0 @@ -/* - Copyright (c) 2020 Fred Silberberg - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -#include QMK_KEYBOARD_H -#include "333fred.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT_5x6_5( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), OSM(MOD_RSFT), - KC_F4, KC_LALT, KC_BSPC, TD(TD_SYM_VIM), KC_DEL, KC_UP, KC_ENT, KC_SPC, OSL(VIM), KC_EQL, - KC_LGUI, TD(TD_COPY_PASTE), KC_DOWN, OSM(MOD_RCTL) - ), - - [SYMB] = LAYOUT_5x6_5( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_7, KC_8, KC_9, _______, KC_F12, - _______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, _______, KC_4, KC_5, KC_6, _______, _______, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, KC_1, KC_2, KC_3, _______, _______, - KC_F7, _______, _______, _______, _______, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, KC_ENT, - _______, _______, KC_VOLD, _______ - ), - - [VIM] = LAYOUT_5x6_5( - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, - _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______, - _______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______,_______, _______, TG(GAME), _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [GAME] = LAYOUT_5x6_5( - 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_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_G, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_B, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - QK_LOCK, KC_LALT, KC_SPC, KC_ENT, KC_GRV, TG(GAME), _______, _______, _______, KC_EQL, - KC_BSPC, KC_F5, KC_F6, _______ - ), -}; - -uint32_t quote_timer; - -void keyboard_post_init_user(void) { quote_timer = 0; } - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_process_keycode(keycode); - return !try_handle_macro(keycode, record); -} - -static void render_logo(void) { - static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00}; - - oled_write_P(qmk_logo, false); -} - -void render_led_status(void) { - led_t led_state = host_keyboard_led_state(); - if (led_state.num_lock || led_state.caps_lock || led_state.scroll_lock) { - oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); - } -} - -void render_mods_status(void) { - uint8_t mods = get_mods() | get_oneshot_mods(); - bool ctrl = mods & MOD_MASK_CTRL; - bool shft = mods & MOD_MASK_SHIFT; - bool alt = mods & MOD_MASK_ALT; - bool gui = mods & MOD_MASK_GUI; - - oled_write_P(ctrl ? PSTR("CTRL ") : PSTR(" "), false); - oled_write_P(shft ? PSTR("SHIFT ") : PSTR(" "), false); - oled_write_P(alt ? PSTR("ALT ") : PSTR(" "), false); - oled_write_ln_P(gui ? PSTR("GUI ") : PSTR(" "), false); -} - -#define MAX_LINES 8 - -void write_quote(const char* data, const uint8_t num_lines) { - uint8_t current_line = 0; - for (; current_line < (MAX_LINES - num_lines) / 2; current_line++) { - oled_advance_page(true); - } - - oled_write_ln_P(data, false); - - for (current_line += num_lines; current_line < MAX_LINES; current_line++) - { - oled_advance_page(true); - } -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_logo(); - oled_advance_page(/* clearPageRemainder */ true); - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case BASE: - oled_write_ln_P(PSTR("Base"), false); - break; - case SYMB: - oled_write_ln_P(PSTR("Symbols"), false); - break; - case VIM: - oled_write_ln_P(PSTR("Vim"), false); - break; - case GAME: - oled_write_ln_P(PSTR("Gaming"), false); - break; - } - - render_mods_status(); - render_led_status(); - } else { - if ((quote_timer != 0 && timer_elapsed32(quote_timer) < 300000 /* 5 minutes */) || !is_oled_on()) { - return; - } - - srand(timer_read32()); - int currentQuote = rand() % 63; - quote_timer = timer_read32(); - - // Max character count on my screen is 20 characters per line. - // Quotes are from various fantasy books, mostly either from - // The Stormlight Archive or from The Wheel of Time. - switch (currentQuote) { - case 0: - write_quote(PSTR(" Life before Death \n" - " Strength before \n" - " Weakness \n" - " Journey before \n" - " Destination"), - 5); - break; - case 1: - write_quote(PSTR(" Honor is dead, but \n" - "I'll see what I can \n" - " do."), - 3); - break; - case 2: - write_quote(PSTR(" You cannot have my \n" - " pain!"), - 2); - break; - case 3: - write_quote(PSTR(" Pride doesn't win \n" - " battles"), - 2); - break; - case 4: - write_quote(PSTR(" I have practice \n" - " following fools in \n" - " their reckless \n" - " pursuits."), - 4); - break; - case 5: - write_quote(PSTR(" What is the most \n" - " important step a \n" - " man can take?"), - 3); - break; - case 6: - write_quote(PSTR(" It's the next one. \n" - " Always the next \n" - " step, Dalinar."), - 3); - break; - case 7: - write_quote(PSTR(" NO MATING."), 1); - break; - case 8: - write_quote(PSTR(" Inappropriate? \n" - "Such as... dividing \n" - " by zero?"), - 3); - break; - case 9: - write_quote(PSTR(" I am a stick!"), 1); - break; - case 10: - write_quote(PSTR(" But you could be \n" - " fire!"), - 1); - break; - case 11: - write_quote(PSTR(" Sometimes a \n" - " hyprocrite is \n" - " nothing more than \n" - " than a man in the \n" - "process of changing"), - 5); - break; - case 12: - write_quote(PSTR(" You surrender when \n" - " you are dead. Many \n" - "a man has been given\n" - " less."), - 4); - break; - case 13: - write_quote(PSTR(" Kneel and swear to \n" - " the Lord Dragon,...\n" - " or you will be \n" - " knelt."), - 4); - break; - case 14: - write_quote(PSTR("I'm right, anyway. I\n" - "wish I wasn't, but I\n" - " am. I bloody am."), - 3); - break; - case 15: - write_quote(PSTR(" Death rides on my \n" - " shoulder,. Death \n" - " walks in my \n" - " footsteps. I am \n" - " death."), - 5); - break; - case 16: - write_quote(PSTR(" The Golden Crane \n" - " flies for Tarmon \n" - " Gai'don"), - 3); - break; - case 17: - write_quote(PSTR("You humans are very \n" - " excitable"), - 2); - break; - case 18: - write_quote(PSTR(" Phaw!"), 1); - break; - case 19: - write_quote(PSTR("I may be a fool, but\n" - " I intend to be a \n" - " live fool."), - 3); - break; - case 20: - write_quote(PSTR(" Anyone who claimed \n" - " that old age had \n" - " brought them \n" - "patience was either \n" - " lying or senile."), - 5); - break; - case 21: - write_quote(PSTR("Death is light as a \n" - "feather; duty, heavy\n" - " as a mountain"), - 3); - break; - case 22: - write_quote(PSTR("Dovie'andi se tovya \n" - " sagain."), - 2); - break; - case 23: - write_quote(PSTR(" Carai an Caldazar! \n" - "Carai an Ellisande! \n" - " Al Ellisande!"), - 3); - break; - case 24: - write_quote(PSTR(" Mia dovienya \n" - " nesodhin soende."), - 2); - break; - case 25: - write_quote(PSTR(" The Wheel of Time \n" - "turns, and Ages come\n" - " and pass, leaving \n" - "memories that become\n" - " legend."), - 5); - break; - case 26: - write_quote(PSTR(" Legend fades to \n" - "myth, and even myth \n" - " is long forgotten \n" - " when the Age that \n" - "gave it birth comes \n" - " again."), - 6); - break; - case 27: - write_quote(PSTR(" What is too absurd \n" - " to believe is \n" - "believed because it \n" - "is too absurd to be \n" - " a lie."), - 5); - break; - case 28: - write_quote(PSTR("And you gave me the \n" - " way out! Chew on \n" - "that bitterness for \n" - "lunch, you flaming, \n" - "burning, misbegotten\n" - " liars!"), - 6); - break; - case 29: - write_quote(PSTR(" He was going to \n" - "start having, 'I am \n" - "not a bloody Lord', \n" - " embroidered on his \n" - " coats."), - 5); - break; - case 30: - write_quote(PSTR("All was not lost, of\n" - " course. All was \n" - " never lost as long \n" - " as you were alive."), - 4); - break; - case 31: - write_quote(PSTR(" Everything is just \n" - " bloody fine!"), - 2); - break; - case 32: - write_quote(PSTR("The wheel weaves as \n" - " the wheel wills"), - 2); - break; - case 33: - write_quote(PSTR(" Time to toss the \n" - " dice"), - 2); - break; - case 34: - write_quote(PSTR("Always plan for the \n" - " worst, child, that \n" - " way all your \n" - " surprises are \n" - " pleasant ones."), - 5); - break; - case 35: - write_quote(PSTR("'Pessimism, she is a\n" - " fond friend of \n" - "yours, yes?' 'That's\n" - " uncalled for. I \n" - " barely know her. \n" - "Mere acquaintances, \n" - " at best.'"), - 7); - break; - case 36: - write_quote(PSTR(" Do not trouble \n" - "trouble till trouble\n" - " troubles you."), - 3); - break; - case 37: - write_quote(PSTR("If your enemy offers\n" - " you two targets, \n" - " strike at a third."), - 3); - break; - case 38: - write_quote(PSTR("The wind was not the\n" - "beginning. There are\n" - " neither beginnings \n" - " nor endings to the \n" - " turning of the \n" - " Wheel of Time. But \n" - " it was _a_ \n" - " beginning."), - 8); - break; - case 39: - write_quote(PSTR("Bloody flaming ashes"), 1); - break; - case 40: - write_quote(PSTR("Then follow Lord Mat\n" - " whenever he calls \n" - "To dance with Jak O'\n" - " the Shadows."), - 4); - break; - case 41: - write_quote(PSTR(" There are no \n" - " endings, and never \n" - "will be endings, to \n" - " the turning of the \n" - " Wheel of Time. But \n" - " it was an ending."), - 6); - break; - case 42: - write_quote(PSTR(" TAI'SHAR MALKIER!"), 1); - break; - case 43: - write_quote(PSTR("I would not mind you\n" - " in my head, if you \n" - "were not so clearly \n" - " mad."), - 4); - break; - case 44: - write_quote(PSTR(" ILYENA, MY LOVE, \n" - " FORGIVE ME!"), - 2); - break; - case 45: - write_quote(PSTR(" Oh, Light. That's \n" - "impossible! We can't\n" - " use it! Cast it \n" - "away! That is death \n" - " we hold, death and \n" - "betrayal. It is HIM."), - 6); - break; - case 46: - write_quote(PSTR("Nothing ever goes as\n" - " you expect. Expect \n" - " nothing, and you \n" - " will not be \n" - " surprised. Expect \n" - " nothing. Hope for \n" - " nothing. Nothing."), - 7); - break; - case 47: - write_quote(PSTR(" Distant Weeping"), 1); - break; - case 48: - write_quote(PSTR("Are you real? Am I?"), 1); - break; - case 49: - write_quote(PSTR(" I'm just an old \n" - "gleeman, who could I\n" - " possibly be \n" - " dangerous to?"), - 4); - break; - case 50: - write_quote(PSTR(" Mat bloody Cauthon \n" - " is no bloody hero!"), - 2); - break; - case 51: - write_quote(PSTR("You are a coward and\n" - " a tyrant. I'd name \n" - " you Darkfriend as \n" - "well, but I suspect \n" - " that the Dark One \n" - " would perhaps be \n" - " embarrassed to \n" - "associate with you."), - 8); - break; - case 52: - write_quote(PSTR(" I win again, Lews \n" - " Therin."), - 2); - break; - case 53: - write_quote(PSTR("May you always find \n" - " water and shade."), - 2); - break; - case 54: - write_quote(PSTR(" I will never serve \n" - "you, Father of Lies.\n" - "In a thousand lives,\n" - "I never have. I know\n" - " that. I'm sure of \n" - "it. Come. It is time\n" - " to die."), - 7); - break; - case 55: - write_quote(PSTR(" There may be more \n" - "than one way to skin\n" - " a cat, but the cat \n" - "isn't going to like \n" - " any of them."), - 5); - break; - case 56: - write_quote(PSTR("Please see that they\n" - " know, although the \n" - "word Black may brand\n" - "my name forever, my \n" - "soul is Brown. Tell \n" - " them..."), - 6); - break; - case 57: - write_quote(PSTR(" 'Your soul is of a \n" - "pure white, Verin,' \n" - "Egwene said softly. \n" - " 'Like the Light \n" - " itself.'"), - 5); - break; - case 58: - write_quote(PSTR(" Asha'man, Kill!"), 1); - break; - case 59: - write_quote(PSTR(" Let the lord of \n" - " chaos rule."), - 2); - break; - case 60: - write_quote(PSTR(" There's always \n" - " another secret."), - 2); - break; - case 61: - write_quote(PSTR(" You see the great \n" - "thing about madness \n" - "is that it's all in \n" - " your head."), - 4); - break; - case 62: - write_quote(PSTR(" In one Age, called \n" - " the Third Age by \n" - "some, an Age yet to \n" - " come, an Age long \n" - " past, a wind rose \n" - " above..."), - 6); - break; - } - } - return false; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - // On the left, control the volume. On the right, scroll the page - if (index == 0) { - if (clockwise) { - tap_code(KC_WH_U); - } else { - tap_code(KC_WH_D); - } - } else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk deleted file mode 100644 index 6e58ff5d15ed..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -KEY_LOCK_ENABLE = yes -CONSOLE_ENABLE = no -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -ENCODER_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h deleted file mode 100644 index 6a28251c6bf2..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2021 Christian Eiden, cykedev -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#pragma once - -#undef SOFT_SERIAL_PIN -#undef DIODE_DIRECTION -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#undef BOOTMAGIC_LITE_ROW -#undef BOOTMAGIC_LITE_COLUMN -#undef BOOTMAGIC_LITE_ROW_RIGHT -#undef BOOTMAGIC_LITE_COLUMN_RIGHT - - -#define SOFT_SERIAL_PIN D2 -#define EE_HANDS -// #define SPLIT_USB_DETECT - -// wiring of each half -// ../../../../docs/proton_c_conversion.md -#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5 } -#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4 } - -#define DIODE_DIRECTION ROW2COL - -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - -#define BOOTMAGIC_LITE_ROW_RIGHT 0 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 - -// Configure the global tapping term (default: 200ms) -#define TAPPING_TERM 200 - -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -#define QUICK_TAP_TERM 0 - -#define FORCE_NKRO diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c deleted file mode 100644 index 9687e77d884e..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright 2021 Christian Eiden, cykedev -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more 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 CM_R LCTL_T(KC_R) -#define CM_S LALT_T(KC_S) -#define CM_T LGUI_T(KC_T) - -#define CM_N RGUI_T(KC_N) -#define CM_E RALT_T(KC_E) -#define CM_I RCTL_T(KC_I) - -#define QU_S LCTL_T(KC_S) -#define QU_D LALT_T(KC_D) -#define QU_F LGUI_T(KC_F) - -#define QU_J RGUI_T(KC_J) -#define QU_K RALT_T(KC_K) -#define QU_L RCTL_T(KC_L) - -#define SPC_L LSFT_T(KC_SPC) -#define SPC_R RSFT_T(KC_SPC) -#define ENT_L LSFT_T(KC_ENT) -#define ENT_R RSFT_T(KC_ENT) - -#define UNDO LGUI(KC_Z) -#define REDO LGUI(KC_Y) -#define CUT LGUI(KC_X) -#define COPY LGUI(KC_C) -#define PASTE LGUI(KC_V) -#define ALL LGUI(KC_A) - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -#define QWERT DF(_QWERTY) -#define COLEM DF(_COLEMAK_DH) - -enum layer_names { - _COLEMAK_DH, - _QWERTY, - _RAISE, - _LOWER, - _ADJUST -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAK_DH] = LAYOUT_5x6_5( - /* COLEMAK_DH - * .-----------------------------------------. .-----------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Del | A |R /CTL|S /ALT|T /CMD| G | | M |N /CMD|E /ALT|I /CTL| O | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft | - * '-----------------------------------------/ \-----------------------------------------' - * | | | / RAISE /---------------. .---------------\ LOWER \ | | | - * | | | / / Space / Enter / \ Enter \ Space \ \ | | | - * '-------------' '-------/ Shift / Shift / \ Shift \ Shift \-------' '-------------' - * /---------------/ \---------------\ - * / = / Home / \ End \ - \ - * / + / / \ \ _ \ - * '---------------' '---------------' - */ - 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_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, - KC_DEL , KC_A , CM_R , CM_S , CM_T , KC_G , KC_M , CM_N , CM_E , CM_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, - XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX, - KC_EQL, KC_HOME , KC_END , KC_MINS - ), - [_QWERTY] = LAYOUT_5x6_5( - /* QWERTY - * .-----------------------------------------. .-----------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Del | A |S /CTL|D /ALT|F /CMD| G | | H |J /CMD|K /ALT|L /CTL| ; | ' | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft | - * '-----------------------------------------/ \-----------------------------------------' - * | | | / RAISE /---------------. .---------------\ LOWER \ | | | - * | | | / / Space / Enter / \ Enter \ Space \ \ | | | - * '-------------' '-------/ Shift / / \ \ Shift \-------' '-------------' - * /---------------/ \---------------\ - * / = / Home / \ End \ - \ - * / + / / \ \ _ \ - * '---------------' '---------------' - */ - 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_BSLS, - KC_DEL , KC_A , QU_S , QU_D , QU_F , KC_G , KC_H , QU_J , QU_K , QU_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, - XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX, - KC_EQL, KC_HOME , KC_END , KC_MINS - ), - [_RAISE] = LAYOUT_5x6_5( - /* RAISE - * .-----------------------------------------. .-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Redo | | | | | | % | $ | # | ` | | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | All | Cut | Copy | Paste| | | ^ | / | * | ~ | ? | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Undo | | | | | | | & | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * | RST | | / /---------------. .---------------\ \ | | | - * | | | / / / / \ \ \ \ | | | - * '-------------' '-------/ / / \ \ \-------' '-------------' - * /---------------/ \---------------\ - * / / Page / \ Page \ \ - * / / Up / \ Down \ \ - * '---------------' '---------------' - */ - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - XXXXXXX, REDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PERC, KC_DLR , KC_HASH, KC_GRV , XXXXXXX, KC_F12 , - XXXXXXX, ALL , CUT , COPY , PASTE , XXXXXXX, KC_CIRC, KC_SLSH, KC_ASTR, KC_TILD, KC_QUES, XXXXXXX, - _______, UNDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, _______, - QK_BOOT, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, - _______, KC_PGUP, KC_PGDN, _______ - ), - [_LOWER] = LAYOUT_5x6_5( - /* LOWER - * .-----------------------------------------. .-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | [ | ] | | | | | up | | | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ins | ! | @ | ( | ) | | | | left | down | rght | ? | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | { | } | | | | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * | | | / /---------------. .---------------\ \ | | RST | - * | | | / / / / \ \ \ \ | | | - * '-------------' '-------/ / / \ \ \-------' '-------------' - * /---------------/ \---------------\ - * / / Page / \ Page \ \ - * / / Up / \ Down \ \ - * '---------------' '---------------' - */ - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , - KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, - _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, QK_BOOT, - _______, KC_PGUP, KC_PGDN, _______ - ), - [_ADJUST] = LAYOUT_5x6_5( - /* ADJUST - * .-----------------------------------------. .-----------------------------------------. - * | | | | | | QWERT| |COLEM | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | V+ | | B + | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | V- | | B - | << | play | >> | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | Mute | | | | | | | | - * '-----------------------------------------/ \-----------------------------------------' - * | | | / /---------------. .---------------\ \ | | | - * | | | / / / / \ \ \ \ | | | - * '-------------' '-------/ / / \ \ \-------' '-------------' - * /---------------/ \---------------\ - * / / / \ \ \ - * / / / \ \ \ - * '---------------' '---------------' - */ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SPC_L: - return true; - case SPC_R: - return false; - case ENT_L: - return true; - case ENT_R: - return true; - default: - return false; - } -} - -// Flexible macOS-friendly Grave Escape -// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape - -const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE)); -const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE); - -const key_override_t **key_overrides = (const key_override_t *[]){ - &tilde_esc_override, - &grave_esc_override, - NULL -}; diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk deleted file mode 100644 index 88d1fb309dd0..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -MOUSEKEY_ENABLE = no -KEY_OVERRIDE_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/info.json b/keyboards/handwired/dactyl_manuform/5x6_68/info.json index f82f84da9c51..78a602cb64f8 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 20699ed2e147..4e774ea71605 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 69f68bbfb897..b21270e39116 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 5ef0d2fdb96f..6e7633bfe015 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 9a4e39dad218..000000000000 --- 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 b166df22a043..68270606cc49 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/config.h b/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h deleted file mode 100644 index 1da1cb9590ad..000000000000 --- a/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2019 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json b/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json index 2b542a15da27..245310fd3c5a 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 9a4e39dad218..000000000000 --- 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 567057cf084e..955060de7a0e 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 9a4e39dad218..000000000000 --- 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/info.json b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json deleted file mode 100644 index 8f14c5049e85..000000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "keyboard_name": "Dactyl-Manuform (6x6+4)", - "manufacturer": "tshort", - "url": "", - "maintainer": "dmik", - "usb": { - "vid": "0x444D", - "pid": "0x3636", - "device_version": "0.0.1" - }, - "ws2812": { - "pin": "D3" - }, - "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], - "rows": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"] - }, - "diode_direction": "COL2ROW", - "split": { - "soft_serial_pin": "D0" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "layouts": { - "LAYOUT_6x6_kinesis": { - "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": [7, 0], "x": 11, "y": 0}, - {"matrix": [7, 1], "x": 12, "y": 0}, - {"matrix": [7, 2], "x": 13, "y": 0}, - {"matrix": [7, 3], "x": 14, "y": 0}, - {"matrix": [7, 4], "x": 15, "y": 0}, - {"matrix": [7, 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": [8, 0], "x": 11, "y": 1}, - {"matrix": [8, 1], "x": 12, "y": 1}, - {"matrix": [8, 2], "x": 13, "y": 1}, - {"matrix": [8, 3], "x": 14, "y": 1}, - {"matrix": [8, 4], "x": 15, "y": 1}, - {"matrix": [8, 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": [9, 0], "x": 11, "y": 2}, - {"matrix": [9, 1], "x": 12, "y": 2}, - {"matrix": [9, 2], "x": 13, "y": 2}, - {"matrix": [9, 3], "x": 14, "y": 2}, - {"matrix": [9, 4], "x": 15, "y": 2}, - {"matrix": [9, 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": [10, 0], "x": 11, "y": 3}, - {"matrix": [10, 1], "x": 12, "y": 3}, - {"matrix": [10, 2], "x": 13, "y": 3}, - {"matrix": [10, 3], "x": 14, "y": 3}, - {"matrix": [10, 4], "x": 15, "y": 3}, - {"matrix": [10, 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": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, - - {"matrix": [11, 0], "x": 11, "y": 4}, - {"matrix": [11, 1], "x": 12, "y": 4}, - {"matrix": [11, 2], "x": 13, "y": 4}, - {"matrix": [11, 3], "x": 14, "y": 4}, - {"matrix": [11, 4], "x": 15, "y": 4}, - {"matrix": [11, 5], "x": 16, "y": 4}, - - {"matrix": [5, 0], "x": 1, "y": 5}, - {"matrix": [5, 1], "x": 2, "y": 5}, - {"matrix": [5, 2], "x": 3, "y": 5}, - {"matrix": [5, 3], "x": 4, "y": 5}, - - {"matrix": [12, 2], "x": 12, "y": 5}, - {"matrix": [12, 3], "x": 13, "y": 5}, - {"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": [13, 2], "x": 9, "y": 7}, - {"matrix": [13, 3], "x": 9, "y": 8} - ] - } - } -} 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 2ef9794d6d7e..000000000000 --- 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 1e44cc96015e..000000000000 --- 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 b893863bb52f..000000000000 --- 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/config.h b/keyboards/handwired/dactyl_manuform/6x7/config.h deleted file mode 100644 index 9a4e39dad218..000000000000 --- a/keyboards/handwired/dactyl_manuform/6x7/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/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json index ea983da9c8b5..529d92bd3f90 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/info.json +++ b/keyboards/handwired/dactyl_manuform/6x7/info.json @@ -8,21 +8,35 @@ "pid": "0x3636", "device_version": "0.0.1" }, + "features": { + "bootmagic": true, + "command": true, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "audio": false, + "backlight": false, + "rgblight": false + }, "ws2812": { "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", "split": { + "enabled": true, "soft_serial_pin": "D0" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "rgblight": { + "led_count": 12 + }, + "development_board": "promicro", "layouts": { - "LAYOUT_6x7": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c index 83fab9409df3..5653786dcfb1 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c @@ -12,7 +12,7 @@ enum custom_layer { #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_6x7( + [_QWERTY] = LAYOUT( KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12 , _______, _______, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LBRC , KC_RBRC, _______, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_QUOT , KC_BSLS, @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_BSPC,KC_GRV, KC_LGUI, KC_LALT ), - [_LOWER] = LAYOUT_6x7( + [_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_F12 , _______, _______, 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_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, _______, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______, _______,_______ ), - [_RAISE] = LAYOUT_6x7( + [_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_LBRC, KC_RBRC,_______,KC_NUM ,KC_INS ,KC_SCRL,KC_MUTE, _______, _______,_______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, _______, diff --git a/keyboards/handwired/dactyl_manuform/6x7/keymaps/iso-de/keymap.c b/keyboards/handwired/dactyl_manuform/6x7/keymaps/iso-de/keymap.c index 0e8436788e6f..dbbc54cdcab9 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/keymaps/iso-de/keymap.c +++ b/keyboards/handwired/dactyl_manuform/6x7/keymaps/iso-de/keymap.c @@ -10,7 +10,7 @@ enum custom_layer { #define RAISE MO(_RAISE) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTZ] = LAYOUT_6x7( + [_QWERTZ] = 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_HOME, 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_END , XXXXXXX, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, @@ -18,12 +18,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, 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_MPLY, KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_SPC , KC_LSFT, KC_RALT, KC_ENT , - KC_LGUI, KC_LALT, KC_BSPC, KC_DEL , KC_PGDN, KC_PGUP, KC_TAB , KC_INS ), - [_RAISE] = LAYOUT_6x7( + [_RAISE] = LAYOUT( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -31,7 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/dactyl_manuform/6x7/rules.mk b/keyboards/handwired/dactyl_manuform/6x7/rules.mk index b893863bb52f..e69de29bb2d1 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/rules.mk +++ b/keyboards/handwired/dactyl_manuform/6x7/rules.mk @@ -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/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h deleted file mode 100644 index 41af664c2588..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -// WS2812 RGB LED, normally used to indicate keyboard state: -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 -#define RGBLED_NUM 6 // Used when chaining strips -#define RGBLED_SPLIT { 3, 3 } // Used when not chaining strips diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json deleted file mode 100644 index c2a818bde299..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "keyboard_name": "DMOTE (62-key)", - "manufacturer": "tshort", - "url": "", - "maintainer": "veikman", - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "usb": { - "vid": "0x444D", - "pid": "0x3632", - "device_version": "0.0.1" - }, - "ws2812": { - "pin": "D1" - }, - "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" - }, - "layouts": { - "LAYOUT_62key": { - "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": [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": [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": [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, 3], "x": 3, "y": 4}, - - {"matrix": [4, 2], "x": 4.5, "y": 4.5}, - {"matrix": [3, 5], "x": 5.5, "y": 4.5}, - - {"matrix": [5, 2], "x": 4, "y": 5.5}, - {"matrix": [4, 4], "x": 5, "y": 5.5}, - {"matrix": [4, 5], "x": 6, "y": 5.5}, - - {"matrix": [5, 4], "x": 4.5, "y": 6.5}, - {"matrix": [5, 5], "x": 5.5, "y": 6.5}, - - {"matrix": [6, 5], "x": 9, "y": 0}, - {"matrix": [6, 4], "x": 10, "y": 0}, - {"matrix": [6, 3], "x": 11, "y": 0}, - {"matrix": [6, 2], "x": 12, "y": 0}, - {"matrix": [6, 1], "x": 13, "y": 0}, - {"matrix": [6, 0], "x": 14, "y": 0}, - - {"matrix": [7, 5], "x": 9, "y": 1}, - {"matrix": [7, 4], "x": 10, "y": 1}, - {"matrix": [7, 3], "x": 11, "y": 1}, - {"matrix": [7, 2], "x": 12, "y": 1}, - {"matrix": [7, 1], "x": 13, "y": 1}, - {"matrix": [7, 0], "x": 14, "y": 1}, - - {"matrix": [8, 5], "x": 9, "y": 2}, - {"matrix": [8, 4], "x": 10, "y": 2}, - {"matrix": [8, 3], "x": 11, "y": 2}, - {"matrix": [8, 2], "x": 12, "y": 2}, - {"matrix": [8, 1], "x": 13, "y": 2}, - {"matrix": [8, 0], "x": 14, "y": 2}, - - {"matrix": [9, 4], "x": 10, "y": 3}, - {"matrix": [9, 3], "x": 11, "y": 3}, - {"matrix": [9, 2], "x": 12, "y": 3}, - {"matrix": [9, 1], "x": 13, "y": 3}, - {"matrix": [9, 0], "x": 14, "y": 3}, - - {"matrix": [9, 5], "x": 8.5, "y": 4.5}, - {"matrix": [10, 2], "x": 9.5, "y": 4.5}, - - {"matrix": [10, 3], "x": 11, "y": 4}, - - {"matrix": [10, 5], "x": 8, "y": 5.5}, - {"matrix": [10, 4], "x": 9, "y": 5.5}, - {"matrix": [11, 2], "x": 10, "y": 5.5}, - - {"matrix": [11, 5], "x": 8.5, "y": 6.5}, - {"matrix": [11, 4], "x": 9.5, "y": 6.5} - ] - } - } -} diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h deleted file mode 100644 index 180926204492..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c deleted file mode 100644 index ce2c8a370258..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c +++ /dev/null @@ -1,141 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "keymap_colemak.h" -#include "sendstring_colemak.h" - -// Automatic Layer ID: -enum layer_names { - _QWERTY, // OS-side Colemak. Default. - _COLEMAK, // Keyboard-side Colemak. Portability, emergency. - _NUMERIC -}; - -// Shorthand: -#define LAYER_N MO(_NUMERIC) -#define LAYER_C TG(_COLEMAK) -#define PASTE LSFT(KC_INS) // Terminal-compatible paste. -#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak). -#define SRQ RALT(KC_0) -#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak). -#define BK_LCTL CTL_T(KC_LEFT_BRACKET) -#define BK_RCTL RCTL_T(KC_RIGHT_BRACKET) -// TODO: Mod-tap ALT with a curvilinear brace. -// https://github.com/qmk/qmk_firmware/pull/2055 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_62key( - KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G, - KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D, - KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B, - SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END, - KC_PGDN, KC_ENT, KC_SPC, - SC_LSPO, KC_LGUI, KC_MINS, - BK_LCTL, KC_LALT, - - CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE, - CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS, - CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT, - KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ, - KC_DEL, KC_ESC, KC_DOWN, - KC_EQL, LAYER_N, SC_RSPC, - KC_RALT, BK_RCTL - ), - - [_COLEMAK] = LAYOUT_62key( - _______, _______, KC_W, KC_F, KC_P, KC_G, - _______, KC_Q, KC_R, KC_S, KC_T, KC_D, - _______, KC_A, KC_X, KC_C, KC_V, KC_B, - _______, KC_Z, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, - - KC_J, KC_L, KC_U, KC_Y, _______, _______, - KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______, - KC_K, KC_M, _______, _______, KC_O, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______ - ), - - [_NUMERIC] = LAYOUT_62key( - LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5, - KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5, - _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, - KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2, - KC_WH_D, RGB_MOD, _______, - _______, _______, EMDASH, - _______, _______, - - KC_F6, KC_F7, KC_F8, KC_F9, QK_BOOT, KC_WAKE, // * - KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, - KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, - KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG, - KC_ACL1, KC_ACL2, KC_MS_D, - KC_ACL0, _______, _______, - _______, _______ - ) -}; - -// *KC_WAKE: Used in place of KC_SLEP because X11 with i3 on prerelease -// Debian 10 was seeing duplicate keypress and release events for sleep -// (regardless of i3 binding), which ruined the function. - - -/* -The rest is all about lighting control. -The logic here represents a pretty poor compromise solution between the -following concerns: - -- Feedback on active modifiers. -- Flexibility: Both sides of the keyboard are interchangeable. -- Regular QMK RBG lighting modes. Specifically, Knight and Xmas. - -Currently, the last item suffers, because the first two seem to require -calling a function that implements the RGBLIGHT_SPLIT_SET_CHANGE_HSVS macro, -which most of the rgblight.c functions do not. In particular, functions that -target an individual LED do not do so correctly across the wire, so instead -we let HSV vary without ever targeting LEDs. -*/ - -// How long to wait between animation steps for "Knight" animation: -const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {255, 200, 100}; - -bool _initialized = false; -bool _leds_dirty = false; - -void modal_leds(void) { - uint8_t mods = get_mods(); - uint16_t hue = 355; // Rough match to printed case. - uint8_t saturation = 255; - uint8_t value = 0; - if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; } - if (layer_state_is(_NUMERIC)) { value += 30; } - if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; } - if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; } - if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; } - // rgblight_sethsv_eeprom_helper is not a great API function but it does - // affect both halves of a split keyboard. - rgblight_sethsv_eeprom_helper(hue, saturation, value, false); - _leds_dirty = false; -} - -void matrix_scan_user(void) { - if (_leds_dirty) { modal_leds(); } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!_initialized) { - // Static lighting is amenable to customization. - rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); - _initialized = true; - } - if (keycode == KC_WAKE) { - // Turn the lights off before going to sleep. - rgblight_sethsv_eeprom_helper(0, 0, 0, false); - } else { - _leds_dirty = true; - } - return true; -} diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/rules.mk b/keyboards/handwired/dactyl_manuform/dmote/62key/rules.mk deleted file mode 100644 index a6a97a5c8e36..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -# Build-process overrides for the DMOTE. -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -RGBLIGHT_ENABLE = yes # Needed for the C linker with lighting control. -COMMAND_ENABLE = no # Not a good combo with Space Cadet shift. diff --git a/keyboards/handwired/dactyl_manuform/dmote/readme.md b/keyboards/handwired/dactyl_manuform/dmote/readme.md deleted file mode 100644 index 7aff2df52441..000000000000 --- a/keyboards/handwired/dactyl_manuform/dmote/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -DMOTE -====== - -The “Dactyl-ManuForm: Opposable Thumb Edition” is made from a Clojure -application maintained [here](https://github.com/veikman/dactyl-keyboard). -The application supports varied physical layouts and therefore matrices. -This physical variability is its main feature; its QMK firmware is ordinary. - -Consult the general [Dactyl-ManuForm readme](../readme.md). - -## The `62key` layout - -This folder represents the default build target of the Clojure application -as of its version 0.4.0. The default keymap for this layout has a QWERTY base -layer but is intended for running Colemak on the OS side with the i3 tiling -window manager. It’s also got a layer that forces Colemak from the QMK side. diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index 560562f54429..dd281844007b 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 index 424fde95622a..081fab571adf 100644 --- a/keyboards/handwired/dactyl_maximus/info.json +++ b/keyboards/handwired/dactyl_maximus/info.json @@ -4,9 +4,9 @@ "url": "", "maintainer": "dunk2k", "usb": { - "vid": "0x444D", - "pid": "0x3536", - "device_version": "0.0.1" + "vid": "0x444C", + "pid": "0xA57B", + "device_version": "1.0.0" }, "features": { "bootmagic": true, @@ -32,83 +32,83 @@ "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, 0], "x": 0, "y": 0.35}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0.35}, + {"matrix": [0, 3], "x": 3, "y": 0.1}, {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0.1}, + {"matrix": [0, 6], "x": 6, "y": 0.1}, - {"matrix": [6, 0], "x": 12, "y": 0}, - {"matrix": [6, 1], "x": 13, "y": 0}, + {"matrix": [6, 0], "x": 12, "y": 0.1}, + {"matrix": [6, 1], "x": 13, "y": 0.1}, {"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": [6, 3], "x": 15, "y": 0.1}, + {"matrix": [6, 4], "x": 16, "y": 0.35}, + {"matrix": [6, 5], "x": 17, "y": 0.35}, + {"matrix": [6, 6], "x": 18, "y": 0.35}, - {"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, 0], "x": 0, "y": 1.35}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1.35}, + {"matrix": [1, 3], "x": 3, "y": 1.1}, {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1.1}, + {"matrix": [1, 6], "x": 6, "y": 1.1}, - {"matrix": [7, 0], "x": 12, "y": 1}, - {"matrix": [7, 1], "x": 13, "y": 1}, + {"matrix": [7, 0], "x": 12, "y": 1.1}, + {"matrix": [7, 1], "x": 13, "y": 1.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": [7, 3], "x": 15, "y": 1.1}, + {"matrix": [7, 4], "x": 16, "y": 1.35}, + {"matrix": [7, 5], "x": 17, "y": 1.35}, + {"matrix": [7, 6], "x": 18, "y": 1.35}, - {"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, 0], "x": 0, "y": 2.35}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2.35}, + {"matrix": [2, 3], "x": 3, "y": 2.1}, {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2.1}, + {"matrix": [2, 6], "x": 6, "y": 2.1}, - {"matrix": [8, 0], "x": 12, "y": 2}, - {"matrix": [8, 1], "x": 13, "y": 2}, + {"matrix": [8, 0], "x": 12, "y": 2.1}, + {"matrix": [8, 1], "x": 13, "y": 2.1}, {"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": [8, 3], "x": 15, "y": 2.1}, + {"matrix": [8, 4], "x": 16, "y": 2.35}, + {"matrix": [8, 5], "x": 17, "y": 2.35}, + {"matrix": [8, 6], "x": 18, "y": 2.35}, - {"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, 0], "x": 0, "y": 3.35}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3.35}, + {"matrix": [3, 3], "x": 3, "y": 3.1}, {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3.1}, + {"matrix": [3, 6], "x": 6, "y": 3.1}, - {"matrix": [9, 0], "x": 12, "y": 3}, - {"matrix": [9, 1], "x": 13, "y": 3}, + {"matrix": [9, 0], "x": 12, "y": 3.1}, + {"matrix": [9, 1], "x": 13, "y": 3.1}, {"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": [9, 3], "x": 15, "y": 3.1}, + {"matrix": [9, 4], "x": 16, "y": 3.35}, + {"matrix": [9, 5], "x": 17, "y": 3.35}, + {"matrix": [9, 6], "x": 18, "y": 3.35}, - {"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, 0], "x": 0, "y": 4.35}, + {"matrix": [4, 1], "x": 1, "y": 4.35}, + {"matrix": [4, 2], "x": 2, "y": 4.35}, + {"matrix": [4, 3], "x": 3, "y": 4.1}, {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4.1}, - {"matrix": [10, 1], "x": 13, "y": 4}, + {"matrix": [10, 1], "x": 13, "y": 4.1}, {"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": [10, 3], "x": 15, "y": 4.1}, + {"matrix": [10, 4], "x": 16, "y": 4.35}, + {"matrix": [10, 5], "x": 17, "y": 4.35}, + {"matrix": [10, 6], "x": 18, "y": 4.35}, {"matrix": [4, 6], "x": 7, "y": 5}, {"matrix": [5, 6], "x": 8, "y": 5}, diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c b/keyboards/handwired/dactyl_minidox/3x5_3.c similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c rename to keyboards/handwired/dactyl_minidox/3x5_3.c diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_minidox/config.h similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/config.h rename to keyboards/handwired/dactyl_minidox/config.h diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json new file mode 100644 index 000000000000..a94f517b52c7 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/info.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "Dactyl Minidox", + "manufacturer": "dlford", + "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", + "maintainer": "dlford", + "usb": { + "vid": "0x444D", + "pid": "0x3536", + "device_version": "0.0.3" + }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "ws2812": { + "pin": "D3" + }, + "rgb_matrix": { + "driver": "ws2812" + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B4", "B5"], + "rows": ["B1", "B3", "B2", "B6"] + }, + "diode_direction": "ROW2COL", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "development_board": "promicro", + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_3" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "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": [4, 0], "x": 10, "y": 0}, + {"matrix": [4, 1], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 3], "x": 13, "y": 0}, + {"matrix": [4, 4], "x": 14, "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": [5, 0], "x": 10, "y": 1}, + {"matrix": [5, 1], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 3], "x": 13, "y": 1}, + {"matrix": [5, 4], "x": 14, "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": [6, 0], "x": 10, "y": 2}, + {"matrix": [6, 1], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 3], "x": 13, "y": 2}, + {"matrix": [6, 4], "x": 14, "y": 2}, + + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + + {"matrix": [7, 0], "x": 10, "y": 3}, + {"matrix": [7, 1], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c b/keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c rename to keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h rename to keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c rename to keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h rename to keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c similarity index 100% rename from keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c rename to keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk new file mode 100644 index 000000000000..d24f7a0cbd8d --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk @@ -0,0 +1,16 @@ +# Includes +SRC += features/caps_word.c + +# Build Options +# change yes to no to disable +# +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly +INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. +# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times +# KEY_OVERRIDE_ENABLE = yes # Override key combos +# COMBO_ENABLE = yes # Custom key combos + +LTO_ENABLE = yes +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/config.h b/keyboards/handwired/dactyl_minidox/keymaps/via/config.h new file mode 100644 index 000000000000..bb5b0bf6af6d --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 @dlford +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* Select hand configuration */ +// #define MASTER_LEFT +// #define MASTER_RIGHT + +#define EE_HANDS diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c b/keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c new file mode 100644 index 000000000000..80b9b62b5355 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers{ + _BASE, + _RAISE, + _LOWER, + _BLANK +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + 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_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT + ), + [_RAISE] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_LOWER] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_BLANK] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_minidox/readme.md b/keyboards/handwired/dactyl_minidox/readme.md new file mode 100644 index 000000000000..5826403a80ff --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/readme.md @@ -0,0 +1,27 @@ +# Dactyl Minidox + +![DactylMinidox](https://i.imgur.com/PqjgeRfh.jpg) + +A 36 key (3x5+3), split bodied keyboard derived from the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). + +* Keyboard Maintainer: [Dan Ford](https://github.com/dlford) +* Hardware Supported: Pro Micro controller, or clone of +* Hardware Availability: [Build Guide](https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/) + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_minidox:default + +Flashing example for this keyboard: + + make handwired/dactyl_minidox: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_minidox/rules.mk b/keyboards/handwired/dactyl_minidox/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/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 ab6beb807f03..543ef8e6c5a0 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 5f0b4f85a285..2ae20d2f4a8c 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 ed2d1440c832..1dd2f4784109 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/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h deleted file mode 100644 index bbcd4fdcf64f..000000000000 --- a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h +++ /dev/null @@ -1,23 +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 MASTER_RIGHT -// #define MASTER_RIGHT -//#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c deleted file mode 100644 index 7a579aef075e..000000000000 --- a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ - -/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */ - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - - [_QWERTY] = LAYOUT_6x6( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS, - KC_LSFT , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - KC_LCTL , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM , KC_DOT ,KC_SLSH,KC_BSLS, - KC_PLUS , KC_LEFT,KC_UP ,KC_DOWN, KC_RGHT, RAISE , LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL, - _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC, KC_ENT,KC_GRAVE, KC_AT ,KC_PSCR ,_______ - - ), - - - [_LOWER] = LAYOUT_6x6( - 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_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, - _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, - _______,_______,_______,_______,_______,KC_PSCR, KC_P0 , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ -), - - [_RAISE] = LAYOUT_6x6( - 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_LBRC, KC_RBRC,_______,KC_NUM ,KC_INS ,KC_SCRL,KC_MUTE, - _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, _______,_______,_______,_______,_______ - ), - - }; diff --git a/keyboards/handwired/dactyl_promicro/readme.md b/keyboards/handwired/dactyl_promicro/readme.md index a426319b4e56..63fd3a8df6dd 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 e40f6dfc69ef..107d8e166835 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 9234536a2323..bfacb99a4b0a 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/dactyl_tracer/info.json b/keyboards/handwired/dactyl_tracer/info.json new file mode 100644 index 000000000000..29e599066687 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/info.json @@ -0,0 +1,92 @@ +{ + "keyboard_name": "Dactyl Tracer", + "manufacturer": "mjohns", + "url": "https://github.com/mjohns/tracer", + "maintainer": "mjohns", + "usb": { + "vid": "0x444E", + "pid": "0x1307", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "mousekey": true, + "extrakey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B4", "B5"], + "rows": ["F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "development_board": "promicro", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "layouts": { + "LAYOUT" : { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"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": 9, "y": 0}, + {"matrix": [5, 1], "x": 10, "y": 0}, + {"matrix": [5, 2], "x": 11, "y": 0}, + {"matrix": [5, 3], "x": 12, "y": 0}, + {"matrix": [5, 4], "x": 13, "y": 0.25}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"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": 9, "y": 1}, + {"matrix": [6, 1], "x": 10, "y": 1}, + {"matrix": [6, 2], "x": 11, "y": 1}, + {"matrix": [6, 3], "x": 12, "y": 1}, + {"matrix": [6, 4], "x": 13, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"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": 9, "y": 2}, + {"matrix": [7, 1], "x": 10, "y": 2}, + {"matrix": [7, 2], "x": 11, "y": 2}, + {"matrix": [7, 3], "x": 12, "y": 2}, + {"matrix": [7, 4], "x": 13, "y": 2.5}, + + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + + {"matrix": [3, 4], "x": 5, "y": 3.25}, + + {"matrix": [8, 0], "x": 8, "y": 3.25}, + + {"matrix": [8, 2], "x": 11, "y": 3}, + {"matrix": [8, 3], "x": 12, "y": 3}, + + {"matrix": [4, 2], "x": 3, "y": 4 }, + {"matrix": [3, 3], "x": 4, "y": 4 }, + {"matrix": [4, 4], "x": 5, "y": 4.25}, + + {"matrix": [9, 0], "x": 8, "y": 4.25}, + {"matrix": [8, 1], "x": 9, "y": 4}, + {"matrix": [9, 2], "x": 10, "y": 4}, + + {"matrix": [4, 3], "x": 4.5, "y": 5.25}, + + {"matrix": [9, 1], "x": 8.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_tracer/keymaps/default/config.h b/keyboards/handwired/dactyl_tracer/keymaps/default/config.h new file mode 100644 index 000000000000..0cb73d6a454f --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/default/config.h @@ -0,0 +1,23 @@ +// 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_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +#define TAPPING_TERM 200 + +#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c b/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c new file mode 100644 index 000000000000..0fa218b9307a --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c @@ -0,0 +1,60 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _BASE, + _RAISE, + _LOWER, + _SYS, +}; + +#define MG_A LGUI_T(KC_A) +#define MA_S LALT_T(KC_S) +#define MC_D LCTL_T(KC_D) +#define MS_F LSFT_T(KC_F) +#define MS_J RSFT_T(KC_J) +#define MC_K RCTL_T(KC_K) +#define MA_L LALT_T(KC_L) +#define MG_SCLN RGUI_T(KC_SCLN) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) + +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, + MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, + KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN, + KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC, + MO(1), MO(2) + ), + + [_RAISE] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, + KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD, + KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS, + KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI, + _______, MO(3) + ), + + [_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_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12, + KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO, + KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P, + KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO, + MO(3), _______ + ), + + [_SYS] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + 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_tracer/keymaps/via/config.h b/keyboards/handwired/dactyl_tracer/keymaps/via/config.h new file mode 100644 index 000000000000..ab8832c96e4d --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/via/config.h @@ -0,0 +1,15 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* mouse config */ +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +#define TAPPING_TERM 200 + +#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c b/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c new file mode 100644 index 000000000000..0fa218b9307a --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c @@ -0,0 +1,60 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _BASE, + _RAISE, + _LOWER, + _SYS, +}; + +#define MG_A LGUI_T(KC_A) +#define MA_S LALT_T(KC_S) +#define MC_D LCTL_T(KC_D) +#define MS_F LSFT_T(KC_F) +#define MS_J RSFT_T(KC_J) +#define MC_K RCTL_T(KC_K) +#define MA_L LALT_T(KC_L) +#define MG_SCLN RGUI_T(KC_SCLN) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) + +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, + MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, + KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN, + KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC, + MO(1), MO(2) + ), + + [_RAISE] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, + KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD, + KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS, + KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI, + _______, MO(3) + ), + + [_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_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12, + KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO, + KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P, + KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO, + MO(3), _______ + ), + + [_SYS] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + 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/kbdfans/kbd67/mkiirgb/keymaps/cykedev/rules.mk b/keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk similarity index 100% rename from keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/rules.mk rename to keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_tracer/readme.md b/keyboards/handwired/dactyl_tracer/readme.md new file mode 100644 index 000000000000..c6e1d80892d8 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/readme.md @@ -0,0 +1,27 @@ +# Dactyl Tracer + +![DactylTracer](https://i.imgur.com/ReCBppEh.jpeg) + +The Dactyl Tracer is a handwired, split bodied, concave key-well, columnar keyboard. Case design is similar to the [Dactyl CC](/keyboards/handwired/dactyl_cc) though overall design is closer to the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). The `Q` and `P` keys are vertically offset, from `A` and `;` keys respectively, to allow for easier actuation by third/ring finger. + +* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns) +* Hardware Supported: Pro Micro controller, or clone of +* Hardware Availability: [Case Files](https://github.com/mjohns/tracer) + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_tracer:default + +Flashing example for this keyboard: + + make handwired/dactyl_tracer: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_tracer/rules.mk b/keyboards/handwired/dactyl_tracer/rules.mk new file mode 100644 index 000000000000..3bbd2614291a --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/rules.mk @@ -0,0 +1 @@ +# File intentionally blank diff --git a/keyboards/handwired/dactylmacropad/config.h b/keyboards/handwired/dactylmacropad/config.h deleted file mode 100644 index a2a5455ab148..000000000000 --- 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 6744d4b7015d..5d40a240a9fd 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/config.h b/keyboards/handwired/daishi/config.h deleted file mode 100644 index 2e6498ab5d81..000000000000 --- a/keyboards/handwired/daishi/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2019 Crokto - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/* Set delay for tap_code on rotary encoder */ -#define TAP_CODE_DELAY 10 diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json index 37d80633a79f..6b6508eb83b2 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 0b2de61490a0..b1d8cc9c773a 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 7ebcff366ff5..608c45dea349 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< +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, normally used to indicate keyboard state: +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 +#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 diff --git a/keyboards/handwired/dmote/info.json b/keyboards/handwired/dmote/info.json new file mode 100644 index 000000000000..fc52fee11e91 --- /dev/null +++ b/keyboards/handwired/dmote/info.json @@ -0,0 +1,124 @@ +{ + "keyboard_name": "DMOTE", + "manufacturer": "veikman", + "url": "https://github.com/veikman/dactyl-keyboard", + "maintainer": "veikman", + "development_board": "promicro", + "usb": { + "vid": "0x444D", + "pid": "0x3632", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "rgblight": { + "led_count": 6, + "split_count": [3, 3], + "animations": { + "christmas": true, + "knight": true + } + }, + "ws2812": { + "pin": "D1" + }, + "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" + }, + "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, 5], "x": 9, "y": 0}, + {"matrix": [6, 4], "x": 10, "y": 0}, + {"matrix": [6, 3], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 1], "x": 13, "y": 0}, + {"matrix": [6, 0], "x": 14, "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, 5], "x": 9, "y": 1}, + {"matrix": [7, 4], "x": 10, "y": 1}, + {"matrix": [7, 3], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 1], "x": 13, "y": 1}, + {"matrix": [7, 0], "x": 14, "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, 5], "x": 9, "y": 2}, + {"matrix": [8, 4], "x": 10, "y": 2}, + {"matrix": [8, 3], "x": 11, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [8, 1], "x": 13, "y": 2}, + {"matrix": [8, 0], "x": 14, "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": [9, 4], "x": 10, "y": 3}, + {"matrix": [9, 3], "x": 11, "y": 3}, + {"matrix": [9, 2], "x": 12, "y": 3}, + {"matrix": [9, 1], "x": 13, "y": 3}, + {"matrix": [9, 0], "x": 14, "y": 3}, + + {"matrix": [4, 3], "x": 3, "y": 4}, + + {"matrix": [4, 2], "x": 4.5, "y": 4.5}, + {"matrix": [3, 5], "x": 5.5, "y": 4.5}, + + {"matrix": [9, 5], "x": 8.5, "y": 4.5}, + {"matrix": [10, 2], "x": 9.5, "y": 4.5}, + + {"matrix": [10, 3], "x": 11, "y": 4}, + + {"matrix": [5, 2], "x": 4, "y": 5.5}, + {"matrix": [4, 4], "x": 5, "y": 5.5}, + {"matrix": [4, 5], "x": 6, "y": 5.5}, + + {"matrix": [10, 5], "x": 8, "y": 5.5}, + {"matrix": [10, 4], "x": 9, "y": 5.5}, + {"matrix": [11, 2], "x": 10, "y": 5.5}, + + {"matrix": [5, 4], "x": 4.5, "y": 6.5}, + {"matrix": [5, 5], "x": 5.5, "y": 6.5}, + + {"matrix": [11, 5], "x": 8.5, "y": 6.5}, + {"matrix": [11, 4], "x": 9.5, "y": 6.5} + ] + } + } +} diff --git a/keyboards/handwired/dmote/keymaps/default/keymap.c b/keyboards/handwired/dmote/keymaps/default/keymap.c new file mode 100644 index 000000000000..59a5b51f1ba9 --- /dev/null +++ b/keyboards/handwired/dmote/keymaps/default/keymap.c @@ -0,0 +1,134 @@ +/* +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 + +#include "keymap_colemak.h" +#include "sendstring_colemak.h" + +// Automatic Layer ID: +enum layer_names { + _QWERTY, // OS-side Colemak. Default. + _COLEMAK, // Keyboard-side Colemak. Portability, emergency. + _NUMERIC, +}; + +// Shorthand: +#define LAYER_N MO(_NUMERIC) +#define LAYER_C TG(_COLEMAK) +#define PASTE LSFT(KC_INS) // Terminal-compatible paste. +#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak). +#define SRQ RALT(KC_0) +#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak). +#define BK_LCTL CTL_T(KC_LEFT_BRACKET) +#define BK_RCTL RCTL_T(KC_RIGHT_BRACKET) +// TODO: Mod-tap ALT with a curvilinear brace. +// https://github.com/qmk/qmk_firmware/pull/2055 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE, + KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS, + KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT, + SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END, KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ, + KC_PGDN, KC_ENT, KC_SPC, KC_DEL, KC_ESC, KC_DOWN, + SC_LSPO, KC_LGUI, KC_MINS, KC_EQL, LAYER_N, SC_RSPC, + BK_LCTL, KC_LALT, KC_RALT, BK_RCTL + ), + + [_COLEMAK] = LAYOUT( + _______, _______, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, _______, _______, + _______, KC_Q, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______, + _______, KC_A, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, _______, _______, KC_O, _______, + _______, KC_Z, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_NUMERIC] = LAYOUT( + LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, QK_BOOT, KC_WAKE, // * + KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, + _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, + KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2, KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG, + KC_WH_D, RGB_MOD, _______, KC_ACL1, KC_ACL2, KC_MS_D, + _______, _______, EMDASH, KC_ACL0, _______, _______, + _______, _______, _______, _______ + ) +}; + +// *KC_WAKE: Used in place of KC_SLEP because X11 with i3 on prerelease +// Debian 10 was seeing duplicate keypress and release events for sleep +// (regardless of i3 binding), which ruined the function. + +/* +The rest is all about lighting control. +The logic here represents a pretty poor compromise solution between the +following concerns: + +- Feedback on active modifiers. +- Flexibility: Both sides of the keyboard are interchangeable. +- Regular QMK RBG lighting modes. Specifically, Knight and Xmas. + +Currently, the last item suffers, because the first two seem to require +calling a function that implements the RGBLIGHT_SPLIT_SET_CHANGE_HSVS macro, +which most of the rgblight.c functions do not. In particular, functions that +target an individual LED do not do so correctly across the wire, so instead +we let HSV vary without ever targeting LEDs. +*/ + +// How long to wait between animation steps for "Knight" animation: +const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {255, 200, 100}; + +bool _initialized = false; +bool _leds_dirty = false; + +void modal_leds(void) { + uint8_t mods = get_mods(); + uint16_t hue = 355; // Rough match to printed case. + uint8_t saturation = 255; + uint8_t value = 0; + if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; } + if (layer_state_is(_NUMERIC)) { value += 30; } + if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; } + if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; } + if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; } + // rgblight_sethsv_eeprom_helper is not a great API function but it does + // affect both halves of a split keyboard. + rgblight_sethsv_eeprom_helper(hue, saturation, value, false); + _leds_dirty = false; +} + +void matrix_scan_user(void) { + if (_leds_dirty) { modal_leds(); } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!_initialized) { + // Static lighting is amenable to customization. + rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); + _initialized = true; + } + if (keycode == KC_WAKE) { + // Turn the lights off before going to sleep. + rgblight_sethsv_eeprom_helper(0, 0, 0, false); + } else { + _leds_dirty = true; + } + return true; +} diff --git a/keyboards/handwired/dmote/readme.md b/keyboards/handwired/dmote/readme.md new file mode 100644 index 000000000000..9b6ff3a9f439 --- /dev/null +++ b/keyboards/handwired/dmote/readme.md @@ -0,0 +1,29 @@ +# DMOTE + +![DMOTE](https://i.imgur.com/JYkB6LBh.jpg) + +The “**D**actyl-**M**anuForm: **O**pposable **T**humb **E**dition” is made from a Clojure +application maintained [here](https://github.com/veikman/dactyl-keyboard). +The application supports varied physical layouts and therefore matrices. +This physical variability is its main feature; its QMK firmware is ordinary. + +* Keyboard Maintainer: [Viktor Eikman](https://github.com/veikman/) +* Hardware Supported: Pro Micro and clones + +Make example for this keyboard (after setting up your build environment): + + make handwired/dmote:default + +Flashing example for this keyboard: + + make handwired/dmote: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/dmote/rules.mk b/keyboards/handwired/dmote/rules.mk new file mode 100644 index 000000000000..876618b9d13a --- /dev/null +++ b/keyboards/handwired/dmote/rules.mk @@ -0,0 +1 @@ +# File is intentionally blank diff --git a/keyboards/handwired/dqz11n1g/rules.mk b/keyboards/handwired/dqz11n1g/rules.mk index 23f6b89cc2a5..220e353ab771 100644 --- a/keyboards/handwired/dqz11n1g/rules.mk +++ b/keyboards/handwired/dqz11n1g/rules.mk @@ -1,7 +1,7 @@ # Keyboard matrix uses shift-registers read via SPI CUSTOM_MATRIX = lite SRC += matrix.c -QUANTUM_LIB_SRC += spi_master.c +SPI_DRIVER_REQUIRED = yes # Build Options # change yes to no to disable diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk index 761e07550016..ecf156629aa3 100644 --- a/keyboards/handwired/dygma/raise/rules.mk +++ b/keyboards/handwired/dygma/raise/rules.mk @@ -19,7 +19,7 @@ CUSTOM_MATRIX = lite # alternate usb endpoints. RAW_ENABLE = yes -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes SRC += matrix.c DEFAULT_FOLDER = handwired/dygma/raise/ansi diff --git a/keyboards/handwired/ergocheap/config.h b/keyboards/handwired/ergocheap/config.h index 445892274611..23b6e9bad96d 100644 --- a/keyboards/handwired/ergocheap/config.h +++ b/keyboards/handwired/ergocheap/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define TAPPING_TERM 500 #define PERMISSIVE_HOLD /* diff --git a/keyboards/handwired/ergocheap/info.json b/keyboards/handwired/ergocheap/info.json index 12bff57b3e06..17d786323770 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 2c8f1f42bf10..10c9a692dffa 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 9cb309c78ff3..d758c6023943 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 a22b06d41716..8d031b3c42fa 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": [ diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index e5a5dcc6c163..60e355f290e7 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 -# define RGBLED_SPLIT { 16, 14 } -// 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 -#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 -#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 5ddf21ee7956..0be6c8cdb983 100644 --- a/keyboards/handwired/freoduo/info.json +++ b/keyboards/handwired/freoduo/info.json @@ -16,6 +16,27 @@ "split": { "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } +}, "ws2812": { "pin": "D4" }, diff --git a/keyboards/handwired/fruity60/info.json b/keyboards/handwired/fruity60/info.json index dab7f609a80d..34b1edc82078 100644 --- a/keyboards/handwired/fruity60/info.json +++ b/keyboards/handwired/fruity60/info.json @@ -8,6 +8,9 @@ "pid": "0xB170", "device_version": "0.0.1" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "B7", "D6", "C7"], "rows": ["B6", "B5", "D7", "C6", "D0", "D1"] diff --git a/keyboards/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk index 61260f5e3982..79e2ef4eff97 100644 --- a/keyboards/handwired/fruity60/rules.mk +++ b/keyboards/handwired/fruity60/rules.mk @@ -14,4 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/hacked_motospeed/info.json b/keyboards/handwired/hacked_motospeed/info.json index 86736773ece8..899bd58bcbf1 100644 --- a/keyboards/handwired/hacked_motospeed/info.json +++ b/keyboards/handwired/hacked_motospeed/info.json @@ -8,6 +8,9 @@ "pid": "0x0690", "device_version": "0.0.1" }, + "bluetooth": { + "driver": "rn42" + }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F3", "F2", "E0", "E1", "C0", "C1", "C2", "C3"], "rows": ["B3", "B4", "F1", "B5", "B6", "D5", "D4", "D6", "D7", "C4"] diff --git a/keyboards/handwired/hacked_motospeed/rules.mk b/keyboards/handwired/hacked_motospeed/rules.mk index 50716e356f86..362a7fadbed4 100644 --- a/keyboards/handwired/hacked_motospeed/rules.mk +++ b/keyboards/handwired/hacked_motospeed/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = RN42 diff --git a/keyboards/handwired/heisenberg/config.h b/keyboards/handwired/heisenberg/config.h index 00362c53758e..7ad28a9c225f 100644 --- a/keyboards/handwired/heisenberg/config.h +++ b/keyboards/handwired/heisenberg/config.h @@ -17,22 +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 -#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 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -47,9 +31,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 5b3e000fba30..09e03bd06319 100644 --- a/keyboards/handwired/heisenberg/info.json +++ b/keyboards/handwired/heisenberg/info.json @@ -8,6 +8,21 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json index 4d7d3e038616..a399ffedf5df 100644 --- a/keyboards/handwired/hnah108/info.json +++ b/keyboards/handwired/hnah108/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F0", "E6", "B0", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"], diff --git a/keyboards/handwired/hnah40rgb/info.json b/keyboards/handwired/hnah40rgb/info.json index 9f952d685a80..fce74cefef5b 100644 --- a/keyboards/handwired/hnah40rgb/info.json +++ b/keyboards/handwired/hnah40rgb/info.json @@ -12,7 +12,7 @@ "pin": "E2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["D5", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], diff --git a/keyboards/handwired/iso85k/info.json b/keyboards/handwired/iso85k/info.json new file mode 100644 index 000000000000..625a356e307b --- /dev/null +++ b/keyboards/handwired/iso85k/info.json @@ -0,0 +1,123 @@ +{ + "manufacturer": "Fredrik A. Kristiansen", + "keyboard_name": "iso85k", + "maintainer": "FredrikAleksander", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "cols": ["A7", "C4", "C5", "B0", "B1", "B2", "B10", "B11", "C10", "C11", "C12", "B3", "B4", "B5", "B8", "B9"], + "rows": ["C7", "C6", "B15", "B14", "B13", "B12"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0xCAFE", + "vid": "0xD666" + }, + "community_layouts": ["75_iso"], + "layouts": { + "LAYOUT_75_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}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "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, 15], "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": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"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, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "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, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + } + } +} diff --git a/keyboards/handwired/iso85k/keymaps/default/keymap.c b/keyboards/handwired/iso85k/keymaps/default/keymap.c new file mode 100644 index 000000000000..aaba9c1ea1e2 --- /dev/null +++ b/keyboards/handwired/iso85k/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2023 Fredrik A. Kristiansen (fredrikaxk@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BL, + _FL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BL] = LAYOUT_75_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_PAUS, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FL] = LAYOUT_75_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_SCRL, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/iso85k/keymaps/via/keymap.c b/keyboards/handwired/iso85k/keymaps/via/keymap.c new file mode 100644 index 000000000000..3d64364cc698 --- /dev/null +++ b/keyboards/handwired/iso85k/keymaps/via/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2023 Fredrik A. Kristiansen (fredrikaxk@gmail.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BL, + _FL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BL] = LAYOUT_75_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_PAUS, KC_DEL, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FL] = LAYOUT_75_iso( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_SCRL, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/iso85k/keymaps/via/rules.mk b/keyboards/handwired/iso85k/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/iso85k/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/iso85k/readme.md b/keyboards/handwired/iso85k/readme.md new file mode 100644 index 000000000000..89e3d60d2ae8 --- /dev/null +++ b/keyboards/handwired/iso85k/readme.md @@ -0,0 +1,25 @@ +# iso85k + +*A 85-key ISO keyboard* + +* Keyboard Maintainer: [Fredrik A. Kristiansen](https://github.com/FredrikAleksander) +* Hardware Supported: Custom PCB using STM32F072 +* Hardware Availability: PCB gerbers available upon request (fredrikaxk@gmail.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/iso85k:via + +Flashing example for this keyboard: + + make handwired/iso85k:via: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, while shorting the pins marked BOOT0 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/iso85k/rules.mk b/keyboards/handwired/iso85k/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/iso85k/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/itstleo9/info.json b/keyboards/handwired/itstleo9/info.json new file mode 100644 index 000000000000..ba9de4d774f3 --- /dev/null +++ b/keyboards/handwired/itstleo9/info.json @@ -0,0 +1,36 @@ +{ + "manufacturer": "Its TLeo", + "keyboard_name": "ItsTleo9", + "maintainer": "Its TLeo", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x4954" + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/keymaps/default/keymap.c b/keyboards/handwired/itstleo9/keymaps/default/keymap.c new file mode 100644 index 000000000000..ea111ba6fead --- /dev/null +++ b/keyboards/handwired/itstleo9/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┮───┮───┐ + * │ A │ B │ C │ + * ├───┾───┾───â”Ī + * │ D │ E │ F │ + * ├───┾───┾───â”Ī + * │ G │ H │ I │ + * └───â”ī───â”ī───┘ + */ + [0] = LAYOUT_ortho_3x3( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I + ) +}; diff --git a/keyboards/handwired/itstleo9/keymaps/via/keymap.c b/keyboards/handwired/itstleo9/keymaps/via/keymap.c new file mode 100644 index 000000000000..ea111ba6fead --- /dev/null +++ b/keyboards/handwired/itstleo9/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┮───┮───┐ + * │ A │ B │ C │ + * ├───┾───┾───â”Ī + * │ D │ E │ F │ + * ├───┾───┾───â”Ī + * │ G │ H │ I │ + * └───â”ī───â”ī───┘ + */ + [0] = LAYOUT_ortho_3x3( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I + ) +}; diff --git a/keyboards/handwired/itstleo9/keymaps/via/rules.mk b/keyboards/handwired/itstleo9/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/itstleo9/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/promicro/info.json b/keyboards/handwired/itstleo9/promicro/info.json new file mode 100644 index 000000000000..4cbc1050c0c7 --- /dev/null +++ b/keyboards/handwired/itstleo9/promicro/info.json @@ -0,0 +1,7 @@ +{ + "development_board": "promicro", + "matrix_pins": { + "cols": ["D1", "D0", "D4"], + "rows": ["F4", "F5", "F6"] + } +} \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/promicro/rules.mk b/keyboards/handwired/itstleo9/promicro/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/itstleo9/promicro/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/itstleo9/readme.md b/keyboards/handwired/itstleo9/readme.md new file mode 100644 index 000000000000..233407b39317 --- /dev/null +++ b/keyboards/handwired/itstleo9/readme.md @@ -0,0 +1,37 @@ +# itstleo9 + +Handwired 3x3 macropad built with Pro Micro compatible microcontrollers + +* Keyboard Maintainer: [ItsTLeo](https://github.com/ItsTLeo) +* Hardware Supported: RP2040/ATmega32U4 Pro Micro +* Hardware Availability: [RP2040](https://aliexpress.com/item/1005005616524430.html), [ATmega32U4](https://aliexpress.com/item/32888212119.html) + +Make example for this keyboard (after setting up your build environment): + + make handwired/itstleo9/promicro:default + make handwired/itstleo9/rp2040:default + +Flashing example for this keyboard: + + make handwired/itstleo9/promicro:default:flash + make handwired/itstleo9/rp2040: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). Dont know how to make a handwire keyboard, check it out [SkottoKeebs handwire tutorial](https://www.youtube.com/watch?v=hjml-K-pV4E&pp=ygUTaGFuZHdpcmUgYSBtYWNyb3BhZA%3D%3D) + +## Matrix pin (RP2040 ver) + +* **cols** : GP10 , GP11 , GP12 +* **rows** : GP21 , GP20 , GP19 + +## Matrix pin (Promicro ver) + +* **cols** : D1 , D0 , D4 +* **rows** : F4 , F5 , F6 + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard +* **Physical reset button**: Double-press reset button +* **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/itstleo9/rp2040/info.json b/keyboards/handwired/itstleo9/rp2040/info.json new file mode 100644 index 000000000000..0272150df124 --- /dev/null +++ b/keyboards/handwired/itstleo9/rp2040/info.json @@ -0,0 +1,9 @@ +{ + "bootloader": "rp2040", + "processor": "RP2040", + + "matrix_pins": { + "cols": ["GP10", "GP11", "GP12"], + "rows": ["GP21", "GP20", "GP19"] + } +} \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/rp2040/rules.mk b/keyboards/handwired/itstleo9/rp2040/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/itstleo9/rp2040/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/jankrp2040dactyl/config.h b/keyboards/handwired/jankrp2040dactyl/config.h new file mode 100644 index 000000000000..0cabd353361b --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Ethan Perry (@wheres-perry) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define GRAVE_ESC_SHIFT_OVERRIDE \ No newline at end of file diff --git a/keyboards/handwired/jankrp2040dactyl/info.json b/keyboards/handwired/jankrp2040dactyl/info.json new file mode 100644 index 000000000000..c4543b5d12a0 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/info.json @@ -0,0 +1,103 @@ +{ + "manufacturer": "Ethan Perry", + "keyboard_name": "rp2040dactyl", + "maintainer": "wheres-perry", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "GP0" + }, + + "features": { + "extrakey": true, + "mousekey": true, + "nkro": true, + "bootmagic": true + }, + + "matrix_pins": { + "cols": ["GP14", "GP15", "GP16", "GP17", "GP21", "GP22"], + "rows": ["GP8", "GP9", "GP10", "GP11", "GP12"] + }, + + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + + "layouts": { + "LAYOUT": { + "layout": + [{"matrix": [0, 0],"label":"Esc", "x":0, "y":0}, + {"matrix": [0, 1], "label":"1!", "x":1, "y":0}, + {"matrix": [0, 2], "label":"2@", "x":2, "y":0}, + {"matrix": [0, 3], "label":"3#", "x":3, "y":0}, + {"matrix": [0, 4], "label":"4$", "x":4, "y":0}, + {"matrix": [0, 5], "label":"5%", "x":5, "y":0}, + {"matrix": [5, 0], "label":"6^", "x":7, "y":0}, + {"matrix": [5, 1], "label":"7&", "x":8, "y":0}, + {"matrix": [5, 2], "label":"8*", "x":9, "y":0}, + {"matrix": [5, 3], "label":"9(", "x":10, "y":0}, + {"matrix": [5, 4], "label":"0)", "x":11, "y":0}, + {"matrix": [5, 5], "label":"+", "x":12, "y":0}, + + {"matrix": [1, 0], "label":"|", "x":0, "y":1}, + {"matrix": [1, 1], "label":"B", "x":1, "y":1}, + {"matrix": [1, 2], "label":"Y", "x":2, "y":1}, + {"matrix": [1, 3], "label":"O", "x":3, "y":1}, + {"matrix": [1, 4], "label":"U", "x":4, "y":1}, + {"matrix": [1, 5], "label":"\"", "x":5, "y":1}, + {"matrix": [6, 0], "label":":", "x":7, "y":1}, + {"matrix": [6, 1], "label":"L", "x":8, "y":1}, + {"matrix": [6, 2], "label":"D", "x":9, "y":1}, + {"matrix": [6, 3], "label":"W", "x":10, "y":1}, + {"matrix": [6, 4], "label":"V", "x":11, "y":1}, + {"matrix": [6, 5], "label":"Z", "x":12, "y":1}, + + {"matrix": [2, 0], "label":"Arrows", "x":0, "y":2}, + {"matrix": [2, 1], "label":"C", "x":1, "y":2}, + {"matrix": [2, 2], "label":"I", "x":2, "y":2}, + {"matrix": [2, 3], "label":"E", "x":3, "y":2}, + {"matrix": [2, 4], "label":"A", "x":4, "y":2}, + {"matrix": [2, 5], "label":"<", "x":5, "y":2}, + {"matrix": [7, 0], "label":">", "x":7, "y":2}, + {"matrix": [7, 1], "label":"H", "x":8, "y":2}, + {"matrix": [7, 2], "label":"T", "x":9, "y":2}, + {"matrix": [7, 3], "label":"S", "x":10, "y":2}, + {"matrix": [7, 4], "label":"N", "x":11, "y":2}, + {"matrix": [7, 5], "label":"Q", "x":12, "y":2}, + + {"matrix": [3, 0], "label":"Shift", "x":0, "y":3}, + {"matrix": [3, 1], "label":"G", "x":1, "y":3}, + {"matrix": [3, 2], "label":"X", "x":2, "y":3}, + {"matrix": [3, 3], "label":"J", "x":3, "y":3}, + {"matrix": [3, 4], "label":"K", "x":4, "y":3}, + {"matrix": [3, 5], "label":"_", "x":5, "y":3}, + {"matrix": [8, 0], "label":"?", "x":7, "y":3}, + {"matrix": [8, 1], "label":"R", "x":8, "y":3}, + {"matrix": [8, 2], "label":"M", "x":9, "y":3}, + {"matrix": [8, 3], "label":"F", "x":10, "y":3}, + {"matrix": [8, 4], "label":"P", "x":11, "y":3}, + {"matrix": [8, 5], "label":"FN", "x":12, "y":3}, + + {"matrix": [4, 3], "label":"Del", "x":3, "y":5}, + {"matrix": [4, 4], "label":"Space", "x":4, "y":5}, + {"matrix": [4, 5], "label":"Backspace", "x":5, "y":5}, + + {"matrix": [9, 0], "label":"Enter", "x":7, "y":5}, + {"matrix": [9, 3], "label":"Symbol", "x":8, "y":5}, + {"matrix": [9, 2], "label":"Tab", "x":9, "y":5}, + + {"matrix": [4, 1], "label":"Windows", "x":4, "y":6}, + {"matrix": [4, 2], "label":"Alt", "x":5, "y":6}, + + {"matrix": [9, 1], "label":"Ctrl", "x":7, "y":6}, + {"matrix": [9, 4], "label":"Blank", "x":8, "y":6} + ] + } + } +} diff --git a/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c b/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c new file mode 100644 index 000000000000..a9bc7b04f9a1 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2023 Ethan Perry (@wheres-perry) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 { + _BASELAYER, + _FUNCTIONLAYER, + _ARROWLAYER, + _SYMBOLLAYER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASELAYER] = LAYOUT( + QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL, + KC_BSLS,KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_SCLN,KC_L, KC_D, KC_W, KC_V, KC_Z, + MO(_FUNCTIONLAYER), KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q, + KC_LSFT,KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH,KC_R, KC_M, KC_F, KC_P, MO(_ARROWLAYER), + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ), + [_ARROWLAYER] = 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_UP, KC_TRNS,KC_TRNS,KC_TRNS, + MO(_FUNCTIONLAYER), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ), + [_FUNCTIONLAYER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL, KC_NO + + + ), + [_SYMBOLLAYER] = LAYOUT( + KC_TILD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_NO, KC_PIPE,KC_BSLS,KC_EQL, KC_LT, KC_GT, KC_LCBR,KC_RCBR,KC_UNDS,KC_ASTR,KC_PLUS, KC_NO, + KC_TRNS, KC_QUES,KC_QUOT,KC_DQUO,KC_COLN,KC_SCLN, KC_LPRN,KC_RPRN,KC_COMM,KC_DOT, KC_MINS,KC_NO, + KC_LSFT,KC_CIRC,KC_PERC,KC_AMPR,KC_HASH,KC_SLSH, KC_LBRC,KC_RBRC,KC_DLR, KC_AT, KC_EXLM,KC_TRNS, + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, KC_TRNS, KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ) +}; diff --git a/keyboards/handwired/jankrp2040dactyl/readme.md b/keyboards/handwired/jankrp2040dactyl/readme.md new file mode 100644 index 000000000000..0453816b1806 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/readme.md @@ -0,0 +1,26 @@ +# handwired/jankrp2040dactyl + + +A budget Dactyl-Manuform build using Raspberry Pi Pico. + +* Keyboard Maintainer: [Ethan Perry](https://github.com/wheres-perry) +* Hardware Supported: RP2040 Community Edition +* Hardware Availability: https://www.digikey.com/en/product-highlight/r/raspberry-pi/raspberry-pi-picoboard + +Make example for this keyboard (after setting up your build environment): + + make handwired/jankrp2040dactyl:default + +Flashing example for this keyboard: + + make handwired/jankrp2040dactyl: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/jankrp2040dactyl/rules.mk b/keyboards/handwired/jankrp2040dactyl/rules.mk new file mode 100644 index 000000000000..743228e94b64 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor \ No newline at end of file diff --git a/keyboards/handwired/jopr/config.h b/keyboards/handwired/jopr/config.h index 5d5233ca9994..59717346c33d 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 efebe52d0bcf..78fb52cb9951 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 1dc0f3a59e34..fc615b010914 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 edaabe78e6bf..69d1a56bb5c6 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/jscotto/scotto36/info.json b/keyboards/handwired/jscotto/scotto36/info.json deleted file mode 100644 index 3247b4019bdd..000000000000 --- a/keyboards/handwired/jscotto/scotto36/info.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "manufacturer": "Joe Scotto", - "keyboard_name": "Scotto36", - "maintainer": "joe-scotto", - "bootloader": "caterina", - "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"] - }, - "processor": "atmega32u4", - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT_ortho_3x10_6": { - "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}, - - // 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, 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} - ] - } - } -} diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c deleted file mode 100644 index ad8451ac09fe..000000000000 --- a/keyboards/handwired/jscotto/scotto36/keymaps/default/keymap.c +++ /dev/null @@ -1,281 +0,0 @@ -/* -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_3x10_6( - 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), - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_ortho_3x10_6( - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_ortho_3x10_6( - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_ortho_3x10_6( - 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, - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_ortho_3x10_6( - 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), - KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_ortho_3x10_6( - 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_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_ortho_3x10_6( - 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), - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_ortho_3x10_6( - 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, - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ) -}; - -// OLED -#ifdef OLED_ENABLE -// WPM responsiveness -#define IDLE_FRAMES 5 -#define IDLE_SPEED 20 // Speed at which animation goes into idle -#define TAP_FRAMES 2 -#define TAP_SPEED 40 // WPM to trigger Bongo -#define ANIM_FRAME_DURATION 200 // Frame MS -#define ANIM_SIZE 636 // Number of bytes in array, max 1024 - -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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; - static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - }; - - void animation_phase(void) { - 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)], ANIM_SIZE); - } - - if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { - oled_write_raw_P(prep[0], ANIM_SIZE); - } - - 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)], ANIM_SIZE); - } - } - if (get_current_wpm() != 000) { - oled_on(); // Enables OLED on any alpha keypress - - if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -// Draw to OLED -bool oled_task_user(void) { - // Render Bongo Cat - render_animation(); - - // WPM text - oled_set_cursor(0, 0); - sprintf(wpm_str, "%03d", get_current_wpm()); // %03d defines digits to display - oled_write(wpm_str, false); - - // Layer text - oled_set_cursor(0, 1); - switch (get_highest_layer(layer_state)) { - case _MAC_DEFAULT : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("MAIN"), false); - break; - case _MAC_CODE : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("CODE"), false); - break; - case _MAC_NUM : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("NUM"), false); - break; - case _MAC_FUNC : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("FUNC"), false); - break; - case _WIN_DEFAULT : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("MAIN"), false); - break; - case _WIN_CODE : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("CODE"), false); - break; - case _WIN_NUM : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("NUM"), false); - break; - case _WIN_FUNC : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("FUNC"), false); - break; - } - - // Caps lock text - led_t led_state = host_keyboard_led_state(); - oled_set_cursor(0, 3); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(""), false); - - return false; -} -#endif - diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk b/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk deleted file mode 100644 index 6e339da6c697..000000000000 --- a/keyboards/handwired/jscotto/scotto36/keymaps/default/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -OLED_ENABLE = yes -WPM_ENABLE = yes -LTO_ENABLE = yes -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/jscotto/scotto36/readme.md b/keyboards/handwired/jscotto/scotto36/readme.md deleted file mode 100644 index ba40ed9d0594..000000000000 --- a/keyboards/handwired/jscotto/scotto36/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Scotto36 - -![Scotto36](https://i.imgur.com/MCGv0ZHh.jpeg) - -A 36-key split monoblock ergonomic ortholinear keyboard with 15° of angle on each half. Case files available [here](https://github.com/joe-scotto/keyboards.git). - -* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) -* Hardware Supported: ATmega32U4, 0.91” 128x32 I2C OLED -* Hardware Availability: [Amazon](https://amazon.com) - - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make handwired/jscotto/scotto36:default - -Flashing example for this keyboard: - - make handwired/jscotto/scotto36:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## 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/jscotto/scotto40/info.json b/keyboards/handwired/jscotto/scotto40/info.json deleted file mode 100644 index 767ff1de5499..000000000000 --- a/keyboards/handwired/jscotto/scotto40/info.json +++ /dev/null @@ -1,180 +0,0 @@ -{ - "manufacturer": "Joe Scotto", - "keyboard_name": "Scotto40", - "maintainer": "joe-scotto", - "bootloader": "caterina", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5"], - "rows": ["B1", "B3", "B2", "B6"] - }, - "processor": "atmega32u4", - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT_ortho_3x10_7": { - "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, 0], "x": 0, "y": 3}, - - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3, "w": 2}, - {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [3, 7], "x": 7, "y": 3}, - - {"matrix": [3, 9], "x": 9, "y": 3} - ] - }, - "LAYOUT_ortho_3x10_8": { - "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, 0], "x": 0, "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, 9], "x": 9, "y": 3} - ] - }, - "LAYOUT_ortho_4x10": { - "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, 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": [3, 7], "x": 7, "y": 3}, - {"matrix": [3, 8], "x": 8, "y": 3}, - {"matrix": [3, 9], "x": 9, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/jscotto/scotto40/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto40/keymaps/default/keymap.c deleted file mode 100644 index ba5f7bc7a8ca..000000000000 --- a/keyboards/handwired/jscotto/scotto40/keymaps/default/keymap.c +++ /dev/null @@ -1,114 +0,0 @@ -/* -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_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; - } -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_ortho_3x10_7( - 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, - KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_ortho_3x10_7( - 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, - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ) -}; diff --git a/keyboards/handwired/jscotto/scotto40/keymaps/default/rules.mk b/keyboards/handwired/jscotto/scotto40/keymaps/default/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/handwired/jscotto/scotto40/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/jscotto/scotto40/readme.md b/keyboards/handwired/jscotto/scotto40/readme.md deleted file mode 100644 index 867313ecfc2b..000000000000 --- a/keyboards/handwired/jscotto/scotto40/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Scotto40 - -![Scotto40](https://i.imgur.com/wtW5xOth.jpeg) - -A 37, 38, or 40 key handwired ortholinear keyboard. Case files available [here](https://github.com/joe-scotto/keyboards). - -- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) -- Hardware Supported: ATmega32U4 -- Hardware Availability: [Amazon](https://amazon.com) - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make handwired/jscotto/scotto40:default - -Flashing example for this keyboard: - - make handwired/jscotto/scotto40:default - -# Bootloader - -Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode. - -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/handwired/jscotto/scotto9/info.json b/keyboards/handwired/jscotto/scotto9/info.json deleted file mode 100644 index 8bd393bd434b..000000000000 --- a/keyboards/handwired/jscotto/scotto9/info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "manufacturer": "Joe Scotto", - "keyboard_name": "Scotto9", - "maintainer": "joe-scotto", - "bootloader": "caterina", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - // 4, 5, 6 - "cols": ["D4", "C6", "D7"], - // 15, 14, 16 - "rows": ["B1", "B3", "B2"] - }, - "processor": "atmega32u4", - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "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}, - - // Row 3 - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c deleted file mode 100644 index eec8d684ada3..000000000000 --- a/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* -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 - -// Keymap -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x3( - KC_1, KC_2, KC_3, - KC_4, KC_5, KC_6, - KC_7, KC_8, KC_9 - ) -}; diff --git a/keyboards/handwired/jscotto/scotto9/readme.md b/keyboards/handwired/jscotto/scotto9/readme.md deleted file mode 100644 index 2e5291cba730..000000000000 --- a/keyboards/handwired/jscotto/scotto9/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Scotto9 - -![Scotto9](https://imgur.com/inbmNSEh.jpeg) - -A 9 key handwired macropad. Case files available [here](https://github.com/joe-scotto/keyboards.git). - -- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) -- Hardware Supported: ATmega32U4 -- Hardware Availability: [Amazon](https://amazon.com) - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make handwired/jscotto/scotto9:default - -Flashing example for this keyboard: - - make handwired/jscotto/scotto9:default - -# Bootloader - -Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode. - -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/handwired/jscotto/scottocmd/config.h b/keyboards/handwired/jscotto/scottocmd/config.h deleted file mode 100644 index a168f0ef218f..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -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 - -// OLED -#define OLED_DISPLAY_128X64 \ No newline at end of file diff --git a/keyboards/handwired/jscotto/scottocmd/info.json b/keyboards/handwired/jscotto/scottocmd/info.json deleted file mode 100644 index 991be93b52cc..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/info.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "manufacturer": "Joe Scotto", - "keyboard_name": "ScottoCMD", - "maintainer": "joe-scotto", - "bootloader": "caterina", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": 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"] - }, - "processor": "atmega32u4", - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "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/jscotto/scottocmd/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scottocmd/keymaps/default/keymap.c deleted file mode 100644 index b1c77ae94470..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/keymaps/default/keymap.c +++ /dev/null @@ -1,515 +0,0 @@ -/* -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; - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_90; // flips the display 180 degrees if offhand -} - -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/jscotto/scottocmd/keymaps/default/rules.mk b/keyboards/handwired/jscotto/scottocmd/keymaps/default/rules.mk deleted file mode 100644 index bcee933e75eb..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/keymaps/default/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -WPM_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/jscotto/scottocmd/readme.md b/keyboards/handwired/jscotto/scottocmd/readme.md deleted file mode 100644 index b08d02d678e8..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# ScottoCMD - -![ScottoCMD](https://i.imgur.com/rxiMZNnh.jpg) - -A 40 key handwired ortholinear keyboard with non-ortho bottom row. Featuring a 128x64 OLED display along with a 6.25u spacebar. Case files available [here](https://github.com/joe-scotto/keyboards.git). - -- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) -- Hardware Supported: ATmega32U4 -- Hardware Availability: [Amazon](https://amazon.com) - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make handwired/jscotto/scottocmd:default - -Flashing example for this keyboard: - - make handwired/jscotto/scottocmd:default - -# Bootloader - -Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (1, 0) when plugging the board in to enter bootloader mode. - -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/handwired/jscotto/scottocmd/rules.mk b/keyboards/handwired/jscotto/scottocmd/rules.mk deleted file mode 100644 index 9f00574d5d01..000000000000 --- a/keyboards/handwired/jscotto/scottocmd/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/handwired/jscotto/scottostarter/info.json b/keyboards/handwired/jscotto/scottostarter/info.json deleted file mode 100644 index 65fe2d931067..000000000000 --- a/keyboards/handwired/jscotto/scottostarter/info.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "manufacturer": "Joe Scotto", - "keyboard_name": "ScottoStarter", - "maintainer": "joe-scotto", - "bootloader": "caterina", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - // RX1, 4, 5, 6, 7, 8, 9, A3, A2, A1, TX0 - "cols": ["D2", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6", "D3"], - // A0, 15, 14, 16, 10 - "rows": ["F7", "B1", "B3", "B2", "B6"] - }, - "processor": "atmega32u4", - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT_ortho_4x11_8": { - "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}, - {"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, 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": [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, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 7], "x": 7, "y": 4}, - {"matrix": [4, 8], "x": 8, "y": 4}, - {"matrix": [4, 9], "x": 9, "y": 4}, - {"matrix": [4, 10], "x": 10, "y": 4} - ] - } - } -} diff --git a/keyboards/handwired/jscotto/scottostarter/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scottostarter/keymaps/default/keymap.c deleted file mode 100644 index fb47637f189d..000000000000 --- a/keyboards/handwired/jscotto/scottostarter/keymaps/default/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* -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_4x11_8( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_ESC, KC_CAPS - ), - [1] = LAYOUT_ortho_4x11_8( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, - KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_NO, KC_TAB, - KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_QUOT, - LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILD, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_ESC, KC_CAPS - ), - [2] = LAYOUT_ortho_4x11_8( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, KC_TAB, - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_QUOT, - KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_ESC, KC_CAPS - ), - [3] = LAYOUT_ortho_4x11_8( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), KC_TAB, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_QUOT, - KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_ENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_ESC, KC_CAPS - ) -}; - - - diff --git a/keyboards/handwired/jscotto/scottostarter/readme.md b/keyboards/handwired/jscotto/scottostarter/readme.md deleted file mode 100644 index 5886bc9d3b0d..000000000000 --- a/keyboards/handwired/jscotto/scottostarter/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# ScottoStarter - -![ScottoStarter](https://i.imgur.com/bspbVPah.jpg) - -A 52 key ortholinear keyboard that is designed to help transition you into smaller layouts. Case files available [here](https://github.com/joe-scotto/keyboards.git). - -- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) -- Hardware Supported: ATmega32U4 -- Hardware Availability: [Amazon](https://amazon.com) - -# Compiling - -Make example for this keyboard (after setting up your build environment): - - make handwired/jscotto/scottostarter:default - -Flashing example for this keyboard: - - make handwired/jscotto/scottostarter:default - -# Bootloader - -Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode. - -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/handwired/k_numpad17/config.h b/keyboards/handwired/k_numpad17/config.h index 9bcc1ca12edf..9f71a07f90c4 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 e0cd79a9c000..97d5f38774ba 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 f95288177271..b9449c4714bf 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 6508b3d85969..69005c657900 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/lagrange/rules.mk b/keyboards/handwired/lagrange/rules.mk index 61bfdfa4d31a..f4af87851c73 100644 --- a/keyboards/handwired/lagrange/rules.mk +++ b/keyboards/handwired/lagrange/rules.mk @@ -14,4 +14,5 @@ UNICODE_ENABLE = yes SPLIT_KEYBOARD = yes SPLIT_TRANSPORT = custom -SRC += transport.c spi_master.c +SRC += transport.c +SPI_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/lovelive9/config.h b/keyboards/handwired/lovelive9/config.h index a946442dc05b..5de39092bf58 100644 --- a/keyboards/handwired/lovelive9/config.h +++ b/keyboards/handwired/lovelive9/config.h @@ -1,22 +1,3 @@ - - #pragma once -#define RGBLED_NUM 9 // Number of LEDs - -#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 #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 4000b543c317..835fa55bef6c 100644 --- a/keyboards/handwired/lovelive9/info.json +++ b/keyboards/handwired/lovelive9/info.json @@ -17,6 +17,22 @@ "backlight": { "breathing_period": 2 }, + "rgblight": { + "hue_steps": 10, + "led_count": 9, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/lovelive9/keymaps/default/keymap.c b/keyboards/handwired/lovelive9/keymaps/default/keymap.c index 605f722f444e..6d863449fe5b 100644 --- a/keyboards/handwired/lovelive9/keymaps/default/keymap.c +++ b/keyboards/handwired/lovelive9/keymaps/default/keymap.c @@ -154,15 +154,15 @@ int aqours_color_v[] = {255, 255, 255, 255, 255, 255, 200, 255, 255}; void LED_default_set(void) { - sethsv(aqours_color_h[2], aqours_color_s[2], aqours_color_v[2], (LED_TYPE *)&led[0]); - sethsv(aqours_color_h[7], aqours_color_s[7], aqours_color_v[7], (LED_TYPE *)&led[1]); - sethsv(aqours_color_h[1], aqours_color_s[1], aqours_color_v[1], (LED_TYPE *)&led[2]); - sethsv(aqours_color_h[5], aqours_color_s[5], aqours_color_v[5], (LED_TYPE *)&led[3]); - sethsv(aqours_color_h[8], aqours_color_s[8], aqours_color_v[8], (LED_TYPE *)&led[4]); - sethsv(aqours_color_h[6], aqours_color_s[6], aqours_color_v[6], (LED_TYPE *)&led[5]); - sethsv(aqours_color_h[0], aqours_color_s[0], aqours_color_v[0], (LED_TYPE *)&led[6]); - sethsv(aqours_color_h[4], aqours_color_s[4], aqours_color_v[4], (LED_TYPE *)&led[7]); - sethsv(aqours_color_h[3], aqours_color_s[3], aqours_color_v[3], (LED_TYPE *)&led[8]); + sethsv(aqours_color_h[2], aqours_color_s[2], aqours_color_v[2], (rgb_led_t *)&led[0]); + sethsv(aqours_color_h[7], aqours_color_s[7], aqours_color_v[7], (rgb_led_t *)&led[1]); + sethsv(aqours_color_h[1], aqours_color_s[1], aqours_color_v[1], (rgb_led_t *)&led[2]); + sethsv(aqours_color_h[5], aqours_color_s[5], aqours_color_v[5], (rgb_led_t *)&led[3]); + sethsv(aqours_color_h[8], aqours_color_s[8], aqours_color_v[8], (rgb_led_t *)&led[4]); + sethsv(aqours_color_h[6], aqours_color_s[6], aqours_color_v[6], (rgb_led_t *)&led[5]); + sethsv(aqours_color_h[0], aqours_color_s[0], aqours_color_v[0], (rgb_led_t *)&led[6]); + sethsv(aqours_color_h[4], aqours_color_s[4], aqours_color_v[4], (rgb_led_t *)&led[7]); + sethsv(aqours_color_h[3], aqours_color_s[3], aqours_color_v[3], (rgb_led_t *)&led[8]); rgblight_set(); @@ -171,7 +171,7 @@ void LED_default_set(void) { void LED_layer_set(int aqours_index) { for (int c = 0; c < 9; c++) { - sethsv(aqours_color_h[aqours_index], aqours_color_s[aqours_index], aqours_color_v[aqours_index], (LED_TYPE *)&led[c]); + sethsv(aqours_color_h[aqours_index], aqours_color_s[aqours_index], aqours_color_v[aqours_index], (rgb_led_t *)&led[c]); } rgblight_set(); } diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h index d20625da0858..95e7d9d1aa61 100644 --- a/keyboards/handwired/macroboard/config.h +++ b/keyboards/handwired/macroboard/config.h @@ -23,22 +23,6 @@ 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 -# 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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json index b82cee4fb523..5c27c96ae9ff 100644 --- a/keyboards/handwired/macroboard/info.json +++ b/keyboards/handwired/macroboard/info.json @@ -8,6 +8,23 @@ "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], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "alternating": true + } + }, "ws2812": { "pin": "B9" }, diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h index bdb092a3ae83..9d56df98e1d9 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 a4bab132846f..5c17825a634f 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/marauder/keymaps/orvia/rules.mk b/keyboards/handwired/marauder/keymaps/orvia/rules.mk index 9b5ee6b6fa52..e39f8c6e9e80 100644 --- a/keyboards/handwired/marauder/keymaps/orvia/rules.mk +++ b/keyboards/handwired/marauder/keymaps/orvia/rules.mk @@ -1,4 +1,3 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # OLED Driver Enable WPM_ENABLE = yes # WPM counting Enable diff --git a/keyboards/handwired/marek128b/ergosplit44/info.json b/keyboards/handwired/marek128b/ergosplit44/info.json new file mode 100644 index 000000000000..8e0c71fc06f4 --- /dev/null +++ b/keyboards/handwired/marek128b/ergosplit44/info.json @@ -0,0 +1,164 @@ +{ + "manufacturer": "Marek128b", + "keyboard_name": "ergosplit44", + "maintainer": "Marek128b", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 5 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP17", "GP18"], + "rows": ["GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x4D41" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP26" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 25, + "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": [ + {"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": [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": [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}, + {"matrix": [2, 11], "x": 11, "y": 2}, + + {"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} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"tab", "matrix": [0, 0],"x":0, "y":1.25}, + {"label":"Q", "matrix": [0, 1],"x":1, "y":1.25}, + {"label":"W", "matrix": [0, 2],"x":2, "y":0.75}, + {"label":"E", "matrix": [0, 3],"x":3, "y":0.5}, + {"label":"R", "matrix": [0, 4],"x":4, "y":0.75}, + {"label":"T", "matrix": [0, 5],"x":5, "y":1}, + + {"label":"Y", "matrix": [0, 6],"x":9.75, "y":1}, + {"label":"U", "matrix": [0, 7],"x":10.75, "y":0.75}, + {"label":"I", "matrix": [0, 8],"x":11.75, "y":0.5}, + {"label":"O", "matrix": [0, 9],"x":12.75, "y":0.75}, + {"label":"P", "matrix": [0, 10],"x":13.75, "y":1.25}, + {"label":"\u00dc", "matrix": [0, 11],"x":14.75, "y":1.25}, + + {"label":"back-space", "matrix": [1, 0],"x":0, "y":2.25}, + {"label":"A", "matrix": [1, 1],"x":1, "y":2.25}, + {"label":"S", "matrix": [1, 2],"x":2, "y":1.75}, + {"label":"D", "matrix": [1, 3],"x":3, "y":1.5}, + {"label":"F", "matrix": [1, 4],"x":4, "y":1.75}, + {"label":"G", "matrix": [1, 5],"x":5, "y":2}, + + {"label":"H", "matrix": [1, 6],"x":9.75, "y":2}, + {"label":"J", "matrix": [1, 7],"x":10.75, "y":1.75}, + {"label":"K", "matrix": [1, 8],"x":11.75, "y":1.5}, + {"label":"L", "matrix": [1, 9],"x":12.75, "y":1.75}, + {"label":"\u00d6", "matrix": [1, 10],"x":13.75, "y":2.25}, + {"label":"\u00c4", "matrix": [1, 11],"x":14.75, "y":2.25}, + + {"label":"shift", "matrix": [2, 0],"x":0, "y":3.25}, + {"label":"Z", "matrix": [2, 1],"x":1, "y":3.25}, + {"label":"X", "matrix": [2, 2],"x":2, "y":2.75}, + {"label":"C", "matrix": [2, 3],"x":3, "y":2.5}, + {"label":"V", "matrix": [2, 4],"x":4, "y":2.75}, + {"label":"B", "matrix": [2, 5],"x":5, "y":3}, + + {"label":"N", "matrix": [2, 6],"x":9.75, "y":3}, + {"label":"M", "matrix": [2, 7],"x":10.75, "y":2.75}, + {"label":"<", "matrix": [2, 8],"x":11.75, "y":2.5}, + {"label":":", "matrix": [2, 9],"x":12.75, "y":2.75}, + {"label":"_", "matrix": [2, 10],"x":13.75, "y":3.25}, + {"label":"Shift", "matrix": [2, 11],"x":14.75, "y":3.25}, + + {"label":"L2", "matrix": [3, 2],"x":-3.5, "y":4.5}, + {"label":"Alt", "matrix": [3, 3],"x":-2.25, "y":7.25}, + {"label":"Strg", "matrix": [3, 4],"x":-1.0, "y":7.25}, + {"label":"Space", "matrix": [3, 5],"x":0, "y":7}, + + {"label":"Space", "matrix": [3, 6],"x":-1.0, "y":8.5}, + {"label":"Strg", "matrix": [3, 7],"x":0, "y":8.75}, + {"label":"AltGr", "matrix": [3, 8],"x":1.25, "y":8.75}, + {"label":"L1", "matrix": [3, 9],"x":2.5, "y":5.75} + ] + } + } +} diff --git a/keyboards/handwired/marek128b/ergosplit44/keymaps/default/keymap.c b/keyboards/handwired/marek128b/ergosplit44/keymaps/default/keymap.c new file mode 100644 index 000000000000..a08d6d96847b --- /dev/null +++ b/keyboards/handwired/marek128b/ergosplit44/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _QWERTY, + _COLEMAK, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_ENT, + KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS, KC_RSFT, + TG(_COLEMAK),KC_LCTL, KC_SPC, KC_LSFT, KC_RSFT, KC_SPC, KC_NO, KC_RALT + ), + [_COLEMAK] = LAYOUT( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + KC_CAPS, KC_A, KC_R, KC_R, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_TRNS, KC_LCTL, KC_SPC, KC_NO, KC_LALT, KC_SPC, KC_NO, KC_RALT + ) +}; + +bool rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(0, RGB_RED); + } + + if (host_keyboard_led_state().num_lock) { + rgb_matrix_set_color(1, RGB_RED); + } + + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(2, RGB_RED); + } + + switch (get_highest_layer(layer_state)) { + case 1: + rgb_matrix_set_color(3, RGB_CYAN); + break; + case 2: + rgb_matrix_set_color(3, RGB_MAGENTA); + break; + case 3: + rgb_matrix_set_color(3, RGB_YELLOW); + break; + } + return true; +} diff --git a/keyboards/handwired/marek128b/ergosplit44/readme.md b/keyboards/handwired/marek128b/ergosplit44/readme.md new file mode 100644 index 000000000000..a9077732f9e6 --- /dev/null +++ b/keyboards/handwired/marek128b/ergosplit44/readme.md @@ -0,0 +1,27 @@ +# ergosplit44 + +![ergosplit44](https://i.imgur.com/RhRIe2ah.png) + +This is a handdwired split 44 key keyboard. the two sides are connectd via a custom 2x8P pin header cable. + +* Keyboard Maintainer: [Marek128b](https://github.com/Marek128b) +* Hardware Supported: WaveShare RP2040-Zero +* Hardware Availability: [Open Source](https://github.com/Marek128b/Split40) + +Make example for this keyboard (after setting up your build environment): + + make handwired/marek128b/ergosplit44:default + +Flashing example for this keyboard: + + make handwired/marek128b/ergosplit44: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 top left key and plug in the keyboard. +* **Physical reset button**: Hold down the `BOOT` button on the RP2040-Zero, then press the `RESET` button. +* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create. diff --git a/keyboards/handwired/marek128b/ergosplit44/rules.mk b/keyboards/handwired/marek128b/ergosplit44/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/marek128b/ergosplit44/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/config.h b/keyboards/handwired/minorca/keymaps/ridingqwerty/config.h deleted file mode 100644 index c54aac31899b..000000000000 --- a/keyboards/handwired/minorca/keymaps/ridingqwerty/config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#undef MATRIX_COL_PINS -#define MATRIX_COL_PINS { B3, B7, D0, D1, D2, D3, C6, C7, B5, B6, F7, F6 } - -#undef MATRIX_ROW_PINS -#define MATRIX_ROW_PINS { F0, F1, F4, F5 } diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c b/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c deleted file mode 100644 index 7d541270fba6..000000000000 --- a/keyboards/handwired/minorca/keymaps/ridingqwerty/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2019 George Koenig - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "ridingqwerty.h" - -/* MinOrca - ┏━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━â”Ŋ━━━━━━━━┓ - ┃ ⎋ │ 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 │ , │ ð”― . │ ⇧ / ┃ - ┠──────────┮───â”ī──────┮─â”ī────────┾────────â”ī────────â”ī──┮─────â”ī────────â”ī─────┮──â”ī───────┮â”ī───────┮â”ī───────────â”Ļ - ┃ { ⎈ │ [ ⌘ │ ( âŒĨ │ ðŸ”Ē âĢ │ ★ âĢ │ ) âŒĨ │ ] ⌘ │ } ⎈ ┃ - ┗━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━┛ -*/ - -#define LAYOUT_minorca( \ - KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11, \ - KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KB11, \ - KC00, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11, \ - KD00, KD02, KD03, KD04, KD07, KD09, KD10, KD11 \ -) { \ - { KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11 }, \ - { KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KC_NO, KB11 }, \ - { KC00, KC_NO, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11 }, \ - { KD00, KC_NO, KD02, KD03, KD04, KC_NO, KC_NO, KD07, KC_NO, KD09, KD10, KD11 } \ -} - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = { - {QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SC(BSPC) }, - {ED(TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XXXXXXX, NM(SCLN) }, - {LS(QUOT), XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, FK(DOT), RS(SLSH) }, - {LC(ESC), XXXXXXX, LG(LBRC), LA(RBRC), NM(BSPC), XXXXXXX, XXXXXXX, SM(SPC), XXXXXXX, RA(MINS), RG(EQL), RC(ENT) } -/* - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ -*/ - - - }, -#ifdef UNICODE_H - [_RUNE] = { - {KC_ESC, X(INGWZ), X(WUNJO), X(EHWAZ), X(RAIDO), X(TIWAZ), X(IWAZ), X(UR), X(ISAZ), X(ETHEL), X(PERTH), SC(BSPC) }, - {ED(TAB), X(ANSUZ), X(SOWIL), X(DAGAZ), X(FE), X(GEBO), X(HAGLZ), X(JERAN), X(KAUNA), X(LAUKZ), XXXXXXX, NM(SCLN) }, - {MT_QUOT, XXXXXXX, X(ALGIZ), X(THURS), X(KAUNA), X(WUNJO), X(BEORC), X(NAUDZ), X(MANNZ), KC_COMM, FK(DOT), RS(SLSH) }, - {LC(ESC), XXXXXXX, LG(LBRC), LA(RBRC), NM(BSPC), XXXXXXX, XXXXXXX, SM(SPC), XXXXXXX, RA(MINS), RG(EQL), RC(ENT) } - }, -#endif - [_EDITOR] = { - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - {KC_GRV, _______, _______, KC_END, _______, KC_F5, _______, _______, KC_INS, _______, KC_PGUP, KC_DEL }, - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - {_______, KC_HOME, _______, KC_DEL, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_SCLN }, - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - {_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PGDN, _______, KC_SCLN, KC_QUOT, KC_BSLS }, - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - {_______, XXXXXXX, _______, _______, KC_EQL, XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, KC_COLN, KC_DQUO, KC_PIPE } - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ - }, - [_NUMBER] = { - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - {KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC }, - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - {_______, KC_4, KC_5, KC_6, KC_PAST, _______, KC_PPLS, KC_4, KC_5, KC_6, XXXXXXX, _______ }, - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - {_______, KC_7, KC_8, KC_9, KC_SLSH, _______, _______, KC_MINS, KC_1, KC_2, KC_3, _______ }, - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - {_______, XXXXXXX, KC_0, _______, _______, XXXXXXX, XXXXXXX, KC_0, XXXXXXX, KC_DOT, _______, _______ } - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ - }, - [_SYMBOL] = { - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - {_______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, XXXXXXX, _______ }, - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - {_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_BSLS }, - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - {_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_COLN, KC_DQUO, KC_PIPE } - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ - }, - [_SECRET] = { - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - {QK_BOOT, _______, _______, _______, SECRET0, SECRET1, _______, _______, _______, _______, VERSION, _______ }, - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - {_______, SECRET4, SECRET8, DB_TOGG, _______, _______, _______, _______, _______, SECRET7, XXXXXXX, MAKE }, - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - {_______, XXXXXXX, SECRET6, _______, SECRET2, SECRET5, _______, _______, SECRET3, _______, _______, _______ }, - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - {_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, _______ } - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ - }, - [_F_KEYS] = { - //┌────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┮────────┐ - {KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 }, - //├────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────â”ī────────â”Ī - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______ }, - //├────────â”ī────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┾────────┮────────â”Ī - {_______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - //├─────────────────┾────────┾────────┾────────â”ī────────┾────────â”ī────────┾────────â”ī────────┾────────┾────────â”Ī - {_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, _______ } - //└─────────────────â”ī────────â”ī────────â”ī─────────────────â”ī─────────────────â”ī─────────────────â”ī────────â”ī────────┘ - }, -}; diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/readme.md b/keyboards/handwired/minorca/keymaps/ridingqwerty/readme.md deleted file mode 100644 index 4f0b3564b951..000000000000 --- a/keyboards/handwired/minorca/keymaps/ridingqwerty/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Handwire of Minorca using teensy 2.0 diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk b/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk deleted file mode 100644 index 10f2309f014b..000000000000 --- a/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -UNICODEMAP_ENABLE = yes # Unicode Map diff --git a/keyboards/handwired/mutepad/config.h b/keyboards/handwired/mutepad/config.h index 83c78b163420..632465bba71f 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 e8df528eff32..5adb2505fbc8 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 2e2a2bbcbf5a..8c37524a0e5d 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 3f43590b8e90..675b290630d9 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 4a65e9a72fe9..5f6f04f7b413 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 4a65e9a72fe9..5f6f04f7b413 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 339dfe5974e0..17bb84a82c14 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/kb2040/rules.mk b/keyboards/handwired/onekey/kb2040/rules.mk index a5429ba9935e..dd68e9d3b090 100644 --- a/keyboards/handwired/onekey/kb2040/rules.mk +++ b/keyboards/handwired/onekey/kb2040/rules.mk @@ -1,4 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - -OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/handwired/onekey/keymaps/adc/rules.mk b/keyboards/handwired/onekey/keymaps/adc/rules.mk index a691d5488f16..8b36baccb0ff 100644 --- a/keyboards/handwired/onekey/keymaps/adc/rules.mk +++ b/keyboards/handwired/onekey/keymaps/adc/rules.mk @@ -1,3 +1,3 @@ -SRC += analog.c - CONSOLE_ENABLE = yes + +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/onekey/keymaps/apa102/rules.mk b/keyboards/handwired/onekey/keymaps/apa102/rules.mk index 70932cb75168..5f15fa9e7080 100644 --- a/keyboards/handwired/onekey/keymaps/apa102/rules.mk +++ b/keyboards/handwired/onekey/keymaps/apa102/rules.mk @@ -1,2 +1,2 @@ RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = APA102 +RGBLIGHT_DRIVER = apa102 diff --git a/keyboards/handwired/onekey/keymaps/haptic/rules.mk b/keyboards/handwired/onekey/keymaps/haptic/rules.mk index 802f7e5ddeee..05201736e601 100644 --- a/keyboards/handwired/onekey/keymaps/haptic/rules.mk +++ b/keyboards/handwired/onekey/keymaps/haptic/rules.mk @@ -1,2 +1,2 @@ HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk b/keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk index 04498a883124..3dec5cef2949 100644 --- a/keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk +++ b/keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk @@ -1,3 +1,3 @@ CONSOLE_ENABLE = yes -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/onekey/keymaps/oled/rules.mk b/keyboards/handwired/onekey/keymaps/oled/rules.mk index 83757b190967..f39e8ce4bde1 100644 --- a/keyboards/handwired/onekey/keymaps/oled/rules.mk +++ b/keyboards/handwired/onekey/keymaps/oled/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 TAP_DANCE_ENABLE = yes CONSOLE_ENABLE = yes diff --git a/keyboards/handwired/onekey/nucleo_f446re/config.h b/keyboards/handwired/onekey/nucleo_f446re/config.h index c6c04ed61544..4401623e85ca 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_f446re/rules.mk b/keyboards/handwired/onekey/nucleo_f446re/rules.mk index 8515c3fae029..e69de29bb2d1 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/rules.mk +++ b/keyboards/handwired/onekey/nucleo_f446re/rules.mk @@ -1 +0,0 @@ -SRC += analog.c diff --git a/keyboards/handwired/onekey/nucleo_h723zg/info.json b/keyboards/handwired/onekey/nucleo_h723zg/info.json new file mode 100644 index 000000000000..7596d007b2d1 --- /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 000000000000..97a2da51153d --- /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/users/twschum/config.h b/keyboards/handwired/onekey/nucleo_h723zg/rules.mk old mode 100644 new mode 100755 similarity index 100% rename from users/twschum/config.h rename to keyboards/handwired/onekey/nucleo_h723zg/rules.mk diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h index d344a110942e..03e017892c73 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 49376e474e27..07ce9292211d 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 5cbfb8dbffc1..0563ebfa5f1f 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 806eb69df4e3..b8880f65813a 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 a92b0993283e..8b137891791f 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/stm32f3_disco/config.h b/keyboards/handwired/onekey/stm32f3_disco/config.h new file mode 100644 index 000000000000..a0e3c54ec1c4 --- /dev/null +++ b/keyboards/handwired/onekey/stm32f3_disco/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/stm32f3_disco/halconf.h b/keyboards/handwired/onekey/stm32f3_disco/halconf.h new file mode 100644 index 000000000000..e9d7ece8fc98 --- /dev/null +++ b/keyboards/handwired/onekey/stm32f3_disco/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_ADC TRUE + +#include_next diff --git a/keyboards/handwired/onekey/stm32f3_disco/info.json b/keyboards/handwired/onekey/stm32f3_disco/info.json new file mode 100644 index 000000000000..b541cd8ae4d1 --- /dev/null +++ b/keyboards/handwired/onekey/stm32f3_disco/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Onekey STM32F3 Discovery", + "processor": "STM32F303", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["B4"], + "rows": ["B5"] + }, + "backlight": { + "pin": "E8" + }, + "ws2812": { + "pin": "A0" + }, + "apa102": { + "data_pin": "A0", + "clock_pin": "B13" + } +} diff --git a/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h b/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h new file mode 100644 index 000000000000..9172860b0f12 --- /dev/null +++ b/keyboards/handwired/onekey/stm32f3_disco/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE diff --git a/keyboards/handwired/onekey/stm32f3_disco/readme.md b/keyboards/handwired/onekey/stm32f3_disco/readme.md new file mode 100644 index 000000000000..ff5c061184b6 --- /dev/null +++ b/keyboards/handwired/onekey/stm32f3_disco/readme.md @@ -0,0 +1,5 @@ +# STM32F303 Discovery kit onekey + +* Supported Hardware: [STM32F303 Discovery](https://www.st.com/en/evaluation-tools/stm32f3discovery.html) + +To trigger keypress, short together pins *B4* and *B5*. diff --git a/keyboards/handwired/onekey/stm32f3_disco/rules.mk b/keyboards/handwired/onekey/stm32f3_disco/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/onekey/stm32f405_feather/rules.mk b/keyboards/handwired/onekey/stm32f405_feather/rules.mk index a92b0993283e..8b137891791f 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 a92b0993283e..8b137891791f 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 a92b0993283e..8b137891791f 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 9803d8cc7039..abd2f7fce976 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/orbweaver/config.h b/keyboards/handwired/orbweaver/config.h index ab7cb9d9d5e9..6a6670a6f6c4 100644 --- a/keyboards/handwired/orbweaver/config.h +++ b/keyboards/handwired/orbweaver/config.h @@ -17,8 +17,7 @@ #pragma once -#define DRIVER_COUNT 1 -#define DRIVER_ADDR_1 0b1110100 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define RGB_MATRIX_LED_COUNT 20 #define I2C1_CLOCK_SPEED 100000 #define RGB_MATRIX_CENTER { 40, 30 } diff --git a/keyboards/handwired/orbweaver/info.json b/keyboards/handwired/orbweaver/info.json index 9db6243a6949..489a7e288878 100644 --- a/keyboards/handwired/orbweaver/info.json +++ b/keyboards/handwired/orbweaver/info.json @@ -13,7 +13,7 @@ "nkro": true }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c index f6485b6adfa0..63778ea52be2 100644 --- a/keyboards/handwired/orbweaver/orbweaver.c +++ b/keyboards/handwired/orbweaver/orbweaver.c @@ -22,7 +22,7 @@ #include "rgb_matrix.h" -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c index ef975a215d07..d7253971998e 100644 --- a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c @@ -163,20 +163,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef AUDIO_ENABLE -float tone_startup[][2] = { - {NOTE_B5, 20}, - {NOTE_B6, 8}, - {NOTE_DS6, 20}, - {NOTE_B6, 8} -}; +// float tone_startup[][2] = { +// {NOTE_B5, 20}, +// {NOTE_B6, 8}, +// {NOTE_DS6, 20}, +// {NOTE_B6, 8} +// }; float tone_qwerty[][2] = SONG(QWERTY_SOUND); float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); - -float tone_goodbye[][2] = SONG(GOODBYE_SOUND); - -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); #endif void persistent_default_layer_set(uint16_t default_layer) { @@ -247,36 +243,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; }; - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif -} - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick - PLAY_SONG(tone_startup); -} - -void shutdown_user(void) -{ - PLAY_SONG(tone_goodbye); - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/handwired/ortho5x14/config.h b/keyboards/handwired/ortho5x14/config.h index c37ac425370b..5f60fd44d7e9 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/osborne1/info.json b/keyboards/handwired/osborne1/info.json index d226b4dd71a8..2f613b5876da 100644 --- a/keyboards/handwired/osborne1/info.json +++ b/keyboards/handwired/osborne1/info.json @@ -12,6 +12,9 @@ "mousekey": false, "nkro": false }, + "bluetooth": { + "driver": "bluefruit_le" + }, "matrix_pins": { "cols": ["D3", "D2", "F0", "F1", "F4", "F5", "F6", "F7"], "rows": ["D0", "B7", "B5", "C6", "D1", "B6", "D7", "D6"] diff --git a/keyboards/handwired/osborne1/rules.mk b/keyboards/handwired/osborne1/rules.mk index 2bf3fe5811eb..9ccac102c70b 100644 --- a/keyboards/handwired/osborne1/rules.mk +++ b/keyboards/handwired/osborne1/rules.mk @@ -1,2 +1 @@ BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/owlet60/config.h b/keyboards/handwired/owlet60/config.h index ba5322f32fb2..f37ee57798d4 100644 --- a/keyboards/handwired/owlet60/config.h +++ b/keyboards/handwired/owlet60/config.h @@ -40,22 +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 -#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 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/owlet60/info.json b/keyboards/handwired/owlet60/info.json index d03691175538..f6bd2d2f239c 100644 --- a/keyboards/handwired/owlet60/info.json +++ b/keyboards/handwired/owlet60/info.json @@ -12,7 +12,23 @@ "pin": "D0" }, "rgblight": { - "max_brightness": 128 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 128, + "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 + } }, "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 f617fb5e682f..f54ceb44910a 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< - diff --git a/keyboards/handwired/pill60/blackpill_f401/mcuconf.h b/keyboards/handwired/pill60/blackpill_f401/mcuconf.h index ab89514fb1c7..563b86d26db1 100644 --- a/keyboards/handwired/pill60/blackpill_f401/mcuconf.h +++ b/keyboards/handwired/pill60/blackpill_f401/mcuconf.h @@ -19,6 +19,3 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_PWM_USE_TIM5 -#define STM32_PWM_USE_TIM5 TRUE \ No newline at end of file diff --git a/keyboards/handwired/pill60/blackpill_f411/halconf.h b/keyboards/handwired/pill60/blackpill_f411/halconf.h index 435bf3274e98..f563693fac76 100644 --- a/keyboards/handwired/pill60/blackpill_f411/halconf.h +++ b/keyboards/handwired/pill60/blackpill_f411/halconf.h @@ -23,7 +23,4 @@ #define HAL_USE_I2C TRUE -#define HAL_USE_PWM TRUE - #include_next - diff --git a/keyboards/handwired/pill60/blackpill_f411/mcuconf.h b/keyboards/handwired/pill60/blackpill_f411/mcuconf.h index ab89514fb1c7..563b86d26db1 100644 --- a/keyboards/handwired/pill60/blackpill_f411/mcuconf.h +++ b/keyboards/handwired/pill60/blackpill_f411/mcuconf.h @@ -19,6 +19,3 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_PWM_USE_TIM5 -#define STM32_PWM_USE_TIM5 TRUE \ No newline at end of file diff --git a/keyboards/handwired/pill60/bluepill/halconf.h b/keyboards/handwired/pill60/bluepill/halconf.h index 459ec86e2da1..d423df151290 100644 --- a/keyboards/handwired/pill60/bluepill/halconf.h +++ b/keyboards/handwired/pill60/bluepill/halconf.h @@ -23,7 +23,4 @@ #define HAL_USE_I2C TRUE -#define HAL_USE_PWM TRUE - #include_next - diff --git a/keyboards/handwired/pill60/bluepill/mcuconf.h b/keyboards/handwired/pill60/bluepill/mcuconf.h index 22f8b02704ce..f335353541ca 100644 --- a/keyboards/handwired/pill60/bluepill/mcuconf.h +++ b/keyboards/handwired/pill60/bluepill/mcuconf.h @@ -26,9 +26,5 @@ #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - #undef STM32_SPI_USE_SPI2 #define STM32_SPI_USE_SPI2 FALSE - diff --git a/keyboards/handwired/pill60/bluepill/rules.mk b/keyboards/handwired/pill60/bluepill/rules.mk index a92b0993283e..8b137891791f 100644 --- a/keyboards/handwired/pill60/bluepill/rules.mk +++ b/keyboards/handwired/pill60/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/pill60/config.h b/keyboards/handwired/pill60/config.h deleted file mode 100644 index 399d0f2212cb..000000000000 --- a/keyboards/handwired/pill60/config.h +++ /dev/null @@ -1,19 +0,0 @@ - /* Copyright 2020 Imam Rafii - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 PWMD5 -#define BACKLIGHT_PWM_CHANNEL 1 diff --git a/keyboards/handwired/pill60/info.json b/keyboards/handwired/pill60/info.json index 6cc337f8eee1..ac8c9013ba93 100644 --- a/keyboards/handwired/pill60/info.json +++ b/keyboards/handwired/pill60/info.json @@ -13,11 +13,6 @@ {"pin_a": "B9", "pin_b": "B8", "resolution": 2} ] }, - "backlight": { - "driver": "software", - "pin": "B14", - "levels": 5 - }, "debounce": 1, "layouts": { "LAYOUT": { diff --git a/keyboards/handwired/pill60/rules.mk b/keyboards/handwired/pill60/rules.mk index f8bae6b6dfad..6bb5fa15810e 100644 --- a/keyboards/handwired/pill60/rules.mk +++ b/keyboards/handwired/pill60/rules.mk @@ -7,12 +7,10 @@ EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -SLEEP_LED_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DEFAULT_FOLDER = handwired/pill60/bluepill diff --git a/keyboards/handwired/prime_exl_plus/config.h b/keyboards/handwired/prime_exl_plus/config.h index a660e0ddfa11..cb77f4eda203 100644 --- a/keyboards/handwired/prime_exl_plus/config.h +++ b/keyboards/handwired/prime_exl_plus/config.h @@ -17,18 +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 -#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 - /* 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/prime_exl_plus/info.json b/keyboards/handwired/prime_exl_plus/info.json index cb4a939a02d8..c463d5baa7a7 100644 --- a/keyboards/handwired/prime_exl_plus/info.json +++ b/keyboards/handwired/prime_exl_plus/info.json @@ -8,6 +8,21 @@ "pid": "0x6579", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/handwired/prkl30/feather/config.h b/keyboards/handwired/prkl30/feather/config.h deleted file mode 100644 index bb71df9c64fd..000000000000 --- a/keyboards/handwired/prkl30/feather/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2020 Erkki Halinen & Toni Johansson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 Light Configuration */ -#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 -#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 08c6e107ddfd..a89fe9ec57fd 100644 --- a/keyboards/handwired/prkl30/feather/info.json +++ b/keyboards/handwired/prkl30/feather/info.json @@ -1,7 +1,27 @@ { + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D1" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "matrix_pins": { "cols": ["D3", "D1", "B7", "D6", "C7", "B6", "B5", "D7", "C6", "D0"], "rows": ["F4", "F1", "F0", "D2"] diff --git a/keyboards/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk index 6b109855a57c..aaab95b9e04e 100644 --- a/keyboards/handwired/prkl30/feather/rules.mk +++ b/keyboards/handwired/prkl30/feather/rules.mk @@ -16,4 +16,3 @@ AUDIO_ENABLE = no # This can be enabled if a speaker is connected to t RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port. BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/prkl30/promicro/config.h b/keyboards/handwired/prkl30/promicro/config.h deleted file mode 100644 index bb71df9c64fd..000000000000 --- a/keyboards/handwired/prkl30/promicro/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2020 Erkki Halinen & Toni Johansson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 Light Configuration */ -#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 -#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 69c3ae8bfe4f..395cb9f27604 100644 --- a/keyboards/handwired/prkl30/promicro/info.json +++ b/keyboards/handwired/prkl30/promicro/info.json @@ -3,6 +3,23 @@ "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, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/handwired/promethium/info.json b/keyboards/handwired/promethium/info.json index 6daf5dd0c698..c26325069b46 100644 --- a/keyboards/handwired/promethium/info.json +++ b/keyboards/handwired/promethium/info.json @@ -11,6 +11,9 @@ "ws2812": { "pin": "B5" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 100db976781e..ff73e51d5eb2 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -779,9 +779,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_PUNC] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______, - KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______, - KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, UM(LTEQ), UM(GTEQ), _______, + KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, UM(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______, + KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, UM(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, _______, _______, _______ ), @@ -836,9 +836,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_GREEKU] = LAYOUT( - _______, XXXXXXX, XXXXXXX,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______, - _______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), KC_QUOT, _______, - _______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), KC_COMM, KC_DOT, KC_SLSH, _______, + _______, XXXXXXX, XXXXXXX,UM(UEPSI), UM(URHO), UM(UTAU),UM(UUPSI),UM(UTHET),UM(UIOTA),UM(UOMIC), UM(UPI), _______, + _______,UM(UALPH),UM(USIGM),UM(UDELT), UM(UPHI),UM(UGAMM), UM(UETA), UM(UXI),UM(UKAPP),UM(ULAMB), KC_QUOT, _______, + _______,UM(UZETA), UM(UCHI), UM(UPSI),UM(UOMEG),UM(UBETA), UM(UNU), UM(UMU), KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -855,9 +855,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_GREEKL] = LAYOUT( - _______, XXXXXXX,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______, - _______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), KC_QUOT, _______, - _______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), KC_COMM, KC_DOT, KC_SLSH, _______, + _______, XXXXXXX,UM(FSIGM),UM(LEPSI), UM(LRHO), UM(LTAU),UM(LUPSI),UM(LTHET),UM(LIOTA),UM(LOMIC), UM(LPI), _______, + _______,UM(LALPH),UM(LSIGM),UM(LDELT), UM(LPHI),UM(LGAMM), UM(LETA), UM(LXI),UM(LKAPP),UM(LLAMB), KC_QUOT, _______, + _______,UM(LZETA), UM(LCHI), UM(LPSI),UM(LOMEG),UM(LBETA), UM(LNU), UM(LMU), KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -893,10 +893,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_EMOJI] = LAYOUT( - X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW), - X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS), - X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH), - X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK), + UM(HART2), UM(CRY2),UM(WEARY),UM(EYERT),UM(SMIRK), UM(TJOY),UM(RECYC),UM(UNAMU),UM(MUSIC),UM(OKHND),UM(PENSV), UM(PHEW), + UM(THMUP), UM(PRAY),UM(SMILE),UM(SMIL2),UM(FLUSH), UM(GRIN),UM(HEART), UM(BYE), UM(KISS),UM(CELEB), UM(COOL),UM(NOEVS), + UM(THMDN),UM(SLEEP), UM(CLAP), UM(CRY), UM(VIC),UM(BHART), UM(SUN),UM(SMEYE), UM(WINK), UM(MOON),UM(CONFU),UM(NOEVH), + UM(POO), UM(EYES), UM(HUNRD),_______, UM(SKULL),UM(HORNS), UM(HALO), UM(FEAR),_______,UM(YUMMY),UM(DISAP),UM(NOEVK), _______, _______, _______ ), @@ -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< occupied precious real estate, and so they are moved down to punctuation layer. -* Right-shift on Enter position. -* Removed arrow keys, they are on another layer now. -* Put Ctrl-Alt-Super and Super-AltGr-Ctrl in left & right corners. -* Lower & Raise is now called Num and Fun. -* OS & Left keys become another thumb modifier: Empty & Greek (Empty because I used this for another use and my muscle memory is not adapted to it yet) - -On Promethium, Trackpoint is enabled on PD2 and PD3. We impersonate a Thinkpad keyboard to be able to use Thinkpad driver on Windows (still needs verification). - -AltGr & Compose dual use key. Tap for Compose (mapped to Scroll Lock in hardware) and press for AltGr. - -Supported layouts: QWERTY, DVORAK, Colemak, Workman, Norman. Switchable from SYS layer. In DVORAK, semicolon is replaced by /? key. - -Num activates NUM layer: hexkeypad on the right side and most punctuation on the left side. Hexkeypad is optimized for C-style hex, IPv6, HTML RGB triplets, etc. - -Fun activates FUN layer: arrow cluster on right home row, F-numbers on left side. - -Pressing Num+Fun activates PUNC layer: same punctuations as NUM layer on the left side, parens on the right side. - -Greek activates either GREEKU or GREEKL layer, depending whether shift is pressed or not. Shift state changes are also taken into account when the layer is active. - -Greek+Empty activates EMOJI layer. The whole keyboard now outputs emojis! - -Pressing both spacebars (spacekeys, actually) activates GUI layer. QWERTYUIOP switches to a virtual desktop. J & L switches virtual desktop to the left or right. S & F behaves like Alt-Tab and Alt-Shift-Tab. This works by sending Alt press when entering the layer, and Alt release when other than S or F keys are pressed. - -Pressing both Ctrls activates SYS layer for configuring the keyboard. - -On Promethium, USB or Bluetooth output is detected on startup. If USB is connected, then USB is used initially. SYS-U and SYS-B switch output to USB or Bluetooth at runtime. Current active output is indicated with LEDs. - -SYS-W, SYS-L, SYS-M switch Unicode input method. SYS-Q, SYS-D, SYS-C, SYS-K, SYS-N switch to QWERTY, DVORAK, Colemak, Workman and Norman, respectively. - -SYS-A (mnemonic: audio) toggles faux clicky: use buzzer to emit clicks on key presses and releases. - -On Promethium there are 16 indicator LEDs, and under switch LEDs on each switches, including Trackpoint buttons. Totaling 67 LEDs. Output is limited to 0xF for each LEDs to conserve power. SYS-G (mnemonic: glow) toggles various backlighting modes. - -On Promethium, there's a LED to indicate battery level. Hue indicates level: green is full, red is empty. \ No newline at end of file diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h deleted file mode 100644 index 1e5e8906ed99..000000000000 --- a/keyboards/handwired/promethium/keymaps/priyadi/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#define PRIYADI_PROMETHIUM - -#define RGBSPS_ENABLE -#define RGBSPS_DEMO_ENABLE - -#define UNICODE_TYPE_DELAY 0 - -#define LAYOUT_DVORAK -#define LAYOUT_COLEMAK -#define LAYOUT_NORMAN -#define LAYOUT_WORKMAN - -#define DOUBLESPACE_LAYER_ENABLE -// #define TOLELOT_ENABLE diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c deleted file mode 100644 index 1d299c229932..000000000000 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ /dev/null @@ -1,1357 +0,0 @@ -/* -Copyright 2017 Priyadi Iman Nurcahyo - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "action_layer.h" -#ifdef AUDIO_ENABLE - #include "audio.h" - #include "musical_notes.h" -#endif -#include "eeconfig.h" -#include "process_unicode.h" -#include "quantum.h" -#ifdef RGBSPS_ENABLE -#include "rgbsps.h" -#include "rgbtheme.h" -#endif -#ifdef PS2_MOUSE_ENABLE -#include "ps2_mouse.h" -#include "ps2.h" -#endif -#ifdef FAUXCLICKY_ENABLE -#include "fauxclicky.h" -#ifdef RGBSPS_ENABLE -#undef FAUXCLICKY_OFF -#define FAUXCLICKY_OFF do { \ - fauxclicky_enabled = false; \ - rgbsps_set(LED_AUDIO, COLOR_BLANK); \ - fauxclicky_stop(); \ -} while (0) -#undef FAUXCLICKY_ON -#define FAUXCLICKY_ON do { \ - fauxclicky_enabled = true; \ - rgbsps_set(LED_AUDIO, THEME_COLOR_AUDIO); \ -} while (0) -#endif -#endif -#ifdef __AVR__ -#include "outputselect.h" -#endif -#include "led.h" -#define COUNT(x) ARRAY_SIZE((x)) - -#define KC_WWWB KC_WWW_BACK -#define KC_WWWF KC_WWW_FORWARD - -// hybrid right-alt & scroll lock (mapped to Compose in OS) -#define C_RALT MT(MOD_RALT, KC_SCRL) - -// dual use right-shift & del key -// #define C_RSFT MT(MOD_RSFT, KC_DEL) - -bool capslock = false; -#ifdef DOUBLESPACE_LAYER_ENABLE -bool lspace_active = false; -bool rspace_active = false; -bool lspace_emitted = false; -bool rspace_emitted = false; -bool space_layer_entered = false; -#endif - -// glow -enum glow_modes { - GLOW_NONE, - GLOW_MIN, - GLOW_FULL -}; -uint8_t glow_mode = GLOW_MIN; - -void turn_off_capslock(void); -extern keymap_config_t keymap_config; - -// layers, ordering is important! -enum layers { - _QWERTY, - _DVORAK, - _COLEMAK, - _WORKMAN, - _NORMAN, - _DEFAULT_LAYER_MAX = _NORMAN, - - _GREEKU, - _GREEKL, - - _NUM, - _FUN, - _PUNC, - - _EMPTY, - _EMOJI, - _GUI, - _SYS -}; - -// double-space layer -#define _SPACE _GUI - -enum planck_keycodes { - // layouts - QWERTY = SAFE_RANGE, - DVORAK, - COLEMAK, - WORKMAN, - NORMAN, - - // layer switchers - EMOJI, - GUI, - GREEK, - - // os switchers - LINUX, - WIN, - OSX, - - // others - LSPACE, - RSPACE, - GLOW, - - // stub -#ifndef FAUXCLICKY_ENABLE - FC_TOG, -#endif - RGBDEMO, - KEYCODE_END -}; - -#define EMPTY MO(_EMPTY) -#define NUM MO(_NUM) -#define FUN MO(_FUN) -#define FUN0 LT(_FUN, KC_0) - -// unicode map - -enum unicode_name { - GRIN, // grinning face 😊 - TJOY, // tears of joy 😂 - SMILE, // grining face with smiling eyes 😁 - HEART, // heart âĪ - EYERT, // smiling face with heart shaped eyes 😍 - CRY, // crying face 😭 - SMEYE, // smiling face with smiling eyes 😊 - UNAMU, // unamused 😒 - KISS, // kiss 😘 - HART2, // two hearts 💕 - WEARY, // weary ðŸ˜Đ - OKHND, // ok hand sign 👌 - PENSV, // pensive 😔 - SMIRK, // smirk 😏 - RECYC, // recycle â™ŧ - WINK, // wink 😉 - THMUP, // thumb up 👍 - THMDN, // thumb down 👎 - PRAY, // pray 🙏 - PHEW, // relieved 😌 - MUSIC, // musical notes - FLUSH, // flushed ðŸ˜ģ - CELEB, // celebration 🙌 - CRY2, // crying face ðŸ˜Ē - COOL, // smile with sunglasses 😎 - NOEVS, // see no evil - NOEVH, // hear no evil - NOEVK, // speak no evil - POO, // pile of poo - EYES, // eyes - VIC, // victory hand - BHART, // broken heart - SLEEP, // sleeping face - SMIL2, // smiling face with open mouth & sweat - HUNRD, // 100 - CONFU, // confused - TONGU, // face with tongue & winking eye - DISAP, // disappointed - YUMMY, // face savoring delicious food - CLAP, // hand clapping - FEAR, // face screaming in fear - HORNS, // smiling face with horns - HALO, // smiling face with halo - BYE, // waving hand - SUN, // sun - MOON, // moon - SKULL, // skull - - // greek letters - UALPH, - UBETA, - UGAMM, - UDELT, - UEPSI, - UZETA, - UETA, - UTHET, - UIOTA, - UKAPP, - ULAMB, - UMU, - UNU, - UXI, - UOMIC, - UPI, - URHO, - USIGM, - UTAU, - UUPSI, - UPHI, - UCHI, - UPSI, - UOMEG, - - LALPH, - LBETA, - LGAMM, - LDELT, - LEPSI, - LZETA, - LETA, - LTHET, - LIOTA, - LKAPP, - LLAMB, - LMU, - LNU, - LXI, - LOMIC, - LPI, - LRHO, - LSIGM, - LTAU, - LUPSI, - LPHI, - LCHI, - LPSI, - LOMEG, - - FSIGM, - - LTEQ, - GTEQ, - NOTEQ, - PLMIN, -}; - -const uint32_t unicode_map[] PROGMEM = { - [GRIN] = 0x1F600, - [TJOY] = 0x1F602, - [SMILE] = 0x1F601, - [HEART] = 0x2764, - [EYERT] = 0x1f60d, - [CRY] = 0x1f62d, - [SMEYE] = 0x1F60A, - [UNAMU] = 0x1F612, - [KISS] = 0x1F618, - [HART2] = 0x1F495, - [WEARY] = 0x1F629, - [OKHND] = 0x1F44C, - [PENSV] = 0x1F614, - [SMIRK] = 0x1F60F, - [RECYC] = 0x267B, - [WINK] = 0x1F609, - [THMUP] = 0x1F44D, - [THMDN] = 0x1F44E, - [PRAY] = 0x1F64F, - [PHEW] = 0x1F60C, - [MUSIC] = 0x1F3B6, - [FLUSH] = 0x1F633, - [CELEB] = 0x1F64C, - [CRY2] = 0x1F622, - [COOL] = 0x1F60E, - [NOEVS] = 0x1F648, - [NOEVH] = 0x1F649, - [NOEVK] = 0x1F64A, - [POO] = 0x1F4A9, - [EYES] = 0x1F440, - [VIC] = 0x270C, - [BHART] = 0x1F494, - [SLEEP] = 0x1F634, - [SMIL2] = 0x1F605, - [HUNRD] = 0x1F4AF, - [CONFU] = 0x1F615, - [TONGU] = 0x1F61C, - [DISAP] = 0x1F61E, - [YUMMY] = 0x1F60B, - [CLAP] = 0x1F44F, - [FEAR] = 0x1F631, - [HORNS] = 0x1F608, - [HALO] = 0x1F607, - [BYE] = 0x1F44B, - [SUN] = 0x2600, - [MOON] = 0x1F314, - [SKULL] = 0x1F480, - - // greek letters - [UALPH] = 0x0391, - [UBETA] = 0x0392, - [UGAMM] = 0x0393, - [UDELT] = 0x0394, - [UEPSI] = 0x0395, - [UZETA] = 0x0396, - [UETA] = 0x0397, - [UTHET] = 0x0398, - [UIOTA] = 0x0399, - [UKAPP] = 0x039A, - [ULAMB] = 0x039B, - [UMU] = 0x039C, - [UNU] = 0x039D, - [UXI] = 0x039E, - [UOMIC] = 0x039F, - [UPI] = 0x03A0, - [URHO] = 0x03A1, - [USIGM] = 0x03A3, - [UTAU] = 0x03A4, - [UUPSI] = 0x03A5, - [UPHI] = 0x03A6, - [UCHI] = 0x03A7, - [UPSI] = 0x03A8, - [UOMEG] = 0x03A9, - [LALPH] = 0x03B1, - [LBETA] = 0x03B2, - [LGAMM] = 0x03B3, - [LDELT] = 0x03B4, - [LEPSI] = 0x03B5, - [LZETA] = 0x03B6, - [LETA] = 0x03B7, - [LTHET] = 0x03B8, - [LIOTA] = 0x03B9, - [LKAPP] = 0x03BA, - [LLAMB] = 0x03BB, - [LMU] = 0x03BC, - [LNU] = 0x03BD, - [LXI] = 0x03BE, - [LOMIC] = 0x03BF, - [LPI] = 0x03C0, - [LRHO] = 0x03C1, - [LSIGM] = 0x03C3, - [LTAU] = 0x03C4, - [LUPSI] = 0x03C5, - [LPHI] = 0x03C6, - [LCHI] = 0x03C7, - [LPSI] = 0x03C8, - [LOMEG] = 0x03C9, - [FSIGM] = 0x03C2, - - // other - [LTEQ] = 0x2264, // less than or equal - [GTEQ] = 0x2265, // greater than or equal - [NOTEQ] = 0x2260, // not equal - [PLMIN] = 0xB1, // plus minus -}; - -// RGBSPS - -#ifdef RGBSPS_ENABLE -const uint8_t PROGMEM LED_ALNUM[] = { - LED_Z, - LED_A, - LED_Q, - LED_W, - LED_S, - LED_X, - LED_C, - LED_D, - LED_E, - LED_R, - LED_F, - LED_V, - LED_B, - LED_G, - LED_T, - LED_N, - LED_HH, - LED_Y, - LED_U, - LED_J, - LED_M, - LED_COMM, - LED_K, - LED_I, - LED_O, - LED_L, - LED_DOT, - LED_SLSH, - LED_SCLN, - LED_P, - LED_LSPC, - LED_RSPC -}; - -const uint8_t PROGMEM LED_HOMING[] = { - LED_A, - LED_S, - LED_D, - LED_F, - LED_J, - LED_K, - LED_L, - LED_SCLN -}; - -const uint8_t PROGMEM LED_MODS[] = { - LED_TAB, - LED_ESC, - LED_LSFT, - LED_LCTL, - LED_LGUI, - LED_LALT, - LED_RALT, - LED_RGUI, - LED_BKSP, - LED_ENT, - LED_RSFT, - LED_RCTL -}; - -const uint8_t PROGMEM LED_FN[] = { - LED_EMPTY, - LED_NUM, - LED_FUN, - LED_GREEK -}; - -const uint8_t PROGMEM LED_INDICATORS[] = { - LED_IND_LINUX, - LED_IND_APPLE, - LED_IND_WINDOWS, - LED_IND_QWERTY, - LED_IND_ALT, - LED_IND_AUDIO, - LED_IND_BLUETOOTH, - LED_IND_USB, - - LED_IND_BATTERY, - LED_IND_CAPSLOCK, - LED_IND_GUI, - LED_IND_FUN, - LED_IND_NUM, - LED_IND_PUNC, - LED_IND_EMOJI, - LED_IND_GREEK, -}; - -const uint8_t PROGMEM LED_TRACKPOINT[] = { - LED_TRACKPOINT1, - LED_TRACKPOINT2, - LED_TRACKPOINT3, -}; - -void led_turnoff_keys(void) { - for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), COLOR_BLACK); - } - for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), COLOR_BLACK); - } - for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), COLOR_BLACK); - } -} - -#ifdef RGBSPS_DEMO_ENABLE -void led_demo(void) { - rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); - rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); - rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); - rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); - rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); - rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); - rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); - rgbsps_set(LED_IND_USB, THEME_COLOR_USB); - rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK); - rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); - rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); - rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); - rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); - rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); - rgbsps_send(); -} -#endif - -void led_reset(void) { - switch (glow_mode) { - case GLOW_NONE: - led_turnoff_keys(); - break; - case GLOW_MIN: - led_turnoff_keys(); - for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW1_HOME); - } - rgbsps_set(LED_F, THEME_COLOR_GLOW1_HOMING); - rgbsps_set(LED_J, THEME_COLOR_GLOW1_HOMING); - break; - case GLOW_FULL: - for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), THEME_COLOR_GLOW2_ALPHA); - } - for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), THEME_COLOR_GLOW2_MODS); - } - for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), THEME_COLOR_GLOW2_FN); - } - for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW2_HOME); - } - rgbsps_set(LED_F, THEME_COLOR_GLOW2_HOMING); - rgbsps_set(LED_J, THEME_COLOR_GLOW2_HOMING); - break; - } -} - -void led_set_default_layer_indicator(void) { - uint8_t default_layer = get_highest_layer(default_layer_state); - if (default_layer == _QWERTY) { - rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); - rgbsps_set(LED_IND_ALT, COLOR_BLANK); - } else { - rgbsps_set(LED_IND_QWERTY, COLOR_BLANK); - rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); - } - rgbsps_send(); - return; -} - -void led_set_layer_indicator(void) { - static uint8_t oldlayer = 255; - - led_reset(); - - rgbsps_set(LED_IND_GUI, COLOR_BLANK); - rgbsps_set(LED_IND_FUN, COLOR_BLANK); - rgbsps_set(LED_IND_NUM, COLOR_BLANK); - rgbsps_set(LED_IND_PUNC, COLOR_BLANK); - rgbsps_set(LED_IND_GREEK, COLOR_BLANK); - rgbsps_set(LED_IND_EMOJI, COLOR_BLANK); - - uint8_t layer = get_highest_layer(layer_state); - if (oldlayer == layer) { - return; - } - - oldlayer = layer; - - if (layer <= _DEFAULT_LAYER_MAX) { - rgbsps_send(); - return; - } - - switch(layer) { - case _GUI: - rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); - break; - case _FUN: - rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); - break; - case _NUM: - rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); - break; - case _PUNC: - rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); - break; - case _GREEKL: - case _GREEKU: - rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); - break; - case _EMOJI: - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); - break; - default: - rgbsps_set(LED_IND_GUI, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_FUN, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_NUM, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_PUNC, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_GREEK, THEME_COLOR_OTHERLAYER); - rgbsps_set(LED_IND_EMOJI, THEME_COLOR_OTHERLAYER); - } - - rgbsps_send(); -} - -void led_set_unicode_input_mode(void) { - rgbsps_set(LED_IND_LINUX, COLOR_BLANK); - rgbsps_set(LED_IND_APPLE, COLOR_BLANK); - rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK); - - switch (get_unicode_input_mode()) { - case UNICODE_MODE_LINUX: - rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); - break; - case UNICODE_MODE_MACOS: - rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); - break; - case UNICODE_MODE_WINDOWS: - case UNICODE_MODE_WINCOMPOSE: - rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); - break; - } - rgbsps_send(); -} - -void led_set_output_ble(void) { - rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); - rgbsps_set(LED_IND_USB, COLOR_BLANK); - rgbsps_send(); -} - -void led_set_output_usb(void) { - rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); - rgbsps_set(LED_IND_USB, THEME_COLOR_USB); - rgbsps_send(); -} - -void led_set_output_none(void) { - rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); - rgbsps_set(LED_IND_USB, COLOR_BLANK); - rgbsps_send(); -} - -void led_init(void) { - // turn off all - rgbsps_turnoff(); - - // set trackpoint color - rgbsps_set(LED_TRACKPOINT1, THEME_COLOR_TP1); - rgbsps_set(LED_TRACKPOINT2, THEME_COLOR_TP2); - rgbsps_set(LED_TRACKPOINT3, THEME_COLOR_TP3); - - // unicode input mode - led_set_unicode_input_mode(); - - // layer indicator - led_set_layer_indicator(); - led_set_default_layer_indicator(); - - // clicky -#ifdef FAUXCLICKY_ENABLE - if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); - } else { - rgbsps_set(LED_IND_AUDIO, COLOR_BLANK); - } -#endif - - rgbsps_send(); -} - - -#endif // RGBSPS_ENABLE - -// keymaps - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ' |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Fun |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_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_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL, - _______, _______, _______ -), - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| / | Q | J | K | X | B | M | W | V | Z |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ -#ifdef LAYOUT_DVORAK -[_DVORAK] = LAYOUT( - _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______, - _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, _______, - _______, KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | R | S | T | D | H | N | E | I | O |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_COLEMAK -[_COLEMAK] = LAYOUT( - _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______, - _______, 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, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Norman - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | D | F | K | J | U | R | L | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | E | T | G | Y | N | I | O | H |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | P | M | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_NORMAN -[_NORMAN] = LAYOUT( - _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_QUOT, _______, - _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Workman - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl | - * `-----------------------------------------------------------------------------------' - */ - -#ifdef LAYOUT_WORKMAN -[_WORKMAN] = LAYOUT( - _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______, - _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______, - _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), -#endif - -/* Punc - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | â‰Ī | â‰Ĩ | ` | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | * | \ | - | = | / | ≠ | ( | ) | < | > | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | & | ^ | | | _ | + | ? | Âą | [ | ] | { | } | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | : | | - * `-----------------------------------------------------------------------------------' - */ -[_PUNC] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______, - KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______, - KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, - _______, _______, _______ -), - -/* Num - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | A | 7 | 8 | 9 | D | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ` | * | \ | - | = | / | B | 4 | 5 | 6 | E | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | & | ^ | | | _ | + | ? | C | 1 | 2 | 3 | F | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | x | | | | | 0 | , | . | : | | - * `-----------------------------------------------------------------------------------' - */ -[_NUM] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, S(KC_A), KC_1, KC_2, KC_3, S(KC_D), _______, - KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, S(KC_B), KC_4, KC_5, KC_6, S(KC_E), _______, - KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, S(KC_C), KC_7, KC_8, KC_9, S(KC_F), _______, - _______, _______, KC_X, _______, _______, _______, _______, FUN0 , KC_COMM, KC_DOT, KC_COLN, _______, - _______, _______, _______ -), - -/* Func - * ,-----------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | Ins | | PgUp | Up | PgDn | PgUp | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Caps | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F9 | F10 | F11 | F12 |Pause | | | Home | End | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_FUN] = LAYOUT( - XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL, - KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, - _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), - -/* Uppercase Greek - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_GREEKU] = LAYOUT( - _______, XXXXXXX, XXXXXXX,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______, - _______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), KC_QUOT, _______, - _______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), - -/* Lowercase Greek - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_GREEKL] = LAYOUT( - _______, XXXXXXX,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______, - _______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), KC_QUOT, _______, - _______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), - -/* Empty - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_EMPTY] = 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, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______ -), - -/* Emoji - * ,-----------------------------------------------------------------------------------. - * | 💕 | ðŸ˜Ē | ðŸ˜Đ | 😍 | 😏 | 😂 | â™ŧ | 😒 | ðŸŽķ | 👌 | 😔 | 😌 | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | 👍 | 🙏 | 😁 | 😅 | ðŸ˜ģ | 😊 | âĪ | 👋 | 😘 | 🙌 | 😎 | 🙈 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | 👎 | ðŸ˜ī | 👏 | 😭 | ✌ | 💔 | ☀ | 😊 | 😉 | 🌔 | 😕 | 🙉 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ðŸ’Đ | 👀 | ðŸ’Ŋ | | 💀 | 😈 | 😇 | ðŸ˜ą | | 😋 | 😞 | 🙊 | - * `-----------------------------------------------------------------------------------' - */ -[_EMOJI] = LAYOUT( - X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW), - X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS), - X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH), - X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK), - _______, _______, _______ -), - -/* GUI - * ,-----------------------------------------------------------------------------------. - * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | | Btab | Esc | Tab | | | Prev | | Next | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | Prev | Play | Next | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_GUI] = LAYOUT( - XXXXXXX, G(KC_1), G(KC_2), G(KC_3), G(KC_4), G(KC_5), G(KC_6), G(KC_7), G(KC_8), G(KC_9), G(KC_0), XXXXXXX, - KC_ESC, XXXXXXX, S(KC_TAB),KC_ESC, KC_TAB, XXXXXXX, XXXXXXX, KC_WWWB, XXXXXXX, KC_WWWF, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, KC_SPC, KC_SPC, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______ -), - -/* Sys - * ,-----------------------------------------------------------------------------------. - * | |Qwerty| Win | |Reset | | | USB | | | | | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | |Audio | |Dvorak| | Glow | | |WorkMn|Linux | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | |Colmak| | BLE |Norman|MacOS | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * `-----------------------------------------------------------------------------------' - */ -[_SYS] = LAYOUT( - DB_TOGG, QWERTY, WIN, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, OU_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO, - XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OU_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, _______, _______ -), - - -}; - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -#ifdef RGBSPS_ENABLE - led_set_default_layer_indicator(); -#endif -} - -#ifdef DOUBLESPACE_LAYER_ENABLE -void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *isemitted) { - if (pressed) { - *isactive = true; - if (*otheractive) { - layer_on(_SPACE); - register_code(KC_LALT); // sends alt and enter layer - space_layer_entered = true; - } - } else { - *isactive = false; - if (space_layer_entered) { - unregister_code(KC_LALT); // release alt and exit layer - layer_off(_SPACE); - if (!*otheractive) { - space_layer_entered = false; - } - } else { - if (!*isemitted) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - *isemitted = false; - } - } -} -#endif - -layer_state_t layer_state_set_kb(layer_state_t state) -{ - // turn on punc layer if both fun & num are on - if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) { - state |= (1UL<<_PUNC); - } else { - state &= ~(1UL<<_PUNC); - } - - // turn on emoji layer if empty and greek layer are on - if ( - (state & ((1UL<<_EMPTY) | (1UL<<_GREEKU))) == ((1UL<<_EMPTY) | (1UL<<_GREEKU)) - || (state & ((1UL<<_EMPTY) | (1UL<<_GREEKL))) == ((1UL<<_EMPTY) | (1UL<<_GREEKL)) - ) { - state |= (1UL<<_EMOJI); - } else { - state &= ~(1UL<<_EMOJI); - } - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static bool lshift = false; - static bool rshift = false; - static uint8_t layer = 0; - - lshift = keyboard_report->mods & MOD_BIT(KC_LSFT); - rshift = keyboard_report->mods & MOD_BIT(KC_RSFT); - layer = get_highest_layer(layer_state); - -#ifdef DOUBLESPACE_LAYER_ENABLE - // double-space: send space immediately if any other key depressed before space is released - if ((lspace_active ^ rspace_active) - && keycode != LSPACE - && keycode != RSPACE - && record->event.pressed) - { - if (lspace_active) { - if (!lspace_emitted) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - lspace_emitted = true; - } - if (rspace_active) { - if (!rspace_emitted) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - rspace_emitted = true; - } - } - - if (layer == _SPACE && keycode != S(KC_TAB) && keycode != KC_TAB && keycode != KC_ESC && keycode != XXXXXXX) { - if (record->event.pressed) { - unregister_code(KC_LALT); - } else { - register_code(KC_LALT); - } - } -#endif - - switch (keycode) { - -#ifdef DOUBLESPACE_LAYER_ENABLE - // double-space enter space layer - case LSPACE: - process_doublespace(record->event.pressed, &lspace_active, &rspace_active, &lspace_emitted); - return false; - break; - case RSPACE: - process_doublespace(record->event.pressed, &rspace_active, &lspace_active, &rspace_emitted); - return false; - break; -#endif - - // handle greek layer shift - case KC_LSFT: - case KC_RSFT: - ; - if (layer == _GREEKU || layer == _GREEKL) { - if (record->event.pressed) { - layer_on(_GREEKU); - layer_off(_GREEKL); - } else { - if (lshift ^ rshift) { // if only one shift was pressed - layer_on(_GREEKL); - layer_off(_GREEKU); - } - } - } - return true; - break; - - // press both ctrls to activate SYS layer - case KC_LCTL: - case KC_RCTL: - ; - bool lctrl = keyboard_report->mods & MOD_BIT(KC_LCTL); - bool rctrl = keyboard_report->mods & MOD_BIT(KC_RCTL); - if (record->event.pressed) { - if (lctrl ^ rctrl) { // if only one ctrl was pressed - layer_on(_SYS); - } - } else { - layer_off(_SYS); - } - return true; - break; - - // QWERTZ style comma and dot: semicolon and colon when shifted - case KC_COMM: - if (record->event.pressed) { - if (lshift || rshift) { - if (lshift) unregister_code(KC_LSFT); - if (rshift) unregister_code(KC_RSFT); - register_code(KC_SCLN); - unregister_code(KC_SCLN); - if (lshift) register_code(KC_LSFT); - if (rshift) register_code(KC_RSFT); - } else { - register_code(KC_COMM); - unregister_code(KC_COMM); - } - } - return false; - break; - case KC_DOT: - if (record->event.pressed) { - if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) { - register_code(KC_SCLN); - unregister_code(KC_SCLN); - } else { - register_code(KC_DOT); - unregister_code(KC_DOT); - } - } - return false; - break; - - // layout switchers - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; -#ifdef LAYOUT_DVORAK - case DVORAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; -#endif -#ifdef LAYOUT_COLEMAK - case COLEMAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; -#endif -#ifdef LAYOUT_WORKMAN - case WORKMAN: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_WORKMAN); - } - return false; - break; -#endif -#ifdef LAYOUT_NORMAN - case NORMAN: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_NORMAN); - } - return false; - break; -#endif - - // only process Fnumber on key release, and only when layer switcher is still pressed. - // this is to avoid accidental presses on potentially destructive keys - case KC_F1 ... KC_F12: - case KC_PAUS: - case KC_PSCR: - case KC_INS: - if (!record->event.pressed && layer == _FUN) { // key released and still in FUN layer - register_code(keycode); - unregister_code(keycode); - } - return false; - break; - - // layer switcher - // - case GREEK: - if (record->event.pressed) { - if (lshift || rshift) { - layer_on(_GREEKU); - layer_off(_GREEKL); - } else { - layer_on(_GREEKL); - layer_off(_GREEKU); - } - } else { - layer_off(_GREEKU); - layer_off(_GREEKL); - } - return false; - break; - - // OS switchers - case LINUX: - set_unicode_input_mode(UNICODE_MODE_LINUX); -#ifdef RGBSPS_ENABLE - led_set_unicode_input_mode(); -#endif - return false; - break; - case WIN: - set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); -#ifdef RGBSPS_ENABLE - led_set_unicode_input_mode(); -#endif - return false; - break; - case OSX: - set_unicode_input_mode(UNICODE_MODE_MACOS); -#ifdef RGBSPS_ENABLE - led_set_unicode_input_mode(); -#endif - return false; - break; - - // glow mode changer -#ifdef RGBSPS_ENABLE - case GLOW: - if (record->event.pressed) { - glow_mode++; - if (glow_mode > GLOW_FULL) { - glow_mode = GLOW_NONE; - } - led_reset(); - rgbsps_send(); - } - return false; - break; -#endif - - // faux clicky indicator -#ifdef FAUXCLICKY_ENABLE - case FC_TOG: -#ifdef RGBSPS_ENABLE - if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); - } else { - rgbsps_set(LED_IND_AUDIO, COLOR_BLANK); - } - rgbsps_send(); -#endif - return true; - break; -#endif - -#ifdef RGBSPS_DEMO_ENABLE - case RGBDEMO: - led_demo(); - return false; - break; -#endif - } - return true; -} - -void set_output_user(uint8_t output) { -#ifdef BLUETOOTH_BLUEFRUIT_LE - switch(output) { - case OUTPUT_USB: - led_set_output_usb(); - break; - case OUTPUT_BLUETOOTH: - led_set_output_ble(); - break; - default: - led_set_output_none(); - } -#endif -} - -void matrix_init_user(void) { - wait_ms(500); // give time for usb to initialize - - set_unicode_input_mode(UNICODE_MODE_LINUX); - -#ifdef RGBSPS_ENABLE - led_init(); -#endif - - // auto detect output on init -#ifdef BLUETOOTH_BLUEFRUIT_LE - uint8_t output = auto_detect_output(); - if (output == OUTPUT_USB) { - set_output(OUTPUT_USB); - } else { - set_output(OUTPUT_BLUETOOTH); - } -#endif -} - -void turn_off_capslock(void) { - if (capslock) { - register_code(KC_CAPS); - unregister_code(KC_CAPS); - } -} - -#ifdef RGBSPS_ENABLE - void matrix_scan_user(void) { - led_set_layer_indicator(); - } - - void battery_poll(uint8_t level) { - rgbsps_sethsv(LED_IND_BATTERY, level * 120/255, 255, 15); - 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 213b7aa53bbf..ad83f34999d2 100644 --- a/keyboards/handwired/pterodactyl/info.json +++ b/keyboards/handwired/pterodactyl/info.json @@ -11,6 +11,12 @@ "processor": "atmega32u4", "bootloader": "caterina", "debounce": 0, + "tapping": { + "toggle": 1 + }, + "bluetooth": { + "driver": "bluefruit_le" + }, "layouts": { "LAYOUT_pterodactyl": { "layout": [ diff --git a/keyboards/handwired/pterodactyl/rules.mk b/keyboards/handwired/pterodactyl/rules.mk index eb2487d4103e..108e1498a835 100644 --- a/keyboards/handwired/pterodactyl/rules.mk +++ b/keyboards/handwired/pterodactyl/rules.mk @@ -16,7 +16,6 @@ AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes CUSTOM_MATRIX = yes BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE SRC += matrix.c -QUANTUM_LIB_SRC += i2c_master.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/pytest/macro/keymaps/default/keymap.json b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json index 23c371aa3434..3bef21a0b21a 100644 --- a/keyboards/handwired/pytest/macro/keymaps/default/keymap.json +++ b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "handwired/pytest/basic", + "keyboard": "handwired/pytest/macro", "keymap": "default_json", "layout": "LAYOUT_ortho_1x1", "layers": [["QK_MACRO_0"]], diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/info.json index b78ca3c807e0..7fba95f9d134 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/keymaps/wntrmln/config.h b/keyboards/handwired/qc60/keymaps/wntrmln/config.h deleted file mode 100644 index 10887bdf1899..000000000000 --- a/keyboards/handwired/qc60/keymaps/wntrmln/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define MASTER_LEFT diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c deleted file mode 100644 index dd12206b2612..000000000000 --- a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2018 Michael Pio Mayol - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BASE 0 -#define _FN 1 - -#define FN MO(_FN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_hhkb_split_lshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_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_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_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_CAPS, - FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI - ), - - [_FN] = LAYOUT_hhkb_split_lshift( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_NUM, _______, _______, _______, _______ - ), - -}; diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h deleted file mode 100644 index a64c4ebeecbd..000000000000 --- 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/rabijl/rotary_numpad/info.json b/keyboards/handwired/rabijl/rotary_numpad/info.json new file mode 100644 index 000000000000..dafeec0fc01d --- /dev/null +++ b/keyboards/handwired/rabijl/rotary_numpad/info.json @@ -0,0 +1,66 @@ +{ + "manufacturer": "rabijl", + "keyboard_name": "rotary_numpad", + "maintainer": "rabijl", + "url": "https://github.com/RABijl/", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "development_board": "promicro", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F5", "F4", "B5", "B4"], + "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "encoder": { + "rotary": [ + {"pin_a": "D1", "pin_b": "D0", "resolution": 3}, + {"pin_a": "D4", "pin_b": "C6", "resolution": 3}, + {"pin_a": "D7", "pin_b": "E6", "resolution": 3} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [5, 0],"x":0, "y":0.4}, + {"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":5, "y":0}, + {"matrix": [1, 0], "x":2, "y":1.25}, + {"matrix": [1, 1], "x":3, "y":1.25}, + {"matrix": [1, 2], "x":4, "y":1.25}, + {"matrix": [1, 3], "x":5, "y":1.25}, + {"matrix": [2, 0], "x":2, "y":2.25}, + {"matrix": [2, 1], "x":3, "y":2.25}, + {"matrix": [2, 2], "x":4, "y":2.25}, + {"matrix": [2, 3], "x":5, "y":2.25, "h":2}, + + {"matrix": [3, 3], "x":0, "y":2.75}, + {"matrix": [3, 0], "x":2, "y":3.25}, + {"matrix": [3, 1], "x":3, "y":3.25}, + {"matrix": [3, 2], "x":4, "y":3.25}, + + {"matrix": [4, 0], "x":2, "y":4.25}, + {"matrix": [4, 1], "x":3, "y":4.25}, + {"matrix": [4, 2], "x":4, "y":4.25}, + {"matrix": [4, 3], "x":5, "y":4.25, "h":2}, + + {"matrix": [5, 3], "x":0, "y":5.05}, + {"matrix": [5, 1], "x":2, "y":5.25, "w":2}, + {"matrix": [5, 2], "x":4, "y":5.25} + ] + } + } +} diff --git a/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/keymap.c b/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/keymap.c new file mode 100644 index 000000000000..d4462243b0b3 --- /dev/null +++ b/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/keymap.c @@ -0,0 +1,62 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +// + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┮───┮───┮───┐ + * │Ply││Esc│Tab│MO1│Bsp│ + * └───┘├───┾───┾───┾───â”Ī + * │Num│ / │ * │ - │ + * ├───┾───┾───┾───â”Ī + * │ 7 │ 8 │ 9 │ │ + * ┌───┐├───┾───┾───â”Ī + │ + * │Esc││ 4 │ 5 │ 6 │ │ + * └───┘├───┾───┾───┾───â”Ī + * │ 1 │ 2 │ 3 │ │ + * ┌───┐├───â”ī───┾───â”ĪEnt│ + * │ENT││ 0 │ . │ │ + * └───┘└───────â”ī───â”ī───┘ + */ + [0] = LAYOUT( + KC_MPLY, KC_ESC, KC_TAB, MO(1), KC_BSPC, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_ESC, KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_ENT, KC_P0, KC_PDOT + ), + /* + * ┌───┐┌───┮───┮───┮───┐ + * │Ply││Rst│Tab│MO1│Bsp│ + * └───┘├───┾───┾───┾───â”Ī + * │Num│ / │ * │ - │ + * ├───┾───┾───┾───â”Ī + * │Hom│ ↑ │PgU│ │ + * ┌───┐├───┾───┾───â”Ī + │ + * │Esc││ ← │ │ → │ │ + * └───┘├───┾───┾───┾───â”Ī + * │End│ ↓ │PgD│ │ + * ┌───┐├───â”ī───┾───â”ĪEnt│ + * │ENT││Insert │Del│ │ + * └───┘└───────â”ī───┘───┘ + */ + [1] = LAYOUT( + _______, QK_BOOT, _______, _______, _______, + _______, _______, _______, _______, + KC_HOME, KC_UP, KC_PGUP, _______, + _______, KC_LEFT, KC_NO, KC_RGHT, + KC_END, KC_DOWN, KC_PGDN, _______, + _______, KC_INS, KC_DEL + ) +}; + +#if defined(ENCODER_MAP_ENABLE) + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/rules.mk b/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/rules.mk new file mode 100644 index 000000000000..34789bf1728c --- /dev/null +++ b/keyboards/handwired/rabijl/rotary_numpad/keymaps/default/rules.mk @@ -0,0 +1,2 @@ + +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/rabijl/rotary_numpad/readme.md b/keyboards/handwired/rabijl/rotary_numpad/readme.md new file mode 100644 index 000000000000..6eb2e1480f56 --- /dev/null +++ b/keyboards/handwired/rabijl/rotary_numpad/readme.md @@ -0,0 +1,67 @@ +# Rotary Numpad + + +![rotary_numpad](https://i.imgur.com/GwEH4WOh.jpeg) + +This is a personal project of mine where I wanted a number pad that I can put on the left side of keyboard that doesn't have a numberpad. I fell in love with the feel of rotary encoders on my 3d printer, so added three to be able to play around with. + +* Keyboard Maintainer: [rabijl](https://github.com/rabijl) +* Hardware Supported: Sparkfun Pro Micro 5V (atmega32u4) +* Hardware Availability: https://www.sparkfun.com/products/12640 + +## How to build from scratch + +I handsoldered gateron blue switches to a 3D printed case. The design is modified from the [Ultipad](https://www.thingiverse.com/thing:4248565). \ +I used a sparkfun Pro Micro as my microcontroller and the pinout can be found in the `info.json`. I found this [site](https://golem.hu/article/pro-micro-pinout/) \ +to be very useful to identify different pins. You can find useful information on rotary encoders from the qmk docs [here](https://docs.qmk.fm/#/reference_info_json?id=encoders) and [here](https://docs.qmk.fm/#/feature_encoders). + +### matrix + +Due to the three rotary encoders, I had to use most of the available pins. Fortunately, all the buttons still fit in a 6x4 matrix. Looking at the diagram below, the three buttons in the first column correspond to each encoder button. + +``` + ┌──┐┌──┐┌──┐┌──┐ + │0A││0B││0C││0D│ +┌──┐ └──┘└──┘└──┘└──┘ +│5A│ +└──┘ ┌──┐┌──┐┌──┐┌──┐ + │1A││1B││1C││1D│ + └──┘└──┘└──┘└──┘ + ┌──┐┌──┐┌──┐┌──┐ + │2A││2B││2C││2D│ +┌──┐ └──┘└──┘└──┘│ │ +│3D│ ┌──┐┌──┐┌──┐│ │ +└──┘ │3A││3B││3C││ │ + └──┘└──┘└──┘└──┘ + ┌──┐┌──┐┌──┐┌──┐ + │4A││4B││4C││4D│ + └──┘└──┘└──┘│ │ +┌──┐ ┌──────┐┌──┐│ │ +│5D│ │5B ││5C││ │ +└──┘ └──────┘└──┘└──┘ + +``` + +## Flashing + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb handwired/rabijl/rotary_numpad -km default + +Flashing example for this keyboard: + + qmk flash -kb handwired/rabijl/rotary_numpad -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Short reset leads**: tap the reset lead to ground twice quickly after qmk is in flash mode +* **Keycode in layout**: double tap the key mapped to `QK_BOOT`. On the default keymap this can be found by holding in key (0,C) and tapping key (0,A), see the matrix section for the positions of these keys. +* **Bootmagic reset**: Hold down the key at (0,A) in the matrix (see matrix section) and plug in the keyboard + +**Note:** if the keyboard doesn't show up after putting the keyboard in reset mode, check that +your user is added to the `tty` and/or `uucp` groups. \ +You may need to logout after adding these groups to your user, for the changes to take affect. diff --git a/keyboards/handwired/rabijl/rotary_numpad/rules.mk b/keyboards/handwired/rabijl/rotary_numpad/rules.mk new file mode 100644 index 000000000000..1287472e49e4 --- /dev/null +++ b/keyboards/handwired/rabijl/rotary_numpad/rules.mk @@ -0,0 +1 @@ +# file intentionally left blank diff --git a/keyboards/handwired/rd_61_qmk/config.h b/keyboards/handwired/rd_61_qmk/config.h new file mode 100644 index 000000000000..7281c45662d3 --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 abhiakl (@abhijithabhiakl) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +/* QK_MAKE support*/ +#define ENABLE_COMPILE_KEYCODE diff --git a/keyboards/handwired/rd_61_qmk/info.json b/keyboards/handwired/rd_61_qmk/info.json new file mode 100644 index 000000000000..be07d95924fc --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/info.json @@ -0,0 +1,126 @@ +{ + "manufacturer": "abhiakl", + "keyboard_name": "rd_61_qmk", + "maintainer": "abhijithabhiakl", + "backlight": { + "driver": "pwm", + "levels": 5, + "pin": "B7" + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x7421", + "vid": "0xFEED" + }, + "development_board": "promicro", + "diode_direction": "ROW2COL", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "indicators": { + "caps_lock": "F0" + }, + "matrix_pins": { + "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4", "D4", "D0", "D1", "D2", "D3", "D5"], + "rows": ["B5", "B4", "E6", "D7", "C6"] + }, + "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": 1, + "saturation_steps": 8 + }, + "url": "", + "ws2812": { + "pin": "C7" + }, + "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": [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": [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, 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, 13], "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, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "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} + ] + } + } +} diff --git a/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c b/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c new file mode 100644 index 000000000000..b32fa614a7d0 --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +// 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_60_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, MO(3), KC_RCTL, KC_PENT + ), + + [1] = LAYOUT_60_ansi( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_PSCR, DF(0), KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, C(S(KC_TAB)), C(KC_TAB), KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, + KC_RGUI, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_60_ansi( + QK_RBT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_BSPC, + KC_PSCR, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PAST, KC_LEFT, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_PSCR, + KC_DEL, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PPLS, KC_RGHT, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, + KC_LSFT, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_P0, KC_ENT, KC_TRNS, KC_1, KC_2, KC_3, KC_RSFT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_60_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, QK_RBT, QK_BOOT, QK_MAKE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RGB_MOD, KC_TRNS, RGB_HUI, RGB_SAI + ) +}; diff --git a/keyboards/handwired/rd_61_qmk/readme.md b/keyboards/handwired/rd_61_qmk/readme.md new file mode 100644 index 000000000000..f9e40ac81bfd --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/readme.md @@ -0,0 +1,53 @@ +# Redragon K617 (QMK ported) + +![Keyboard image](https://imagizer.imageshack.com/img922/3464/qUpU8k.png) + +*Firmware,layout and schematics for porting Redragon K617 keyboard to qmk* + +* Keyboard Maintainer: *[abhijithabhiakl](https://github.com/abhijithabhiakl)* +* Hardware Supported: *Redragon K617, Pro micro(caterina)* +* Hardware Availability: *[Redragon K617](https://redragon.in/products/fizz-k617-60-wired-mechanical-keyboard-white-and-grey-red-switches)* + +Make example for this keyboard (after setting up your build environment): + + make handwired/rd_61_qmk:default + +Flashing example for this keyboard: + + make handwired/rd_61_qmk:default:flash + +Also can be flashed with QMK *[QMK toolbox](https://github.com/qmk/qmk_toolbox)* or *[avrdudess](https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/)* + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +See [QMK repo cloning](https://docs.qmk.fm/#/getting_started_github) for information about cloning the repo + +## Hardware details: + +Note : Before doing any modifications in the PCB make sure that the stock microcontroller is removed. + +#### Matrix layout: +![Keyboard image](https://imagizer.imageshack.com/img924/8415/hX5gAb.jpg) + +#### Schematic: +![Keyboard image](https://imagizer.imageshack.com/img922/5585/vXorPx.png) + +* *The header `J0` in not present in the normal pro mirco, for my purpose i directly soldered the `D5`, `C7` and `F0` pins to the pad of the microcontroller with micro soldering tools. + +* **To connect the promicro to PCB - Micro USB to the USB C, i made use of an old micro usb cable lying around, cut the cable to approprite length and exposed the wires, connected the male connector to female port of pro micro, Connected the Vcc and Gnd wires to Vcc and Gnd in the PCB, In PCB there's a differential pair (D+, D-) running from USB C port in the PCB to microcontroller in the PCB, in between the connection there's a resistor and filter capacitors, after removing both (bypassing the connection) i connected the D+ and D- wires to the bypassed point respectively (make sure the cable wires are also impedance matched) + +#### RGB Lighting: + +The stock RGB Lighting used on the keyboard is [this](https://www.luckylight.cn/en/products/smd-led/multi-color-smd-led/?series_code=sr187-rgb-series) `SR187RGBC` `Multi-color PLCC SMD LEDs`, to use this kind of LED with qmk I either have to write a custom led matrix code ( I don't know for sure if qmk already have any support this neither currently have the knowledge or time to do so ) or need to make a led matrix with qmk supported led matrix drivers, due to above mentioned reasons I haven't did any RGB lightings in the keyboard except a single ws2812 led + +I'm trying to make a custom PCB for this keyboard (will work for all redragon 60% keyboard (ig) ), I'll update here + +## Bootloader + +Entering the bootloader: + +* **Physical reset button**: Briefly press the button soldered to promicro (In my case i soldered the reset button to the promicro with wires and glued in outside in front of the case) +* **Bootmagic key at [0,0]**: Hold this key down when plugging the keyboard in. Just the single key +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. Also in `layer #3` keys `DB_TOGG` `QK_RBT` `QK_BOOT` `QK_MAKE` are present at the top right corner for debug mode, keyboard reboot, bootloader mode and qmk make (`qmk flash` if shift is held ) in the respective order to make the flasing easier. +`QK_MAKE` will type `qmk compile -kb handwired/rd_61_qmk -km default` in the terminal and `qmk flash` will type `qmk flash -kb handwired/rd_61_qmk -km default` + diff --git a/keyboards/handwired/rd_61_qmk/rules.mk b/keyboards/handwired/rd_61_qmk/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/rd_61_qmk/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/reclined/keymaps/pdl/config.h b/keyboards/handwired/reclined/keymaps/pdl/config.h deleted file mode 100644 index 3a89a0a4d2d4..000000000000 --- a/keyboards/handwired/reclined/keymaps/pdl/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define TAPPING_TERM 200 diff --git a/keyboards/handwired/reclined/keymaps/pdl/keymap.c b/keyboards/handwired/reclined/keymaps/pdl/keymap.c deleted file mode 100644 index bb6976de9bb8..000000000000 --- a/keyboards/handwired/reclined/keymaps/pdl/keymap.c +++ /dev/null @@ -1,69 +0,0 @@ -/* -This is the keymap for the reclined keyboard - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2017 Art Ortenburger -Copyright 2018 Daniel Perrett - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "pdl.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( - KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, - MY_SESC, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO, - MY_CBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_SQUO, - KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT - ), - [_PROXIM] = LAYOUT_wrapper( - MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC, - KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL, - MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_SENT, - KC_LCTL, KC_LGUI, KC_LALT, NUMBRS, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN, MY_AMNU, FUNCTN, MY_CENT - ), - [_NAVIGN] = LAYOUT_wrapper( - _______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_PUNCTN] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_NUMBRS] = LAYOUT_wrapper( - _______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______, - _______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_CODING] = LAYOUT_wrapper( - _______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______, - _______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_FUNCTN] = LAYOUT_wrapper( - _______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD, - _______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR, - _______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/handwired/riblee_f401/config.h b/keyboards/handwired/riblee_f401/config.h index 09a304e1c735..3e384e5b5b36 100644 --- a/keyboards/handwired/riblee_f401/config.h +++ b/keyboards/handwired/riblee_f401/config.h @@ -16,6 +16,7 @@ #pragma once -#define MOUSEKEY_INTERVAL 32 +#define BACKLIGHT_PWM_DRIVER PWMD5 +#define BACKLIGHT_PWM_CHANNEL 1 -#define TAPPING_TERM 175 \ No newline at end of file +#define MOUSEKEY_INTERVAL 32 diff --git a/keyboards/handwired/riblee_f401/halconf.h b/keyboards/handwired/riblee_f401/halconf.h index 3c20471df1a0..b537d56c2687 100644 --- a/keyboards/handwired/riblee_f401/halconf.h +++ b/keyboards/handwired/riblee_f401/halconf.h @@ -23,5 +23,6 @@ #define SERIAL_USB_BUFFERS_SIZE 256 -#include_next +#define HAL_USE_PWM TRUE +#include_next diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json index 7b9b320b98be..933973d5f39a 100644 --- a/keyboards/handwired/riblee_f401/info.json +++ b/keyboards/handwired/riblee_f401/info.json @@ -8,13 +8,15 @@ "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"] }, "diode_direction": "COL2ROW", "backlight": { - "driver": "software", "pin": "A0", "levels": 5 }, diff --git a/keyboards/handwired/riblee_f401/mcuconf.h b/keyboards/handwired/riblee_f401/mcuconf.h new file mode 100644 index 000000000000..674f5e362fa4 --- /dev/null +++ b/keyboards/handwired/riblee_f401/mcuconf.h @@ -0,0 +1,6 @@ +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/handwired/riblee_f411/config.h b/keyboards/handwired/riblee_f411/config.h index 425b35f266ad..c39cbc87f5e9 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 d13dfb229190..1c957e994043 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/riblee_split/config.h b/keyboards/handwired/riblee_split/config.h new file mode 100644 index 000000000000..c3b0720ba5df --- /dev/null +++ b/keyboards/handwired/riblee_split/config.h @@ -0,0 +1,11 @@ +// Copyright 2023 Daniel Reibl (@riblee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// If the pin is high, then the controller assumes it is the left hand, and if it’s low, it’s assumed to be the right side. +#define SPLIT_HAND_PIN C15 + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN B6 +#define SERIAL_USART_RX_PIN B7 diff --git a/keyboards/handwired/riblee_split/halconf.h b/keyboards/handwired/riblee_split/halconf.h new file mode 100644 index 000000000000..1d5c3fd700ff --- /dev/null +++ b/keyboards/handwired/riblee_split/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Daniel Reibl (@riblee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#include_next diff --git a/keyboards/handwired/riblee_split/info.json b/keyboards/handwired/riblee_split/info.json new file mode 100644 index 000000000000..49b5ca3a54f2 --- /dev/null +++ b/keyboards/handwired/riblee_split/info.json @@ -0,0 +1,108 @@ +{ + "manufacturer": "Riblee", + "keyboard_name": "Split", + "maintainer": "riblee", + "bootloader": "stm32-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B10", "B1", "B0", "A7", "A6", "A5"], + "rows": ["A4", "A3", "A2", "A1", "A0"] + }, + "development_board": "blackpill_f411", + "url": "", + "usb": { + "device_version": "1.0.0", + "vid": "0xFEED", + "pid": "0x2B2B" + }, + "split": { + "enabled": true, + "transport": { + "sync_matrix_state": true + } + }, + "community_layouts": ["ortho_5x12"], + "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} + ] + } + } +} diff --git a/keyboards/handwired/riblee_split/keymaps/default/keymap.c b/keyboards/handwired/riblee_split/keymaps/default/keymap.c new file mode 100644 index 000000000000..f954599c90ee --- /dev/null +++ b/keyboards/handwired/riblee_split/keymaps/default/keymap.c @@ -0,0 +1,155 @@ +// Copyright 2023 Daniel Reibl (@riblee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _ADJUST +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + LOWER, + RAISE, + ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Colemak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_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, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Dvorak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_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, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , + ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_ortho_5x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + BL_STEP, 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 | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_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, + _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/handwired/riblee_split/mcuconf.h b/keyboards/handwired/riblee_split/mcuconf.h new file mode 100644 index 000000000000..4ea061c7bf36 --- /dev/null +++ b/keyboards/handwired/riblee_split/mcuconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 Daniel Reibl (@riblee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include_next + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/handwired/riblee_split/readme.md b/keyboards/handwired/riblee_split/readme.md new file mode 100644 index 000000000000..b0acf5b3ba6f --- /dev/null +++ b/keyboards/handwired/riblee_split/readme.md @@ -0,0 +1,24 @@ +# Handwired Split + +This is a compact (12x5) ortholinear split keyboard. + +* Keyboard Maintainer: [Daniel Reibl](https://github.com/riblee) +* Hardware Supported: STM32F411 BlackPill + +Make example for this keyboard (after setting up your build environment): + + make handwired/riblee_split:default + +Flashing example for this keyboard: + + make handwired/riblee_split: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/riblee_split/rules.mk b/keyboards/handwired/riblee_split/rules.mk new file mode 100644 index 000000000000..c6e298832137 --- /dev/null +++ b/keyboards/handwired/riblee_split/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = usart diff --git a/keyboards/handwired/scottokeebs/scotto108/info.json b/keyboards/handwired/scottokeebs/scotto108/info.json new file mode 100644 index 000000000000..0781bb4cae34 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/info.json @@ -0,0 +1,138 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto108", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP29", "GP28", "GP27", "GP26", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x1022", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "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, "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.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0}, + {"matrix": [0, 16], "x": 16.5, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, + {"matrix": [0, 18], "x": 19, "y": 0}, + {"matrix": [0, 19], "x": 20, "y": 0}, + {"matrix": [0, 20], "x": 21, "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.5, "y": 1.5}, + {"matrix": [1, 15], "x": 15.5, "y": 1.5}, + {"matrix": [1, 16], "x": 16.5, "y": 1.5}, + {"matrix": [1, 17], "x": 18, "y": 1.5}, + {"matrix": [1, 18], "x": 19, "y": 1.5}, + {"matrix": [1, 19], "x": 20, "y": 1.5}, + {"matrix": [1, 20], "x": 21, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"matrix": [2, 1], "x": 1, "y": 2.5}, + {"matrix": [2, 2], "x": 2, "y": 2.5}, + {"matrix": [2, 3], "x": 3, "y": 2.5}, + {"matrix": [2, 4], "x": 4, "y": 2.5}, + {"matrix": [2, 5], "x": 5, "y": 2.5}, + {"matrix": [2, 6], "x": 6, "y": 2.5}, + {"matrix": [2, 7], "x": 7, "y": 2.5}, + {"matrix": [2, 8], "x": 8, "y": 2.5}, + {"matrix": [2, 9], "x": 9, "y": 2.5}, + {"matrix": [2, 10], "x": 10, "y": 2.5}, + {"matrix": [2, 11], "x": 11, "y": 2.5}, + {"matrix": [2, 12], "x": 12, "y": 2.5}, + {"matrix": [2, 13], "x": 13, "y": 2.5}, + {"matrix": [2, 14], "x": 14.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15.5, "y": 2.5}, + {"matrix": [2, 16], "x": 16.5, "y": 2.5}, + {"matrix": [2, 17], "x": 18, "y": 2.5}, + {"matrix": [2, 18], "x": 19, "y": 2.5}, + {"matrix": [2, 19], "x": 20, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5}, + {"matrix": [3, 1], "x": 1, "y": 3.5}, + {"matrix": [3, 2], "x": 2, "y": 3.5}, + {"matrix": [3, 3], "x": 3, "y": 3.5}, + {"matrix": [3, 4], "x": 4, "y": 3.5}, + {"matrix": [3, 5], "x": 5, "y": 3.5}, + {"matrix": [3, 6], "x": 6, "y": 3.5}, + {"matrix": [3, 7], "x": 7, "y": 3.5}, + {"matrix": [3, 8], "x": 8, "y": 3.5}, + {"matrix": [3, 9], "x": 9, "y": 3.5}, + {"matrix": [3, 10], "x": 10, "y": 3.5}, + {"matrix": [3, 11], "x": 11, "y": 3.5}, + {"matrix": [3, 13], "x": 12, "y": 3.5, "w": 2}, + {"matrix": [3, 17], "x": 18, "y": 3.5}, + {"matrix": [3, 18], "x": 19, "y": 3.5}, + {"matrix": [3, 19], "x": 20, "y": 3.5}, + {"matrix": [3, 20], "x": 21, "y": 2.5, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5}, + {"matrix": [4, 1], "x": 1, "y": 4.5}, + {"matrix": [4, 2], "x": 2, "y": 4.5}, + {"matrix": [4, 3], "x": 3, "y": 4.5}, + {"matrix": [4, 4], "x": 4, "y": 4.5}, + {"matrix": [4, 5], "x": 5, "y": 4.5}, + {"matrix": [4, 6], "x": 6, "y": 4.5}, + {"matrix": [4, 7], "x": 7, "y": 4.5}, + {"matrix": [4, 8], "x": 8, "y": 4.5}, + {"matrix": [4, 9], "x": 9, "y": 4.5}, + {"matrix": [4, 10], "x": 10, "y": 4.5}, + {"matrix": [4, 12], "x": 11, "y": 4.5, "w": 3}, + {"matrix": [4, 15], "x": 15.5, "y": 4.5}, + {"matrix": [4, 17], "x": 18, "y": 4.5}, + {"matrix": [4, 18], "x": 19, "y": 4.5}, + {"matrix": [4, 19], "x": 20, "y": 4.5}, + {"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, 6], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5.5}, + {"matrix": [5, 11], "x": 11, "y": 5.5}, + {"matrix": [5, 12], "x": 12, "y": 5.5}, + {"matrix": [5, 13], "x": 13, "y": 5.5}, + {"matrix": [5, 14], "x": 14.5, "y": 5.5}, + {"matrix": [5, 15], "x": 15.5, "y": 5.5}, + {"matrix": [5, 16], "x": 16.5, "y": 5.5}, + {"matrix": [5, 17], "x": 18, "y": 5.5, "w": 2}, + {"matrix": [5, 19], "x": 20, "y": 5.5}, + {"matrix": [5, 20], "x": 21, "y": 4.5, "h": 2} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c new file mode 100644 index 000000000000..472318e1f5bb --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* +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 + +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_1, KC_2, KC_3, KC_4, + 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_EQUAL, 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_CAPS, KC_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_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/readme.md b/keyboards/handwired/scottokeebs/scotto108/readme.md new file mode 100644 index 000000000000..1875adbc309d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/readme.md @@ -0,0 +1,29 @@ +# Scotto108 + +![Scotto108](https://i.imgur.com/ss4BEujh.jpg) + +A 108-key full-sized ortholinear keyboard with a 7u spacebar and 4 macro keys above the numpad. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto108:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto108: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/scottokeebs/scotto108/rules.mk b/keyboards/handwired/scottokeebs/scotto108/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto108/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scotto34/info.json b/keyboards/handwired/scottokeebs/scotto34/info.json new file mode 100644 index 000000000000..6fcce38d709f --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/info.json @@ -0,0 +1,74 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto34", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP3", "GP2", "GP7", "GP8", "GP13", "GP16", "GP17", "GP18", "GP19", "GP20"], + "rows": ["GP0", "GP4", "GP9", "GP14"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0013", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_2"], + "layouts": { + "LAYOUT_split_3x5_2": { + "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, 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 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h new file mode 100644 index 000000000000..572a1b24ead9 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* +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 diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c new file mode 100644 index 000000000000..8231ad94fc05 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/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_split_3x5_2( + 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_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_split_3x5_2( + 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 + ), + [2] = LAYOUT_split_3x5_2( + 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 + ), + [3] = LAYOUT_split_3x5_2( + 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 + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/readme.md b/keyboards/handwired/scottokeebs/scotto34/readme.md new file mode 100644 index 000000000000..88e9185ec20c --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/readme.md @@ -0,0 +1,29 @@ +# Scotto34 + +![Scotto34](https://i.imgur.com/BkpEBQjh.jpg) + +A low-profile 34-key split monoblock ortholinear keyboard that uses 18x17mm spaced Choc switches and an exposed controller in the middle. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto34:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto34: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/scotto34/rules.mk b/keyboards/handwired/scottokeebs/scotto34/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/keymap.c deleted file mode 100644 index 293082af6630..000000000000 --- a/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/keymap.c +++ /dev/null @@ -1,281 +0,0 @@ -/* -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_split_3x5_3( - 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), - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_split_3x5_3( - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_split_3x5_3( - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_split_3x5_3( - 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, - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_split_3x5_3( - 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), - KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_split_3x5_3( - 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_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_split_3x5_3( - 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), - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_split_3x5_3( - 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, - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ) -}; - -// OLED -#ifdef OLED_ENABLE -// WPM responsiveness -#define IDLE_FRAMES 5 -#define IDLE_SPEED 20 // Speed at which animation goes into idle -#define TAP_FRAMES 2 -#define TAP_SPEED 40 // WPM to trigger Bongo -#define ANIM_FRAME_DURATION 200 // Frame MS -#define ANIM_SIZE 636 // Number of bytes in array, max 1024 - -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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; - static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - }; - - void animation_phase(void) { - 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)], ANIM_SIZE); - } - - if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { - oled_write_raw_P(prep[0], ANIM_SIZE); - } - - 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)], ANIM_SIZE); - } - } - if (get_current_wpm() != 000) { - oled_on(); // Enables OLED on any alpha keypress - - if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -// Draw to OLED -bool oled_task_user(void) { - // Render Bongo Cat - render_animation(); - - // WPM text - oled_set_cursor(0, 0); - sprintf(wpm_str, "%03d", get_current_wpm()); // %03d defines digits to display - oled_write(wpm_str, false); - - // Layer text - oled_set_cursor(0, 1); - switch (get_highest_layer(layer_state)) { - case _MAC_DEFAULT : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("MAIN"), false); - break; - case _MAC_CODE : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("CODE"), false); - break; - case _MAC_NUM : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("NUM"), false); - break; - case _MAC_FUNC : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("FUNC"), false); - break; - case _WIN_DEFAULT : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("MAIN"), false); - break; - case _WIN_CODE : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("CODE"), false); - break; - case _WIN_NUM : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("NUM"), false); - break; - case _WIN_FUNC : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 2); - oled_write_P(PSTR("FUNC"), false); - break; - } - - // Caps lock text - led_t led_state = host_keyboard_led_state(); - oled_set_cursor(0, 3); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(""), false); - - return false; -} -#endif - diff --git a/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/rules.mk deleted file mode 100644 index 6e339da6c697..000000000000 --- a/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -OLED_ENABLE = yes -WPM_ENABLE = yes -LTO_ENABLE = yes -TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/config.h deleted file mode 100644 index 1a6512052c1d..000000000000 --- a/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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/scotto40/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/keymap.c deleted file mode 100644 index ba5f7bc7a8ca..000000000000 --- a/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/keymap.c +++ /dev/null @@ -1,114 +0,0 @@ -/* -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_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; - } -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_ortho_3x10_7( - 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, - KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_ortho_3x10_7( - 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_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_ortho_3x10_7( - 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), - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_ortho_3x10_7( - 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, - KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ) -}; diff --git a/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/handwired/scottokeebs/scotto40/keymaps/scotto/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scotto61/info.json b/keyboards/handwired/scottokeebs/scotto61/info.json new file mode 100644 index 000000000000..8614ec81ebec --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto61/info.json @@ -0,0 +1,94 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto61", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": false + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP22", "GP20", "GP19", "GP18", "GP17", "GP16"], + "rows": ["GP1", "GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x1021", + "vid": "0x534B" + }, + "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": [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}, + {"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}, + {"matrix": [2, 11], "x": 11, "y": 2}, + {"matrix": [2, 13], "x": 12, "y": 2, "w": 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": [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}, + {"matrix": [3, 12], "x": 11, "y": 3, "w": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c new file mode 100644 index 000000000000..e12bf9b64447 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* +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 + +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_EQUAL, 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_COMMA, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto61/readme.md b/keyboards/handwired/scottokeebs/scotto61/readme.md new file mode 100644 index 000000000000..608bbfd33d87 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto61/readme.md @@ -0,0 +1,29 @@ +# Scotto61 + +![Scotto61](https://i.imgur.com/zGH0GPXh.jpg) + +A 61-key ortholinear keyboard with a 7u spacebar. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto61:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto61: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/scottokeebs/scotto61/rules.mk b/keyboards/handwired/scottokeebs/scotto61/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto61/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottoalp/info.json b/keyboards/handwired/scottokeebs/scottoalp/info.json index d6262e11e64b..7a4210bb403a 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/info.json +++ b/keyboards/handwired/scottokeebs/scottoalp/info.json @@ -65,11 +65,11 @@ { "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 } + { "matrix": [3, 1], "x": 1.5, "y": 3 }, + { "matrix": [3, 2], "x": 2.5, "y": 3 }, + { "matrix": [3, 4], "x": 3.5, "y": 3, "w": 3 }, + { "matrix": [3, 6], "x": 6.5, "y": 3 }, + { "matrix": [3, 7], "x": 7.5, "y": 3 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h deleted file mode 100644 index 1a6512052c1d..000000000000 --- a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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/scottoalp/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/keymap.c deleted file mode 100644 index dfe688267e3f..000000000000 --- a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/keymap.c +++ /dev/null @@ -1,174 +0,0 @@ -/* -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 deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottocmd/info.json b/keyboards/handwired/scottokeebs/scottocmd/info.json index d945b70ce9cc..a26b95c1db4a 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/info.json +++ b/keyboards/handwired/scottokeebs/scottocmd/info.json @@ -35,54 +35,54 @@ "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}, + {"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}, // 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}, + {"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}, // 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}, + {"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}, // 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}, + {"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, 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}, // 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} + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.75}, + {"matrix": [4, 5], "x": 3.25, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 9.5, "y": 4}, + {"matrix": [4, 10], "x": 10.5, "y": 4} ] } } diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h deleted file mode 100644 index 1a6512052c1d..000000000000 --- a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 deleted file mode 100644 index c196c3b1e908..000000000000 --- a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/keymap.c +++ /dev/null @@ -1,511 +0,0 @@ -/* -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 deleted file mode 100644 index bcee933e75eb..000000000000 --- a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -WPM_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoergo/info.json b/keyboards/handwired/scottokeebs/scottoergo/info.json new file mode 100644 index 000000000000..4f6d955271a8 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/info.json @@ -0,0 +1,76 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoErgo", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ "GP0", "GP1", "GP2", "GP3", "GP4", "GP22", "GP21", "GP20", "GP19", "GP18"], + "rows": ["GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0016", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 7, "y": 0.5 }, + { "matrix": [0, 6], "x": 8, "y": 0.25 }, + { "matrix": [0, 7], "x": 9, "y": 0 }, + { "matrix": [0, 8], "x": 10, "y": 0.25 }, + { "matrix": [0, 9], "x": 11, "y": 0.5 }, + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 7, "y": 1.5 }, + { "matrix": [1, 6], "x": 8, "y": 1.25 }, + { "matrix": [1, 7], "x": 9, "y": 1 }, + { "matrix": [1, 8], "x": 10, "y": 1.25 }, + { "matrix": [1, 9], "x": 11, "y": 1.5 }, + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 7, "y": 2.5 }, + { "matrix": [2, 6], "x": 8, "y": 2.25 }, + { "matrix": [2, 7], "x": 9, "y": 2 }, + { "matrix": [2, 8], "x": 10, "y": 2.25 }, + { "matrix": [2, 9], "x": 11, "y": 2.5 }, + + // Row 4 + { "matrix": [3, 2], "x": 2.5, "y": 3.25 }, + { "matrix": [3, 3], "x": 3.5, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.5, "y": 3.75 }, + { "matrix": [3, 5], "x": 6.5, "y": 3.75 }, + { "matrix": [3, 6], "x": 7.5, "y": 3.5 }, + { "matrix": [3, 7], "x": 8.5, "y": 3.25 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scotto36/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/jscotto/scotto36/keymaps/default/config.h rename to keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c new file mode 100644 index 000000000000..451f48a96870 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + 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), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/readme.md b/keyboards/handwired/scottokeebs/scottoergo/readme.md new file mode 100644 index 000000000000..8bbf388304ad --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/readme.md @@ -0,0 +1,27 @@ +# ScottoErgo + +![ScottoErgo](https://i.imgur.com/FtdSJRBh.jpg) + +A 36-key column staggered ortholinear ergonomic keyboard with an exposed controller, aviator connector for USB, 10° of tilt, and 20° of angle. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottoergo:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoergo: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/scottoergo/rules.mk b/keyboards/handwired/scottokeebs/scottoergo/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottofly/info.json b/keyboards/handwired/scottokeebs/scottofly/info.json new file mode 100644 index 000000000000..5255a5baf49f --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoFly", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 3, 4, 5, 6, 7, 8, 9, A3, A2, A1 + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"], + + // 15, 14, 16, 10 + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0009", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "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, 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 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scotto40/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/jscotto/scotto40/keymaps/default/config.h rename to keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c new file mode 100644 index 000000000000..2633845d509e --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/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_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_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), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottofly/readme.md b/keyboards/handwired/scottokeebs/scottofly/readme.md new file mode 100644 index 000000000000..ae51e0ef75bb --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/readme.md @@ -0,0 +1,27 @@ +# ScottoFly + +![ScottoFly](https://i.imgur.com/TXuNxt7h.jpg) + +A 36-key split monoblock ergonomic column-staggered ortholinear keyboard with 20° of angle on each half. 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/scottokeebs/scottofly:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottofly: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/scottofly/rules.mk b/keyboards/handwired/scottokeebs/scottofly/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottofrog/info.json b/keyboards/handwired/scottokeebs/scottofrog/info.json index 202626b70fff..147f2d8aa77d 100644 --- a/keyboards/handwired/scottokeebs/scottofrog/info.json +++ b/keyboards/handwired/scottokeebs/scottofrog/info.json @@ -43,11 +43,11 @@ { "matrix": [2, 3], "x": 3, "y": 2 }, { "matrix": [2, 4], "x": 4, "y": 2 }, { "matrix": [2, 5], "x": 5, "y": 2 }, - { "matrix": [3, 0], "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1, "y": 3 }, - { "matrix": [3, 3], "x": 3, "y": 3 }, - { "matrix": [3, 5], "x": 5, "y": 3 }, - { "matrix": [3, 6], "x": 6, "y": 3 } + { "matrix": [3, 0], "x": 0, "y": 2, "h": 2 }, + { "matrix": [3, 1], "x": 1, "y": 3, "w": 1.5 }, + { "matrix": [3, 3], "x": 2.5, "y": 3, "w": 2 }, + { "matrix": [3, 5], "x": 4.5, "y": 3, "w": 1.5 }, + { "matrix": [3, 6], "x": 6, "y": 2, "h": 2 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottogame/info.json b/keyboards/handwired/scottokeebs/scottogame/info.json index 5c300b866e44..912cfdfaaa2c 100644 --- a/keyboards/handwired/scottokeebs/scottogame/info.json +++ b/keyboards/handwired/scottokeebs/scottogame/info.json @@ -38,7 +38,7 @@ { "matrix": [0, 2], "x": 2, "y": 0 }, { "matrix": [0, 3], "x": 3, "y": 0 }, { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 6], "x": 5.125, "y": 0, "w": 2.75 }, // Row 2 { "matrix": [1, 0], "x": 0, "y": 1 }, @@ -79,8 +79,8 @@ // Row 5 { "matrix": [4, 1], "x": 1, "y": 4 }, { "matrix": [4, 2], "x": 2, "y": 4 }, - { "matrix": [4, 3], "x": 3, "y": 4 }, - { "matrix": [4, 6], "x": 6, "y": 4 }, + { "matrix": [4, 3], "x": 3, "y": 4, "w": 2 }, + { "matrix": [4, 6], "x": 5, "y": 4, "w": 2 }, { "matrix": [4, 7], "x": 7, "y": 4 }, { "matrix": [4, 8], "x": 8, "y": 4 } ] diff --git a/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/config.h deleted file mode 100644 index 1a6512052c1d..000000000000 --- a/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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/scottogame/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/keymap.c deleted file mode 100644 index 09fdf5dd9ab4..000000000000 --- a/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/keymap.c +++ /dev/null @@ -1,289 +0,0 @@ -/* -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 - -// 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_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_SPOTLIGHT_EMOJI), - 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), - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_SPOTLIGHT_EMOJI), - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_SPOTLIGHT_EMOJI), - 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_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_SPOTLIGHT_EMOJI), - 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, - KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_WINDOWS_EMOJI), - 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), - KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_WINDOWS_EMOJI), - 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_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_WINDOWS_EMOJI), - 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), - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_ortho_6_3x10_6( - KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_ESC_WINDOWS_EMOJI), - 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, - KC_LALT, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_ESC_WINDOWS_EMOJI) - ) -}; - -#ifdef OLED_ENABLE -// WPM responsiveness -#define IDLE_FRAMES 5 -#define IDLE_SPEED 20 // Speed at which animation goes into idle -#define TAP_FRAMES 2 -#define TAP_SPEED 40 // WPM to trigger Bongo -#define ANIM_FRAME_DURATION 200 // Frame MS -#define ANIM_SIZE 636 // Number of bytes in array, max 1024 - -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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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}}; - static const char PROGMEM prep[][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 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][ANIM_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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - }; - - void animation_phase(void) { - 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)], ANIM_SIZE); - } - - if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { - oled_write_raw_P(prep[0], ANIM_SIZE); - } - - 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)], ANIM_SIZE); - } - } - if (get_current_wpm() != 000) { - oled_on(); // Enables OLED on any alpha keypress - - if (timer_elapsed32(anim_timer) > ANIM_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) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animation_phase(); - } - } - } -} - -// Draw to OLED -bool oled_task_user() { - oled_set_cursor(0, 0); - oled_write(" ScottoGame ", false); - - // Render Bongo Cat - oled_set_cursor(86, 0); - render_animation(); - - // WPM text - oled_set_cursor(0,5); - oled_write(get_u8_str(get_current_wpm(), '0'), false); - - // Layer text - oled_set_cursor(0, 6); - switch (get_highest_layer(layer_state)) { - case _MAC_DEFAULT : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("MAIN"), false); - break; - case _MAC_CODE : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("CODE"), false); - break; - case _MAC_NUM : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("NUM"), false); - break; - case _MAC_FUNC : - oled_write_P(PSTR("MAC"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("FUNC"), false); - break; - case _WIN_DEFAULT : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("MAIN"), false); - break; - case _WIN_CODE : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("CODE"), false); - break; - case _WIN_NUM : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("NUM"), false); - break; - case _WIN_FUNC : - oled_write_P(PSTR("WIN"), false); - oled_set_cursor(0, 7); - oled_write_P(PSTR("FUNC"), false); - break; - } - - // Caps lock text - led_t led_state = host_keyboard_led_state(); - oled_set_cursor(0, 4); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - - return false; -} -#endif diff --git a/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/rules.mk deleted file mode 100644 index bcee933e75eb..000000000000 --- a/keyboards/handwired/scottokeebs/scottogame/keymaps/scotto/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -WPM_ENABLE = yes -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoinvader/info.json b/keyboards/handwired/scottokeebs/scottoinvader/info.json new file mode 100644 index 000000000000..2a9054cd4f63 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoInvader", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 3, 4, 5, 6, 7, 8, 9, A3, A2, A1 + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"] + + // 15, 14, 16, 10 + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0010", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "matrix": [0, 6], "x": 6, "y": 0.25 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0.25 }, + { "matrix": [0, 9], "x": 9, "y": 0.5 }, + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "matrix": [1, 7], "x": 7, "y": 1 }, + { "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6, "y": 2.25 }, + { "matrix": [2, 7], "x": 7, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2.25 }, + { "matrix": [2, 9], "x": 9, "y": 2.5 }, + + // Row 4 + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 3], "x": 3, "y": 3.25 }, + { "matrix": [3, 4], "x": 4, "y": 3.5 }, + { "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "matrix": [3, 6], "x": 6, "y": 3.25 }, + { "matrix": [3, 7], "x": 7, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scottocmd/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/jscotto/scottocmd/keymaps/default/config.h rename to keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c new file mode 100644 index 000000000000..2633845d509e --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/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_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_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), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + 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, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/readme.md b/keyboards/handwired/scottokeebs/scottoinvader/readme.md new file mode 100644 index 000000000000..c04920498a86 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/readme.md @@ -0,0 +1,27 @@ +# ScottoInvader + +![ScottoInvader](https://i.imgur.com/rXssnx7h.jpeg) + +A 36-key column-staggered ortholinear keyboard. 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/scottokeebs/scottoinvader:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoinvader: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/scottoinvader/rules.mk b/keyboards/handwired/scottokeebs/scottoinvader/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottolong/info.json b/keyboards/handwired/scottokeebs/scottolong/info.json new file mode 100644 index 000000000000..156772d21396 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/info.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoLong", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], + "rows": ["GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0011", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_ortho_3x10_3": { + "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, 0], "x": 0, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 9], "x": 9, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scottostarter/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/jscotto/scottostarter/keymaps/default/config.h rename to keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c new file mode 100644 index 000000000000..e63da854f006 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/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_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_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, LT(1, KC_SPC), LT(2, KC_TAB) + ), + [1] = LAYOUT_ortho_3x10_3( + 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 + ), + [2] = LAYOUT_ortho_3x10_3( + 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 + ), + [3] = LAYOUT_ortho_3x10_3( + 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 + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottolong/readme.md b/keyboards/handwired/scottokeebs/scottolong/readme.md new file mode 100644 index 000000000000..bdea4ee350eb --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/readme.md @@ -0,0 +1,27 @@ +# ScottoLong + +![ScottoLong](https://i.imgur.com/AEQWXLlh.jpeg) + +A 33-key ortholinear keyboard with a 7u spacebar and two 1.5u function keys. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottolong:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottolong: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/scottolong/rules.mk b/keyboards/handwired/scottokeebs/scottolong/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/info.json b/keyboards/handwired/scottokeebs/scottomacrodeck/info.json new file mode 100644 index 000000000000..f238564c7fb3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoMacrodeck", + "maintainer": "joe-scotto", + "development_board": "promicro", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build" : { + "lto": true, + }, + "matrix_pins": { + "direct": [ + ["D3", "D2", "D1", null], + ["D0", "D4", "C6", "D7"], + ["E6", "B4", "B5", "F4"] + ] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0015", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "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 }, + + // 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 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c new file mode 100644 index 000000000000..c8becfca5809 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_2, KC_3, + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md new file mode 100644 index 000000000000..4fc82f42c8bd --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md @@ -0,0 +1,29 @@ +# ScottoMacrodeck + +![ScottoMacrodeck](https://imgur.com/KVJuIVNh.jpeg) + +An 11-key macropad designed specifically for someone who games with a single thumb, however, it can be used as a traditional macropad. 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) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottomacrodeck:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottomacrodeck: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/scottomacrodeck/rules.mk b/keyboards/handwired/scottokeebs/scottomacrodeck/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/scottokeebs/scottomouse/info.json b/keyboards/handwired/scottokeebs/scottomouse/info.json new file mode 100644 index 000000000000..36f92f48e268 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/info.json @@ -0,0 +1,39 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoMouse", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + ] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0018", + "vid": "0xFEED" + }, + "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} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c new file mode 100644 index 000000000000..6cc4d9014446 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +/* +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MS_BTN1, KC_MS_BTN2, KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/readme.md b/keyboards/handwired/scottokeebs/scottomouse/readme.md new file mode 100644 index 000000000000..4102f633107d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/readme.md @@ -0,0 +1,29 @@ +# ScottoMouse + +![ScottoMouse](https://i.imgur.com/yjnhyXWh.jpeg) + +A 6-key macropad that utilizes [QMK mouse keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) to emulate a mouse, case files available [here](https://github.com/joe-scotto/scottokeebs.git). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [Ali](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottomouse:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottomouse: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/scottomouse/rules.mk b/keyboards/handwired/scottokeebs/scottomouse/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/scottokeebs/scottonum/info.json b/keyboards/handwired/scottokeebs/scottonum/info.json index 2907b47af86a..f71f75d62b5a 100644 --- a/keyboards/handwired/scottokeebs/scottonum/info.json +++ b/keyboards/handwired/scottokeebs/scottonum/info.json @@ -40,16 +40,16 @@ { "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, 3], "x": 3, "y": 1, "h": 2 }, { "matrix": [2, 0], "x": 0, "y": 2 }, { "matrix": [2, 1], "x": 1, "y": 2 }, { "matrix": [2, 2], "x": 2, "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": 3 } + { "matrix": [3, 3], "x": 3, "y": 3, "h": 2 }, + { "matrix": [4, 0], "x": 0, "y": 4, "w": 2 }, + { "matrix": [4, 1], "x": 2, "y": 4 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottoslant/info.json b/keyboards/handwired/scottokeebs/scottoslant/info.json new file mode 100644 index 000000000000..ebaa1b530c2d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/info.json @@ -0,0 +1,75 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoSlant", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5"], + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "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, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 6], "x": 6, "y": 3 }, + { "matrix": [3, 7], "x": 7, "y": 3 }, + { "matrix": [3, 8], "x": 8, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/scottokeebs/scotto36/keymaps/scotto/config.h rename to keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c new file mode 100644 index 000000000000..cd70c3ddc253 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/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( + 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_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT( + 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, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + 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, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + 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, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottoslant/readme.md b/keyboards/handwired/scottokeebs/scottoslant/readme.md new file mode 100644 index 000000000000..6bb237b6bf71 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/readme.md @@ -0,0 +1,28 @@ +# ScottoSlant + +![ScottoSlant](https://i.imgur.com/p10NGimh.jpg) + +A 37-key handwired 0.25u row-staggered keyboard with a 2u spacebar. 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/scottokeebs/scottoslant:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoslant: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/clickety_split/leeloo/keymaps/default/rules.mk b/keyboards/handwired/scottokeebs/scottoslant/rules.mk similarity index 100% rename from keyboards/clickety_split/leeloo/keymaps/default/rules.mk rename to keyboards/handwired/scottokeebs/scottoslant/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottosplit/info.json b/keyboards/handwired/scottokeebs/scottosplit/info.json index 792084b82cca..66d24db0cd84 100644 --- a/keyboards/handwired/scottokeebs/scottosplit/info.json +++ b/keyboards/handwired/scottokeebs/scottosplit/info.json @@ -14,7 +14,7 @@ }, "matrix_pins": { // 3, 4, 5, 6, 7, 8, 9, A3, A2, A1 - "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"] + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"], // 15, 14, 16, 10 "rows": ["B1", "B3", "B2", "B6"] @@ -30,48 +30,48 @@ "LAYOUT_split_3x5_3": { "layout": [ // Row 1 - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, { "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, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 7, "y": 0.5 }, + { "matrix": [0, 6], "x": 8, "y": 0.25 }, + { "matrix": [0, 7], "x": 9, "y": 0 }, + { "matrix": [0, 8], "x": 10, "y": 0.25 }, + { "matrix": [0, 9], "x": 11, "y": 0.5 }, // Row 2 - { "matrix": [1, 0], "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, { "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, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 7, "y": 1.5 }, + { "matrix": [1, 6], "x": 8, "y": 1.25 }, + { "matrix": [1, 7], "x": 9, "y": 1 }, + { "matrix": [1, 8], "x": 10, "y": 1.25 }, + { "matrix": [1, 9], "x": 11, "y": 1.5 }, // Row 3 - { "matrix": [2, 0], "x": 0, "y": 2 }, - { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, { "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, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 7, "y": 2.5 }, + { "matrix": [2, 6], "x": 8, "y": 2.25 }, + { "matrix": [2, 7], "x": 9, "y": 2 }, + { "matrix": [2, 8], "x": 10, "y": 2.25 }, + { "matrix": [2, 9], "x": 11, "y": 2.5 }, // Row 4 - { "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, 2], "x": 2.5, "y": 3.75 }, + { "matrix": [3, 3], "x": 3.5, "y": 4 }, + { "matrix": [3, 4], "x": 4.5, "y": 4.25 }, + { "matrix": [3, 5], "x": 6.5, "y": 4.25 }, + { "matrix": [3, 6], "x": 7.5, "y": 4 }, + { "matrix": [3, 7], "x": 8.5, "y": 3.75 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/config.h deleted file mode 100644 index 1a6512052c1d..000000000000 --- a/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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/scottosplit/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/keymap.c deleted file mode 100644 index f4d0a0c7bba3..000000000000 --- a/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/keymap.c +++ /dev/null @@ -1,174 +0,0 @@ -/* -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_split_3x5_3( - 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), TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) - ), - [1] = LAYOUT_split_3x5_3( - 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, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) - ), - [2] = LAYOUT_split_3x5_3( - 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, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) - ), - [3] = LAYOUT_split_3x5_3( - 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, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) - ), - [4] = LAYOUT_split_3x5_3( - 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), TD(TD_LALT_ESC_WINDOWS_EMOJI) - ), - [5] = LAYOUT_split_3x5_3( - 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, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) - ), - [6] = LAYOUT_split_3x5_3( - 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, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) - ), - [7] = LAYOUT_split_3x5_3( - 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, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) - ) -}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/handwired/scottokeebs/scottosplit/keymaps/scotto/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottostarter/info.json b/keyboards/handwired/scottokeebs/scottostarter/info.json index ade3db28a0ee..5e6a70114bb5 100644 --- a/keyboards/handwired/scottokeebs/scottostarter/info.json +++ b/keyboards/handwired/scottokeebs/scottostarter/info.json @@ -38,7 +38,7 @@ {"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, 10], "x": 10, "y": 0, "w": 1.5}, // Row 2 {"matrix": [1, 0], "x": 0, "y": 1}, @@ -51,7 +51,7 @@ {"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, 10], "x": 10, "y": 1, "w": 1.5}, // Row 3 {"matrix": [2, 0], "x": 0, "y": 2}, @@ -64,7 +64,7 @@ {"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}, + {"matrix": [2, 10], "x": 10, "y": 2, "w": 1.5}, // Row 4 {"matrix": [3, 0], "x": 0, "y": 3}, @@ -77,17 +77,17 @@ {"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}, + {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.5}, // Row 5 - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 7], "x": 7, "y": 4}, - {"matrix": [4, 8], "x": 8, "y": 4}, - {"matrix": [4, 9], "x": 9, "y": 4}, - {"matrix": [4, 10], "x": 10, "y": 4} + {"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, 4], "x": 3.5, "y": 4, "w": 3}, + {"matrix": [4, 7], "x": 6.5, "y": 4}, + {"matrix": [4, 8], "x": 7.5, "y": 4}, + {"matrix": [4, 9], "x": 8.5, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/handwired/scottokeebs/scottowing/info.json b/keyboards/handwired/scottokeebs/scottowing/info.json new file mode 100644 index 000000000000..91bfaa1f92a1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottowing/info.json @@ -0,0 +1,85 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoWing", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "bootmagic": { + "matrix": [0, 1] + }, + "matrix_pins": { + "cols": [ + "GP14", "GP29", "GP28", "GP27", "GP26", "GP15", "GP7", "GP6", "GP5", "GP4", "GP3", "GP8" + ], + "rows": ["GP9", "GP10", "GP11", "GP12"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x1020", + "vid": "0x534B" + }, + "ws2812": { + "pin": "GP16", + "driver": "vendor" + }, + "rgblight": { + "led_count": 1 + }, + "layouts": { + "LAYOUT_split_3x6_2": { + "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": [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": [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 }, + { "matrix": [2, 11], "x": 11, "y": 2 }, + { "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 } + ] + } + } +} diff --git a/keyboards/scottokeebs/scotto34/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottowing/keymaps/default/config.h similarity index 100% rename from keyboards/scottokeebs/scotto34/keymaps/scotto/config.h rename to keyboards/handwired/scottokeebs/scottowing/keymaps/default/config.h diff --git a/keyboards/handwired/scottokeebs/scottowing/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottowing/keymaps/default/keymap.c new file mode 100644 index 000000000000..84649ec76b73 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottowing/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_2( + 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_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, KC_QUOT, + KC_LSFT, 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_RSFT, + KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_split_3x6_2( + KC_TRNS, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, KC_TRNS, + KC_TRNS, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, 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_split_3x6_2( + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, KC_TRNS, + 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_TRNS, 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_split_3x6_2( + 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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, + KC_TRNS, KC_F11, KC_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 + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottowing/readme.md b/keyboards/handwired/scottokeebs/scottowing/readme.md new file mode 100644 index 000000000000..27097c5acc38 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottowing/readme.md @@ -0,0 +1,29 @@ +# ScottoWing + +![ScottoWing](https://i.imgur.com/VSASAjxh.jpeg) + +A low-profile 34/40-key split monoblock ergonomic column-staggered ortholinear keyboard that uses 18x17mm spaced Choc switches. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Waveshare RP2040-Zero +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make scottokeebs/handwired/scottowing:default + +Flashing example for this keyboard: + + make scottokeebs/handwired/scottowing: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,1) 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/scottowing/rules.mk b/keyboards/handwired/scottokeebs/scottowing/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottowing/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c deleted file mode 100644 index 60327794228c..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2023 DmNosachev - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 LAYOUT_debug( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \ - K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F, \ - K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F, \ - K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ - { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ - { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT_debug( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, 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 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("row: %u, col: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed); -#endif - return true; -} \ No newline at end of file diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk deleted file mode 100644 index 032f2ee316aa..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk +++ /dev/null @@ -1 +0,0 @@ -CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/sejin_eat1010r2/rules.mk b/keyboards/handwired/sejin_eat1010r2/rules.mk index a92b0993283e..8b137891791f 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 7ee210aa8463..31c0cc59f756 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 24cb90487c4a..b99e41bda580 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/slash/info.json b/keyboards/handwired/slash/info.json index 070cbb2c7502..95abaeb9c710 100644 --- a/keyboards/handwired/slash/info.json +++ b/keyboards/handwired/slash/info.json @@ -8,6 +8,9 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "matrix_pins": { "cols": ["D2", "F0", "F1", "F4", "F5", "F6", "F7", "D3"], "rows": ["C7", "D6", "B7", "B6", "B5", "D7", "C6", "D0"] diff --git a/keyboards/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk index c99c2847ceaa..ca7f6f843fb2 100644 --- a/keyboards/handwired/slash/rules.mk +++ b/keyboards/handwired/slash/rules.mk @@ -14,4 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/sono1/keymaps/debug/keymap.c b/keyboards/handwired/sono1/keymaps/debug/keymap.c deleted file mode 100644 index 77f2f52d1e1b..000000000000 --- a/keyboards/handwired/sono1/keymaps/debug/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright 2020 DmNosachev - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 LAYOUT_debug( \ - K00, K01, K02, K03, K04, K05, K06, K07, \ - K10, K11, K12, K13, K14, K15, K16, K17, \ - K20, K21, K22, K23, K24, K25, K26, K27, \ - K30, K31, K32, K33, K34, K35, K36, K37, \ - K40, K41, K42, K43, K44, K45, K46, K47, \ - K50, K51, K52, K53, K54, K55, K56, K57, \ - K60, K61, K62, K63, K64, K65, K66, K67, \ - K70, K71, K72, K73, K74, K75, K76, K77, \ - K80, K81, K82, K83, K84, K85, K86, K87, \ - K90, K91, K92, K93, K94, K95, K96, K97, \ - KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, \ - KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, \ - KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7, \ - KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7, \ - KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07 }, \ - { K10, K11, K12, K13, K14, K15, K16, K17 }, \ - { K20, K21, K22, K23, K24, K25, K26, K27 }, \ - { K30, K31, K32, K33, K34, K35, K36, K37 }, \ - { K40, K41, K42, K43, K44, K45, K46, K47 }, \ - { K50, K51, K52, K53, K54, K55, K56, K57 }, \ - { K60, K61, K62, K63, K64, K65, K66, K67 }, \ - { K70, K71, K72, K73, K74, K75, K76, K77 }, \ - { K80, K81, K82, K83, K84, K85, K86, K87 }, \ - { K90, K91, K92, K93, K94, K95, K96, K97 }, \ - { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 }, \ - { KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7 }, \ - { KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7 }, \ - { KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7 }, \ - { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [0] = LAYOUT_debug( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, 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 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("row: %u, col: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed); -#endif - return true; -} \ No newline at end of file diff --git a/keyboards/handwired/sono1/keymaps/debug/readme.md b/keyboards/handwired/sono1/keymaps/debug/readme.md deleted file mode 100644 index 8342cd4974d7..000000000000 --- a/keyboards/handwired/sono1/keymaps/debug/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for sono1 diff --git a/keyboards/handwired/sono1/stm32f103/rules.mk b/keyboards/handwired/sono1/stm32f103/rules.mk index a92b0993283e..8b137891791f 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 b92456da9811..f5c5ee3be295 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 e1540d99a2c9..ea41cb3ac177 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 020e44f02edb..3d48891e7e74 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 b9956ed7abcb..61aff0e7eab4 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/split_cloud/config.h b/keyboards/handwired/split_cloud/config.h new file mode 100644 index 000000000000..faa2750cafeb --- /dev/null +++ b/keyboards/handwired/split_cloud/config.h @@ -0,0 +1,42 @@ +/* +Copyright 2023 Cloud Chagnon + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 + +/* left/right via compilation flag */ +#define EE_HANDS + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronztize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * 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/handwired/split_cloud/info.json b/keyboards/handwired/split_cloud/info.json new file mode 100644 index 000000000000..6d28728f69a5 --- /dev/null +++ b/keyboards/handwired/split_cloud/info.json @@ -0,0 +1,118 @@ +{ + "keyboard_name": "Split-Cloud", + "manufacturer": "coolsa", + "maintainer": "Cloud Chagnon", + "url": "https://github.com/coolsa/cloud_keyboard", + "usb": { + "vid": "0xCC43", + "pid": "0x0001", + "device_version": "0.0.1", + "force_nkro": true + }, + "diode_direction": "ROW2COL", + "matrix_pins": { + "cols": ["B6", "B2", "B3", "B1", "F7", "F6"], + "rows": ["C6", "D7", "E6", "B4", "B5"] + }, + "bootmagic": { + "enabled": true + }, + "features": { + "extrakey": true, + "nkro": true + }, + "split": { + "enabled": true, + "soft_serial_pin": "D3", + "matrix_pins": { + "right": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F7", "B1", "B3", "B2", "B6"] + } + }, + "bootmagic": { + "matrix": [5, 5] + } + }, + "stenography": { + "enabled": true, + "protocol": "all" + } + "development_board": "promicro", + "community_layouts": ["ortho_5x12"], + "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, 5], "x": 7, "y": 0}, + {"matrix": [5, 4], "x": 8, "y": 0}, + {"matrix": [5, 3], "x": 9, "y": 0}, + {"matrix": [5, 2], "x": 10, "y": 0}, + {"matrix": [5, 1], "x": 11, "y": 0}, + {"matrix": [5, 0], "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, 5], "x": 7, "y": 1}, + {"matrix": [6, 4], "x": 8, "y": 1}, + {"matrix": [6, 3], "x": 9, "y": 1}, + {"matrix": [6, 2], "x": 10, "y": 1}, + {"matrix": [6, 1], "x": 11, "y": 1}, + {"matrix": [6, 0], "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, 5], "x": 7, "y": 2}, + {"matrix": [7, 4], "x": 8, "y": 2}, + {"matrix": [7, 3], "x": 9, "y": 2}, + {"matrix": [7, 2], "x": 10, "y": 2}, + {"matrix": [7, 1], "x": 11, "y": 2}, + {"matrix": [7, 0], "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, 5], "x": 7, "y": 3}, + {"matrix": [8, 4], "x": 8, "y": 3}, + {"matrix": [8, 3], "x": 9, "y": 3}, + {"matrix": [8, 2], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 0], "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, 5], "x": 7, "y": 4}, + {"matrix": [9, 4], "x": 8, "y": 4}, + {"matrix": [9, 3], "x": 9, "y": 4}, + {"matrix": [9, 2], "x": 10, "y": 4}, + {"matrix": [9, 1], "x": 11, "y": 4}, + {"matrix": [9, 0], "x": 12, "y": 4} + ] + } + } +} diff --git a/keyboards/handwired/split_cloud/keymaps/default/config.h b/keyboards/handwired/split_cloud/keymaps/default/config.h new file mode 100644 index 000000000000..7a6ba5e65657 --- /dev/null +++ b/keyboards/handwired/split_cloud/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2023 Cloud Chagnon + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 + +/* The defaults are different for the Tri Layers */ +#define TRI_LAYER_LOWER_LAYER 3 +#define TRI_LAYER_UPPER_LAYER 4 +#define TRI_LAYER_ADJUST_LAYER 6 + diff --git a/keyboards/handwired/split_cloud/keymaps/default/keymap.c b/keyboards/handwired/split_cloud/keymaps/default/keymap.c new file mode 100644 index 000000000000..ad7e64e6ad51 --- /dev/null +++ b/keyboards/handwired/split_cloud/keymaps/default/keymap.c @@ -0,0 +1,225 @@ +/* Copyright 2023 Cloud Chagnon + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off + +enum layer_names { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _PLOVER, + _ADJUST +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + EXT_PLV +}; + +#define ST_BOLT QK_STENO_BOLT +#define ST_GEM QK_STENO_GEMINI + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | GUI | Alt |RCtrl |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL , + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LGUI, KC_LALT, KC_RCTL, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Colemak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | GUI | Alt |RCtrl |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_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, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + KC_LCTL, KC_LGUI, KC_LALT, KC_RCTL, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Dvorak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | GUI | Alt |RCtrl |Lower |Space |Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + [_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, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_RCTL, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_ortho_5x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL , + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL , + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + /* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | FN | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | | E | U | PWR | RES1 | RES2 | + * `-----------------------------------------------------------------------------------' + */ + + [_PLOVER] = LAYOUT_ortho_5x12( + STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC , + STN_FN, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR , + XXXXXXX, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + EXT_PLV, XXXXXXX, XXXXXXX, XXXXXXX, STN_A, STN_O, STN_E, STN_U, XXXXXXX, STN_PWR, STN_RE1, STN_RE2 + ), + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset| Debug| | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | |TXBOLT|GEM RP| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_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, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , + _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ST_BOLT, ST_GEM , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; + +// clang-format on + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + case DVORAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVORAK); + } + return false; + case PLOVER: + if (!record->event.pressed) { + layer_on(_PLOVER); + } + return false; + case EXT_PLV: + if (record->event.pressed) { + layer_off(_PLOVER); + } + return false; + } + return true; +}; diff --git a/keyboards/handwired/split_cloud/keymaps/default/rules.mk b/keyboards/handwired/split_cloud/keymaps/default/rules.mk new file mode 100644 index 000000000000..7c9bf212a6f5 --- /dev/null +++ b/keyboards/handwired/split_cloud/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes diff --git a/keyboards/handwired/split_cloud/readme.md b/keyboards/handwired/split_cloud/readme.md new file mode 100644 index 000000000000..1d2731727508 --- /dev/null +++ b/keyboards/handwired/split_cloud/readme.md @@ -0,0 +1,22 @@ +# Split-Cloud handwired keyboard + +The Split-Cloud is a split ortholinear 5x12 layout, forked from the Preonic and Nyquist keyboard models. The default layout adds extra options for some added game compatibility, two control keys for QEmu, and adds a steno layer based on the Planck example. + +![Split-Cloud](https://i.imgur.com/QoHAFeXh.jpg) + +* Keyboard Maintainer: [Cloud Chagnon](https://github.com/coolsa) +* Hardware Supported: Pro Micro +* Hardware Availability: [Repository](https://github.com/coolsa/split-cloud) + +Make example for this keyboard: + + make handwired/split_cloud:default + +This keyboard uses [Handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default, and must be configured once on each side. The make commands are: + + make handwired/split_cloud:default:avrdude-split-left + make handwired/split_cloud:default:avrdude-split-right + +[QMK Toolbox](http://qmk.fm/toolbox) can also be used to set EEPROM handedness. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand + +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/handwired/split_cloud/rules.mk b/keyboards/handwired/split_cloud/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/splittest/bluepill/rules.mk b/keyboards/handwired/splittest/bluepill/rules.mk index a92b0993283e..8b137891791f 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 deleted file mode 100644 index 49bc3cbddb45..000000000000 --- a/keyboards/handwired/splittest/config.h +++ /dev/null @@ -1,54 +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 - -/* 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 - -/* ws2812 RGB LED */ -#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 -#define RGBLED_NUM 12 -#define RGBLED_SPLIT { 6, 6 } - -/* - * 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/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json index efd82d20c47e..73ffb66e9b49 100644 --- a/keyboards/handwired/splittest/info.json +++ b/keyboards/handwired/splittest/info.json @@ -8,6 +8,22 @@ "pid": "0x1111", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 12, + "split_count": [6, 6], + "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": [ diff --git a/keyboards/handwired/starrykeebs/dude09/info.json b/keyboards/handwired/starrykeebs/dude09/info.json new file mode 100644 index 000000000000..6e91adeb1ea0 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/info.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "StarryKnight", + "keyboard_name": "Dude09", + "maintainer": "StarryKnight", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6"], + "rows": ["D1", "D0", "D4"] + }, + "processor": "atmega32u4", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x534B" + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2} + ] + } + } +} diff --git a/keyboards/handwired/starrykeebs/dude09/keymaps/default/keymap.c b/keyboards/handwired/starrykeebs/dude09/keymaps/default/keymap.c new file mode 100644 index 000000000000..12730d85d809 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/keymaps/default/keymap.c @@ -0,0 +1,17 @@ +// Copyright 2023 Starry Knight (@astarryknight) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_3x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, MO(1) + ), + [1] = LAYOUT_ortho_3x3( + QK_BOOT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/handwired/starrykeebs/dude09/keymaps/via/keymap.c b/keyboards/handwired/starrykeebs/dude09/keymaps/via/keymap.c new file mode 100644 index 000000000000..12730d85d809 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/keymaps/via/keymap.c @@ -0,0 +1,17 @@ +// Copyright 2023 Starry Knight (@astarryknight) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_3x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, MO(1) + ), + [1] = LAYOUT_ortho_3x3( + QK_BOOT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/handwired/starrykeebs/dude09/keymaps/via/rules.mk b/keyboards/handwired/starrykeebs/dude09/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/starrykeebs/dude09/readme.md b/keyboards/handwired/starrykeebs/dude09/readme.md new file mode 100644 index 000000000000..12e484b57c02 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/readme.md @@ -0,0 +1,27 @@ +# Dude09 + +![dude09](https://i.imgur.com/sBR8L7xh.jpg) + +A simple 3x3 macropad based on the VOID9 case. + +* Keyboard Maintainer: [astarryknight](https://github.com/astarryknight) +* Hardware Supported: rp2040 (using the adafruit kb2040), firmware written for ATmega32U4 +* Hardware Availability: Amazon (https://amazon.com) & Digikey (https://https://www.digikey.com/) + +Make example for this keyboard (after setting up your build environment): + + make handwired/starrykeebs/dude09:default + +Flashing example for this keyboard: + + make handwired/starrykeebs/dude09: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/starrykeebs/dude09/rules.mk b/keyboards/handwired/starrykeebs/dude09/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/starrykeebs/dude09/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c index 7b6a4c1e7418..21ba0e5b3d51 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 ffd061fa17e4..a779dcccabd1 100644 --- a/keyboards/handwired/steamvan/rev1/config.h +++ b/keyboards/handwired/steamvan/rev1/config.h @@ -22,21 +22,7 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define WS2812_SPI SPID1 +#define WS2812_SPI_DRIVER SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 -#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 - -#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 b76753f19f47..54164b573880 100644 --- a/keyboards/handwired/steamvan/rev1/info.json +++ b/keyboards/handwired/steamvan/rev1/info.json @@ -17,6 +17,21 @@ "pin": "B8", "breathing": true }, + "rgblight": { + "led_count": 16, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/handwired/swiftrax/beegboy/config.h b/keyboards/handwired/swiftrax/beegboy/config.h deleted file mode 100644 index 092f2ba0e990..000000000000 --- a/keyboards/handwired/swiftrax/beegboy/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/handwired/swiftrax/bumblebee/config.h b/keyboards/handwired/swiftrax/bumblebee/config.h index 4fe6fb4428e7..fa4c9291e74d 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 9a46cb98495e..e2cad64ad8bf 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/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c index 7e7247c80faa..fef24f402fa5 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk index 9c6098640a18..ef72559a0c1f 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk @@ -1,2 +1 @@ AUDIO_ENABLE = yes -HAPTIC_ENABLE += SOLENOID \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c index a48f9981005a..12791a69dd64 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk index 8c797e430955..1e79dbce26ac 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes -#HAPTIC_ENABLE += SOLENOID AUDIO_ENABLE = yes #either solenoid or audio not both can be enabled LTO_ENABLE = yes diff --git a/keyboards/handwired/swiftrax/cowfish/config.h b/keyboards/handwired/swiftrax/cowfish/config.h deleted file mode 100644 index 092f2ba0e990..000000000000 --- a/keyboards/handwired/swiftrax/cowfish/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/handwired/swiftrax/glacier/config.h b/keyboards/handwired/swiftrax/glacier/config.h deleted file mode 100644 index 4bff062d6cea..000000000000 --- a/keyboards/handwired/swiftrax/glacier/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#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 -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/handwired/swiftrax/glacier/info.json b/keyboards/handwired/swiftrax/glacier/info.json index 3aed06628fa6..ddfb4ce1ad14 100644 --- a/keyboards/handwired/swiftrax/glacier/info.json +++ b/keyboards/handwired/swiftrax/glacier/info.json @@ -8,6 +8,20 @@ "pid": "0xE890", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/handwired/swiftrax/joypad/config.h b/keyboards/handwired/swiftrax/joypad/config.h deleted file mode 100644 index 092f2ba0e990..000000000000 --- a/keyboards/handwired/swiftrax/joypad/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/handwired/swiftrax/koalafications/config.h b/keyboards/handwired/swiftrax/koalafications/config.h deleted file mode 100644 index 7435ce54aff3..000000000000 --- a/keyboards/handwired/swiftrax/koalafications/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/koalafications/rules.mk b/keyboards/handwired/swiftrax/koalafications/rules.mk index 51909d1883c8..efd14377bf4f 100644 --- a/keyboards/handwired/swiftrax/koalafications/rules.mk +++ b/keyboards/handwired/swiftrax/koalafications/rules.mk @@ -11,5 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/handwired/swiftrax/nodu/config.h b/keyboards/handwired/swiftrax/nodu/config.h deleted file mode 100644 index 6726795c452a..000000000000 --- a/keyboards/handwired/swiftrax/nodu/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/pandamic/config.h b/keyboards/handwired/swiftrax/pandamic/config.h deleted file mode 100644 index 092f2ba0e990..000000000000 --- a/keyboards/handwired/swiftrax/pandamic/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/handwired/swiftrax/the_galleon/config.h b/keyboards/handwired/swiftrax/the_galleon/config.h deleted file mode 100644 index 7f9b0b12d498..000000000000 --- a/keyboards/handwired/swiftrax/the_galleon/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/handwired/swiftrax/the_galleon/info.json b/keyboards/handwired/swiftrax/the_galleon/info.json index b12fc5c31f48..2e0771e22c65 100644 --- a/keyboards/handwired/swiftrax/the_galleon/info.json +++ b/keyboards/handwired/swiftrax/the_galleon/info.json @@ -13,6 +13,9 @@ "rows": ["B1", "B0", "D2", "B7", "D5", "D3", "D6", "D4", "B4", "D7", "B6", "B5", "C7", "C6"] }, "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 3 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/handwired/swiftrax/the_galleon/rules.mk b/keyboards/handwired/swiftrax/the_galleon/rules.mk index 5587a8dbbc60..dec78ae4080d 100644 --- a/keyboards/handwired/swiftrax/the_galleon/rules.mk +++ b/keyboards/handwired/swiftrax/the_galleon/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Rotary Encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # I2C OLED diff --git a/keyboards/handwired/swiftrax/walter/config.h b/keyboards/handwired/swiftrax/walter/config.h deleted file mode 100644 index 5fdda201e0c4..000000000000 --- a/keyboards/handwired/swiftrax/walter/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2021 Swiftrax - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 24 -#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/handwired/swiftrax/walter/info.json b/keyboards/handwired/swiftrax/walter/info.json index a52a0470e70b..804f88503bc5 100644 --- a/keyboards/handwired/swiftrax/walter/info.json +++ b/keyboards/handwired/swiftrax/walter/info.json @@ -8,6 +8,21 @@ "pid": "0xE964", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/handwired/symmetry60/config.h b/keyboards/handwired/symmetry60/config.h index c92944a48fac..a85f398caecc 100644 --- a/keyboards/handwired/symmetry60/config.h +++ b/keyboards/handwired/symmetry60/config.h @@ -17,21 +17,6 @@ along with this program. If not, see . #pragma once -#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 -#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 /* Locking resynchronize hack */ diff --git a/keyboards/handwired/symmetry60/info.json b/keyboards/handwired/symmetry60/info.json index 54d58d8b7f2a..3f8427f3c88d 100644 --- a/keyboards/handwired/symmetry60/info.json +++ b/keyboards/handwired/symmetry60/info.json @@ -8,6 +8,23 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/handwired/t111/keymaps/oleg/keymap.c b/keyboards/handwired/t111/keymaps/oleg/keymap.c index dd0c0971970d..b372de027bfd 100644 --- a/keyboards/handwired/t111/keymaps/oleg/keymap.c +++ b/keyboards/handwired/t111/keymaps/oleg/keymap.c @@ -117,10 +117,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT( VRSN, KC_SLEP, _______, UC_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, X(UAT), X(UHSH), X(UDLR), X(USCT), X(UCFX), X(UAMP), X(UAST), _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, - _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______, _______, _______, KC_SYRQ, KC_SCRL, KC_PAUS, XP(ULSB, ULCB), XP(URSB, URCB), _______, _______, _______, _______, _______, _______, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5, _______, _______, _______, _______, _______, XP(USCO, UCLN), XP(UAPO, UQOT), _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_BTN4, _______, _______, _______, _______, XP(UCOM, ULTH), XP(UDOT, UGTH), XP(USLS, UQUE), KC_APP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, UM(UAT), UM(UHSH), UM(UDLR), UM(USCT), UM(UCFX), UM(UAMP), UM(UAST), _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, + _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______, _______, _______, KC_SYRQ, KC_SCRL, KC_PAUS, UP(ULSB, ULCB), UP(URSB, URCB), _______, _______, _______, _______, _______, _______, _______, + _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5, _______, _______, _______, _______, _______, UP(USCO, UCLN), UP(UAPO, UQOT), _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_BTN4, _______, _______, _______, _______, UP(UCOM, ULTH), UP(UDOT, UGTH), UP(USLS, UQUE), KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/t111/rules.mk b/keyboards/handwired/t111/rules.mk index 3939229475d7..2542c545bff6 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 c1acec70015d..7c77f53a82dc 100644 --- a/keyboards/handwired/tennie/config.h +++ b/keyboards/handwired/tennie/config.h @@ -18,21 +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 -#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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/handwired/tennie/info.json b/keyboards/handwired/tennie/info.json index a48d64f730c5..32198e1cf623 100644 --- a/keyboards/handwired/tennie/info.json +++ b/keyboards/handwired/tennie/info.json @@ -8,6 +8,23 @@ "pid": "0x1313", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h index 50ee7eac6133..6243804dc58b 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 6948b13edc7b..5593be8bb7a0 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/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json index 0a3a77c91df1..9e172c8089ab 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/info.json +++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C0", "C1", "C2", "C3", "C4", "C5"], diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h deleted file mode 100644 index d7bc0f5bd589..000000000000 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 USE_I2C -// #define SELECT_SOFT_SERIAL_SPEED 1 -#define SPLIT_MODS_ENABLE -#define EE_HANDS - -#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 } - -#define RGBLIGHT_MAX_BRIGHTNESS 60 - -#undef DEBOUNCE -#define DEBOUNCE 10 - -#define SOLENOID_PIN F1 -#define SOLENOID_DEFAULT_DWELL 8 - -#define OLED_DISPLAY_128X64 -#define OLED_BRIGHTNESS 50 diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c deleted file mode 100644 index a7d7528dfb71..000000000000 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" - -// clang-format off -#define LAYOUT_4x6_right_wrapper(...) LAYOUT_4x6_right(__VA_ARGS__) -#define LAYOUT_4x6_right_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_4x6_right_wrapper( \ - SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ - OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ - OS_LGUI, OS_LALT, OS_RGUI, OS_RALT, \ - KC_PSCR, KC_GRV, MEH_T(KC_BTN3), \ - KC_SPC, OS_LGUI, KC_ENT, \ - BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ - ) -#define LAYOUT_base_wrapper(...) LAYOUT_4x6_right_base(__VA_ARGS__) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_MOUSE] = LAYOUT_4x6_right( - _______, _______, _______, _______, _______, _______, KC_WH_U, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, SNP_TOG, - _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, - _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_GAMEPAD] = LAYOUT_4x6_right( - KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, - KC_I, KC_T, TG_GAME, KC_NO, - KC_V, KC_O, _______, - KC_SPC, KC_P, _______, - KC_H, KC_LGUI, _______, _______ - ), - [_DIABLO] = LAYOUT_4x6_right( - KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, - KC_F, KC_L, KC_NO, TG_DBLO, - KC_DIABLO_CLEAR, KC_F, _______, - SFT_T(KC_SPC), KC_J, _______, - ALT_T(KC_Q), KC_LGUI, _______, _______ - ), - [_LOWER] = LAYOUT_4x6_right_wrapper( - KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, - _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_RAISE] = LAYOUT_4x6_right_wrapper( - KC_F12, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_F11, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_4x6_right_wrapper( - QK_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, QK_BOOT, - VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR, - UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, - HF_DWLU, HF_DWLD, TG_GAME, TG_DBLO, - HF_TOGG, HF_BUZZ, KC_NUKE, - _______, _______, _______, - _______, _______, KC_NUKE, _______ - ), -}; -// clang-format on diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk deleted file mode 100644 index d2d2a9b874d7..000000000000 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -RGBLIGHT_STARTUP_ANIMATION = yes -AUDIO_ENABLE = yes -HAPTIC_ENABLE = no -COMMAND_ENABLE = no -TAP_DANCE_ENABLE = yes -UNICODE_ENABLE = yes -OLED_ENABLE = yes -WPM_ENABLE = yes 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 a0355469e91e..af4b3c0ac0e6 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h @@ -18,12 +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 RGBLED_SPLIT \ - { 10, 10 } - #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 e0d074c2b6d6..92e0baace1f2 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json @@ -17,7 +17,9 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 80 + "led_count": 20, + "max_brightness": 80, + "split_count": [10, 10] }, "processor": "atmega32u4", "bootloader": "atmel-dfu" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h index 2d05b71c92ee..3a7f97f8d2f3 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h @@ -29,11 +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 RGBLED_SPLIT \ - { 10, 10 } - #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 0e0e020ddfb5..eafb77fce2ba 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json @@ -5,6 +5,13 @@ "rows": ["B10", "B11", "B12", "A14", "A13", "A15"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "spi" + }, + "rgblight": { + "led_count": 20, + "split_count": [10, 10] + }, "ws2812": { "pin": "A6", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk index 3959814c8dd0..ab601e31f9aa 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk @@ -1,6 +1,5 @@ # KEYBOARD_SHARED_EP = yes CONSOLE_ENABLE = yes -EEPROM_DRIVER = spi SERIAL_DRIVER = usart AUDIO_DRIVER = dac_additive diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 73ea40fb764c..2ad18267ad57 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -31,12 +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 RGBLED_SPLIT \ - { 26, 31 } - #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 671e3746c66b..e5a6dc6c7a2b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json @@ -5,6 +5,16 @@ "rows": ["B12", "B13", "B14", "B15", "A8", "A10"] }, "diode_direction": "COL2ROW", + "eeprom": { + "driver": "spi" + }, + "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 cd07b8d49f6d..0c4b05ee7e24 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -2,8 +2,5 @@ KEYBOARD_SHARED_EP = yes CONSOLE_ENABLE = yes 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/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h deleted file mode 100644 index a449a126d6ac..000000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#undef OLED_DISPLAY_128X64 -#define OLED_DISPLAY_128X128 -#define OLED_BRIGHTNESS 200 - -#define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200 -#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200 -#define CHARYBDIS_MINIMUM_SNIPING_DPI 400 -#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 200 - -#define BOOTMAGIC_LITE_EEPROM_ROW 1 -#define BOOTMAGIC_LITE_EEPROM_COLUMN 0 -#define BOOTMAGIC_LITE_EEPROM_ROW_RIGHT 7 -#define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 5 - - -#define FB_ERM_LRA 0 -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT buzz diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c deleted file mode 100644 index 380e17fb09f3..000000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka 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 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "drashna.h" - -// clang-format off -#define LAYOUT_5x6_right_wrapper(...) LAYOUT_5x6_right(__VA_ARGS__) -#define LAYOUT_5x6_right_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_5x6_right_wrapper( \ - KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_CLUE, \ - SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ - OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ - OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \ - KC_MUTE, KC_GRV, KC_BTN3, \ - KC_SPC, UC_IRNY, KC_ENT, \ - BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ - ) -#define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( - ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, - ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, - ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ - ), - [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_GAMEPAD] = LAYOUT_5x6_right( - KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______, - KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, - KC_I, KC_T, TG_GAME, KC_NO, - KC_V, KC_O, _______, - KC_SPC, KC_P, _______, - KC_H, KC_LGUI, _______, _______ - ), - [_DIABLO] = LAYOUT_5x6_right( - KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, - KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, - KC_F, KC_L, KC_NO, TG_DBLO, - KC_DIABLO_CLEAR, KC_F, _______, - SFT_T(KC_SPC), KC_J, _______, - ALT_T(KC_Q), KC_LGUI, _______, _______ - ), - [_DIABLOII] = LAYOUT_5x6_right( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_GRV, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_A, KC_T, KC_Q, KC_I, KC_M, _______, _______, _______, _______, _______, _______, - KC_S, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, _______, _______, - KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, - KC_F, KC_L, KC_NO, TG(_DIABLOII), - _______, KC_G, _______, - KC_LSFT, _______, _______, - KC_LCTL, KC_V, _______, _______ - ), - [_MOUSE] = LAYOUT_5x6_right( - _______, _______, _______, _______, _______, _______, _______, DPI_RMOD,DPI_MOD, S_D_RMOD,S_D_MOD, PD_JIGGLER, - _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, DRGSCRL, - _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, SNIPING, - _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, - _______, _______, _______, _______, - _______, _______, KC_BTN3, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_LOWER] = LAYOUT_5x6_right_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, - _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_RAISE] = LAYOUT_5x6_right_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, - OL_LOCK, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_5x6_right_wrapper( - QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT, - VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR, - KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, - TG(_DIABLOII), AUTO_CTN, TG_GAME, TG_DBLO, - _______, QK_RBT, KC_NUKE, - HF_TOGG, _______, _______, - _______, _______, KC_NUKE, _______ - ), -}; -// clang-format on - -#ifdef ENCODER_MAP_ENABLE -// clang-format off -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW( KC_VOLU, KC_VOLD ), ENCODER_CCW_CW( KC_WH_U, KC_WH_D ) }, - [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_DEFAULT_LAYER_4] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_GAMEPAD] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_DIABLO] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_MOUSE] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_MEDIA] = { ENCODER_CCW_CW( _______, _______ ), ENCODER_CCW_CW( _______, _______ ) }, - [_RAISE] = { ENCODER_CCW_CW( OL_BINC, OL_BDEC ), ENCODER_CCW_CW( KC_PGDN, KC_PGUP ) }, - [_LOWER] = { ENCODER_CCW_CW( RGB_MOD, RGB_RMOD), ENCODER_CCW_CW( RGB_HUI, RGB_HUD ) }, - [_ADJUST] = { ENCODER_CCW_CW( CK_UP, CK_DOWN ), ENCODER_CCW_CW( _______, _______ ) }, -}; -// clang-format on -#endif - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -void render_oled_title(bool side) { - oled_write_P(side ? PSTR(" Tractyl ") : PSTR(" Manuform "), true); -} -#endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h deleted file mode 100644 index fb921079bfb9..000000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h +++ /dev/null @@ -1,117 +0,0 @@ -#pragma once - -#define RGBLIGHT_EFFECT_BREATHE_TABLE - -// clang-format off - -// Breathing center: 1.85 -// Breathing max: 100 - -const uint8_t PROGMEM rgblight_effect_breathe_table[] = { -#if RGBLIGHT_BREATHE_TABLE_SIZE == 256 - 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11, - 0x11, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x16, - 0x16, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x1B, - 0x1B, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F, 0x20, 0x20, - 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26, - 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 0x2B, 0x2C, - 0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31, 0x31, 0x32, - 0x33, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x38, - 0x39, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3D, 0x3E, - 0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44, - 0x44, 0x45, 0x46, 0x46, 0x47, 0x48, 0x48, 0x49, - 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, - 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51, - 0x51, 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54, - 0x54, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, - 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, - 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, - 0x56, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x54, - 0x54, 0x54, 0x53, 0x53, 0x53, 0x52, 0x52, 0x51, - 0x51, 0x51, 0x50, 0x50, 0x4F, 0x4F, 0x4E, 0x4E, - 0x4D, 0x4D, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x4A, - 0x49, 0x48, 0x48, 0x47, 0x46, 0x46, 0x45, 0x44, - 0x44, 0x43, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F, - 0x3E, 0x3D, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, 0x39, - 0x38, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x33, - 0x32, 0x31, 0x31, 0x30, 0x2F, 0x2E, 0x2E, 0x2D, - 0x2C, 0x2B, 0x2B, 0x2A, 0x29, 0x28, 0x28, 0x27, - 0x26, 0x25, 0x25, 0x24, 0x23, 0x22, 0x22, 0x21, - 0x20, 0x20, 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1B, - 0x1B, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x16, - 0x16, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x11, - 0x11, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0E, 0x0D -#endif - -#if RGBLIGHT_BREATHE_TABLE_SIZE == 128 - 0x0D, 0x0E, 0x0F, 0x10, - 0x11, 0x13, 0x14, 0x15, - 0x16, 0x18, 0x19, 0x1A, - 0x1B, 0x1D, 0x1E, 0x20, - 0x21, 0x22, 0x24, 0x25, - 0x27, 0x28, 0x2A, 0x2B, - 0x2D, 0x2E, 0x30, 0x31, - 0x33, 0x34, 0x36, 0x38, - 0x39, 0x3B, 0x3C, 0x3D, - 0x3F, 0x40, 0x42, 0x43, - 0x44, 0x46, 0x47, 0x48, - 0x4A, 0x4B, 0x4C, 0x4D, - 0x4E, 0x4F, 0x50, 0x51, - 0x51, 0x52, 0x53, 0x54, - 0x54, 0x55, 0x55, 0x55, - 0x56, 0x56, 0x56, 0x56, - 0x56, 0x56, 0x56, 0x56, - 0x56, 0x55, 0x55, 0x54, - 0x54, 0x53, 0x53, 0x52, - 0x51, 0x50, 0x4F, 0x4E, - 0x4D, 0x4C, 0x4B, 0x4A, - 0x49, 0x48, 0x46, 0x45, - 0x44, 0x42, 0x41, 0x40, - 0x3E, 0x3D, 0x3B, 0x3A, - 0x38, 0x37, 0x35, 0x34, - 0x32, 0x31, 0x2F, 0x2E, - 0x2C, 0x2B, 0x29, 0x28, - 0x26, 0x25, 0x23, 0x22, - 0x20, 0x1F, 0x1E, 0x1C, - 0x1B, 0x19, 0x18, 0x17, - 0x16, 0x14, 0x13, 0x12, - 0x11, 0x10, 0x0F, 0x0E -#endif - -#if RGBLIGHT_BREATHE_TABLE_SIZE == 64 - 0x0D, 0x0F, - 0x11, 0x14, - 0x16, 0x19, - 0x1B, 0x1E, - 0x21, 0x24, - 0x27, 0x2A, - 0x2D, 0x30, - 0x33, 0x36, - 0x39, 0x3C, - 0x3F, 0x42, - 0x44, 0x47, - 0x4A, 0x4C, - 0x4E, 0x50, - 0x51, 0x53, - 0x54, 0x55, - 0x56, 0x56, - 0x56, 0x56, - 0x56, 0x55, - 0x54, 0x53, - 0x51, 0x4F, - 0x4D, 0x4B, - 0x49, 0x46, - 0x44, 0x41, - 0x3E, 0x3B, - 0x38, 0x35, - 0x32, 0x2F, - 0x2C, 0x29, - 0x26, 0x23, - 0x20, 0x1E, - 0x1B, 0x18, - 0x16, 0x13, - 0x11, 0x0F -#endif -}; - -static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table); diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk deleted file mode 100644 index 9f5341e973dc..000000000000 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk +++ /dev/null @@ -1,54 +0,0 @@ -AUTOCORRECT_ENABLE = no -AUDIO_ENABLE = no -ENCODER_ENABLE = no -CUSTOM_BOOTMAGIC_ENABLE = no -CUSTOM_UNICODE_ENABLE = no -HAPTIC_ENABLE = no -OLED_ENABLE = no -RGBLIGHT_ENABLE = no -SWAP_HANDS_ENABLE = no -TAP_DANCE_ENABLE = no -WPM_ENABLE = no - -ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/elite_c) - BOOTLOADER = qmk-hid - BOOTLOADER_SIZE = 512 - CUSTOM_SPLIT_TRANSPORT_SYNC = no - LTO_ENABLE = yes - MOUSEKEY_ENABLE = no -endif -ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/arduinomicro) - BOOTLOADER = qmk-hid - BOOTLOADER_SIZE = 512 - CUSTOM_SPLIT_TRANSPORT_SYNC = no - LTO_ENABLE = yes - MOUSEKEY_ENABLE = no -endif -ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/teensy2pp) - AUTOCORRECT_ENABLE = no - OVERLOAD_FEATURES = yes - LTO_ENABLE = yes -endif -ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/f411) - BOOTLOADER = tinyuf2 - AUTOCORRECT_ENABLE = yes - LTO_SUPPORTED = no - OVERLOAD_FEATURES = yes - HAPTIC_ENABLE = yes - HAPTIC_DRIVER = DRV2605L -endif - -ifeq ($(strip $(OVERLOAD_FEATURES)), yes) - AUDIO_ENABLE = yes - CAPS_WORD_ENABLE = yes - CUSTOM_BOOTMAGIC_ENABLE = yes - CUSTOM_UNICODE_ENABLE = yes - ENCODER_ENABLE = yes - ENCODER_MAP_ENABLE = yes - OLED_ENABLE = yes - RGBLIGHT_ENABLE = yes - RGBLIGHT_STARTUP_ANIMATION = yes - TAP_DANCE_ENABLE = yes - SWAP_HANDS_ENABLE = yes - WPM_ENABLE = yes -endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h index ce8e65e92486..331a5ec73113 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h @@ -18,13 +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 RGBLED_SPLIT \ - { 10, 10 } -#define RGBLIGHT_LIMIT_VAL 80 - #define DEBUG_LED_PIN D6 #define AUDIO_PIN C6 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json index c65b2266015d..a131ac085bd8 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json @@ -17,7 +17,9 @@ "pin": "E7" }, "rgblight": { - "max_brightness": 80 + "led_count": 20, + "max_brightness": 80, + "split_count": [10, 10] }, "processor": "at90usb1286", "bootloader": "halfkay" diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h deleted file mode 100644 index f015683e68ce..000000000000 --- a/keyboards/handwired/traveller/config.h +++ /dev/null @@ -1,40 +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 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 */ - -/* - * 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/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json index 91fe9e1cf441..ea1b3e353059 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/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c index 2cd57db35f10..5d2a3b3750d0 100644 --- a/keyboards/handwired/traveller/keymaps/default/keymap.c +++ b/keyboards/handwired/traveller/keymaps/default/keymap.c @@ -1,5 +1,4 @@ #include QMK_KEYBOARD_H -#include "mousekey.h" enum layer_names { _QW, diff --git a/keyboards/handwired/tritium_numpad/config.h b/keyboards/handwired/tritium_numpad/config.h index 838776b5eb43..b9449c4714bf 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 8f56d909474b..2e2fc6c81f6f 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/tritium_numpad/keymaps/max/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c deleted file mode 100644 index 540cbe8c592a..000000000000 --- a/keyboards/handwired/tritium_numpad/keymaps/max/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-------------------. - * |Esc |Setp| - | = | - * |----|----|----|----| - * | F1 | F2 | F3 | F4 | - * |----|----|----|----| - * | 7 | 8 | 9 | - | - * |----|----|----|----| - * | 4 | 5 | 6 | LF | - * |----|----|----|----| - * | 1 | 2 | 3 | \ | - * |----|----|----|----| - * |Left|Down| Up |Rght| - * `-------------------' - */ - - [_BL] = LAYOUT_ortho_6x4( - KC_ESC, KC_TAB, KC_MINS,KC_EQL, - KC_F1, KC_F2, KC_F3, KC_F4, - KC_P7, KC_P8, KC_P9, KC_PMNS, - KC_P4, KC_P5, KC_P6, KC_PENT, - KC_P1, KC_P2, KC_P3, KC_BSLS, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), - - /* Keymap _FL: Function Layer - * ,-------------------. - * |Esc |TAB |BS | = | - * |----|----|----|----| - * | NL | / | * | - | - * |----|----|----|----| - * | 7 | 8 | 9 | | - * |----|----|----|RST | - * | 4 | 5 | 6 | | - * |----|----|----|----| - * | 1 | 2 | 3 | | - * |----|----|----| En | - * | 0 |./FN| | - * `-------------------' - */ - [_FL] = LAYOUT_ortho_6x4( - KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, QK_BOOT, - KC_P4, KC_P5, KC_P6, KC_PENT, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - ), -}; diff --git a/keyboards/handwired/tsubasa/config.h b/keyboards/handwired/tsubasa/config.h index dee2156fb544..a2cd2dafe662 100644 --- a/keyboards/handwired/tsubasa/config.h +++ b/keyboards/handwired/tsubasa/config.h @@ -17,16 +17,3 @@ along with this program. If not, see . #pragma once #define MASTER_RIGHT - -# define RGBLED_NUM 12 -# define RGBLIGHT_SPLIT -# define RGBLED_SPLIT {6, 6} -# 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 - -#define SPLIT_WPM_ENABLE -#define SPLIT_LAYER_STATE_ENABLE diff --git a/keyboards/handwired/tsubasa/info.json b/keyboards/handwired/tsubasa/info.json index 1c374f3b08ca..62c418c9956e 100644 --- a/keyboards/handwired/tsubasa/info.json +++ b/keyboards/handwired/tsubasa/info.json @@ -8,6 +8,17 @@ "pid": "0x0000", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 1, + "brightness_steps": 1, + "led_count": 12, + "split_count": [6, 6], + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true + } + }, "ws2812": { "pin": "D2" }, @@ -27,6 +38,12 @@ {"pin_a": "F4", "pin_b": "F5"} ] } + }, + "transport": { + "sync": { + "layer_state": true, + "wpm": true + } } }, "layouts": { diff --git a/keyboards/handwired/tsubasa/rules.mk b/keyboards/handwired/tsubasa/rules.mk index cddbc1e33fa0..5838d93ad558 100644 --- a/keyboards/handwired/tsubasa/rules.mk +++ b/keyboards/handwired/tsubasa/rules.mk @@ -15,5 +15,4 @@ LTO_ENABLE = yes ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/handwired/twadlee/tp69/rules.mk b/keyboards/handwired/twadlee/tp69/rules.mk index b1b6b8e616d1..b73afc0e44a9 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 d3d188ef4257..e4347a75b521 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 c32734cecb45..24eb51d03c17 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 de1208a7ecab..2a7f301a6a98 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 162faca32cb7..171ae7bb0270 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 bf9b590421ff..f4c4fda7cf68 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 7c46269579a6..89515a8fefbe 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/rev2/rules.mk b/keyboards/handwired/uthol/rev2/rules.mk index 445e503d0bd3..c6e22b8dd296 100644 --- a/keyboards/handwired/uthol/rev2/rules.mk +++ b/keyboards/handwired/uthol/rev2/rules.mk @@ -6,4 +6,3 @@ EXTRAKEY_ENABLE = yes NKRO_ENABLE = yes LTO_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h index dd7ef6a5a915..a3a2eb1ca090 100644 --- a/keyboards/handwired/uthol/rev3/config.h +++ b/keyboards/handwired/uthol/rev3/config.h @@ -31,19 +31,6 @@ /* 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 -#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 #define RGBLIGHT_DEFAULT_HUE 201 diff --git a/keyboards/handwired/uthol/rev3/info.json b/keyboards/handwired/uthol/rev3/info.json index 5ba12dc8464f..79818d467044 100644 --- a/keyboards/handwired/uthol/rev3/info.json +++ b/keyboards/handwired/uthol/rev3/info.json @@ -3,6 +3,24 @@ "usb": { "device_version": "0.0.3" }, + "rgblight": { + "led_count": 39, + "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 + } + }, + "tapping": { + "term": 500 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/handwired/uthol/rev3/rules.mk b/keyboards/handwired/uthol/rev3/rules.mk index 2eaa7224979b..1577cf8a775d 100644 --- a/keyboards/handwired/uthol/rev3/rules.mk +++ b/keyboards/handwired/uthol/rev3/rules.mk @@ -5,9 +5,7 @@ BOOTMAGIC_ENABLE = yes NKRO_ENABLE = yes KEYBOARD_SHARED_EP = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes EXTRAKEY_ENABLE = yes ENCODER_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/handwired/wabi/keymaps/rossman360/keymap.c b/keyboards/handwired/wabi/keymaps/rossman360/keymap.c deleted file mode 100644 index 3bd46bf1914b..000000000000 --- a/keyboards/handwired/wabi/keymaps/rossman360/keymap.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -Copyright 2020 Ross Montsinger -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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 "rossman360.h" - -#define PGMOD LT(_NUM, KC_PGDN) -#define TABMOD LT(_FN1, KC_TAB) -#define SPCMOD LT(_FN1, KC_SPACE) -#define ENTMOD LT(_FN2, KC_ENTER) -#define RSMOD LT(_FN1, KC_MINS) - -enum layer_names { - _BASE, - _DEL, - _FN1, - _FN2, - _NUM, -}; - -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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - JUMPBACK,KC_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, RSMOD , KC_UP, - CMDBSP, ALTDEL, CTRLSP, TABMOD, PGMOD , ENTMOD , SPCMOD , MO(_DEL), KC_LEFT, KC_DOWN, KC_RGHT - ), -[_DEL] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - REMCAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, BLINE , KC_BSPC, BWORD , KC_NO , KC_NO , _______, _______, _______, _______ - ), -[_FN1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NTAB, - _______, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, _______, _______, KC_SLSH, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , _______, CTAB, - _______, _______, XPANDR , _______, PMERGE , _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______, - _______, _______, _______, LWORD , RWORD , KC_NO , _______, KC_NO , _______, _______, _______ - ), -[_FN2] = LAYOUT( - _______, SPEAK1 , SPEAK2 , SPEAK3 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, PARADOWN, CSPEAK, _______, _______, _______, _______, _______, _______ - ), -[_NUM] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_7 , KC_8 , KC_9 , _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_MINS, KC_4 , KC_5 , KC_6 , KC_COLN, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_1 , KC_2 , KC_3 , KC_BSLS, _______, _______, - _______, _______, _______, KC_0 , _______, KC_NO , KC_SPC , KC_0 , _______, _______, _______ - ), -}; diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c index b73592760e2b..3a333198a44b 100644 --- a/keyboards/handwired/wulkan/keymaps/default/keymap.c +++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c @@ -95,8 +95,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, - _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_ODIA_LOW, SE_ODIA_HIGH), XP(SE_ADIA_LOW, SE_ADIA_HIGH), _______, + _______, QK_BOOT, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, UP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, + _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, UP(SE_ODIA_LOW, SE_ODIA_HIGH), UP(SE_ADIA_LOW, SE_ADIA_HIGH), _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_BTN1, _______, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/wwa/helios/info.json b/keyboards/handwired/wwa/helios/info.json new file mode 100644 index 000000000000..64b201039640 --- /dev/null +++ b/keyboards/handwired/wwa/helios/info.json @@ -0,0 +1,44 @@ +{ + "manufacturer": "spacehangover", + "keyboard_name": "Helios", + "maintainer": "spacehangover", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3"], + "rows": ["GP4", "GP5", "GP6"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x5757" + }, + "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": [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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/helios/keymaps/default/keymap.c b/keyboards/handwired/wwa/helios/keymaps/default/keymap.c new file mode 100644 index 000000000000..adedb063f483 --- /dev/null +++ b/keyboards/handwired/wwa/helios/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// 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( + KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, + KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; diff --git a/keyboards/handwired/wwa/helios/keymaps/via/keymap.c b/keyboards/handwired/wwa/helios/keymaps/via/keymap.c new file mode 100644 index 000000000000..adedb063f483 --- /dev/null +++ b/keyboards/handwired/wwa/helios/keymaps/via/keymap.c @@ -0,0 +1,12 @@ +// 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( + KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, + KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; diff --git a/keyboards/handwired/wwa/helios/keymaps/via/rules.mk b/keyboards/handwired/wwa/helios/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/wwa/helios/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/wwa/helios/readme.md b/keyboards/handwired/wwa/helios/readme.md new file mode 100644 index 000000000000..9d59c6e0ef9a --- /dev/null +++ b/keyboards/handwired/wwa/helios/readme.md @@ -0,0 +1,27 @@ +# helios + +![helios](https://i.imgur.com/QfTTROZh.jpeg) + +First model of the Argentinian based keyboard manufacturer WWA + +* Keyboard Maintainer: [spacehangover](https://github.com/spacehangover) +* Hardware Supported: RP2040 Handwired +* Hardware Availability: RP2040 Pico + +Make example for this keyboard (after setting up your build environment): + + make handwired/wwa/helios:default + +Flashing example for this keyboard: + + make handwired/wwa/helios: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/wwa/helios/rules.mk b/keyboards/handwired/wwa/helios/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/wwa/helios/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/wwa/kepler/info.json b/keyboards/handwired/wwa/kepler/info.json new file mode 100644 index 000000000000..f962d632b444 --- /dev/null +++ b/keyboards/handwired/wwa/kepler/info.json @@ -0,0 +1,56 @@ +{ + "manufacturer": "spacehangover", + "keyboard_name": "Kepler", + "maintainer": "spacehangover", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7"], + "rows": ["GP9", "GP10", "GP11"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x5757" + }, + "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": [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": [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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/kepler/keymaps/default/keymap.c b/keyboards/handwired/wwa/kepler/keymaps/default/keymap.c new file mode 100644 index 000000000000..7bfecd071744 --- /dev/null +++ b/keyboards/handwired/wwa/kepler/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// 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( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, + KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; diff --git a/keyboards/handwired/wwa/kepler/keymaps/via/keymap.c b/keyboards/handwired/wwa/kepler/keymaps/via/keymap.c new file mode 100644 index 000000000000..7bfecd071744 --- /dev/null +++ b/keyboards/handwired/wwa/kepler/keymaps/via/keymap.c @@ -0,0 +1,12 @@ +// 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( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, + KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 + ) +}; diff --git a/keyboards/handwired/wwa/kepler/keymaps/via/rules.mk b/keyboards/handwired/wwa/kepler/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/wwa/kepler/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/wwa/kepler/readme.md b/keyboards/handwired/wwa/kepler/readme.md new file mode 100644 index 000000000000..38e8c4fa02ac --- /dev/null +++ b/keyboards/handwired/wwa/kepler/readme.md @@ -0,0 +1,28 @@ +# kepler + +![kepler](https://i.imgur.com/UD1J92Eh.jpeg) + +Second model of the Argentinian based keyboard manufacturer WWA + +* Keyboard Maintainer: [spacehangover](https://github.com/spacehangover) +* Hardware Supported: RP2040 Handwired +* Hardware Availability: RP2040 Pico + + +Make example for this keyboard (after setting up your build environment): + + make handwired/wwa/kepler:default + +Flashing example for this keyboard: + + make handwired/wwa/kepler: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/wwa/kepler/rules.mk b/keyboards/handwired/wwa/kepler/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/wwa/kepler/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/xealous/rev1/info.json b/keyboards/handwired/xealous/rev1/info.json index e23340434727..b8b45e5ee145 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 a9391e9f5674..aff4db8cfd73 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 8e7bef8b5c81..421d72570ef2 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/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json new file mode 100644 index 000000000000..127cc51299c9 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/info.json @@ -0,0 +1,142 @@ +{ + "keyboard_name": "ziyoulang k3 mod", + "development_board": "bluepill", + "usb": { + "device_version": "1.0.0", + "pid": "0xE002", + "vid": "0x5006" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "matrix_pins": { + "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "A5", "A4"], + "rows": ["C14", "C15", "A0", "A1", "A2", "A3"] + }, + "community_layouts": ["96_ansi"], + "layouts": { + "LAYOUT_96_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]}, + {"label":"F1", "x":1, "y":0, "matrix": [0, 2]}, + {"label":"F2", "x":2, "y":0, "matrix": [0, 3]}, + {"label":"F3", "x":3, "y":0, "matrix": [0, 4]}, + {"label":"F4", "x":4, "y":0, "matrix": [0, 5]}, + {"label":"F5", "x":5, "y":0, "matrix": [0, 6]}, + {"label":"F6", "x":6, "y":0, "matrix": [0, 7]}, + {"label":"F7", "x":7, "y":0, "matrix": [0, 8]}, + {"label":"F8", "x":8, "y":0, "matrix": [0, 9]}, + {"label":"F9", "x":9, "y":0, "matrix": [0, 10]}, + {"label":"F10", "x":10, "y":0, "matrix": [0, 11]}, + {"label":"F11", "x":11, "y":0, "matrix": [0, 12]}, + {"label":"F12", "x":12, "y":0, "matrix": [0, 13]}, + {"label":"PrtSc", "x":13, "y":0, "matrix": [0, 14]}, + {"label":"Delete", "x":14, "y":0, "matrix": [0, 15]}, + {"label":"Home", "x":15.5, "y":0, "matrix": [0, 16]}, + {"label":"Insert", "x":16.5, "y":0, "matrix": [0, 17]}, + {"label":"PgUp", "x":17.5, "y":0, "matrix": [0, 18]}, + {"label":"PgDn", "x":18.5, "y":0, "matrix": [0, 19]}, + + {"label":"~", "x":0, "y":1.25, "matrix": [1, 0]}, + {"label":"!", "x":1, "y":1.25, "matrix": [1, 1]}, + {"label":"@", "x":2, "y":1.25, "matrix": [1, 2]}, + {"label":"#", "x":3, "y":1.25, "matrix": [1, 3]}, + {"label":"$", "x":4, "y":1.25, "matrix": [1, 4]}, + {"label":"%", "x":5, "y":1.25, "matrix": [1, 5]}, + {"label":"^", "x":6, "y":1.25, "matrix": [1, 6]}, + {"label":"&", "x":7, "y":1.25, "matrix": [1, 7]}, + {"label":"*", "x":8, "y":1.25, "matrix": [1, 8]}, + {"label":"(", "x":9, "y":1.25, "matrix": [1, 9]}, + {"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":"Num Lock", "x":15.5, "y":1.25, "matrix": [1, 17]}, + {"label":"/", "x":16.5, "y":1.25, "matrix": [1, 18]}, + {"label":"*", "x":17.5, "y":1.25, "matrix": [1, 19]}, + {"label":"-", "x":18.5, "y":1.25, "matrix": [1, 20]}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]}, + {"label":"Q", "x":1.5, "y":2.25, "matrix": [2, 1]}, + {"label":"W", "x":2.5, "y":2.25, "matrix": [2, 2]}, + {"label":"E", "x":3.5, "y":2.25, "matrix": [2, 3]}, + {"label":"R", "x":4.5, "y":2.25, "matrix": [2, 4]}, + {"label":"T", "x":5.5, "y":2.25, "matrix": [2, 5]}, + {"label":"Y", "x":6.5, "y":2.25, "matrix": [2, 6]}, + {"label":"U", "x":7.5, "y":2.25, "matrix": [2, 7]}, + {"label":"I", "x":8.5, "y":2.25, "matrix": [2, 8]}, + {"label":"O", "x":9.5, "y":2.25, "matrix": [2, 9]}, + {"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]}, + {"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]}, + {"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]}, + {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]}, + {"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]}, + {"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]}, + {"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]}, + {"label":"+", "x":18.5, "y":2.25, "h":2, "matrix": [2, 20]}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]}, + {"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":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]}, + {"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]}, + {"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]}, + {"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25, "matrix": [4, 0]}, + {"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, 11]}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75, "matrix": [4, 13]}, + {"label":"1", "x":15.5, "y":4.25, "matrix": [4, 17]}, + {"label":"2", "x":16.5, "y":4.25, "matrix": [4, 18]}, + {"label":"3", "x":17.5, "y":4.25, "matrix": [4, 19]}, + {"label":"Enter", "x":18.5, "y":4.25, "h":2, "matrix": [4, 20]}, + + {"label":"\u2191", "x":14.25, "y":4.5, "matrix": [4, 15]}, + + {"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, 2]}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25, "matrix": [5, 3]}, + {"x":3.75, "y":5.25, "w":6.25, "matrix": [5, 6]}, + {"label":"Alt", "x":10, "y":5.25, "matrix": [5, 10]}, + {"label":"Fn", "x":11, "y":5.25, "matrix": [5, 11]}, + {"label":"Ctrl", "x":12, "y":5.25, "matrix": [5, 13]}, + {"label":"0", "x":16.5, "y":5.25, "matrix": [5, 17]}, + {"label":".", "x":17.5, "y":5.25, "matrix": [5, 19]}, + + {"label":"\u2190", "x":13.25, "y":5.5, "matrix": [5, 14]}, + {"label":"\u2193", "x":14.25, "y":5.5, "matrix": [5, 15]}, + {"label":"\u2192", "x":15.25, "y":5.5, "matrix": [5, 16]} + ] + } + }, + "manufacturer": "Coom", + "maintainer": "coomstoolbox", + "url": "" +} \ No newline at end of file diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c b/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c new file mode 100644 index 000000000000..6cd7d8640368 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +// 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│Del│ │Hom│Ins│PgU│PgD│ + * └───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┮───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Num│ / │ * │ - │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───┾───â”Ī + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │ 7 │ 8 │ 9 │ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───┾───┾───â”Ī + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮┮──â”ī┐├───┾───┾───┾───â”Ī + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift││ ↑ ││ 1 │ 2 │ 3 │ │ + * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮┮──â”ī┾───┾â”ī──┮┾───┾───â”ĪEnt│ + * │Ctrl│GUI │Alt │ │Alt│ Fn│Ctr││ ← │ ↓ │ → ││ 0 │ . │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘└───â”ī───â”ī───┘ + */ + [0] = LAYOUT_96_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_DEL, KC_HOME, KC_INS, KC_PGUP, KC_PGDN, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_P0, KC_PDOT, + KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_96_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_SCRL, KC_PAUS, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c new file mode 100644 index 000000000000..08825dacce08 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +// 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│Del│ │Hom│Ins│PgU│PgD│ + * └───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ + * ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐ ┌───┮───┮───┮───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Num│ / │ * │ - │ + * ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī ├───┾───┾───┾───â”Ī + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │ 7 │ 8 │ 9 │ │ + * ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī ├───┾───┾───â”Ī + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮┮──â”ī┐├───┾───┾───┾───â”Ī + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift││ ↑ ││ 1 │ 2 │ 3 │ │ + * ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī──┮â”ī──┮â”ī──┮┮──â”ī┾───┾â”ī──┮┾───┾───â”ĪEnt│ + * │Ctrl│GUI │Alt │ │Alt│ Fn│Ctr││ ← │ ↓ │ → ││ 0 │ . │ │ + * └────â”ī────â”ī────â”ī────────────────────────â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘└───â”ī───â”ī───┘ + */ + [0] = LAYOUT_96_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_DEL, KC_HOME, KC_INS, KC_PGUP, KC_PGDN, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_P0, KC_PDOT, + KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk new file mode 100644 index 000000000000..ea877d67869c --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +MOUSEKEY_ENABLE = no +LTO_ENABLE = yes diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md new file mode 100644 index 000000000000..7e247fde198b --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md @@ -0,0 +1,33 @@ +# ziyoulang_k3_mod + +![ziyoulang_k3_mod](https://i.imgur.com/z9mUvIoh.jpg) + + +This base keyboard has SX83099 IC causes some problems. I needed QMK as an alternative, especially since the controller freezes when the backlight is off. + +* Keyboard Maintainer: [Coom](https://github.com/coomstoolbox) +* Hardware Supported: Ziyoulang K3,Blue Pill +* Hardware Availability: [Base Keyboard](https://www.aliexpress.com/item/1005005458088199.html), [Blue Pill Board](https://www.aliexpress.com/item/32812837487.html) + +Make example for this keyboard (after setting up your build environment): + + make handwired/ziyoulang_k3_mod:default + +Flashing example for this keyboard: + + make handwired/ziyoulang_k3_mod: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). + +## Requires hand wired + +[KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram) + +![explanation](https://i.imgur.com/yvhvhoBh.png) + +## 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/ziyoulang_k3_mod/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/hardwareabstraction/handwire/rules.mk b/keyboards/hardwareabstraction/handwire/rules.mk index d782fba2a819..8a33a553313c 100644 --- a/keyboards/hardwareabstraction/handwire/rules.mk +++ b/keyboards/hardwareabstraction/handwire/rules.mk @@ -1,8 +1,7 @@ LTO_ENABLE = yes HAPTIC_ENABLE = yes -HAPTIC_DRIVER += SOLENOID +HAPTIC_DRIVER = solenoid OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/hazel/bad_wings/rules.mk b/keyboards/hazel/bad_wings/rules.mk index 1001af0186bb..47a188155fec 100644 --- a/keyboards/hazel/bad_wings/rules.mk +++ b/keyboards/hazel/bad_wings/rules.mk @@ -3,7 +3,7 @@ CAPS_WORD_ENABLE = yes SRC += matrix.c -QUANTUM_LIB_SRC += spi_master.c +SPI_DRIVER_REQUIRED = yes CUSTOM_MATRIX = lite POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/heliotrope/info.json b/keyboards/heliotrope/info.json index b443c4d54c96..3b382c7bc91f 100644 --- a/keyboards/heliotrope/info.json +++ b/keyboards/heliotrope/info.json @@ -28,7 +28,7 @@ "pin": "A4" }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index cf4e9f4ffea4..f5eb4c13e101 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 1147d09f3728..953cc2ea1015 100644 --- a/keyboards/helix/pico/info.json +++ b/keyboards/helix/pico/info.json @@ -11,6 +11,21 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/helix/pico/keymaps/biacco/config.h b/keyboards/helix/pico/keymaps/biacco/config.h deleted file mode 100644 index 7653185198bc..000000000000 --- a/keyboards/helix/pico/keymaps/biacco/config.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here - -#ifdef AUDIO_ENABLE - #define STARTUP_SONG SONG(STARTUP_SOUND) - #define AUDIO_CLICKY -#endif - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/pico/keymaps/biacco/keymap.c b/keyboards/helix/pico/keymaps/biacco/keymap.c deleted file mode 100644 index 39e1d948c2f3..000000000000 --- a/keyboards/helix/pico/keymaps/biacco/keymap.c +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright 2018 Biacco42 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// 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 { - BASE = 0, - META, - SYMB, - GAME -}; - -//Macros - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | @ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Alt | A | S | D | F | G | | H | J | K | L | ; | : | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | Ctrl | GUI | App | PrtSc| ESC/ |Space/|Tab/ |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | ~SYMB|RCtrl |Shift |Space |~META | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - -[BASE] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1) , - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DEL, KC_PSCR, TG(GAME), TG(SYMB), KC_INT3 - ), - - /* META - * ,-----------------------------------------. ,-----------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | ^ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | | Left | Down | Up |Right | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 |\/Sft | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift |Space |~META | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [META] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______ - ), - - /* SYMB - * ,-----------------------------------------. ,-----------------------------------------. - * | ! | " | # | $ | % | & | | ' | ( | ) | ~ | = | ~ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Alt | | | | | | | ( | ) | { | } | + | * | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Sft | | | | | | | [ | ] | < | > | ? | \ | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift |Space |~META | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [SYMB] = LAYOUT( - 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), S(KC_0), S(KC_MINS), S(KC_EQL), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_8), S(KC_9), S(KC_RBRC), S(KC_BSLS), S(KC_SCLN), S(KC_QUOT), - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RBRC, KC_BSLS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* GAME - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | @ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Alt | A | S | D | F | G | | H | J | K | L | ; | : | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | |Space | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [GAME] = LAYOUT( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, - 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_INT1), - KC_LCTL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DEL, KC_PSCR, _______, _______, KC_INT3 - ) - -}; diff --git a/keyboards/helix/pico/keymaps/biacco/rules.mk b/keyboards/helix/pico/keymaps/biacco/rules.mk deleted file mode 100644 index d97135946107..000000000000 --- a/keyboards/helix/pico/keymaps/biacco/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# QMK Standard Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -# See TOP/keyboards/helix/rules.mk for a list of options that can be set. -# See TOP/docs/config_options.md for more information. -# -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -AUDIO_ENABLE = yes # Audio output on port B5 -LTO_ENABLE = no # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 4 Variables -# jp: äŧĨäļ‹ãŪ4ãĪãŪåĪ‰æ•°ã‚’åŋ…čĶãŦåŋœã˜ãĶį·Ļ集し、ã‚ģãƒĄãƒģトã‚Ēã‚ĶトをãŊずしãūす。 -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = no # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c index 101a54bda60d..3ee620360d80 100644 --- a/keyboards/helix/pico/keymaps/default/keymap.c +++ b/keyboards/helix/pico/keymaps/default/keymap.c @@ -173,7 +173,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); #endif // define variables for reactive RGB @@ -329,36 +328,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif } - - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(50); // gets rid of tick -} - -void shutdown_user(void) -{ - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/helix/pico/keymaps/mtei/config.h b/keyboards/helix/pico/keymaps/mtei/config.h deleted file mode 100644 index a633105ff976..000000000000 --- a/keyboards/helix/pico/keymaps/mtei/config.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) 2022 Takeshi Ishii (mtei@github) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// place overrides here - -#ifdef AUDIO_ENABLE - #define STARTUP_SONG SONG(STARTUP_SOUND) - #define AUDIO_CLICKY -#endif - -#undef TAPPING_TERM -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD - -// If you need more program area, try select and reduce rgblight modes to use. - diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c deleted file mode 100644 index 6a5f7d295a39..000000000000 --- a/keyboards/helix/pico/keymaps/mtei/keymap.c +++ /dev/null @@ -1,368 +0,0 @@ -/* Copyright 2018 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "key_blocks.h" - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) -#define kc5(a,b,c,d,e) KC_##a, KC_##b, KC_##c, KC_##d, KC_##e - -// 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, - _COLEMAK, - _DVORAK, - _EUCALYN, - _NUML, - _NUMR, - _LOWER, - _RAISE, - _ADJUST, -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - EUCALYN, - NUML, - NUMR, - xEISU, - xKANA, - ZERO2, - RGBRST -}; - -// clang-format off - -//Macros -#define LT_NUML_SP LT(_NUML,KC_SPC) -#define LT_NUMR_SP LT(_NUMR,KC_SPC) -#define LT_RA_BSPC LT(_RAISE,KC_BSPC) -#define LT_RA_ENT LT(_RAISE,KC_ENT) -#define ___ _______ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty */ -#define LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS MO(_LOWER), MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, LT_NUML_SP, LT_RA_BSPC -#define RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER LT_RA_ENT, LT_NUMR_SP, KC_RGUI, KC_RALT, KC_APP, MO(_LOWER), MO(_LOWER) - /* ,-----------------------------------------. ,-----------------------------------------. - * | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | Ctrl | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_wrapper( - KC_ESC, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, - KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, N_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER - ), - - /* Colemak */ - /* ,-----------------------------------------. ,-----------------------------------------. - * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | Ctrl | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | | K | M | , | . | / | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | - * `-------------------------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT_wrapper( - KC_ESC, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, - KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, K_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER - ), - - /* Dvorak */ - /* ,-----------------------------------------. ,-----------------------------------------. - * | ESC | ' | , | . | P | Y | | F | G | C | R | L | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I | | D | H | T | N | S | Ctrl | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | | B | M | W | V | Z | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | - * `-------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = LAYOUT_wrapper( - KC_ESC, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, - KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, - KC_LSFT, SCLN___Q_____J_____K_____X, B_____M_____W_____V_____Z, KC_RSFT, - LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER - ), - - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ - /* ,-----------------------------------------. ,-----------------------------------------. - * | ESC | Q | W | , | . | ; | | M | R | D | Y | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | I | U | | G | T | K | S | N | Ctrl | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shift| Z | X | C | V | F | | B | H | J | L | / | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | - * `-------------------------------------------------------------------------------------------------' - */ - [_EUCALYN] = LAYOUT_wrapper( - KC_ESC, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, - KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____F, B_____H_____J_____L____SLSH, KC_RSFT, - LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER - ), - - /* Num */ -#define EXLM__AT__HASH___DLR__PERC kc5( EXLM, AT, HASH, DLR, PERC ) -#define CIRC_AMPR_ASTR__LPRN__RPRN kc5( CIRC, AMPR, ASTR, LPRN, RPRN ) -#define ____z_____z_____z_____z _______, _______, _______, _______ -#define ____z_____z_____z _______, _______, _______ -#define ____z_____z _______, _______ - /* ,-----------------------------------------. ,-----------------------------------------. - * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_NUML] = LAYOUT_wrapper( - _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, - _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, - _______, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, - _______, ____z_____z_____z_____z,____z_____z_____z,KC_SPC, ____z_____z_____z_____z, _______ - ), - [_NUMR] = LAYOUT_wrapper( - _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, - _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, - _______, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, - _______, ____z_____z_____z_____z,KC_SPC, ____z_____z_____z,____z_____z_____z_____z, _______ - ), - /* Lower */ -#define XXXX__PAUS__SLCK___INS__XXXX XXXXXXX, KC_PAUS, KC_SCRL, KC_INS, XXXXXXX -#define XXXX___INS__SLCK__PAUS__XXXX XXXXXXX, KC_INS, KC_SCRL, KC_PAUS, XXXXXXX -#define HOME__XXXX____UP___DEL__PGUP KC_HOME, XXXXXXX, KC_UP, KC_DEL, KC_PGUP -#define PGUP___DEL____UP__XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXXXXX, KC_HOME -#define END___LEFT__DOWN__RGHT__PGDN kc5( END, LEFT, DOWN, RGHT, PGDN ) -#define PGDN__LEFT__DOWN__RGHT___END kc5( PGDN, LEFT, DOWN, RGHT, END ) -#define ______PSCR__________________ _______, KC_PSCR, _______, _______, _______ -#define __________________PSCR______ _______, _______, _______, KC_PSCR, _______ -#define ADJ___ADJ MO(_ADJUST), MO(_ADJUST) - /* ,-----------------------------------------. ,-----------------------------------------. - * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | End | Left | Down | Right| PgDn | | PgDn | Left | Down | Right| End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | PrtSc| | | |Adjust|Adjust| | | | PrtSc| | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_wrapper( - XXXXXXX, XXXX__PAUS__SLCK___INS__XXXX, XXXX___INS__SLCK__PAUS__XXXX, _______, - _______, HOME__XXXX____UP___DEL__PGUP, PGUP___DEL____UP__XXXX__HOME, _______, - _______, END___LEFT__DOWN__RGHT__PGDN, PGDN__LEFT__DOWN__RGHT___END, _______, - _______, ______PSCR__________________, ADJ___ADJ, __________________PSCR______, _______ - ), - /* Raise */ -#define XXXX__XXXX__XXXX__UNDS__MINS XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_MINS -#define EQL__PLUS__XXXX__XXXX__XXXX KC_EQL, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX -#define XXXX__XXXX__XXXX__LCBR__LBRC XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC -#define RBRC__RCBR__XXXX__XXXX__XXXX KC_RBRC, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX -#define XXXX__XXXX__XXXX__TILD___GRV XXXXXXX, XXXXXXX, XXXXXXX, KC_TILD, KC_GRV -#define QUOT___DQT__XXXX__XXXX__XXXX KC_QUOT, KC_DQT, XXXXXXX, XXXXXXX, XXXXXXX -#define XXXX______________XXXX XXXXXXX, _______, _______, XXXXXXX - /* ,-----------------------------------------. ,-----------------------------------------. - * | TAB | | | | _ | - | | = | + | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | EISU | | | | { | [ | | ] | } | | | | KANA | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | ~ | ` | | ' | " | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_wrapper( - KC_TAB, XXXX__XXXX__XXXX__UNDS__MINS, EQL__PLUS__XXXX__XXXX__XXXX, XXXXXXX, - xEISU, XXXX__XXXX__XXXX__LCBR__LBRC, RBRC__RCBR__XXXX__XXXX__XXXX, xKANA, - XXXXXXX, XXXX__XXXX__XXXX__TILD___GRV, QUOT___DQT__XXXX__XXXX__XXXX, XXXXXXX, - ADJ___ADJ, XXXX______________XXXX, ____z_____z, XXXX______________XXXX, ADJ___ADJ - ), - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win | |Qwerty|Euclyn|Colemk|Dvorak| - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | HUE+ | SAT+ | VAL+ |RGB md|Audoff| Mac | | Mac | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | HUE- | SAT- | VAL- | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, XXXXXXX, QWERTY, EUCALYN, COLEMAK, DVORAK, - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ - ) -}; - -#ifdef AUDIO_ENABLE - -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_plover[][2] = SONG(PLOVER_SOUND); -float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); -#endif - -static int current_default_layer; - -layer_state_t default_layer_state_set_kb(layer_state_t state) { - // 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0) - // 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1) - current_default_layer = state - 1; - // 1<<_DVORAK - 2 == 4 - 2 == _DVORAK (=2) - if ( current_default_layer == 3 ) current_default_layer -= 1; - // 1<<_EUCALYN - 5 == 8 - 5 == _EUCALYN (=3) - if ( current_default_layer == 7 ) current_default_layer -= 4; - return state; -} - -void update_base_layer(int base) -{ - if( current_default_layer != base ) { - eeconfig_update_default_layer(1UL<event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - update_base_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - update_base_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - update_base_layer(_DVORAK); - } - return false; - break; - case EUCALYN: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - update_base_layer(_EUCALYN); - } - return false; - break; - case xEISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case xKANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif -} - - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(50); // gets rid of tick -} - -void shutdown_user(void) -{ - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/helix/pico/keymaps/mtei/rules.mk b/keyboards/helix/pico/keymaps/mtei/rules.mk deleted file mode 100644 index 413d0519d686..000000000000 --- a/keyboards/helix/pico/keymaps/mtei/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# QMK Standard Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -# See TOP/keyboards/helix/rules.mk for a list of options that can be set. -# See TOP/docs/config_options.md for more information. -# -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -AUDIO_ENABLE = yes # Audio output on port B5 -LTO_ENABLE = no # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 4 Variables -# jp: äŧĨäļ‹ãŪ4ãĪãŪåĪ‰æ•°ã‚’åŋ…čĶãŦåŋœã˜ãĶį·Ļ集し、ã‚ģãƒĄãƒģトã‚Ēã‚ĶトをãŊずしãūす。 -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) diff --git a/keyboards/helix/pico/qmk_conf/config.h b/keyboards/helix/pico/qmk_conf/config.h index 7653185198bc..15b339289561 100644 --- a/keyboards/helix/pico/qmk_conf/config.h +++ b/keyboards/helix/pico/qmk_conf/config.h @@ -26,18 +26,3 @@ along with this program. If not, see . #define STARTUP_SONG SONG(STARTUP_SOUND) #define AUDIO_CLICKY #endif - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 1d7163675710..7ab494522a80 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -20,10 +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 /* Select hand configuration */ #define MASTER_LEFT @@ -55,8 +51,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 105b05e6e3bd..aac3cc9dbb15 100644 --- a/keyboards/helix/rev2/info.json +++ b/keyboards/helix/rev2/info.json @@ -14,7 +14,28 @@ }, "diode_direction": "COL2ROW", "split": { - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "transport": { + "sync": { + "indicators": true, + "layer_state": true + } + } + }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true + } }, "ws2812": { "pin": "D3" diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index 25b0c3dff8e2..f23ff07b4fc9 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -185,7 +185,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); #endif // define variables for reactive RGB @@ -340,45 +339,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick } - -void shutdown_user(void) -{ - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index 384356bd1446..4eb815ce487b 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -136,150 +136,3 @@ bool oled_task_user(void) { return false; } #endif // end of OLED_ENABLE - -//SSD1306 OLED update loop -/* - The following code is left as a sample to help you transition from SSD1306OLED to OLED_ENABLE. - - * `matrix_write(matrix, data)` is replaced by `oled_write(data, false)`. - * `matrix_write_P(matrix, data)` is replaced by `oled_write_P(data, false)`. - * It is no longer necessary to call `iota_gfx_task()`. - * `matrix_update()` are no longer needed. - * `iota_gfx_task_user()` is no longer needed. Instead, `bool oled_task_user(void)` is provided. - - äŧĨäļ‹ãŪã‚ģマドãŊ、SSD1306OLED から OLED_ENABLE ãŦį§ŧčĄŒã™ã‚‹åŠĐけãŦおるようãŦã‚ĩãƒģプãƒŦãĻしãĶæŪ‹ã—ãĶありãūす。 - - * `matrix_write(matrix, data)` ãŊ、`oled_write(data, false)` ãŦæ›ļき換えãūす。 - * `matrix_write_P(matrix, data)` ãŊ、`oled_write_P(data, false)` ãŦæ›ļき換えãūす。 - * `iota_gfx_task()` ã‚’å‘žãģ凚すåŋ…čĶãŊおくおりãūす。 - * `matrix_update()` ãŊäļčĶãŦおりãūす。 - * `iota_gfx_task_user()` ãŊäļčĶãŦおりãūす。äŧĢりãŦ `bool oled_task_user(void)` をį”Ļ意しãūす。 - */ - -#ifdef SSD1306OLED -#include "ssd1306.h" -#define oled_write(data,flag) matrix_write(matrix, data) -#define oled_write_P(data,flag) matrix_write_P(matrix, data) - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -static void render_logo(struct CharacterMatrix *matrix) { - - static const char helix_logo[] PROGMEM ={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - oled_write_P(helix_logo, false); -} - -static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { -# ifdef RGBLIGHT_ENABLE - char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - oled_write(buf, false); - } -# endif -} - -static void render_layer_status(struct CharacterMatrix *matrix) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(PSTR("Default"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - oled_write_P(PSTR("Adjust"), false); - break; - default: - oled_write_P(PSTR("Undef-"), false); - snprintf(buf,sizeof(buf), "%ld", layer_state); - oled_write(buf, false); - } - oled_write_P(PSTR("\n"), false); -} - -void render_status(struct CharacterMatrix *matrix) { - // Render to mode icon - static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if (is_mac_mode()) { - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - } else { - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - oled_write_P(PSTR(" "), false); - render_layer_status(matrix); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); - oled_write_P(PSTR("\n"), false); - render_rgbled_status(true, matrix); -} - -# if OLED_UPDATE_INTERVAL > 0 -uint16_t oled_update_timeout; -# endif - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - -# if OLED_UPDATE_INTERVAL > 0 - if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { - return; - } - oled_update_timeout = timer_read(); -# endif - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - render_rgbled_status(false, &matrix); - render_layer_status(&matrix); - } - matrix_update(&display, &matrix); -} - -#endif // end of SSD1306OLED diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/config.h b/keyboards/helix/rev2/keymaps/edvorakjp/config.h deleted file mode 100644 index 0dff4b59ca81..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/config.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#define SWAP_SCLN - -#undef QUICK_TAP_TERM -#undef TAPPING_TERM -#define TAPPING_TERM 300 - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) -// # define RGBLIGHT_EFFECT_BREATHING -// # define RGBLIGHT_EFFECT_RAINBOW_MOOD -// # define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// # define RGBLIGHT_EFFECT_SNAKE -// # define RGBLIGHT_EFFECT_KNIGHT -// # define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -// # define RGBLIGHT_EFFECT_RGB_TEST -// # define RGBLIGHT_EFFECT_ALTERNATING -#endif // LED_ANIMATIONS diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c deleted file mode 100644 index 6910bef535e9..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c +++ /dev/null @@ -1,75 +0,0 @@ -#include QMK_KEYBOARD_H -#include "split_util.h" -#include "edvorakjp.h" - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -#define __KC_TRNS_x4__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [L_EDVORAKJP_BASE] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS, - //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| - KC_ESC, __EDVORAKJP_BASE_L3__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BASE_R3__ , KC_SLSH, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - __EDVORAKJP_PAGE__ , LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT, __EDVORAKJP_CURSOR__ - //`--------------------------------------------------------------' `--------------------------------------------------------------' - ), - - [L_EDVORAKJP_LOWER] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - __KC_TRNS_x6__ , __KC_TRNS_x6__ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ , - //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| - KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS, __KC_TRNS_x4__ - //`--------------------------------------------------------------' `--------------------------------------------------------------' - ), - - [L_EDVORAKJP_RAISE] = LAYOUT_wrapper( - //,-----------------------------------------------------. ,-----------------------------------------------------. - __KC_TRNS_x6__ , __KC_TRNS_x6__ , - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| - KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS, __KC_TRNS_x4__ - //`--------------------------------------------------------------' `--------------------------------------------------------------' - ) -}; -// clang-format on - -// keymaps definitions are moved to keymap_Xrows.c. - -#ifdef RGBLIGHT_ENABLE -layer_state_t layer_state_set_keymap(layer_state_t state) { - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (get_highest_layer(state)) { - case L_EDVORAKJP_LOWER: - rgblight_sethsv_noeeprom(HSV_RED); - break; - case L_EDVORAKJP_RAISE: - rgblight_sethsv_noeeprom(HSV_GREEN); - break; - default: // for any other layers, or the default layer - rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); - rgblight_sethsv(HSV_RED); - break; - } - return state; -} -#endif diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c deleted file mode 100644 index 14e3e5533b98..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c +++ /dev/null @@ -1,69 +0,0 @@ -#include -#include -#include "oled.h" - -#ifdef OLED_ENABLE -void render_host_led_state(void) { - char led_state_str[24]; - uint8_t leds = host_keyboard_leds(); - - 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" : "- "); - oled_write(led_state_str, false); -} - -void render_layer_state(void) { - char layer_name[17]; - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case L_EDVORAKJP_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_EDVORAKJP_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_EDVORAKJP_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - default: - snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); - oled_write_ln(layer_name, false); - } -} - -void render_logo(void) { - static const char helix_logo[] PROGMEM = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0}; - oled_write_P(helix_logo, false); -} - -void render_mode_icon(bool is_windows) { - static const char logo[][2][3] = { - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - }; - static char mode_icon[10]; - - snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]); - oled_write(mode_icon, false); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - // flips the display 180 degrees if offhand - return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180; -} - -bool oled_task_user(void) { - if (is_keyboard_left()) { - render_mode_icon(!get_enable_kc_lang()); - render_layer_state(); - render_host_led_state(); - } else { - render_logo(); - } - return false; -} -#endif // OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.h b/keyboards/helix/rev2/keymaps/edvorakjp/oled.h deleted file mode 100644 index d0c568528399..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "edvorakjp.h" - -extern bool japanese_mode; - -void render_host_led_state(void); -void render_layer_state(void); -void render_logo(void); -void render_mode_icon(bool is_windows); -oled_rotation_t oled_init_user(oled_rotation_t rotation); -bool oled_task_user(void); diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/readme.md b/keyboards/helix/rev2/keymaps/edvorakjp/readme.md deleted file mode 100644 index dd406523d241..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# edvorakjp - -Epaew's Enhanced Dvorak layout for Japanese Programmer -see [here](/users/edvorakjp) for more informations. - -## License - -Copyright 2018 Ryo Maeda epaew.333@gmail.com @epaew - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk deleted file mode 100644 index 66d33e5e4642..000000000000 --- a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk +++ /dev/null @@ -1,33 +0,0 @@ -# QMK Standard Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -# See TOP/keyboards/helix/rules.mk for a list of options that can be set. -# See TOP/docs/config_options.md for more information. -# -SPLIT_KEYBOARD = yes -LTO_ENABLE = no # if firmware size over limit, try this option -TAP_DANCE_ENABLE = yes - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: äŧĨäļ‹ãŪ7ãĪãŪåĪ‰æ•°ã‚’åŋ…čĶãŦåŋœã˜ãĶį·Ļ集し、ã‚ģãƒĄãƒģトã‚Ēã‚ĶトをãŊずしãūす。 -# OLED_ENABLE = no # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -OLED_SELECT = core - -# convert Helix-specific options (that represent combinations of standard options) -# into QMK standard options. -include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) - -ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - OPT_DEFS += -DRGBLED_BACK -endif - -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled.c -endif diff --git a/keyboards/helix/rev2/keymaps/five_rows/README.md b/keyboards/helix/rev2/keymaps/five_rows/README.md deleted file mode 100644 index 10a4fa942cb2..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# Keymap for 5 rows Helix keyboard - -This keymap is only for 5 rows Helix keyboard. - -## Layout - -![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3.png) - -## Layer - -|Priority|Number|Name|Discription| -| ---- | ---- | --- | --- | -|high|9|Adjust| keyboard local functions (violet)| -||8|KFunction| TenkeyPad function keys (bule)| -||7|Extra char| some charactors (red)| -||6|Function| function keys (blue)| -||2|Keypad|TenkeyPad| -||2|Dvorak|Dvorak| -||1|Colemak|Colemak| -|low|0|Qwerty|QWERTY (base)| - -### Adjust Layer - -Adjust Layer has keyboard local function keys. - -* LED control. -* Mac/Win mode change. -* Qwerty/Colemak/Dvorak/TenkeyPad change. - -![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3adj.png) - -### Mac mode and Win mode - -Mac mode swap Alt/Win(GUI) key. - -|mode|key|code| -| ---- | ---- | --- | -|Mac mode|Adjust + g(Qwerty)|AG_NORM| -| |Adjust + h(Qwerty)| | -|Win mode|Adjust + t(Qwerty)|AG_SWAP| -| |Adjust + y(Qwerty)| | - -### LED control - -|command|key|code| -| ---- | ---- | --- | -|on/off|Adjust + e(Qwerty)|RGB_TOG| -| |Adjust + i(Qwerty)| | -|change mode|Adjust + d(Qwerty) |RGB_MOD| -| |Adjust + k(Qwerty)| | -|HUE +|Adjust + Left Control|RGB_HUI| -| |Adjust + Right Control| | -|HUE -|Adjust + Left Shift |RGB_HUD| -| |Adjust + Right Shift | | -|SAT +|Adjust + ;(Qwerty) |RGB_SAI| -| |Adjust + a(Qwerty) | | -|SAT -|Adjust + z(Qwerty) |RGB_SAD| -| |Adjust + /(Qwerty) | | -|Bright +|Adjust + s(Qwerty) |RGB_VAI| -| |Adjust + l(Qwerty) | | -|Bright -|Adjust + x(Qwerty) |RGB_VAD| -| |Adjust + >(Qwerty) | | -|reset|Adjust + w|RGBRST| - -### Qwerty, Colemak, Dvorak, TenkeyPad selection - -|char layout|key| -| ---- | ---- | -|Qwerty | Adjust + 5 | -| | Adjust + 6 | -|Calemak| Adjust + 4 | -| | Adjust + 7 | -|Dvorak | Adjust + 3 | -| | Adjust + 8 | -|Keypad | Adjust + 2 | -| | Adjust + 9 | - -## TenkeyPad layout - -![fig3](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3key.png) - -## Note - -![fig4](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/d6e9af7684c051de4744b9dee9cd96b762bf4e2d/five_rows_making2.jpg) diff --git a/keyboards/helix/rev2/keymaps/five_rows/README_jp.md b/keyboards/helix/rev2/keymaps/five_rows/README_jp.md deleted file mode 100644 index 317ffdd71ddb..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/README_jp.md +++ /dev/null @@ -1,121 +0,0 @@ -# Keymap for 5 rows Helix keyboard - -朎キママップãŊ、Helix キマボマドãŪ5行į‰ˆå°‚į”ĻãŪキママップです。 - -æ™Ū通ãŪキマボマドä―ŋį”Ļč€…ãŒã€Helix キマボマドをä―ŋうãĻきãŦおるãđく違いが少おくæˆļ惑いが少おくおるようãŦ意å›ģしたキママップです。意å›ģ通り成功しãĶいるかãĐうかãŊä―ŋį”Ļする䚚ãŪåˆĪ断で、、、) - -## キマ配į―Ū -äŧĨäļ‹ãŦ、Qwerty配列時ãŪ、文字配列ãŪå›ģをįĪšã—ãūす。 - -![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3.png) - -## ノã‚ĪãƒĪマ - -|å„Šå…ˆé †ä―|į•Šå·|名į§°|内åŪđ| -| ---- | ---- | --- | --- | -|éŦ˜ã„|9|Adjust|æĐŸčƒ―ã‚­ãƒžïžˆįīŦ| -||8|KFunction|テãƒģキマパッドį”Ļãƒ•ã‚Ąãƒģã‚Ŋショãƒģã‚­ãƒžéĄžïžˆé’ïž‰| -||7|Extra char|čĻ˜å·éĄžïžˆčĩĪ| -||6|Function|ãƒ•ã‚Ąãƒģã‚Ŋショãƒģã‚­ãƒžéĄžïžˆé’ïž‰| -||3|Keypad|テãƒģキマパッド配列| -||2|Dvorak|Dvorak配列| -||1|Colemak|Colemak配列| -|ä―Žã„|0|Qwerty|QWERTY配列ベマã‚đ| - -Qwerty/Colemak/Dvorak/Keypad ãŪ各ノã‚ĪãƒĪマãŊ、åūŒčŋ°ã™ã‚‹ã€Ajuestノã‚ĪãƒĪマãŪ キマãŦよるéļ択で、いずれかäļ€ãĪだけが有åŠđãŦおり、æĻ™æš–ãŪキママップãĻおりãūす。 - -Function ノã‚ĪãƒĪマãŊ、äļ‹æŪĩäļĄįŦŊãŪ4ãĪãŪFnキマãŪãĐれかãēãĻãĪを択しãĶいる間だけ有åŠđãŦおり、įŸĒ印キマį­‰ãŪナビã‚ēマショãƒģキマや F1, F2, ...F12キマおãĐが配į―ŪされãĶいãūす。 -äļŠãŪå›ģãŪ青č‰ēãŪåˆŧ印ãŪキマãŪあるノã‚ĪãƒĪマです。 - -Extra ノã‚ĪãƒĪマãŊ、äļ‹æŪĩäļ­åĪŪéƒĻãŪ Enter キマか BS キマをäļ€åŪšæ™‚é–“(0.2į§’)äŧĨäļŠæŠžã—ãĶいるãĻ択しãĶいる間だけ有åŠđãŦおり、'+=-_[]{}' ãŪ 8ãĪãŪčĻ˜å·ãĻã€Œč‹ąæ•°ã€ã‚­ãƒžã€ã€Œã‹ãŠã€ã‚­ãƒžãŒé…į―ŪされãĶいãūす。 -こãŪため、Enter/BS キマで Enter/BS をå…Ĩ力するãŦãŊ、Enter/BSキマを択しãĶįŸ­æ™‚間ですぐé›ĒしãĶください。 -äļŠãŪå›ģãŪčĩĪč‰ēãŪåˆŧ印ãŪキマãŪあるノã‚ĪãƒĪマです。 - -Adjust ノã‚ĪãƒĪマãŊ、Adjust キマを択しãĶいる間有åŠđãŦおりãūす。 -Adjust キマãŊ Function ノã‚ĪãƒĪマãŦ有り、äļ‹æŪĩäļĄįŦŊãŪ4ãĪãŪFnキマãŪãĐれかäļ€ãĪを択しおがら、äļ‹æŪĩäļ­åĪŪéƒĻãŪ Enter キマか BS キマを択すこãĻで Adjust ノã‚ĪãƒĪマが有åŠđãŦおりãūす。 -Adjust キマ (Enter/BS)を択したåūŒãŊ、FnキマãŊé›ĒしãĶ構いãūせん。 - -### Adjust ノã‚ĪãƒĪマ -Ajust ノã‚ĪãƒĪマãŊ、LEDãŪã‚ģãƒģトロマãƒŦ、Mac/Win ãƒĒマドãŪ切りæ›ŋえ、Qwerty配列, Colemak配列, Dvorak配列, TenkeyPad配列ãŪ切りæ›ŋãˆãŒčĄŒãˆãūす。 - -![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3adj.png) - -### MacãƒĒマドãĻWinãƒĒマド -キマボマドãŦãŊ、Mac ãƒĒマドãĻ、Win ãƒĒマドãŪ乌ãĪãŪãƒĒマドがありãūす。 - -įūåœĻãŪãƒĒマドãŊOLEDãŦã‚Ēã‚Īã‚ģãƒģãĻしãĶčĄĻįĪšã•ã‚Œãūす。 -(äŧĨäļ‹ãŪ指åŪšã‚­ãƒžãŊ、Qwerty配列時ãŪ文字をä―ŋãĢãĶキマをčĄĻįĪšã—ãĶいãūす - -|ã‚ģマãƒģド|指åŪšã‚­ãƒž|ã‚ģマド| -| ---- | ---- | --- | -|MacãƒĒマド|Adjust + g(Qwerty)|AG_NORM| -| |Adjust + h(Qwerty)| | -|WinãƒĒマド|Adjust + t(Qwerty)|AG_SWAP| -| |Adjust + y(Qwerty)| | - -Mac ãƒĒマドãĻ Win ãƒĒマドでãŊ、AltキマãĻWin(GUI)キマがå…Ĩれæ›ŋわりãūす。 - -Mac ãƒĒマドでãŊ、Extra ノã‚ĪãƒĪマ ãŪã€Œč‹ąæ•°ã€ã‚­ãƒžãĻã€Œã‹ãŠã€ã‚­ãƒžã§č‹ąčŠžãƒĒマドãĻæ—ĨæœŽčŠžãƒĒマドãŪ切りæ›ŋえができãūす。 - -WinãƒĒマドでãŊ、čĐēå―“ãŪキマãŊãĐãĄã‚‰ã‚‚å…ąãŦ Alt + `æ—ĨæœŽčŠžIMEãŪ切りæ›ŋえãĻしãĶå…Ĩ力されãūす。 - -### LEDã‚ģãƒģトロマãƒŦ - -バッã‚ŊãƒĐã‚ĪトやUnderglowをã‚ģãƒģトロマãƒŦするãŦãŊAdjustノã‚ĪãƒĪマãŦあるæĐŸčƒ―ã‚­ãƒžã‚’ä―ŋいãūす。 -(äŧĨäļ‹ãŪ指åŪšã‚­ãƒžãŊ、Qwerty配列時ãŪ文字をä―ŋãĢãĶキマをčĄĻįĪšã—ãĶいãūす - -|ã‚ģマãƒģド|指åŪšã‚­ãƒž|ã‚ģマド| -| ---- | ---- | --- | -|ã‚Šãƒģりフ|Adjust + e(Qwerty)|RGB_TOG| -| |Adjust + i(Qwerty)| | -|ãƒĒマド切りæ›ŋえ|Adjust + d(Qwerty) |RGB_MOD| -| |Adjust + k(Qwerty)| | -|č‰ēį›ļ +|Adjust + Left Control|RGB_HUI| -| |Adjust + Right Control| | -|č‰ēį›ļ -|Adjust + Left Shift |RGB_HUD| -| |Adjust + Right Shift | | -|å―ĐåšĶ +|Adjust + ;(Qwerty) |RGB_SAI| -| |Adjust + a(Qwerty) | | -|å―ĐåšĶ -|Adjust + z(Qwerty) |RGB_SAD| -| |Adjust + /(Qwerty) | | -|明åšĶ +|Adjust + s(Qwerty) |RGB_VAI| -| |Adjust + l(Qwerty) | | -|明åšĶ -|Adjust + x(Qwerty) |RGB_VAD| -| |Adjust + >(Qwerty) | | -|ナã‚ŧット|Adjust + w|RGBRST| - -### 文字配列éļ択 -Qwerty, Colemak, Dvorak, Keypad それぞれãŪ文字配列ãŪéļ択ãŊäŧĨäļ‹ãŪキマをä―ŋいãūす。 - -|éļ択配列|指åŪšã‚­ãƒž| -| ---- | ---- | -|Qwerty | Adjust + 5 | -| | Adjust + 6 | -|Calemak| Adjust + 4 | -| | Adjust + 7 | -|Dvorak | Adjust + 3 | -| | Adjust + 8 | -|Keypad | Adjust + 2 | -| | Adjust + 9 | - -## テãƒģキマパッドãŪキマ配į―Ū -äŧĨäļ‹ãŦ、テãƒģキマパッド配列時ãŪ、文字配列ãŪå›ģをįĪšã—ãūす。 - -![fig3](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3key.png) - -å›ģでわかるようãŦ、テãƒģキマãĻ F1,F2..F12 ãŪキマå…Ĩ力ができる配列です。 -F12キマãŊäļ€åŪšæ™‚é–“(0.2į§’)äŧĨäļŠæŠžã—ãĶいるãĻ KFunc キマãĻしãĶ働き、択しãĶいる間ãŊ、青č‰ēãŪåˆŧ印ãŪキマå…ĨåŠ›ã‚’čĄŒãˆãūす。 -F12 そãŪもãŪをå…Ĩ力するãĻきãŊ択しãĶįŸ­æ™‚間ですぐé›ĒしãĶください。 -F12キマを択しãĶいるãĻきãŊ、F11キマ ãŊ Adjust キマãĻおり、Adjust ノã‚ĪãƒĪマが有åŠđãŦおりãūす。 -これãŦよãĢãĶ、Qwerty 配列おãĐãŦæˆŧすこãĻがåŊčƒ―ãŦおりãūす。 - -## å‚™č€ƒ -朎キママップãŊ、通åļļãŪキマボマドãŪäļŧčĶéƒĻ分ãŪホマムポã‚ļショãƒģå‘Ļčūšã‚’おるãđくそãŪãūãūčļčĨēするæ–đé‡ã§ä―œæˆã—ãūした。 -åĪ‰æ›īį‚đãŊäŧĨäļ‹ãŪ通りです。 - - * åģ手小指ãŦよりåĪšãå‰ēã‚Šå―“ãŸãĢãĶいた5ãĪãŪčĻ˜å·ãĻå·ĶäļŠãŪ1ãĪãŪčĻ˜å·ã‚’äļ­åĪŪãŦ集め䚚å·Ūし指ãŪæ‹…å―“ãĻする。 - * Enter キマをčĶŠæŒ‡æ‹…å―“ãĻしãĶäļ­åĪŪ手前ãŦį§ŧ動。 - * Control キマをå·Ķåģå…ąãŦホマムポã‚ļショãƒģãŪ行ãŦį§ŧ動。 - * å·Ķ手čĶŠæŒ‡ãŦ BackSpace キマをå‰ēã‚Šå―“ãĶる。 - -![fig4](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/d6e9af7684c051de4744b9dee9cd96b762bf4e2d/five_rows_making2.jpg) diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h deleted file mode 100644 index 43f14aaf2c9e..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/config.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2022 Takeshi Ishii (mtei@github) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#undef TAPPING_TERM -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD - -#undef OLED_UPDATE_INTERVAL -#ifdef DEBUG_MATRIX_SCAN_RATE -# define OLED_UPDATE_INTERVAL 500 -#else -# define OLED_UPDATE_INTERVAL 50 -#endif - diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c deleted file mode 100644 index dc2759d5b6aa..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c +++ /dev/null @@ -1,474 +0,0 @@ -/* Copyright 2020 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "key_blocks.h" -#include "layer_number_util.h" - -#ifdef ENABLE_COLEMAK -# define COLEMAK_Colemak (COLEMAK, " Colemak"), -#else -# define COLEMAK_Colemak -#endif -#ifdef ENABLE_DVORAK -# define DVORAK_Dvorak (DVORAK, " Dvorak"), -#else -# define DVORAK_Dvorak -#endif -#ifdef ENABLE_EUCALYN -# define EUCALYN_Eucalyn (EUCALYN, " Eucalyn"), -#else -# define EUCALYN_Eucalyn -#endif - -#define LAYER_NAME_LIST \ - (QWERTY, " Qwerty"), \ - COLEMAK_Colemak \ - DVORAK_Dvorak \ - EUCALYN_Eucalyn \ - (KEYPAD, " Keypad"), \ - (AUX, ":AUX"), \ - (KAUX, ":00"), \ - (LOWER, ":Func"), \ - (RAISE, ":Extra"), \ - (PADFUNC, ":PadFunc"), \ - (ADJUST, ":Adjust") - -enum layer_number { - // _QWERTY, _COLEMAK, ... - MAP(BUILD_LAYER_ENUM_NUMBER, LAYER_NAME_LIST) -}; - -#ifdef OLED_ENABLE -// static const char QWERTY_name[] PROGMEM = " Qwerty"; ... -MAP(BUILD_LAYER_NAME_STR, LAYER_NAME_LIST) - -const char *layer_names[] = { - // [_QWERTY] = QWERTY_name, ... - MAP(BUILD_LAYER_NAME_TABLE, LAYER_NAME_LIST) -}; -#endif - -const size_t num_of_layer_names = GET_ITEM_COUNT(LAYER_NAME_LIST); - -extern keymap_config_t keymap_config; - -extern uint8_t is_master; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - EUCALYN, - KEYPAD, - xEISU, - xKANA, - ZERO2, - RGBRST -}; - -// clang-format off - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -//Macros -#define KC_LOWER MO(_LOWER) -#define XXXX XXXXXXX -#define ____ _______ -#define KC_ADJ MO(_ADJUST) - -#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ - KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) -#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ - LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER -#define GRV__QUOT KC_GRV, KC_QUOT - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | S | D | F | G | | H | J | K | L | ; |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | B | ` | ' | N | M | , | . | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, - KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), - - /* Colemak */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | R | S | T | D | | H | N | E | I | O |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | B | ` | ' | K | M | , | . | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_COLEMAK - [_COLEMAK] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, - KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Dvorak */ -#define GRV__SLSH KC_GRV, KC_SLSH - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | O | E | U | I | | D | H | T | N | S |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| ; | Q | J | K | X | ` | / | B | M | W | V | Z |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_DVORAK - [_DVORAK] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, - KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, - KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | O | E | I | U | | G | T | K | S | N |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | F | ` | ' | B | H | J | L | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_EUCALYN - [_EUCALYN] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, - KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Keypad */ -#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST -#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9 -#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6 -#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3 -#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT -#define F1___F6 KC_F1, KC_F6 -#define F2___F7 KC_F2, KC_F7 -#define F3___F8 KC_F3, KC_F8 -#define F4___F9 KC_F4, KC_F9 -#define F5__F10 KC_F5, KC_F10 -#define FF12 LT(_PADFUNC,KC_F12) - /* ,-----------------------------------. ,-----------------------------------. - * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | 4 | 5 | 6 | - | F3 | F8 | | F3 | F8 | - | 4 | 5 | 6 | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | 1 | 2 | 3 | + | F4 | F9 | F11 | F11 | F4 | F9 | + | 1 | 2 | 3 | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . | - * `-----------------------------------------------------------------------------------' - */ - [_KEYPAD] = LAYOUT_wrapper( - KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST, - KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9, - KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6, - KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3, - KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT - ), - - /* AUX modifier key layer - * ,-----------------------------------. ,-----------------------------------. - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | | 00 | | | | | | | | | | | 00 | | - * `-----------------------------------------------------------------------------------' - */ - [_KAUX] = LAYOUT( - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ - ), - - /* Keypad function layer */ -#define PAUS__SLCK__PSCR KC_PAUS, KC_SCRL, KC_PSCR -#define PSCR__SLCK__PAUS KC_PSCR, KC_SCRL, KC_PAUS -#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP -#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME -#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT -#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL -#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |Delete|Insert| Left | Down | Right| | Left | Down | Right|Insert|Delete| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | End | | PgDn |Adjust|Adjust| PgDn | | End | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_PADFUNC] = LAYOUT_wrapper( - XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX, - XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX, - XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX - ), - - /* Lower */ -#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SCRL, KC_INS -#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SCRL, KC_PAUS, XXXX -#define ADJ___ADJ KC_ADJ, KC_ADJ -#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP -#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME -#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN -#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END - /* ,-----------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | PrtSc| | | | | | | | | PrtSc| | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_wrapper( - XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, - XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12, - ____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____, - ____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____, - ____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____ - ), - - /* Raise */ -#define UNDS__MINS KC_UNDS, KC_MINS -#define EQL___PLUS KC_EQL, KC_PLUS -#define LCBR__LBRC KC_LCBR, KC_LBRC -#define RBRC__RCBR KC_RBRC, KC_RCBR -#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -#define EISU__EISU xEISU, xEISU -#define KANA__KANA xKANA, xKANA - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | _ | - | | = | + | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | { | [ | | ] | } | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | EISU | EISU | KANA | KANA | Next | Vol- | Vol+ | Play | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_wrapper( - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX, - ____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____, - ____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____, - ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | |Keypad|Dvorak|Colemk|Euclyn|Qwerty| |Qwerty|Euclyn|Colemk|Dvorak|Keypad| | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win |Aud on|RGB ON|RGBRST| | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | HUE+ | SAT+ | VAL+ |RGB md|Audoff| Mac | | Mac |Audoff|RGB md| VAL+ | SAT+ | HUE+ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | HUE- | SAT- | VAL- | | | | | | | | | VAL- | SAT- | HUE- | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, - XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ - ), - - /* AUX modifier key layer */ -#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT) - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | BS | Enter| | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_AUX] = LAYOUT_wrapper( - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____ - ) -}; - -int current_default_layer; - -layer_state_t default_layer_state_set_user(layer_state_t state) { - current_default_layer = get_highest_layer(state); - return state; -} - -void update_base_layer(int base) -{ - if( current_default_layer != base ) { - eeconfig_update_default_layer(1UL<event.pressed) { - update_base_layer(_QWERTY); - } - return false; - break; - case COLEMAK: -#ifdef ENABLE_COLEMAK - if (record->event.pressed) { - update_base_layer(_COLEMAK); - } -#endif - return false; - break; - case DVORAK: -#ifdef ENABLE_DVORAK - if (record->event.pressed) { - update_base_layer(_DVORAK); - } -#endif - return false; - break; - case EUCALYN: -#ifdef ENABLE_EUCALYN - if (record->event.pressed) { - update_base_layer(_EUCALYN); - } -#endif - return false; - break; - case KEYPAD: - if (record->event.pressed) { - update_base_layer(_KEYPAD); - } - return false; - break; - case ZERO2: - if (record->event.pressed) { - SEND_STRING("00"); - } - return false; - break; - case xEISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case xKANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - break; - } - return true; -} diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk deleted file mode 100644 index 3097316fba0a..000000000000 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -USER_NAME := mtei -SPLIT_KEYBOARD = yes - - CONSOLE_ENABLE = no # Console for debug - COMMAND_ENABLE = no # Commands for debug and configuration - # CONSOLE_ENABLE and COMMAND_ENABLE - # yes, no +1500 - # yes, yes +3200 - # no, yes +400 -LTO_ENABLE = no # if firmware size over limit, try this option -LED_ANIMATIONS = yes - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: äŧĨäļ‹ãŪ7ãĪãŪåĪ‰æ•°ã‚’åŋ…čĶãŦåŋœã˜ãĶį·Ļ集し、ã‚ģãƒĄãƒģトã‚Ēã‚ĶトをãŊずしãūす。 -# OLED_ENABLE = no # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -OLED_SELECT = core - -SRC += oled_display.c diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index 32b446c498dd..75e50968bcfe 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -2,9 +2,6 @@ #include "keymap_japanese.h" #include #include -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif // * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. * // #define ADJUST_MACRO_ENABLE @@ -192,7 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#if defined(SSD1306OLED) || defined(OLED_ENABLE) +#if defined(OLED_ENABLE) char keylog[24] = {}; const char code_to_name[60] = { ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', @@ -205,7 +202,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 +215,9 @@ static inline void set_keylog(uint16_t keycode, keyrecord_t *record) record->event.key.col, keycode, name, - (leds & (1<event.pressed) { set_keylog(keycode, record); } @@ -310,121 +307,8 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -static inline void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE _BASE -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) -#define L_LOW_E (1<<_LOW_E) -#define L_RAI_E (1<<_RAI_E) -#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E) - -const char helix_logo[]={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - -static inline void render_logo(struct CharacterMatrix *matrix) { - - matrix_write(matrix, helix_logo); -} - -const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - -static inline void render_status(struct CharacterMatrix *matrix) { - - char buf[20]; - // Render to mode icon - if(keymap_config.swap_lalt_lgui==false){ - matrix_write(matrix, mac_win_logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, mac_win_logo[0][1]); - } else { - matrix_write(matrix, mac_win_logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, mac_win_logo[1][1]); - } - - #ifdef RGBLIGHT_ENABLE - snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode); - matrix_write(matrix, buf); - #endif - - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - matrix_write_P(matrix, PSTR("\nLayer: ")); - switch (layer_state) { - case L_BASE: - matrix_write_P(matrix, default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base")); - break; - case L_RAISE: - matrix_write_P(matrix, PSTR("Raise")); - break; - case L_RAI_E: - matrix_write_P(matrix, PSTR("RaiseEx")); - break; - case L_LOWER: - matrix_write_P(matrix, PSTR("Lower")); - break; - case L_LOW_E: - matrix_write_P(matrix, PSTR("LowerEx")); - break; - case L_ADJUST: - case L_ADJUST_TRI: - case L_ADJUST_TRIE: - matrix_write_P(matrix, PSTR("Adjust")); - break; - default: - snprintf(buf, sizeof(buf), "%d", (short)layer_state); - matrix_write(matrix, buf); - } - - matrix_write(matrix, keylog); -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - - #if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } - #endif - - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - } - - matrix_update(&display, &matrix); } -#endif // end of SSD1306OLED - //OLED update loop #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c index 8463365f59d3..1680147157de 100644 --- a/keyboards/helix/rev2/keymaps/froggy/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c @@ -4,10 +4,6 @@ #define MIN(x, y) (((x) < (y)) ? (x) : (y)) #define MAX(x, y) (((x) > (y)) ? (x) : (y)) -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - #define LAYOUT_half( \ L00, L01, L02, L03, L04, L05, \ L10, L11, L12, L13, L14, L15, \ @@ -185,7 +181,6 @@ float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); #endif // define variables for reactive RGB @@ -444,44 +439,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { //keyboard start-up code. Runs once when the firmware starts up. void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick -} - -void shutdown_user(void) -{ - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); } -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif - //assign the right code to your layers for OLED display #define L_BASE 0 @@ -555,10 +517,6 @@ uint8_t layer_state_old; //runs every scan cycle (a lot) void matrix_scan_user(void) { - #ifdef SSD1306OLED - iota_gfx_task(); // this is what updates the display continuously - #endif - if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){ register_delay_code(_BASE); if(!delay_key_pressed){ @@ -629,119 +587,6 @@ void matrix_scan_user(void) { #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -// Render to OLED -void render_status(struct CharacterMatrix *matrix) { - - // froggy logo - static char logo[4][1][17]= - { - { - {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0} - }, - { - {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0} - }, - { - {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0} - }, - { - {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0} - } - }; - - static char indctr[8][2][4]= - { - // white icon - { - {0x60,0x61,0x62,0}, - {0x63,0x64,0} - }, - { - {0x80,0x81,0x82,0}, - {0x83,0x84,0} - }, - { - {0xa0,0xa1,0xa2,0}, - {0xa3,0xa4,0} - }, - { - {0xc0,0xc1,0xc2,0}, - {0xc3,0xc4,0} - }, - // Black icon - { - {0x75,0x76,0x77,0}, - {0x78,0x79,0} - }, - { - {0x95,0x96,0x97,0}, - {0x98,0x99,0} - }, - { - {0xb5,0xb6,0xb7,0}, - {0xb8,0xb9,0} - }, - { - {0xd5,0xd6,0xd7,0}, - {0xd8,0xd9,0} - }, - }; - - int rown = 0; - int rowf = 0; - int rowa = 0; - int rows = 0; - - //Set Indicator icon - if (host_keyboard_leds() & (1< -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #define LAYOUT_half( \ L00, L01, L02, L03, L04, L05, \ @@ -563,15 +560,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -//keyboard start-up code. Runs once when the firmware starts up. -void matrix_init_user(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - // LED Effect #ifdef RGBLIGHT_ENABLE unsigned char rgb[7][5][3]; @@ -632,10 +620,6 @@ layer_state_t layer_state_old; //runs every scan cycle (a lot) void matrix_scan_user(void) { - #ifdef SSD1306OLED - iota_gfx_task(); // this is what updates the display continuously - #endif - if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){ if (IS_MODE_106()) register_delay_code(_BASE_106); @@ -693,141 +677,6 @@ void matrix_scan_user(void) { #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -// Render to OLED -void render_status(struct CharacterMatrix *matrix) { - - // froggy logo - static char logo[4][17]= - { - {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}, - {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}, - {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}, - {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}, - }; - - static char modectl[4][2][4]= - { - { - {0x65,0x66,0x67,0}, //WIN - {0x85,0x86,0x87,0}, //WIN - }, - { - {0xa5,0xa6,0xa7,0}, //US(101) - {0xc5,0xc6,0xc7,0}, //US(101) - }, - { - {0xbd,0xbe,0xbf,0}, //MAC - {0xdd,0xde,0xdf,0}, //MAC - }, - { - {0xba,0xbb,0xbc,0}, //JP(106) - {0xda,0xdb,0xdc,0}, //JP(106) - }, - }; - - static char indctr[8][2][4]= - { - // white icon - { - {0x60,0x61,0x62,0}, //NUM - {0x63,0x64,0} //FUNC - }, - { - {0x80,0x81,0x82,0}, //NUM - {0x83,0x84,0} //FUNC - }, - { - {0xa0,0xa1,0xa2,0}, //CAPS - {0xa3,0xa4,0} //SCLK - }, - { - {0xc0,0xc1,0xc2,0}, //CAPS - {0xc3,0xc4,0} //SCLK - }, - // Black icon - { - {0x75,0x76,0x77,0}, //NUM - {0x78,0x79,0} //FUNC - }, - { - {0x95,0x96,0x97,0}, //NUM - {0x98,0x99,0} //FUNC - }, - { - {0xb5,0xb6,0xb7,0}, //CAPS - {0xb8,0xb9,0} //SCLK - }, - { - {0xd5,0xd6,0xd7,0}, //CAPS - {0xd8,0xd9,0} //SCLK - }, - }; - - int rown = 0; - int rowf = 0; - int rowa = 0; - int rows = 0; - int rowm = 0; - int rowj = 1; - - //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 - -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//#define RGBLIGHT_EFFECT_RGB_TEST -//#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/rev2/keymaps/xulkal/keymap.c b/keyboards/helix/rev2/keymaps/xulkal/keymap.c deleted file mode 100644 index 28ca2e807bd0..000000000000 --- a/keyboards/helix/rev2/keymaps/xulkal/keymap.c +++ /dev/null @@ -1,69 +0,0 @@ -#include QMK_KEYBOARD_H -#include "xulkal.h" - -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" -#endif - -#define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BkSp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * |FN(CAPS)| A | S | D | F | G | | H | J | K | L | ; | Enter| - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Sft[ | Z | X | C | V | B |RGBTOG|RGBRST| N | M | , | . | / | Sft] | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctl- | Win | LOWER| RAISE| Alt | Space|RGBRMOD|RGBMOD|Space| Left | Up | Down | Right| Ctl= | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = EXPAND_LAYOUT( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, - _________________QWERTY_L4_________________, KC_MINS, KC_EQL, _________________QWERTY_R4_________________, - _________________QWERTY_L5_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R5_________________ - ), - -#ifndef GAMELAYER_DISABLE - [_GAME] = EXPAND_LAYOUT( - ___________________GAME_L1_________________, ___________________GAME_R1_________________, - ___________________GAME_L2_________________, ___________________GAME_R2_________________, - ___________________GAME_L3_________________, ___________________GAME_R3_________________, - ___________________GAME_L4_________________, KC_MINS, KC_EQL, ___________________GAME_R4_________________, - ___________________GAME_L5_________________, KC_LBRC, KC_RBRC, ___________________GAME_R5_________________ - ), -#endif - - [_LOWER] = EXPAND_LAYOUT( - __________________LOWER_L1_________________, __________________LOWER_R1_________________, - __________________LOWER_L2_________________, __________________LOWER_R2_________________, - __________________LOWER_L3_________________, __________________LOWER_R3_________________, - __________________LOWER_L4_________________, _______, _______, __________________LOWER_R4_________________, - __________________LOWER_L5_________________, _______, _______, __________________LOWER_R5_________________ - ), - - [_RAISE] = EXPAND_LAYOUT( - __________________RAISE_L1_________________, __________________RAISE_R1_________________, - __________________RAISE_L2_________________, __________________RAISE_R2_________________, - __________________RAISE_L3_________________, __________________RAISE_R3_________________, - __________________RAISE_L4_________________, _______, _______, __________________RAISE_R4_________________, - __________________RAISE_L5_________________, _______, _______, __________________RAISE_R5_________________ - ), - -#ifdef TRILAYER_ENABLED - [_ADJUST] = EXPAND_LAYOUT( - _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, - _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, - _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, - _________________ADJUST_L4_________________, _______, _______, _________________ADJUST_R4_________________, - _________________ADJUST_L5_________________, _______, _______, _________________ADJUST_R5_________________ - ), -#endif -}; diff --git a/keyboards/helix/rev2/keymaps/xulkal/rules.mk b/keyboards/helix/rev2/keymaps/xulkal/rules.mk deleted file mode 100644 index 5a9c1e28906f..000000000000 --- a/keyboards/helix/rev2/keymaps/xulkal/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -RGBLIGHT_ENABLE = yes -# Helix specific define for correct RGBLED_NUM -OPT_DEFS += -DRGBLED_BACK - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -# Helix specific font file -OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" -# Xulkal specific oled define -OPT_DEFS += -DOLED_90ROTATION - -SPLIT_KEYBOARD = yes - -# Explicitly disable helix standard post-processing -KEYBOARD_LOCAL_FEATURES_MK := diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/config.h b/keyboards/helix/rev2/keymaps/yshrsmz/config.h deleted file mode 100644 index b8c1041cdc7b..000000000000 --- a/keyboards/helix/rev2/keymaps/yshrsmz/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c deleted file mode 100644 index b3ae8a3d25c8..000000000000 --- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c +++ /dev/null @@ -1,610 +0,0 @@ -#include QMK_KEYBOARD_H -#include -#include -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - -// 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, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, - BACKLIT, - EISU, - KANA, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -//Macros -#define M_SAMPLE M(KC_SAMPLEMACRO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_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_DEL, - 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Colemak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_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_DEL, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = 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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_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_PGDN, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Reset|RGBRST| | | | | | | | | | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - * `-------------------------------------------------------------------------------------------------' - */ - [_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, - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD - ) -}; - -#ifdef AUDIO_ENABLE - -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_plover[][2] = SONG(PLOVER_SOUND); -float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); -#endif - -// define variables for reactive RGB -bool TOG_STATUS = false; -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); - #endif - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE + 1); - #endif - } - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - TOG_STATUS = false; - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE); - #endif - } - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - layer_off(_RAISE); - TOG_STATUS = false; - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - return false; - break; - case EISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - startup_user(); - #endif - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - - -#ifdef AUDIO_ENABLE - -void startup_user(void) -{ - _delay_ms(20); // gets rid of tick -} - -void shutdown_user(void) -{ - _delay_ms(150); - stop_all_notes(); -} - -void music_on_user(void) -{ - music_scale_user(); -} - -void music_scale_user(void) -{ - PLAY_SONG(music_scale); -} - -#endif - - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE 0 -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) - -static void render_logo(struct CharacterMatrix *matrix) { - - static const char helix_logo[] PROGMEM ={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - matrix_write_P(matrix, helix_logo); - //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); -} - -static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { -#ifdef RGBLIGHT_ENABLE - char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - matrix_write(matrix, buf); - } -#endif -} - -static void render_layer_status(struct CharacterMatrix *matrix) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - matrix_write_P(matrix, PSTR("Layer: ")); - switch (layer_state) { - case L_BASE: - matrix_write_P(matrix, PSTR("Default")); - break; - case L_RAISE: - matrix_write_P(matrix, PSTR("Raise")); - break; - case L_LOWER: - matrix_write_P(matrix, PSTR("Lower")); - break; - case L_ADJUST: - case L_ADJUST_TRI: - matrix_write_P(matrix, PSTR("Adjust")); - break; - default: - matrix_write_P(matrix, PSTR("Undef-")); - snprintf(buf,sizeof(buf), "%ld", layer_state); - matrix_write(matrix, buf); - } -} - -void render_status(struct CharacterMatrix *matrix) { - - // Render to mode icon - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if(keymap_config.swap_lalt_lgui==false){ - matrix_write_P(matrix, os_logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write_P(matrix, os_logo[0][1]); - }else{ - matrix_write_P(matrix, os_logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write_P(matrix, os_logo[1][1]); - } - - matrix_write_P(matrix, PSTR(" ")); - render_layer_status(matrix); - matrix_write_P(matrix, PSTR("\n")); - - // Host Keyboard LED Status - matrix_write_P(matrix, (host_keyboard_leds() & (1< 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - oled_write(buf, false); - } -# endif -} - -static void render_layer_status(void) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(PSTR("Default"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - oled_write_P(PSTR("Adjust"), false); - break; - default: - oled_write_P(PSTR("Undef-"), false); - snprintf(buf,sizeof(buf), "%ld", layer_state); - oled_write(buf, false); - } - oled_write_P(PSTR("\n"), false); -} - -void render_status(void) { - // Render to mode icon - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if (keymap_config.swap_lalt_lgui==false) { - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - } else { - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - oled_write_P(PSTR(" "), false); - render_layer_status(); - - // Host Keyboard LED Status - oled_write_P((host_keyboard_leds() & (1< else diff --git a/keyboards/helix/rev2/qmk_conf/config.h b/keyboards/helix/rev2/qmk_conf/config.h deleted file mode 100644 index b8c1041cdc7b..000000000000 --- a/keyboards/helix/rev2/qmk_conf/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h index 2eda425a4f13..000f99834a4a 100644 --- a/keyboards/helix/rev3_4rows/config.h +++ b/keyboards/helix/rev3_4rows/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#include - /* key matrix size */ #define MATRIX_ROWS 8 #define MATRIX_COLS 7 @@ -43,13 +41,8 @@ along with this program. If not, see . #define SPLIT_HAND_MATRIX_GRID D7,B2 #define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT -/* 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,28 +50,6 @@ 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 RGBLED_SPLIT { 25, 25 } -// #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 #endif /* Custom font */ diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json index 9a832bbb5b9f..79d4847c7b02 100644 --- a/keyboards/helix/rev3_4rows/info.json +++ b/keyboards/helix/rev3_4rows/info.json @@ -9,7 +9,13 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 + }, + "dip_switch": { + "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ] }, "encoder": { "rotary": [ @@ -23,7 +29,15 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 120 + "led_count": 50, + "max_brightness": 120, + "split_count": [25, 25], + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "rgb_test": true + } }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c b/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c index e951f627c838..ee5277a7df9f 100644 --- a/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c +++ b/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c @@ -16,6 +16,8 @@ #include QMK_KEYBOARD_H +#include + // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY = 0, diff --git a/keyboards/helix/rev3_4rows/keymaps/via/oled_display.c b/keyboards/helix/rev3_4rows/keymaps/via/oled_display.c index e951f627c838..ee5277a7df9f 100644 --- a/keyboards/helix/rev3_4rows/keymaps/via/oled_display.c +++ b/keyboards/helix/rev3_4rows/keymaps/via/oled_display.c @@ -16,6 +16,8 @@ #include QMK_KEYBOARD_H +#include + // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY = 0, diff --git a/keyboards/helix/rev3_4rows/rules.mk b/keyboards/helix/rev3_4rows/rules.mk index 23b73845f0aa..a46f9d9c59f3 100644 --- a/keyboards/helix/rev3_4rows/rules.mk +++ b/keyboards/helix/rev3_4rows/rules.mk @@ -3,7 +3,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = no LTO_ENABLE = yes diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index bd09cc60abef..44bbc5f194ce 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#include - /* key matrix size */ #define MATRIX_ROWS 10 #define MATRIX_COLS 7 @@ -43,13 +41,8 @@ along with this program. If not, see . #define SPLIT_HAND_MATRIX_GRID D7,B2 #define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT -/* 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,28 +50,6 @@ 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 RGBLED_SPLIT { 32, 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 -// #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 #endif /* Custom font */ diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json index 2ae80dd90113..5eb5aee93feb 100644 --- a/keyboards/helix/rev3_5rows/info.json +++ b/keyboards/helix/rev3_5rows/info.json @@ -9,7 +9,81 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 + "layout": [ + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, + {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, + {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, + {"matrix": [4, 4], "x": 64, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, + {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [5, 5], "x": 144, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 160, "y": 0, "flags": 4}, + {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 192, "y": 0, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 16, "flags": 4}, + {"matrix": [6, 2], "x": 192, "y": 16, "flags": 4}, + {"matrix": [6, 3], "x": 176, "y": 16, "flags": 4}, + {"matrix": [6, 4], "x": 160, "y": 16, "flags": 4}, + {"matrix": [6, 5], "x": 144, "y": 16, "flags": 4}, + {"matrix": [7, 5], "x": 144, "y": 32, "flags": 4}, + {"matrix": [7, 4], "x": 160, "y": 32, "flags": 4}, + {"matrix": [7, 3], "x": 176, "y": 32, "flags": 4}, + {"matrix": [7, 2], "x": 192, "y": 32, "flags": 4}, + {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, + {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4}, + {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4}, + {"matrix": [8, 2], "x": 192, "y": 48, "flags": 4}, + {"matrix": [8, 3], "x": 176, "y": 48, "flags": 4}, + {"matrix": [8, 4], "x": 160, "y": 48, "flags": 4}, + {"matrix": [8, 5], "x": 144, "y": 48, "flags": 4}, + {"matrix": [8, 6], "x": 128, "y": 48, "flags": 4}, + {"matrix": [9, 6], "x": 128, "y": 64, "flags": 4}, + {"matrix": [9, 5], "x": 144, "y": 64, "flags": 4}, + {"matrix": [9, 4], "x": 160, "y": 64, "flags": 4}, + {"matrix": [9, 3], "x": 176, "y": 64, "flags": 4}, + {"matrix": [9, 2], "x": 192, "y": 64, "flags": 4}, + {"matrix": [9, 1], "x": 208, "y": 64, "flags": 4}, + {"matrix": [9, 0], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 128, + "split_count": [32, 32] + }, + "dip_switch": { + "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ] }, "encoder": { "rotary": [ @@ -23,7 +97,14 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 120 + "led_count": 64, + "max_brightness": 120, + "split_count": [32, 32], + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true + } }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c index 5ca944914a08..2d637c365d17 100644 --- a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c @@ -121,22 +121,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left side encoder */ - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } else if (index == 1) { /* Right side encoder */ - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - } - return true; -} +#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_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_HOME, KC_END) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); diff --git a/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c index e951f627c838..ee5277a7df9f 100644 --- a/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c +++ b/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c @@ -16,6 +16,8 @@ #include QMK_KEYBOARD_H +#include + // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY = 0, diff --git a/keyboards/helix/rev3_5rows/keymaps/default/rules.mk b/keyboards/helix/rev3_5rows/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/helix/rev3_5rows/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h deleted file mode 100644 index a6fd32c613c3..000000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) 2022 Takeshi Ishii (mtei@github) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#undef TAPPING_TERM -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD - -#undef OLED_UPDATE_INTERVAL -#ifdef DEBUG_MATRIX_SCAN_RATE -# define OLED_UPDATE_INTERVAL 500 -#else -# define OLED_UPDATE_INTERVAL 50 -#endif - -#define PSEUDO_SPRINTF_DEFINED - diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c deleted file mode 100644 index dc2759d5b6aa..000000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c +++ /dev/null @@ -1,474 +0,0 @@ -/* Copyright 2020 mtei - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "key_blocks.h" -#include "layer_number_util.h" - -#ifdef ENABLE_COLEMAK -# define COLEMAK_Colemak (COLEMAK, " Colemak"), -#else -# define COLEMAK_Colemak -#endif -#ifdef ENABLE_DVORAK -# define DVORAK_Dvorak (DVORAK, " Dvorak"), -#else -# define DVORAK_Dvorak -#endif -#ifdef ENABLE_EUCALYN -# define EUCALYN_Eucalyn (EUCALYN, " Eucalyn"), -#else -# define EUCALYN_Eucalyn -#endif - -#define LAYER_NAME_LIST \ - (QWERTY, " Qwerty"), \ - COLEMAK_Colemak \ - DVORAK_Dvorak \ - EUCALYN_Eucalyn \ - (KEYPAD, " Keypad"), \ - (AUX, ":AUX"), \ - (KAUX, ":00"), \ - (LOWER, ":Func"), \ - (RAISE, ":Extra"), \ - (PADFUNC, ":PadFunc"), \ - (ADJUST, ":Adjust") - -enum layer_number { - // _QWERTY, _COLEMAK, ... - MAP(BUILD_LAYER_ENUM_NUMBER, LAYER_NAME_LIST) -}; - -#ifdef OLED_ENABLE -// static const char QWERTY_name[] PROGMEM = " Qwerty"; ... -MAP(BUILD_LAYER_NAME_STR, LAYER_NAME_LIST) - -const char *layer_names[] = { - // [_QWERTY] = QWERTY_name, ... - MAP(BUILD_LAYER_NAME_TABLE, LAYER_NAME_LIST) -}; -#endif - -const size_t num_of_layer_names = GET_ITEM_COUNT(LAYER_NAME_LIST); - -extern keymap_config_t keymap_config; - -extern uint8_t is_master; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - EUCALYN, - KEYPAD, - xEISU, - xKANA, - ZERO2, - RGBRST -}; - -// clang-format off - -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) - -//Macros -#define KC_LOWER MO(_LOWER) -#define XXXX XXXXXXX -#define ____ _______ -#define KC_ADJ MO(_ADJUST) - -#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ - KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) -#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ - LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER -#define GRV__QUOT KC_GRV, KC_QUOT - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | S | D | F | G | | H | J | K | L | ; |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | B | ` | ' | N | M | , | . | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, - KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), - - /* Colemak */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | R | S | T | D | | H | N | E | I | O |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | B | ` | ' | K | M | , | . | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_COLEMAK - [_COLEMAK] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, - KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Dvorak */ -#define GRV__SLSH KC_GRV, KC_SLSH - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | O | E | U | I | | D | H | T | N | S |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| ; | Q | J | K | X | ` | / | B | M | W | V | Z |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_DVORAK - [_DVORAK] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, - KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, - KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ - /* ,-----------------------------------. ,-----------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | Ctrl| A | O | E | I | U | | G | T | K | S | N |Ctrl | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Shift| Z | X | C | V | F | ` | ' | B | H | J | L | / |Shift| - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| - * `-----------------------------------------------------------------------------------' - */ -#ifdef ENABLE_EUCALYN - [_EUCALYN] = LAYOUT_wrapper( - KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, - KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, - KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, - KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, - LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER - ), -#endif - - /* Keypad */ -#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST -#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9 -#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6 -#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3 -#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT -#define F1___F6 KC_F1, KC_F6 -#define F2___F7 KC_F2, KC_F7 -#define F3___F8 KC_F3, KC_F8 -#define F4___F9 KC_F4, KC_F9 -#define F5__F10 KC_F5, KC_F10 -#define FF12 LT(_PADFUNC,KC_F12) - /* ,-----------------------------------. ,-----------------------------------. - * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | 4 | 5 | 6 | - | F3 | F8 | | F3 | F8 | - | 4 | 5 | 6 | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | 1 | 2 | 3 | + | F4 | F9 | F11 | F11 | F4 | F9 | + | 1 | 2 | 3 | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . | - * `-----------------------------------------------------------------------------------' - */ - [_KEYPAD] = LAYOUT_wrapper( - KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST, - KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9, - KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6, - KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3, - KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT - ), - - /* AUX modifier key layer - * ,-----------------------------------. ,-----------------------------------. - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | | | | | | | | | | | | | | | - * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| - * | | 00 | | | | | | | | | | | 00 | | - * `-----------------------------------------------------------------------------------' - */ - [_KAUX] = LAYOUT( - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ - ), - - /* Keypad function layer */ -#define PAUS__SLCK__PSCR KC_PAUS, KC_SCRL, KC_PSCR -#define PSCR__SLCK__PAUS KC_PSCR, KC_SCRL, KC_PAUS -#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP -#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME -#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT -#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL -#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |Delete|Insert| Left | Down | Right| | Left | Down | Right|Insert|Delete| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | End | | PgDn |Adjust|Adjust| PgDn | | End | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_PADFUNC] = LAYOUT_wrapper( - XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX, - XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX, - XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX - ), - - /* Lower */ -#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SCRL, KC_INS -#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SCRL, KC_PAUS, XXXX -#define ADJ___ADJ KC_ADJ, KC_ADJ -#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP -#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME -#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN -#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END - /* ,-----------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | PrtSc| | | | | | | | | PrtSc| | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT_wrapper( - XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, - XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12, - ____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____, - ____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____, - ____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____ - ), - - /* Raise */ -#define UNDS__MINS KC_UNDS, KC_MINS -#define EQL___PLUS KC_EQL, KC_PLUS -#define LCBR__LBRC KC_LCBR, KC_LBRC -#define RBRC__RCBR KC_RBRC, KC_RCBR -#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -#define EISU__EISU xEISU, xEISU -#define KANA__KANA xKANA, xKANA - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | _ | - | | = | + | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | { | [ | | ] | } | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | EISU | EISU | KANA | KANA | Next | Vol- | Vol+ | Play | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT_wrapper( - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, - XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX, - ____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____, - ____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____, - ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | |Keypad|Dvorak|Colemk|Euclyn|Qwerty| |Qwerty|Euclyn|Colemk|Dvorak|Keypad| | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win |Aud on|RGB ON|RGBRST| | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | HUE+ | SAT+ | VAL+ |RGB md|Audoff| Mac | | Mac |Audoff|RGB md| VAL+ | SAT+ | HUE+ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | HUE- | SAT- | VAL- | | | | | | | | | VAL- | SAT- | HUE- | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, - XXXXXXX, QK_BOOT, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ - ), - - /* AUX modifier key layer */ -#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT) - /* ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | BS | Enter| | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_AUX] = LAYOUT_wrapper( - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, - ____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____ - ) -}; - -int current_default_layer; - -layer_state_t default_layer_state_set_user(layer_state_t state) { - current_default_layer = get_highest_layer(state); - return state; -} - -void update_base_layer(int base) -{ - if( current_default_layer != base ) { - eeconfig_update_default_layer(1UL<event.pressed) { - update_base_layer(_QWERTY); - } - return false; - break; - case COLEMAK: -#ifdef ENABLE_COLEMAK - if (record->event.pressed) { - update_base_layer(_COLEMAK); - } -#endif - return false; - break; - case DVORAK: -#ifdef ENABLE_DVORAK - if (record->event.pressed) { - update_base_layer(_DVORAK); - } -#endif - return false; - break; - case EUCALYN: -#ifdef ENABLE_EUCALYN - if (record->event.pressed) { - update_base_layer(_EUCALYN); - } -#endif - return false; - break; - case KEYPAD: - if (record->event.pressed) { - update_base_layer(_KEYPAD); - } - return false; - break; - case ZERO2: - if (record->event.pressed) { - SEND_STRING("00"); - } - return false; - break; - case xEISU: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG2); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case xKANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - } - #endif - break; - } - return true; -} diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk deleted file mode 100644 index a6ce7de118db..000000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -USER_NAME := mtei - - CONSOLE_ENABLE = no # Console for debug - COMMAND_ENABLE = no # Commands for debug and configuration - # CONSOLE_ENABLE and COMMAND_ENABLE - # yes, no +1500 - # yes, yes +3200 - # no, yes +400 -ENCODER_ENABLE = no -LTO_ENABLE = no # if firmware size over limit, try this option -LED_ANIMATIONS = yes diff --git a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c index cc66b90a0dfa..d832393ccc84 100644 --- a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c @@ -121,22 +121,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left side encoder */ - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } else if (index == 1) { /* Right side encoder */ - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - } - return true; -} + + +#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_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_HOME, KC_END) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { diff --git a/keyboards/helix/rev3_5rows/keymaps/via/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/via/oled_display.c index e951f627c838..3cfb8969f694 100644 --- a/keyboards/helix/rev3_5rows/keymaps/via/oled_display.c +++ b/keyboards/helix/rev3_5rows/keymaps/via/oled_display.c @@ -16,6 +16,8 @@ #include QMK_KEYBOARD_H +#include + // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY = 0, @@ -60,7 +62,7 @@ void render_status(void) { break; default: // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("Undefined"), false); + oled_write_ln_P(PSTR("N/A"), false); } oled_write_P(PSTR("\n"), false); @@ -69,7 +71,6 @@ void render_status(void) { 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); } diff --git a/keyboards/helix/rev3_5rows/keymaps/via/rules.mk b/keyboards/helix/rev3_5rows/keymaps/via/rules.mk index 1e5b99807cb7..715838ecc5d9 100644 --- a/keyboards/helix/rev3_5rows/keymaps/via/rules.mk +++ b/keyboards/helix/rev3_5rows/keymaps/via/rules.mk @@ -1 +1,2 @@ +ENCODER_MAP_ENABLE = yes VIA_ENABLE = yes diff --git a/keyboards/helix/rev3_5rows/rules.mk b/keyboards/helix/rev3_5rows/rules.mk index 23b73845f0aa..7cd934ebc4e2 100644 --- a/keyboards/helix/rev3_5rows/rules.mk +++ b/keyboards/helix/rev3_5rows/rules.mk @@ -3,9 +3,9 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = no +MOUSEKEY_ENABLE = yes LTO_ENABLE = yes SRC += oled_display.c diff --git a/keyboards/hfdkb/ac001/config.h b/keyboards/hfdkb/ac001/config.h index 899a134762ca..7d38c7392c01 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 @@ -34,7 +32,6 @@ #define SPI_MOSI_PAL_MODE 5 #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 -#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/hfdkb/ac001/info.json b/keyboards/hfdkb/ac001/info.json index 2efee90deba8..3f896d59881d 100644 --- a/keyboards/hfdkb/ac001/info.json +++ b/keyboards/hfdkb/ac001/info.json @@ -10,16 +10,26 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A5", "A6", "A7", "C4", "C5"], "rows": ["B15"] }, "diode_direction": "ROW2COL", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, "ws2812": { "pin": "A1" }, + "qmk": { + "tap_keycode_delay": 5 + }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", "layouts": { diff --git a/keyboards/hfdkb/ac001/rules.mk b/keyboards/hfdkb/ac001/rules.mk index 81b7e82c3f76..1358ab075a7c 100644 --- a/keyboards/hfdkb/ac001/rules.mk +++ b/keyboards/hfdkb/ac001/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 RGB_MATRIX_ENABLE = yes -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/hfdkb/keyboard_sw/k83/config.h b/keyboards/hfdkb/keyboard_sw/k83/config.h deleted file mode 100644 index a4660c93be8e..000000000000 --- a/keyboards/hfdkb/keyboard_sw/k83/config.h +++ /dev/null @@ -1,85 +0,0 @@ -/* 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 RGB_TRIGGER_ON_KEYDOWN - -/* encoder resolution */ -#define TAP_CODE_DELAY 15 - -/* DIP switch */ -#define DIP_SWITCH_PINS \ - { A9 } - -/* 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_SDA_PIN B7 -#define I2C1_SCL_PIN B6 -#define I2C1_SCL_PAL_MODE 4 -#define I2C1_OPMODE OPMODE_I2C -#define I2C1_CLOCK_SPEED 400000 /* 400000 */ - -#define DRIVER_1_LED_TOTAL 61 -#define DRIVER_2_LED_TOTAL 21 -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 10) - -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended - -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_KEYRELEASES - -// 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_BREATHING -#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_RAINDROPS -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -// 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_MULTISPLASH - -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 /* The maximum brightness level */ diff --git a/keyboards/hfdkb/keyboard_sw/k83/info.json b/keyboards/hfdkb/keyboard_sw/k83/info.json deleted file mode 100644 index b31fd86f1f88..000000000000 --- a/keyboards/hfdkb/keyboard_sw/k83/info.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "keyboard_name": "KB83", - "manufacturer": "www.hfd.cn", - "maintainer": "hfd", - "usb": { - "vid": "0xFFFE", - "pid": "0x0007", - "device_version": "1.0.0", - "force_nkro": true - }, - "rgb_matrix": { - "driver": "IS31FL3733" - }, - "processor": "WB32FQ95", - "bootloader": "wb32-dfu", - "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", "resolution": 4} - ] - }, - "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, 15], "x": 15.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, 15], "x": 15.25, "y": 1.25}, - - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - - {"matrix": [2, 15], "x": 15.25, "y": 2.25}, - - {"matrix": [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, 15], "x": 15.25, "y": 3.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}, - {"matrix": [4, 4], "x": 5.25, "y": 4.25}, - {"matrix": [4, 5], "x": 6.25, "y": 4.25}, - {"matrix": [4, 6], "x": 7.25, "y": 4.25}, - {"matrix": [4, 7], "x": 8.25, "y": 4.25}, - {"matrix": [4, 8], "x": 9.25, "y": 4.25}, - {"matrix": [4, 9], "x": 10.25, "y": 4.25}, - {"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": 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}, - {"matrix": [5, 10], "x": 11, "y": 5.25}, - {"matrix": [5, 11], "x": 12, "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/hfdkb/keyboard_sw/k83/k83.c deleted file mode 100644 index 86b52cfe9287..000000000000 --- a/keyboards/hfdkb/keyboard_sw/k83/k83.c +++ /dev/null @@ -1,604 +0,0 @@ -/* 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 - * | | | | */ - {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, G_13, H_13, I_13}, - {1, D_3, E_3, F_3}, - - {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, 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, 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}, -}; - -led_config_t g_led_config = { - { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NO_LED, NO_LED}, - { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, NO_LED, 28}, - { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43}, - { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, NO_LED, 57}, - { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, NO_LED, NO_LED, 69, 70, 71}, - { 72, 73, 74, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, 81} - }, - { - { 0, 0}, // 0 - { 14, 0}, // 1 - { 29, 0}, // 2 - { 44, 0}, // 3 - { 59, 0}, // 4 - { 74, 0}, // 5 - { 89, 0}, // 6 - {104, 0}, // 7 - {119, 0}, // 8 - {134, 0}, // 9 - {149, 0}, // 10 - {164, 0}, // 11 - {179, 0}, // 12 - {194, 0}, // 13 - - { 0, 12}, // 14 - { 14, 12}, // 15 - { 28, 12}, // 16 - { 42, 12}, // 17 - { 56, 12}, // 18 - { 70, 12}, // 19 - { 84, 12}, // 20 - { 98, 12}, // 21 - {112, 12}, // 22 - {126, 12}, // 23 - {140, 12}, // 24 - {154, 12}, // 25 - {168, 12}, // 26 - {182, 12}, // 27 - {224, 12}, // 28 - - { 0, 25}, // 29 - { 14, 25}, // 30 - { 28, 25}, // 31 - { 42, 25}, // 32 - { 56, 25}, // 33 - { 70, 25}, // 34 - { 84, 25}, // 35 - { 98, 25}, // 36 - {112, 25}, // 37 - {126, 25}, // 38 - {140, 25}, // 39 - {154, 25}, // 40 - {168, 25}, // 41 - {182, 25}, // 42 - {224, 25}, // 43 - - { 0, 38}, // 44 - { 28, 38}, // 45 - { 42, 38}, // 46 - { 56, 38}, // 47 - { 70, 38}, // 48 - { 84, 38}, // 49 - { 98, 38}, // 50 - {112, 38}, // 51 - {126, 38}, // 52 - {140, 38}, // 53 - {154, 38}, // 54 - {168, 38}, // 55 - {182, 38}, // 56 - {224, 38}, // 57 - - { 0, 51}, // 58 - { 18, 51}, // 59 - { 37, 51}, // 60 - { 56, 51}, // 61 - { 74, 51}, // 62 - { 93, 51}, // 63 - {112, 51}, // 64 - {130, 51}, // 65 - {149, 51}, // 66 - {168, 51}, // 67 - {186, 51}, // 68 - {200, 51}, // 69 - {214, 51}, // 70 - {224, 51}, // 71 - - { 0, 64}, // 72 - { 18, 64}, // 73 - { 37, 64}, // 74 - { 92, 64}, // 75 - {140, 64}, // 76 - {154, 64}, // 77 - {168, 64}, // 78 - {196, 64}, // 80 - {210, 64}, // 81 - {224, 64}, // 82 - - {0, 0}, // 68 LED 1 - {0, 16}, // 69 LED 2 - {0, 32}, // 70 LED 3 - {0, 48}, // 71 LED 4 - {0, 64}, // 72 LED 5 - - {224, 0 }, // 78 LED 12 - {224, 16}, // 79 LED 13 - {224, 32}, // 80 LED 14 - {224, 48}, // 81 LED 15 - {224, 64}, // 82 LED 16 - }, - { - 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, 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, - 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, - } -}; - -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; - } - // caps lock red - if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(44, 255, 0, 0); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(44, 0, 0, 0); - } - } - // GUI lock red - if (keymap_config.no_gui) { - RGB_MATRIX_INDICATOR_SET_COLOR(73, 255, 0, 0); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(73, 0, 0, 0); - } - } - return true; -} - -#endif - -enum __layers { - WIN_B, - WIN_FN, - MAC_B, - MAC_FN -}; - -enum colors { - WHITE, - RED, - GREEN, - BLUE -}; -enum colors led_color_status = WHITE; - -// clang-format on -static bool fn_make_flag = false; -static bool Lkey_flag = false; -static bool reset_glint_flag = false; -static bool while_test_flag = false; -static bool alarm_flag = false; -static uint16_t current_time = 0; -static uint8_t glint_cnt = 0; -static uint16_t scancode = 0; -static uint8_t alarm_cnt = 0; -static uint8_t RGB_HSV_level; - -HSV hsv; - -void led_test(uint8_t color); -void clear_eeprom(void); -void rgb_hsv_updata_user(void); - -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)); - } - if(active){ - keymap_config.no_gui = 0; - eeconfig_update_keymap(keymap_config.raw); - } - return true; -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (!process_record_user(keycode, record)) { - return false; - } - switch (keycode) { - case MO(WIN_FN): - case MO(MAC_FN): - fn_make_flag = record->event.pressed; - return true; - case KC_ESC: - if (fn_make_flag && record->event.pressed) { - Lkey_flag = true; - current_time = timer_read(); - scancode = KC_ESC; - return false; - } else { - Lkey_flag = 0; - } - return true; - case KC_END: - if (fn_make_flag && record->event.pressed) { - if (while_test_flag) { - while_test_flag = false; - rgb_matrix_init(); - } else { - Lkey_flag = true; - current_time = timer_read(); - scancode = KC_END; - } - return false; - } else { - Lkey_flag = 0; - } - return true; - case KC_LEFT: - if (while_test_flag == true) { - if (record->event.pressed) { - if (glint_cnt == 0) - glint_cnt = 3; - else - glint_cnt--; - if ((glint_cnt % 4) == 0) { - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } else if ((glint_cnt % 4) == 1) { - rgb_matrix_sethsv_noeeprom(HSV_RED); - } else if ((glint_cnt % 4) == 2) { - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - } else if ((glint_cnt % 4) == 3) { - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - } - } - return false; - } - return true; - case KC_RGHT: - if (while_test_flag == true) { - if (record->event.pressed) { - glint_cnt++; - if (glint_cnt >= 4) glint_cnt = 0; - - if ((glint_cnt % 4) == 0) { - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } else if ((glint_cnt % 4) == 1) { - rgb_matrix_sethsv_noeeprom(HSV_RED); - } else if ((glint_cnt % 4) == 2) { - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - } else if ((glint_cnt % 4) == 3) { - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - } - } - return false; - } - return true; - case DF(WIN_B): - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - set_single_persistent_default_layer(WIN_B); - return false; - } - return true; - case DF(MAC_B): - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - set_single_persistent_default_layer(MAC_B); - return false; - } - return true; - - case RGB_VAI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) < 4) { - RGB_HSV_level++; - rgb_matrix_config.hsv.v = (uint8_t)(RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_VAD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_val() / (RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4)) > 0) { - RGB_HSV_level--; - rgb_matrix_config.hsv.v = (uint8_t)(RGB_MATRIX_MAXIMUM_BRIGHTNESS / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_SAI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) < 4) { - RGB_HSV_level++; - rgb_matrix_config.hsv.s = (uint8_t)(UINT8_MAX / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_SAD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_sat() / (UINT8_MAX / 4)) > 0) { - RGB_HSV_level--; - rgb_matrix_config.hsv.s = (uint8_t)(UINT8_MAX / 4) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_HUI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_hue() / (UINT8_MAX / 6)) < 6) { - RGB_HSV_level++; - rgb_matrix_config.hsv.h = (uint8_t)(UINT8_MAX / 6) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_HUD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_hue() / (UINT8_MAX / 6)) > 0) { - RGB_HSV_level--; - rgb_matrix_config.hsv.h = (uint8_t)(UINT8_MAX / 6) * RGB_HSV_level; - } - rgb_hsv_updata_user(); - } - return false; - case RGB_SPI: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) < 4) { - RGB_HSV_level++; - rgb_matrix_set_speed((uint8_t)(UINT8_MAX / 4) * RGB_HSV_level); - } - } - return false; - case RGB_SPD: - if ((fn_make_flag && record->event.pressed) && (alarm_flag == 0)) { - if ((RGB_HSV_level = (uint8_t)rgb_matrix_get_speed() / (UINT8_MAX / 4)) > 0) { - RGB_HSV_level--; - rgb_matrix_set_speed((uint8_t)(UINT8_MAX / 4) * RGB_HSV_level); - } - } - return false; - 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 process_record_user(keycode, record); - } -} - -void housekeeping_task_kb(void) { - if (Lkey_flag) { - if (scancode == KC_ESC) { - if (timer_elapsed(current_time) >= 3000) { - Lkey_flag = false; - clear_eeprom(); - - current_time = timer_read(); - reset_glint_flag = true; - glint_cnt = 0; - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_OFF); - } - } else if (scancode == KC_END) { - if (timer_elapsed(current_time) >= 3000) { - Lkey_flag = false; - clear_eeprom(); - - while_test_flag = true; - glint_cnt = 0; - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - } - } - } else if (reset_glint_flag) { - if ((timer_elapsed(current_time)) >= 300) { - current_time = timer_read(); - if (((glint_cnt++) & 0x01) == 0) { - rgb_matrix_sethsv_noeeprom(HSV_RED); - } else { - rgb_matrix_sethsv_noeeprom(HSV_OFF); - } - if (glint_cnt >= 7) { - glint_cnt = 0; - reset_glint_flag = false; - rgb_matrix_init(); - } - } - } else if (alarm_cnt != 0) { - alarm_cnt--; - if (alarm_cnt == 0) { - alarm_flag = true; - rgb_matrix_toggle_noeeprom(); - current_time = timer_read(); - } - } else if (alarm_flag) { - if ((timer_elapsed(current_time)) >= 200) { - rgb_matrix_toggle_noeeprom(); - alarm_flag = 0; - } - } -} - -void led_test(uint8_t color) { - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - - switch (color) { - case WHITE: - rgb_matrix_sethsv_noeeprom(HSV_WHITE); - break; - - case RED: - rgb_matrix_sethsv_noeeprom(HSV_RED); - break; - - case GREEN: - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - break; - - case BLUE: - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - break; - } -} - -void clear_eeprom(void) { - layer_state_t default_layer_temp = default_layer_state; - eeconfig_init(); - default_layer_set(default_layer_temp); - -#ifdef VIA_ENABLE - // This resets the layout options - via_set_layout_options(VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT); - // This resets the keymaps in EEPROM to what is in flash. - dynamic_keymap_reset(); - // This resets the macros in EEPROM to nothing. - dynamic_keymap_macro_reset(); -#endif - - rgb_matrix_enable_noeeprom(); -} - -void rgb_hsv_updata_user(void) { - rgb_matrix_sethsv(rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v); -} diff --git a/keyboards/hfdkb/keyboard_sw/k83/readme.md b/keyboards/hfdkb/keyboard_sw/k83/readme.md deleted file mode 100644 index 871e9b893649..000000000000 --- a/keyboards/hfdkb/keyboard_sw/k83/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# k83 - -A customizable 75% encoder keyboard. - -* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) -* Hardware Supported: k83 - -Make example for this keyboard (after setting up your build environment): - - make hfdkb/keyboard_sw/k83:default - -Flashing example for this keyboard: - - make hfdkb/keyboard_sw/k83: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/hfdkb/keyboard_sw/k83/rules.mk b/keyboards/hfdkb/keyboard_sw/k83/rules.mk deleted file mode 100644 index 756d0c071949..000000000000 --- a/keyboards/hfdkb/keyboard_sw/k83/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# Build Options -# change yes to no to disable -# -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 -KEYBOARD_SHARED_EP = no -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 -DIP_SWITCH_ENABLE = yes # DPI Switch -ENCODER_ENABLE = yes -RGB_MATRIX_ENABLE = yes -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash -#RGB_MATRIX_CUSTOM_USER = yes #Add turnoff LED diff --git a/keyboards/hhkb/ansi/config.h b/keyboards/hhkb/ansi/config.h index 723fe29479a1..7fe9f1f9dbc7 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/ansi/keymaps/blakedietz/README.md b/keyboards/hhkb/ansi/keymaps/blakedietz/README.md deleted file mode 100644 index 4dff47a6e886..000000000000 --- a/keyboards/hhkb/ansi/keymaps/blakedietz/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# QMK HHKB Keymap: blakedietz - - - - -This is my (Blake Dietz's) own take on a QMK keymap for the Happy Hacking Keyboard Pro 2 alternate controller made by Hasu. A lot of the - functionality was inspired by the ergodox ez default layout. - -## Dependencies - -### macOS - -```bash -brew tap osx-cross/avr -brew install avr-libc -brew install dfu-programmer -``` - -### Windows/Linux - -[Build Environment Setup](https://github.com/jackhumbert/qmk_firmware/wiki#build-environment-setup) - -## Flashing - -You will need to make sure that you have something that you can use to press the button on the alternate controller in -order to put it into boot mode. - -From the hhkb directory run the following: - -```bash -make clean -make hhkb:blakedietz:dfu -``` - -Press the button on the alternate controller to put the board into boot mode. - -You'll see an output similar to the following: - -```bash -make hhkb:blakedietz:dfu - -Making hhkb with keymap blakedietz and target dfu - -avr-gcc (GCC) 6.2.0 -Copyright (C) 2016 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -Size before: - text data bss dec hex filename - 0 22162 0 22162 5692 hhkb_blakedietz.hex - -Compiling: keyboards/hhkb/keymaps/blakedietz/keymap.c [OK] -Compiling: ./tmk_core/common/command.c [OK] -Linking: .build/hhkb_blakedietz.elf [OK] -Creating load file for Flash: .build/hhkb_blakedietz.hex [OK] - -Size after: - text data bss dec hex filename - 0 22162 0 22162 5692 hhkb_blakedietz.hex - -dfu-programmer: no device present. -Error: Bootloader not found. Trying again in 5s. -dfu-programmer: no device present. -Error: Bootloader not found. Trying again in 5s. -Bootloader Version: 0x00 (0) -Erasing flash... Success -Checking memory from 0x0 to 0x6FFF... Empty. -Checking memory from 0x0 to 0x56FF... Empty. -0% 100% Programming 0x5700 bytes... -[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success -0% 100% Reading 0x7000 bytes... -[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success -Validating... Success -0x5700 bytes written into 0x7000 bytes memory (77.68%). -``` - -### Layers - -#### Default - -##### A more "standard" layout - -This layout places tilde in the standard location. Backspace is moved to the two upper-right-most keys and pipe -is put back where it belongs (where backspace is on the default hhkb2 keymapping). - -##### Hyper key - - - -This layout throws out the HHKB's control key in favor of a Hyper key. Ctrl is instead placed on the z and / keys and -can be activated with a long press. I find that this is far more ergonomic as it's less of a reach and it allows you to -alternate to either hand when you need to use `ctrl` as a modifier. - -The hyper key can be held for hyper and tapped for escape. You'll find that this is quite nice for vim. - -Enter is also a hyper key. This allows for symmetry between control and enter. Hold for hyper, tap for enter. - -##### Tap to Hold - -###### CTL, ALT, GUI - -Since the HHKB does not have three super/meta keys, these keys were moved to pinky, ring and middle finger for ctrl, alt/ - option and super respectively. This is closer to home row which I've found causes less strain. - -The Alt and Super keys are instead replaced with layer toggle keys to go to dev and mouse mode respectively. - -###### Space - -Hold space to switch to dev mode. This will put you on a layer to have vim like arrow functionality on h,j,k and l. Use -this in editors that don't have vim keybindings. - -### Dev - -The Dev layer can be activated holding space or hitting the HHKB's Alt key. This will put you in a mode -where all function keys are available and left, right, up and down are mapped to their vim equivalents. The function - keys are mapped in such a way that you can use them for debugging. Typically I map debugging functions in all IDEs to - the following for a seamless debugging experience (e.g. jumping from Intellij to chrome dev tools and back): - - - f1 -> step over - - f2 -> step into - - f3 -> step out - - f4 -> continue - - f5 -> set break point on current line - -### Media - -The media layer can be activated by pressing and holding the semi-colon. I've also placed the play and pause key on the -apostrophe key in the media layer. This allows you to easily roll your pinky from the media toggle (semi-colon) to the -play/pause key in one fluid motion. - -I've also tried to logically map next/previous track along with volume up/down vim behavior. In vim since middle finger -goes up on k and index finger goes down on j, next/prev track is k/j respectively. ,/m changes volume up/down -respectively while toggled to the media layer. diff --git a/keyboards/hhkb/ansi/keymaps/blakedietz/config.h b/keyboards/hhkb/ansi/keymaps/blakedietz/config.h deleted file mode 100644 index 8d281f2604b9..000000000000 --- a/keyboards/hhkb/ansi/keymaps/blakedietz/config.h +++ /dev/null @@ -1,20 +0,0 @@ -// Based off of this section: -// https://github.com/qmk/qmk_firmware/blob/master/doc/BUILD_GUIDE.md#the-configh-file -#ifndef CONFIG_BLAKEDIETZ_H -#define CONFIG_BLAKEDIETZ_H - -// Bring in original defaults -#include "../../config.h" - -// Define mousekey settings -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_MAX_SPEED 2 -#define MOUSEKEY_TIME_TO_MAX 5 -#define MOUSEKEY_WHEEL_DELAY 0 - -// Set up tapdance functionality -//#define TAPPING_TOGGLE 1 -// TAPPING_TERM is set in config.h this defaults to 200 - -#endif diff --git a/keyboards/hhkb/ansi/keymaps/blakedietz/keymap.c b/keyboards/hhkb/ansi/keymaps/blakedietz/keymap.c deleted file mode 100644 index 370bc8774ea0..000000000000 --- a/keyboards/hhkb/ansi/keymaps/blakedietz/keymap.c +++ /dev/null @@ -1,106 +0,0 @@ -#include QMK_KEYBOARD_H - -// Layer names -#define BASE 0 -#define DEV 1 -#define MOUSE 2 -#define MEDIA 3 - -// Required for leader function. Measured in ms -// #define LEADER_TIMEOUT 300 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE Level: Default Layer - |-----------+-------+--------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+----| - | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp |Lead| - |-----------+-------+--------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+----| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | | \ | - |-----------+-------+--------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+----| - | Esc/Hyper | A | S | D | F | G | H | J | K | L |;/Media| ' | Enter | | | - |-----------+-------+--------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+----| - | Shift | Z/Ctl | X/Alt | C/Gui | V | B | N | M | ,/Gui | ./Alt | //Ctl | Shift | Dev | | | - |-----------+-------+--------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+------+----| - TODO: Maybe add a photoshop layer for when I need to hold spacebar down. Maybe just make it a layer that you - |------+------+-----------------------+------+------| - | Dev |Mouse | ******* Space ******* | Dev |Mouse | - |------+------+-----------------------+------+------| - */ - - [BASE] = LAYOUT( // default layer - 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, QK_LEAD, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - ALL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MEDIA, KC_SCLN), KC_QUOT, ALL_T(KC_ENT), - KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), GUI_T(KC_C), KC_V, KC_B, KC_N, KC_M, GUI_T(KC_COMM), ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT, TG(DEV), - TG(DEV), TG(MOUSE), LT(DEV, KC_SPC), TG(MOUSE), TG(DEV)), - - /* Layer DEV: DEV mode (DEV Fn) - TODO: Add a cmd/tab function to the developer layer for quick switching between different applications when debugging - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | F1 | F2 | F3 | F4 | F5 | Left | Down | Up | Right | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - */ - - [DEV] = 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, 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, TG(DEV), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - /* Layer MOUSE: MOUSE mode (MOUSE Fn) - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - */ - - [MOUSE] = 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_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - /* Layer MEDIA: mode (Hold Semi-colon) - |------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | | | | | | | | | - |------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | Previous | Next | | Play/Pause | | | | | - |------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - | | | | | | | | Volume Down | Volume Up | Mute | | | | | | - |------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - - */ - - [MEDIA] = 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_MPRV, KC_MNXT, KC_MUTE, KC_TRNS, KC_MPLY, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; diff --git a/keyboards/hhkb/ansi/keymaps/blakedietz/rules.mk b/keyboards/hhkb/ansi/keymaps/blakedietz/rules.mk deleted file mode 100644 index 7d97e7a5240f..000000000000 --- a/keyboards/hhkb/ansi/keymaps/blakedietz/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -TAP_DANCE_ENABLE = no -UNICODE_ENABLE = no -LEADER_ENABLE = yes diff --git a/keyboards/hhkb/ansi/keymaps/brett/config.h b/keyboards/hhkb/ansi/keymaps/brett/config.h deleted file mode 100644 index 0711122d7479..000000000000 --- a/keyboards/hhkb/ansi/keymaps/brett/config.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -// Define mousekey settings -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_MAX_SPEED 2 -#define MOUSEKEY_TIME_TO_MAX 5 -#define MOUSEKEY_WHEEL_DELAY 0 - -#define LSPO_KEY KC_9 -#define RSPC_KEY KC_0 -#define LSPO_MOD KC_LSFT -#define RSPC_MOD KC_RSFT - diff --git a/keyboards/hhkb/ansi/keymaps/brett/keymap.c b/keyboards/hhkb/ansi/keymaps/brett/keymap.c deleted file mode 100644 index 04e3517a9581..000000000000 --- a/keyboards/hhkb/ansi/keymaps/brett/keymap.c +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- eval: (turn-on-orgtbl); -*- - * Brettm12345 HHKB Layout - */ -#include QMK_KEYBOARD_H -#include "brett.h" - -enum layers { - BASE = 0, - HHKB = 1, - PROG = 2, - MOUSE = 3 -}; - -// Tap for tab hold for MOUSE -#define TAB_MOUSE LT(MOUSE, KC_TAB) - -// Tap for space hold for PROG -#define SPACE_PROG LT(PROG, KC_SPC) - -// Tap for ESC hold for CTRL -#define CTL_ESC CTL_T(KC_ESC) - -// Tab for ; hold for PROG -#define PROG_SCLN LT(PROG, KC_SCLN) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE Level: Default Layer - |---------+---+---+---+---+---+---+---+---+---+---+--------+--------+-----------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |---------+---+---+---+---+---+---+---+---+---+---+--------+--------+-----------+---| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backspace | * | - |---------+---+---+---+---+---+---+---+---+---+---+--------+--------+-----------+---| - | Control | A | S | D | F | G | H | J | K | L | ; | ' | Return | ****** | * | - |---------+---+---+---+---+---+---+---+---+---+---+--------+--------+-----------+---| - | LShift | Z | X | C | V | B | N | M | , | . | / | RShift | HHKB | ****** | * | - |---------+---+---+---+---+---+---+---+---+---+---+--------+--------+-----------+---| - - |------+------+----------------------------+------+------| - | LAlt | LGUI | ******* Space/Prog ******* | RGUI | RAlt | - |------+------+----------------------------+------+------| - */ - - [BASE] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - TAB_MOUSE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, PROG_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, MO(HHKB), - KC_LALT, KC_LGUI, SPACE_PROG, KC_RGUI, KC_RALT), - - /* HHKB Level: Function Layer - |---------+------+------+--------+---------+-------+-----------+---------+---------+---------+----------------+--------+------+--------+-----| - | Flash | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - |---------+------+------+--------+---------+-------+-----------+---------+---------+---------+----------------+--------+------+--------+-----| - | Caps | Calc | Mail | Media | Browser | My PC | Browser | u | i | o | Print | [ | ] | Backsp | * | - | | | | Player | Refresh | | Favorites | | | | Screen | | | | | - |---------+------+------+--------+---------+-------+-----------+---------+---------+---------+----------------+--------+------+--------+-----| - | Control | Prev | Next | Find | f | g | Browser | Browser | Browser | Browser | ; | ' | Exec | ****** | * | - | | | | | | | Back | Home | Search | Forward | | | | | | - |---------+------+------+--------+---------+-------+-----------+---------+---------+---------+----------------+--------+------+--------+-----| - | LShift | Vol+ | Vol- | Mute | Select | b | n | m | , | Again | Browser Search | RShift | HHKB | ****** | * | - |---------+------+------+--------+---------+-------+-----------+---------+---------+---------+----------------+--------+------+--------+-----| - - |------+------+----------------------+------+------| - | Menu | LGUI | ******* Play ******* | RGUI | Menu | - |------+------+----------------------+------+------| - */ - [HHKB] = LAYOUT( - FLASH, KC_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_CALC, KC_MAIL, KC_MSEL, KC_WREF, KC_MYCM, KC_WFAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_BSPC, - KC_TRNS, KC_MPRV, KC_MNXT, KC_FIND, KC_TRNS, KC_TRNS, KC_WBAK, KC_WHOM, KC_WSCH, KC_WFWD, KC_TRNS, KC_TRNS, KC_EXEC, - KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_SLCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AGIN, KC_WSCH, KC_TRNS, KC_TRNS, - KC_MENU, KC_TRNS, KC_MPLY, KC_TRNS, KC_MENU), - - - /* Programming Level: Symbols Layer - |--------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+--------+--------+--------+---| - | Esc | TTY 1 | TTY 2 | TTY 3 | TTY 4 | TTY 5 | TTY 6 | TTY 7 | TTY 8 | TTY 9 | TTY 10 | TTY 11 | TTY 12 | \ | ` | - |--------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+--------+--------+--------+---| - | Tab/Mouse | => | @ | >>= | =<< | ‖ | <> | <ï―œ> | <*> | <@> | ï―œ> | <$ | $> | Backsp | * | - |--------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+--------+--------+--------+---| - | Toggle Mouse | -> | * | <$> | <#> | && | Left | Down | Up | Right | :: | ` | Return | ****** | * | - |--------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+--------+--------+--------+---| - | LShift | z | x | c | v | b | n | m | <- | -> | <> | Shift | HHKB | ****** | * | - |--------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+--------+--------+--------+---| - - |------+------+----------------------------+------+------| - | LAlt | LGUI | ******* Space/Prog ******* | RGUI | RAlt | - |------+------+----------------------------+------+------| - */ - [PROG] = LAYOUT( - QK_GESC, LCA(KC_F1), LCA(KC_F2), LCA(KC_F3), LCA(KC_F4), LCA(KC_F5), LCA(KC_F6), LCA(KC_F7), LCA(KC_F8), LCA(KC_F9), LCA(KC_F10), LCA(KC_F11), LCA(KC_F12), KC_TRNS, KC_TRNS, - KC_TRNS, FAT_ARROW, KC_AT, BIND, BIND_FLIPPED, OR, CONCAT, ALT, APPLY, FLAP, PIPE, VOID_LEFT, VOID_RIGHT, KC_TRNS, - TG(MOUSE), SKINNY_ARROW, KC_ASTR, MAP, MAP_FLIPPED, AND, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, DOUBLE_COLON, KC_GRV, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, REVERSE_ARROW, SKINNY_ARROW, CONCAT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - - /* Mouse Level: Mouse Layer - |--------------+---------+---------+---------+---------+---------+-------+-------+---------+---------+---------+-----------+-----------------+--------+---| - | Esc | Speed 1 | Speed 2 | Speed 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |--------------+---------+---------+---------+---------+---------+-------+-------+---------+---------+---------+-----------+-----------------+--------+---| - | Mouse(Tab) | Q | Up | Button3 | Button4 | Button5 | Y | U | Button3 | Button4 | Button5 | [ | ] | Backsp | * | - |--------------+---------+---------+---------+---------+---------+-------+-------+---------+---------+---------+-----------+-----------------+--------+---| - | Control(Esc) | Left | Down | Right | Button1 | Button2 | SLeft | SDown | SUp | SRight | Button1 | Button2 | Control(Return) | ****** | * | - |--------------+---------+---------+---------+---------+---------+-------+-------+---------+---------+---------+-----------+-----------------+--------+---| - | LShift(() | Z | X | C | V | B | N | M | Button5 | Button4 | Button3 | RShift()) | HHKB | ****** | * | - |--------------+---------+---------+---------+---------+---------+-------+-------+---------+---------+---------+-----------+-----------------+--------+---| - - |---------+---------+----------------------------+---------+---------| - | LAlt([) | LGUI({) | ******* Space/Prog ******* | RGUI(}) | RAlt(]) | - |---------+---------+----------------------------+---------+---------| - */ - [MOUSE] = LAYOUT( - KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MS_U, KC_BTN3, KC_BTN4, KC_BTN5, KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN4, KC_BTN5, KC_TRNS, KC_TRNS, KC_TRNS, - TG(MOUSE), KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN1, KC_BTN2, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/hhkb/ansi/keymaps/brett/readme.md b/keyboards/hhkb/ansi/keymaps/brett/readme.md deleted file mode 100644 index fd07b155fb77..000000000000 --- a/keyboards/hhkb/ansi/keymaps/brett/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Generated Keymap Layout - -This layout was generated by the QMK API. You can find the JSON data used to -generate this keymap in the file layers.json. - -To make use of this file you will need follow the following steps: - -* Download or Clone QMK Firmware: -* Extract QMK Firmware to a location on your hard drive -* Copy this folder into %s -* You are now ready to compile or use your keymap with the source - -More information can be found in the QMK docs: \ No newline at end of file diff --git a/keyboards/hhkb/ansi/keymaps/brett/rules.mk b/keyboards/hhkb/ansi/keymaps/brett/rules.mk deleted file mode 100644 index 88f57515f13d..000000000000 --- a/keyboards/hhkb/ansi/keymaps/brett/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -MOUSEKEY_ENABLE = yes -TAP_DANCE_ENABLE = no -LEADER_ENABLE = no -UNICODE_ENABLE = no diff --git a/keyboards/hhkb/ansi/keymaps/dbroqua/keymap.c b/keyboards/hhkb/ansi/keymaps/dbroqua/keymap.c deleted file mode 100644 index 3a8d2ed2a399..000000000000 --- a/keyboards/hhkb/ansi/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * dbroqua HHKB Layout - */ -#include QMK_KEYBOARD_H - -enum planck_layers { - _DEFAULT, - _ALTERNATE, - _FN -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE layer: Default Layer - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | fn | - * +-----------------------------------------------------------------------------------------+ - * | Alt | Gui | Space | Gui |RCtrl| - * `----------------------------------------------------------------Âī - */ - [_DEFAULT] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RCTL), - /* Alternamte layer: swap alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | fn | - * +-----------------------------------------------------------------------------------------+ - * | Gui | Alt | Space | AltGr |RCtrl| - * `----------------------------------------------------------------Âī - */ - [_ALTERNATE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LGUI, KC_LALT, /* */ KC_SPC, KC_RALT, KC_RCTL), - - /* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F0 | F11 | F12 | Ins | Del| - * |-----------------------------------------------------------------------------------------+ - * | Caps | | | | | | | |PrtSc| Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute|Eject| | * | / | Home| PgUp| Left |Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDwn| Down| | | - * +-----------------------------------------------------------------------------------------+ - * | | | Adjust | Stop | | - * `----------------------------------------------------------------Âī - */ - [_FN] = LAYOUT( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - DF(_DEFAULT), DF(_ALTERNATE), KC_TRNS, KC_MSTP, KC_TRNS)}; diff --git a/keyboards/hhkb/ansi/keymaps/dbroqua/readme.md b/keyboards/hhkb/ansi/keymaps/dbroqua/readme.md deleted file mode 100644 index 3b8950fee0bf..000000000000 --- a/keyboards/hhkb/ansi/keymaps/dbroqua/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Dbroqua Layout - -* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/78eaf35e80bb714eea80cb4049dedb01 - -## Switch layout - -Default bottom layer: - -* LALT / LGUI / SPACE / RGUI / RCTRL - -Alternate bottom layer: - -* LGUI / LALT / SPACE / RALT / RCTRL - -To switch from default to alternate (or alternate to default) simple press FN + (LALT/LGUI). - - -## Media keys : - -* fn + a = vol_dn -* fn + s = vol_up -* fn + d = mute -* fn + z = previous song -* fn + x = play/pause -* fn + c = next song -* fn + (RGUI/RALT) = stop diff --git a/keyboards/hhkb/ansi/keymaps/eric/keymap.c b/keyboards/hhkb/ansi/keymaps/eric/keymap.c deleted file mode 100644 index 2cfc9785bbf0..000000000000 --- a/keyboards/hhkb/ansi/keymaps/eric/keymap.c +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- eval: (turn-on-orgtbl); -*- - * default HHKB Layout - */ -#include QMK_KEYBOARD_H - -#define BASE 0 -#define HHKB 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE Level: Default Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [BASE] = LAYOUT( // default layer - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), - - /* Layer HHKB: HHKB mode (HHKB Fn) - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | Caps | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | PgU | Up | PgD | Hm | & | ~ | | | | Psc | Up | Del | Backs | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | Lef | Dow | Rig | En | * | | | PgU | Hom | Lef | Rig | Enter | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | _ | + | ( | ) | | | | | PgD | End | Dow | | | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - - */ - - [HHKB] = LAYOUT( - KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; diff --git a/keyboards/hhkb/ansi/keymaps/krusli/config.h b/keyboards/hhkb/ansi/keymaps/krusli/config.h deleted file mode 100644 index af2fb9d8a52e..000000000000 --- a/keyboards/hhkb/ansi/keymaps/krusli/config.h +++ /dev/null @@ -1 +0,0 @@ -#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/hhkb/ansi/keymaps/krusli/keymap.c b/keyboards/hhkb/ansi/keymaps/krusli/keymap.c deleted file mode 100644 index 461a1b73b9af..000000000000 --- a/keyboards/hhkb/ansi/keymaps/krusli/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- eval: (turn-on-orgtbl); -*- - * default HHKB Layout - */ -#include QMK_KEYBOARD_H - -#define BASE 0 -#define HHKB 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE Level: Default Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [BASE] = LAYOUT( // default layer - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), - - /* Layer HHKB: HHKB mode (HHKB Fn) - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | | | | | | + | - | End | PgD | Dow | | | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - - */ - - [HHKB] = LAYOUT( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; diff --git a/keyboards/hhkb/ansi/keymaps/mjt/config.h b/keyboards/hhkb/ansi/keymaps/mjt/config.h deleted file mode 100644 index 41d1557c6f1d..000000000000 --- a/keyboards/hhkb/ansi/keymaps/mjt/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define USB_MAX_POWER_CONSUMPTION 50 diff --git a/keyboards/hhkb/ansi/keymaps/mjt/keymap.c b/keyboards/hhkb/ansi/keymaps/mjt/keymap.c deleted file mode 100644 index 54a041b93c84..000000000000 --- a/keyboards/hhkb/ansi/keymaps/mjt/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- eval: (turn-on-orgtbl); -*- - * default HHKB Layout - */ -#include QMK_KEYBOARD_H - -#define BASE 0 -#define HHKB 1 -#define FUNK 2 -#define DYN 3 -#define CTL_ESC CTL_T(KC_ESC) -#define MACSLEEP LCTL(LSFT(KC_PWR)) - -enum hhkb_keycodes -{ - QWERTY = SAFE_RANGE, - DYNKEY, - DYNAMIC_MACRO_RANGE, -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* BASE Level: Default Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [BASE] = LAYOUT( // default layer - 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - CTL_ESC, KC_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, SFT_T(KC_ENT), TT(FUNK), - KC_LALT, KC_LGUI, /* */ KC_SPC, MO(DYN), KC_RALT), - - /* Layer HHKB: HHKB mode (HHKB Fn) - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - | | | | | | | + | - | End | PgD | Dow | | | | | - |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - - - - [HHKB] = LAYOUT( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - */ - [FUNK] = LAYOUT( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [DYN] = LAYOUT( - KC_TRNS, DM_REC1, DM_REC2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DM_PLY1, DM_PLY2, - 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_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACSLEEP, KC_HOME, KC_END, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, DM_RSTP, KC_TRNS, KC_TRNS)}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - uint16_t macro_kc = (keycode == MO(DYN) ? DM_RSTP : keycode); - if (!process_dynamic_macro(macro_kc, record)) - { - return false; - } - - return true; -} diff --git a/keyboards/hhkb/ansi/keymaps/mjt/readme.md b/keyboards/hhkb/ansi/keymaps/mjt/readme.md deleted file mode 100644 index ff575ce247e4..000000000000 --- a/keyboards/hhkb/ansi/keymaps/mjt/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# Mike's HHKB - -- Surprisingly stock for the most part -- Dynamic macros -- ctrl key has tapkey for escape -- right shift has tapkey for enter -- Works with iPhone Camera Adapter - -## Layers - -Base for letters and mods. - -Funk layer is my tweaked function layer - -Dyn layer has dynamic macros. Record with 1 and 2, playback with \ and -upper-right-most key. Also turns the arrow clusters into nav keys. diff --git a/keyboards/hhkb/ansi/keymaps/mjt/rules.mk b/keyboards/hhkb/ansi/keymaps/mjt/rules.mk deleted file mode 100644 index 9e6797ed3074..000000000000 --- a/keyboards/hhkb/ansi/keymaps/mjt/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DYNAMIC_MACRO_ENABLE = yes diff --git a/keyboards/hhkb/ansi/keymaps/smt/keymap.c b/keyboards/hhkb/ansi/keymaps/smt/keymap.c deleted file mode 100644 index 81314e01b7bf..000000000000 --- a/keyboards/hhkb/ansi/keymaps/smt/keymap.c +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- eval: (turn-on-orgtbl); -*- - * default HHKB Layout - */ -#include QMK_KEYBOARD_H - -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _HHKB 3 - -enum planck_keycodes -{ - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - HHKB -}; - -// Custom macros -#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl -#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift -#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift) -#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Layer QWERTY: Qwerty Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [_QWERTY] = LAYOUT( // Qwerty layer - 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, MEH_GRV, - HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_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(_HHKB), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), - - /* Layer COLEMAK: Colemak Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | R | S | T | D | H | N | E | I | O | ' | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | Z | X | C | V | B | K | M | , | . | / | Shift | Fn | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [_COLEMAK] = LAYOUT( // Colemak layer - 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, MEH_GRV, - HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, - CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), - - /* Layer DVORAK: Dvorak Layer - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ` | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Tab | ' | , | . | P | Y | F | G | C | R | L | / | = | Backs | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Cont | A | O | E | U | I | D | H | T | N | S | - | Ent | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - | Shift | ; | Q | J | K | X | B | M | W | V | Z | Shift | Fn | | | - |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| - - |------+------+-----------------------+------+------| - | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | - |------+------+-----------------------+------+------| - */ - - [_DVORAK] = LAYOUT( // Dvorak layer - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV, - HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, - CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB), - KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), - - /* Layer HHKB: HHKB mode (HHKB Fn) - |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| - | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| - | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | - |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| - | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | - |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| - | | | Qwt | Cmk | Dvk | | + | - | End | PgD | Dow | | | | | - |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| - - |------+------+----------------------+------+------+ - | **** | **** | ******************** | **** | **** | - |------+------+----------------------+------+------+ - - */ - - [_HHKB] = LAYOUT( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_BSPC, - _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, - _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, - _______, _______, _______, _______, _______)}; - -void persistent_default_layer_set(uint16_t default_layer) -{ - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) -{ - switch (keycode) - { - case QWERTY: - if (record->event.pressed) - { - persistent_default_layer_set(1UL << _QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) - { - persistent_default_layer_set(1UL << _COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) - { - persistent_default_layer_set(1UL << _DVORAK); - } - return false; - break; - } - return true; -} diff --git a/keyboards/hhkb/ansi/keymaps/tominabox1/.gitignore b/keyboards/hhkb/ansi/keymaps/tominabox1/.gitignore deleted file mode 100644 index 4b8c99bfb86f..000000000000 --- a/keyboards/hhkb/ansi/keymaps/tominabox1/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.h -matrix.c -rules.mk diff --git a/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c b/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c deleted file mode 100644 index 61688d399ae5..000000000000 --- a/keyboards/hhkb/ansi/keymaps/tominabox1/keymap.c +++ /dev/null @@ -1,12 +0,0 @@ -#include QMK_KEYBOARD_H -#include "tominabox1.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, TD(TD_SFT_CPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(2)), - - [1] = 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_INS, KC_DEL, KC_CAPS, KC_MFFD, 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_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_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), - - [3] = LAYOUT(QK_GESC, KC_EXLM, KC_EML, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_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_NO, KC_TRNS) -}; diff --git a/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c b/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c deleted file mode 100644 index 4e89c9290fc6..000000000000 --- a/keyboards/hhkb/ansi/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,137 +0,0 @@ -/* -Xyverz's HHKB layout - -Rev 0.1, initial commit. - -This is my initial keymap for the HHKB with Hasu's alternate controller. -The default layer is Dvorak, with Qwerty and Colemak being optional. -Will probably add to it later, but for now I'm going to enjoy this as it is. -*/ - -#include QMK_KEYBOARD_H - -enum layer_names { - _QW, - _DV, - _CM, - _FL, -}; - -enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK }; - -#define FN_TAB LT(_FL, KC_TAB) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* - * _QW: Qwerty Layer - * ,-----------------------------------------------------------. - * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ |Del| - * |-----------------------------------------------------------| - * |Fn/Tb| Q| W| E| R| T| Y| U| I| O| P| [| ]|BkSpc| - * |-----------------------------------------------------------| - * |Control| A| S| D| F| G| H| J| K| L| ;| '| Return| - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |Fn| - * |-----------------------------------------------------------| - * | |Alt |Gui | Space |Gui |Alt | | - * `-----------------------------------------------------------' - */ - /* Layer 0: Qwerty */ - [_QW] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL , - FN_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT , - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - - /* - * _DV: Dvorak Layer - * ,-----------------------------------------------------------. - * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \ |Del| - * |-----------------------------------------------------------| - * |Fn/Tb| '| ,| .| P| Y| F| G| C| R| L| /| =|BkSpc| - * |-----------------------------------------------------------| - * |Control| A| O| E| U| I| D| H| T| N| S| -| Return| - * |-----------------------------------------------------------| - * |Shift | ;| Q| J| K| X| B| M| W| V| Z| Shift |Fn| - * |-----------------------------------------------------------| - * | |Alt |Gui | Space |Gui |Alt | | - * `-----------------------------------------------------------' - */ - /* Layer 1: Dvorak */ - [_DV] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , - FN_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_FL), - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - - /* - * _CM: Colemak Layer - * ,-----------------------------------------------------------. - * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ |Del| - * |-----------------------------------------------------------| - * |Fn/Tb| Q| W| F| P| G| J| L| U| Y| ;| [| ]|BkSpc| - * |-----------------------------------------------------------| - * |Control| A| R| S| T| D| H| N| E| I| O| '| Return| - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| K| M| ,| .| /| Shift |Fn| - * |-----------------------------------------------------------| - * | |Alt |Gui | Space |Gui |Alt | | - * `-----------------------------------------------------------' - */ - /* Layer 2: Colemak */ - [_CM] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL , - FN_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), - KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT - ), - - /* - * _FL: Function Layer - * ,-----------------------------------------------------------. - * |Grv |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |RST| - * |-----------------------------------------------------------| - * | | |_QW|_DV|_CM| | |PgU| Up|PgD|PSc|SLk|Pau| | - * |-----------------------------------------------------------| - * | | |MPr|MPl|MNx| |Hom| Lt| Dn| Rt| | | | - * |-----------------------------------------------------------| - * |CAPS | |Mut|VlD|VlU| |End| | | | | | | - * |-----------------------------------------------------------| - * | | | | Ins | | | | - * `-----------------------------------------------------------' - */ - /* Layer 3: Functions */ - [_FL] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, - _______, _______, QWERTY, DVORAK, COLEMAK, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, _______, - KC_CAPS, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, - _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ - ), - -}; -// clang-format on - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case DVORAK: - set_single_persistent_default_layer(_DV); - return false; - case QWERTY: - set_single_persistent_default_layer(_QW); - return false; - case COLEMAK: - set_single_persistent_default_layer(_CM); - return false; - } - } - return true; -} \ No newline at end of file diff --git a/keyboards/hhkb/jp/config.h b/keyboards/hhkb/jp/config.h index 9de64724b78b..88b9c9b6cc8f 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/hhkb/jp/keymaps/dhertz/config.h b/keyboards/hhkb/jp/keymaps/dhertz/config.h deleted file mode 100644 index af2fb9d8a52e..000000000000 --- a/keyboards/hhkb/jp/keymaps/dhertz/config.h +++ /dev/null @@ -1 +0,0 @@ -#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/hhkb/jp/keymaps/dhertz/keymap.c b/keyboards/hhkb/jp/keymaps/dhertz/keymap.c deleted file mode 100644 index 5c2511df6416..000000000000 --- a/keyboards/hhkb/jp/keymaps/dhertz/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layer 0: Default Layer - * ,-----------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Del|Bsp| - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Enter | - * |------------------------------------------------------` | - * |SrCtl | A| S| D| F| G| H| J| K| L| ;| '| \| | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /| `|Up |Shi| - * |-----------------------------------------------------------| - * |NCt|| #|Alt|CmT|CmT| LyrSpc |CGv|Iso|Gui|CSL||Rig|Dow|Lef| - * `-----------------------------------------------------------' - */ - [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, KC_DEL,KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC, - SRCH_CTL, 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_NUBS, KC_UP, KC_RSFT, - NC_CTL, HSH_TLD,KC_LALT,CMD_TAB_CMD,CMD_TAB_CMD, LT(2, KC_SPC) , CMD_GRV_CMD, ISO_COUNTRY_CODE,KC_RGUI, CMD_SFT_L, KC_LEFT,KC_DOWN,KC_RGHT - ), - - /* Layer 1: iPad mode (Fixed) - * ,-----------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |------------------------------------------------------` | - * |CmdSpc| | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | || ~| |CAD| | |CmH| | | || | | | - * `-----------------------------------------------------------' - */ - [1] = LAYOUT_jp( - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, - CMD_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,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,CMD_ALT_D,KC_TRNS, KC_TRNS ,CMD_H,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS - ), - - /* Layer 2: HHKB mode (Space) - * ,-----------------------------------------------------------. - * |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| - * |-----------------------------------------------------------| - * |Caps |DL0|DL1| | | | | |Psc|Slk|Pus|Up | | | - * |------------------------------------------------------` | - * | |VoD|VoU|Mut| | | |Bsp|Del|CSL|Lef|Rig| | | - * |-----------------------------------------------------------| - * | | | |CAC| | | | | | |Dow| |PgU| | - * |-----------------------------------------------------------| - * | || ~| | | | | | | | ||Hom|PgD|End| - * `-----------------------------------------------------------' - */ - [2] = LAYOUT_jp( - KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS,KC_DEL, - KC_CAPS, DF(0), DF(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS, KC_UP,KC_TRNS, - KC_TRNS, KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_TRNS,KC_BSPC, KC_DEL,CMD_SFT_L,KC_LEFT,KC_RGHT,KC_TRNS,KC_PENT, - KC_TRNS, KC_TRNS,KC_TRNS,CMD_ALT_C,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_DOWN,KC_TRNS,KC_PGUP,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN, KC_END - ), -}; - -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case CMD_SPC: - mod_or_mod_with_macro(record, KC_LGUI, " "); - break; - case CMD_H: - mod_or_mod_with_macro(record, KC_RGUI, "H"); - break; - case CMD_ALT_D: - mod_or_mod_with_macro(record, KC_LGUI, SS_LALT("D")); - break; - default: - return true; - } - return false; -} diff --git a/keyboards/hhkb/jp/keymaps/dhertz/keymap.h b/keyboards/hhkb/jp/keymaps/dhertz/keymap.h deleted file mode 100644 index dbefc63800c7..000000000000 --- a/keyboards/hhkb/jp/keymaps/dhertz/keymap.h +++ /dev/null @@ -1,7 +0,0 @@ -#include "dhertz.h" - -enum dhertz_keycodes { - CMD_SPC = NEW_SAFE_RANGE, - CMD_H, - CMD_ALT_D, -}; diff --git a/keyboards/hhkb/jp/keymaps/dhertz/rules.mk b/keyboards/hhkb/jp/keymaps/dhertz/rules.mk deleted file mode 100644 index 5656057b4348..000000000000 --- a/keyboards/hhkb/jp/keymaps/dhertz/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OPT_DEFS += -DHHKB_JP - diff --git a/keyboards/hhkb/yang/info.json b/keyboards/hhkb/yang/info.json index bfff105e9073..24cd750e09c4 100644 --- a/keyboards/hhkb/yang/info.json +++ b/keyboards/hhkb/yang/info.json @@ -11,6 +11,9 @@ "indicators": { "caps_lock": "F4" }, + "bluetooth": { + "driver": "bluefruit_le" + }, "processor": "atmega32u4", "bootloader": "lufa-ms", "debounce": 0, diff --git a/keyboards/hhkb/yang/rules.mk b/keyboards/hhkb/yang/rules.mk index 71ec705822b3..99f77d0c162e 100644 --- a/keyboards/hhkb/yang/rules.mk +++ b/keyboards/hhkb/yang/rules.mk @@ -11,9 +11,6 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # USB Nkey Rollover -# Disable bluetooth until the UART code is merged -BLUETOOTH_DRIVER = BluefruitLE - # Custom matrix file for the HHKB CUSTOM_MATRIX = lite SRC += matrix.c diff --git a/keyboards/hidtech/bastyl/config.h b/keyboards/hidtech/bastyl/config.h index 48ac76c74b7b..a033888b412e 100644 --- a/keyboards/hidtech/bastyl/config.h +++ b/keyboards/hidtech/bastyl/config.h @@ -18,19 +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 -#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 - #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE #define MASTER_RIGHT diff --git a/keyboards/hidtech/bastyl/info.json b/keyboards/hidtech/bastyl/info.json index 02b8854e3605..ee43e96bdd07 100644 --- a/keyboards/hidtech/bastyl/info.json +++ b/keyboards/hidtech/bastyl/info.json @@ -19,6 +19,22 @@ "ws2812": { "pin": "D2" }, + "rgblight": { + "led_count": 38, + "split": 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 + } + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c b/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c deleted file mode 100644 index 257f43e610d5..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/german_gaming/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2021 Joschua Gandert - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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_german.h" - - -enum layer_names { - _BASE, - _GAME, /* WASD shifted right once */ - _LOWER, - _RAISE, - _ADJUST /* when both LOWER and RAISE pressed */ -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -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 , DE_SS , - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA, - KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS, - - RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER, - KC_ENT, KC_LALT, KC_LGUI, KC_RSFT - ), - - [_GAME] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______, - KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL , - _______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC , - _______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ , - _______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL, - - _______, KC_RGHT, _______, _______, _______, _______, - KC_LEFT, _______, QK_BOOT, _______ - ), - - [_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_UP , _______, _______, KC_LALT, KC_INS , KC_NUM , KC_CALC, KC_PSCR , KC_MUTE, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU, - _______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SCRL , KC_VOLD, - - _______, _______, _______, _______, KC_UP , _______, - _______, _______, _______, KC_DOWN - ), - - [_ADJUST] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} diff --git a/keyboards/hidtech/bastyl/keymaps/german_gaming/readme.md b/keyboards/hidtech/bastyl/keymaps/german_gaming/readme.md deleted file mode 100644 index 9e6a328bcb8b..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/german_gaming/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -![German Gaming Layout Image](https://i.imgur.com/0y938rG.png) - -Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion). -​ - -# German Gaming Layout -​ -This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that WASD is on the ESDF keys. The reason this layer was added is that using WASD is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. ESDF also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so TGB, ends up in the leftmost position. - -Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on IJKL. - - -## Raise and Lower layer - -Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access Home, End, Page Down and Page Up via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard. - -The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer. - - -## Firmware - -The keyboard can be put into Reset mode (for flashing a keymap) by pressing **LOWER** + Super (also known as Windows key), or by pressing **LOWER** + **RAISE** + R. - -`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large. diff --git a/keyboards/hidtech/bastyl/keymaps/german_gaming/rules.mk b/keyboards/hidtech/bastyl/keymaps/german_gaming/rules.mk deleted file mode 100644 index 0a5b666e8557..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/german_gaming/rules.mk +++ /dev/null @@ -1 +0,0 @@ -MOUSEKEY_ENABLE = no diff --git a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c deleted file mode 100644 index 8dbb31130913..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2020 Quentin LEBASTARD - * Copyright 2020 Anthony MARIN - * Copyright 2021 Stick - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "nstickney.h" -#include "unicodemap.h" - -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_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, - //-------------------------------// - CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT, - //-------------------------------// - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - //-------------------------------// - AC_SLSH, FC_BSLS, KC_SPC, KC_ENT, FC_MINS, AC_EQL, - //-------------------------------// - KC_LBRC, TD(LOCKS), TD(LAYERS), KC_RBRC), - - [SYMB] = LAYOUT(_______, XP(IEX, SS1), X(SS2), X(SS3), XP(CUR, GBP), X(EUR), X(V14), X(V12), X(V34), XP(LSQ, LDQ), XP(RSQ, RDQ), _______, - //-------------------------------// - _______, XP(A_D, AXD), XP(A_R, ACR), XP(E_A, ECA), XP(REG, CPL), X(THR), XP(U_D, UCD), XP(U_A, UCA), XP(I_A, ICA), XP(O_A, OCA), XP(O_D, OCD), _______, - //-------------------------------// - _______, XP(A_A, ACA), XP(S_S, SEC), XP(ETH, ETC), X(EMD), _______, _______, _______, _______, XP(O_S, OCS), XP(PLC, DEG), XP(ACT, DIS), - //-------------------------------// - _______, XP(AEL, AEC), _______, XP(CPR, CNT), _______, _______, _______, _______, XP(N_T, NCT), X(MCR), XP(C_C, CCC), _______, - //-------------------------------// - X(IQM), XP(NOT, BKB), _______, _______, X(YEN), XP(MLT, DIV), - //-------------------------------// - _______, _______, _______, _______), - - [NUMP] = LAYOUT(_______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, - //-------------------------------// - _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, - //-------------------------------// - _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, - //-------------------------------// - _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, - //-------------------------------// - _______, _______, _______, KC_PENT, _______, _______, - //-------------------------------// - _______, _______, _______, _______), - - [FCTN] = LAYOUT(KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYRQ, - //-------------------------------// - KC_PSCR, RGB_TOG, KC_HOME, KC_UP, KC_END, KC_PGUP, QK_LOCK, KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), KC_INS, - //-------------------------------// - KC_PAUS, RGB_VAI, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR, - //-------------------------------// - _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______, - //-------------------------------// - QK_BOOT, _______, _______, _______, _______, QK_BOOT, - //-------------------------------// - _______, KC_F11, KC_F12, _______)}; diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/config.h b/keyboards/hidtech/bastyl/keymaps/xyverz/config.h deleted file mode 100644 index 4fa185e9564c..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/xyverz/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 300 -#define PERMISSIVE_HOLD -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 300 \ No newline at end of file diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c b/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c deleted file mode 100644 index 0e8ce2dc837f..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2021 Ian Sterling - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST }; - -enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST }; - -// Aliases to keep the keymap tidy -#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. -#define RGB_SWR RGB_M_SW // Swirl Animation alias -#define RGB_SNK RGB_M_SN // Snake Animation alias -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! -#define WINLOCK LGUI(KC_L) // Lock my PC! -#define DELGUI GUI_T(KC_DEL) -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - - -#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_WINDOWS] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_MAC] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, - KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE, - KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL - ), - -[_LOWER] = LAYOUT( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - QK_BOOT, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_RAISE] = LAYOUT( - KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, - _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT, - KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, - _______, KC_DEL, _______, _______, _______, _______, - MACLOCK, _______, _______, WINLOCK - ), - -[_ADJUST] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______ - ), - -}; - -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) { - if (record->event.pressed) { - switch (keycode) { - case WINDOWS: - set_single_persistent_default_layer(_WINDOWS); - return false; - case MAC: - set_single_persistent_default_layer(_MAC); - return false; - } - } - return true; -} diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md b/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md deleted file mode 100644 index 89d11347d2a6..000000000000 --- a/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# Bastyl - -A split ergonomic keyboard. - -* Keyboard Maintainer: [HID Technologies](https://github.com/HID-Technologies) -* Hardware Supported: elite-C V4 -* Hardware Availability: [Hidtech.ca](https://www.hidtech.ca/) - -Make example for this keyboard (after setting up your build environment): - - make hidtech/bastyl:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -See the [keyboard build instructions](https://hid-technologies.github.io/Bastyl-DIY-instructions/) - - -## Important information regarding the reset - -If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. - -Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/hifumi/config.h b/keyboards/hifumi/config.h deleted file mode 100644 index bcf040c6cb17..000000000000 --- a/keyboards/hifumi/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2019 zk-phi - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 6 -#define RGBLIGHT_HUE_STEP 5 -#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/hifumi/info.json b/keyboards/hifumi/info.json index a4aeccf83ad0..6c2f53aab83a 100644 --- a/keyboards/hifumi/info.json +++ b/keyboards/hifumi/info.json @@ -13,6 +13,22 @@ "rows": ["D4", "C6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 5, + "led_count": 6, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h index 81736ff17598..20c4deca40c5 100644 --- a/keyboards/hillside/46/0_1/config.h +++ b/keyboards/hillside/46/0_1/config.h @@ -8,20 +8,18 @@ #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 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/46/0_1/info.json b/keyboards/hillside/46/0_1/info.json index 8b5fa112f7ad..7512debabdf0 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/46/0_1/rules.mk b/keyboards/hillside/46/0_1/rules.mk index 2501147ea82e..3c12e55b581d 100644 --- a/keyboards/hillside/46/0_1/rules.mk +++ b/keyboards/hillside/46/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/hillside/46/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/46/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index fa808ef68130..000000000000 --- a/keyboards/hillside/46/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2022 Davide Masserut (@mssdvd) -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -// clang-format off -#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ - XXX, K32, K33, K34, K35, K36, K37, XXX \ -) -#else -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ - K32, K33, K34, XXX, XXX, K35, K36, K37 \ -) -#endif diff --git a/keyboards/hillside/46/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/46/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/hillside/46/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h index 72f1a842c775..150573c16558 100644 --- a/keyboards/hillside/48/0_1/config.h +++ b/keyboards/hillside/48/0_1/config.h @@ -3,20 +3,18 @@ #pragma once -#define RGBLIGHT_SLEEP - /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/48/0_1/info.json b/keyboards/hillside/48/0_1/info.json index 19e38259d377..b6007f1f729d 100644 --- a/keyboards/hillside/48/0_1/info.json +++ b/keyboards/hillside/48/0_1/info.json @@ -23,7 +23,6 @@ }, "split": { "soft_serial_pin": "D2", - "main": "left", "encoder": { "right": { "rotary": [ @@ -37,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/rules.mk b/keyboards/hillside/48/0_1/rules.mk index 2501147ea82e..3c12e55b581d 100644 --- a/keyboards/hillside/48/0_1/rules.mk +++ b/keyboards/hillside/48/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/hillside/48/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/48/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index e779de8a99f9..000000000000 --- a/keyboards/hillside/48/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2022 Davide Masserut (@mssdvd) -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -// clang-format off -#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ - XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX \ -) -#else -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ - XXX, K32, K33, K34, XXX, XXX, K35, K36, K37, XXX \ -) -#endif diff --git a/keyboards/hillside/48/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/48/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/hillside/48/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h index 81736ff17598..20c4deca40c5 100644 --- a/keyboards/hillside/52/0_1/config.h +++ b/keyboards/hillside/52/0_1/config.h @@ -8,20 +8,18 @@ #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 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/52/0_1/info.json b/keyboards/hillside/52/0_1/info.json index 8584ee15124c..63bbf3b2577a 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/hillside/52/0_1/rules.mk b/keyboards/hillside/52/0_1/rules.mk index 2501147ea82e..3c12e55b581d 100644 --- a/keyboards/hillside/52/0_1/rules.mk +++ b/keyboards/hillside/52/0_1/rules.mk @@ -5,4 +5,4 @@ LTO_ENABLE = yes # Use link time optimization for smaller firmware # enable it and set its driver here or in your keymap folder # The Pimoroni board's driver is DRV2605L # HAPTIC_ENABLE = yes # Enable haptic driver -# HAPTIC_DRIVER = DRV2605L +# HAPTIC_DRIVER = drv2605l diff --git a/keyboards/hillside/52/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/52/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index 388f6b9a91d5..000000000000 --- a/keyboards/hillside/52/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2022 Davide Masserut (@mssdvd) -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 XXX KC_NO - -// clang-format off -#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ -XXX, XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, XXX \ -) -#else -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ -XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ -XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ -XXX, XXX, XXX, K32, K33, K34, XXX, XXX, K35, K36, K37, XXX, XXX, XXX \ -) -#endif diff --git a/keyboards/hillside/52/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/52/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index dbab7f982043..000000000000 --- a/keyboards/hillside/52/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2019 Manna Harbour -// https://github.com/manna-harbour/miryoku - -// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/hineybush/h08_ocelot/config.h b/keyboards/hineybush/h08_ocelot/config.h index e275779f4c7f..474c1d6701d7 100644 --- a/keyboards/hineybush/h08_ocelot/config.h +++ b/keyboards/hineybush/h08_ocelot/config.h @@ -17,22 +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 -#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 - /* 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/hineybush/h08_ocelot/info.json b/keyboards/hineybush/h08_ocelot/info.json index addd71a5a8ca..989e23e75748 100644 --- a/keyboards/hineybush/h08_ocelot/info.json +++ b/keyboards/hineybush/h08_ocelot/info.json @@ -17,7 +17,23 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 220 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "max_brightness": 220, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/h101/info.json b/keyboards/hineybush/h101/info.json new file mode 100644 index 000000000000..d1f8fa32a084 --- /dev/null +++ b/keyboards/hineybush/h101/info.json @@ -0,0 +1,381 @@ +{ + "manufacturer": "hiney", + "keyboard_name": "h101", + "maintainer": "hineybush", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B10", "B11", "B12", "A8", "A9", "A10", "A15", "B3", "B4", "B5", "B6", "B7", "B9", "A3", "F0", "F1", "A7", "A5", "A4"], + "rows": ["C13", "C14", "C15", "A0", "A1", "A2"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "0.0.1", + "vid": "0x4069", + "pid": "0x0002" + }, + "indicators": { + "num_lock": "A6", + "caps_lock": "B14", + "scroll_lock": "B8", + "on_state": 0 + }, + "layouts": { + "LAYOUT_f13_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,11], "label":"F10", "x":10.75, "y":0}, + {"matrix": [0,12], "label":"F11", "x":11.75, "y":0}, + {"matrix": [0,13], "label":"F12", "x":12.75, "y":0}, + {"matrix": [0,14], "label":"F13", "x":14, "y":0}, + {"matrix": [0,15], "label":"PrtSc", "x":15.25, "y":0}, + {"matrix": [0,16], "label":"Scroll Lock", "x":16.25, "y":0}, + {"matrix": [0,17], "label":"Pause", "x":17.25, "y":0}, + {"matrix": [0,18], "label":"KP 1", "x":18.5, "y":0}, + {"matrix": [0,19], "label":"KP 2", "x":19.5, "y":0}, + {"matrix": [0,20], "label":"KP 3", "x":20.5, "y":0}, + {"matrix": [0,21], "label":"KP 4", "x":21.5, "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,14], "label":"Backspace", "x":13, "y":1.25, "w":2}, + {"matrix": [1,15], "label":"Insert", "x":15.25, "y":1.25}, + {"matrix": [1,16], "label":"Home", "x":16.25, "y":1.25}, + {"matrix": [1,17], "label":"PgUp", "x":17.25, "y":1.25}, + {"matrix": [1,18], "label":"Num Lock", "x":18.5, "y":1.25}, + {"matrix": [1,19], "label":"/", "x":19.5, "y":1.25}, + {"matrix": [1,20], "label":"*", "x":20.5, "y":1.25}, + {"matrix": [1,21], "label":"-", "x":21.5, "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,15], "label":"Delete", "x":15.25, "y":2.25}, + {"matrix": [2,16], "label":"End", "x":16.25, "y":2.25}, + {"matrix": [2,17], "label":"PgDn", "x":17.25, "y":2.25}, + {"matrix": [2,18], "label":"7", "x":18.5, "y":2.25}, + {"matrix": [2,19], "label":"8", "x":19.5, "y":2.25}, + {"matrix": [2,20], "label":"9", "x":20.5, "y":2.25}, + {"matrix": [2,21], "label":"+", "x":21.5, "y":2.25, "h":2}, + {"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":"\"", "x":11.75, "y":3.25}, + {"matrix": [3,13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [3,18], "label":"4", "x":18.5, "y":3.25}, + {"matrix": [3,19], "label":"5", "x":19.5, "y":3.25}, + {"matrix": [3,20], "label":"6", "x":20.5, "y":3.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}, + {"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":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"matrix": [4,16], "label":"Up Arrow", "x":16.25, "y":4.25}, + {"matrix": [4,18], "label":"1", "x":18.5, "y":4.25}, + {"matrix": [4,19], "label":"2", "x":19.5, "y":4.25}, + {"matrix": [4,20], "label":"3", "x":20.5, "y":4.25}, + {"matrix": [4,21], "label":"Enter", "x":21.5, "y":4.25, "h":2}, + {"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,7], "label":"Space", "x":4, "y":5.25, "w":7}, + {"matrix": [5,11], "label":"Alt", "x":11, "y":5.25, "w":1.5}, + {"matrix": [5,12], "label":"Win", "x":12.5, "y":5.25}, + {"matrix": [5,13], "label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, + {"matrix": [5,15], "label":"Left Arrow", "x":15.25, "y":5.25}, + {"matrix": [5,16], "label":"Down Arrow", "x":16.25, "y":5.25}, + {"matrix": [5,17], "label":"Right Arrow", "x":17.25, "y":5.25}, + {"matrix": [5,19], "label":"0", "x":18.5, "y":5.25, "w":2}, + {"matrix": [5,20], "label":".", "x":20.5, "y":5.25} + ] + }, + "LAYOUT_all": { + "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,11], "label":"F10", "x":10.75, "y":0}, + {"matrix": [0,12], "label":"F11", "x":11.75, "y":0}, + {"matrix": [0,13], "label":"F12", "x":12.75, "y":0}, + {"matrix": [0,14], "label":"F13", "x":14, "y":0}, + {"matrix": [0,15], "label":"PrtSc", "x":15.25, "y":0}, + {"matrix": [0,16], "label":"Scroll Lock", "x":16.25, "y":0}, + {"matrix": [0,17], "label":"Pause", "x":17.25, "y":0}, + {"matrix": [0,18], "label":"KP 1", "x":18.5, "y":0}, + {"matrix": [0,19], "label":"KP 2", "x":19.5, "y":0}, + {"matrix": [0,20], "label":"KP 3", "x":20.5, "y":0}, + {"matrix": [0,21], "label":"KP 4", "x":21.5, "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":"1U Split Bksp", "x":13, "y":1.25}, + {"matrix": [1,14], "label":"Backspace", "x":14, "y":1.25}, + {"matrix": [1,15], "label":"Insert", "x":15.25, "y":1.25}, + {"matrix": [1,16], "label":"Home", "x":16.25, "y":1.25}, + {"matrix": [1,17], "label":"PgUp", "x":17.25, "y":1.25}, + {"matrix": [1,18], "label":"Num Lock", "x":18.5, "y":1.25}, + {"matrix": [1,19], "label":"/", "x":19.5, "y":1.25}, + {"matrix": [1,20], "label":"*", "x":20.5, "y":1.25}, + {"matrix": [1,21], "label":"-", "x":21.5, "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,15], "label":"Delete", "x":15.25, "y":2.25}, + {"matrix": [2,16], "label":"End", "x":16.25, "y":2.25}, + {"matrix": [2,17], "label":"PgDn", "x":17.25, "y":2.25}, + {"matrix": [2,18], "label":"7", "x":18.5, "y":2.25}, + {"matrix": [2,19], "label":"8", "x":19.5, "y":2.25}, + {"matrix": [2,20], "label":"9", "x":20.5, "y":2.25}, + {"matrix": [2,21], "label":"+", "x":21.5, "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":"\"", "x":11.75, "y":3.25}, + {"matrix": [3,13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [3,18], "label":"4", "x":18.5, "y":3.25}, + {"matrix": [3,19], "label":"5", "x":19.5, "y":3.25}, + {"matrix": [3,20], "label":"6", "x":20.5, "y":3.25}, + {"matrix": [3,21], "label":"+", "x":21.5, "y":3.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}, + {"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":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"matrix": [4,13], "label":"Fn", "x":14, "y":4.25}, + {"matrix": [4,16], "label":"Up Arrow", "x":16.25, "y":4.25}, + {"matrix": [4,18], "label":"1", "x":18.5, "y":4.25}, + {"matrix": [4,19], "label":"2", "x":19.5, "y":4.25}, + {"matrix": [4,20], "label":"3", "x":20.5, "y":4.25}, + {"matrix": [4,21], "label":"Enter", "x":21.5, "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,7], "label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"matrix": [5,10], "label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"matrix": [5,11], "label":"Alt", "x":11.25, "y":5.25, "w":1.25}, + {"matrix": [5,12], "label":"Win", "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,15], "label":"Left Arrow", "x":15.25, "y":5.25}, + {"matrix": [5,16], "label":"Down Arrow", "x":16.25, "y":5.25}, + {"matrix": [5,17], "label":"Right Arrow", "x":17.25, "y":5.25}, + {"matrix": [5,18], "label":"0", "x":18.5, "y":5.25}, + {"matrix": [5,19], "label":"0", "x":19.5, "y":5.25}, + {"matrix": [5,20], "label":".", "x":20.5, "y":5.25}, + {"matrix": [5,21], "label":"Enter", "x":21.5, "y":5.25} + ] + }, + "LAYOUT_f12_all": { + "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,11], "label":"F10", "x":10.75, "y":0}, + {"matrix": [0,12], "label":"F11", "x":11.75, "y":0}, + {"matrix": [0,13], "label":"F12", "x":12.75, "y":0}, + {"matrix": [0,15], "label":"PrtSc", "x":15.25, "y":0}, + {"matrix": [0,16], "label":"Scroll Lock", "x":16.25, "y":0}, + {"matrix": [0,17], "label":"Pause", "x":17.25, "y":0}, + {"matrix": [0,18], "label":"KP 1", "x":18.5, "y":0}, + {"matrix": [0,19], "label":"KP 2", "x":19.5, "y":0}, + {"matrix": [0,20], "label":"KP 3", "x":20.5, "y":0}, + {"matrix": [0,21], "label":"KP 4", "x":21.5, "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":"1U Split Bksp", "x":13, "y":1.25}, + {"matrix": [1,14], "label":"Backspace", "x":14, "y":1.25}, + {"matrix": [1,15], "label":"Insert", "x":15.25, "y":1.25}, + {"matrix": [1,16], "label":"Home", "x":16.25, "y":1.25}, + {"matrix": [1,17], "label":"PgUp", "x":17.25, "y":1.25}, + {"matrix": [1,18], "label":"Num Lock", "x":18.5, "y":1.25}, + {"matrix": [1,19], "label":"/", "x":19.5, "y":1.25}, + {"matrix": [1,20], "label":"*", "x":20.5, "y":1.25}, + {"matrix": [1,21], "label":"-", "x":21.5, "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,15], "label":"Delete", "x":15.25, "y":2.25}, + {"matrix": [2,16], "label":"End", "x":16.25, "y":2.25}, + {"matrix": [2,17], "label":"PgDn", "x":17.25, "y":2.25}, + {"matrix": [2,18], "label":"7", "x":18.5, "y":2.25}, + {"matrix": [2,19], "label":"8", "x":19.5, "y":2.25}, + {"matrix": [2,20], "label":"9", "x":20.5, "y":2.25}, + {"matrix": [2,21], "label":"+", "x":21.5, "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":"\"", "x":11.75, "y":3.25}, + {"matrix": [3,13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [3,18], "label":"4", "x":18.5, "y":3.25}, + {"matrix": [3,19], "label":"5", "x":19.5, "y":3.25}, + {"matrix": [3,20], "label":"6", "x":20.5, "y":3.25}, + {"matrix": [3,21], "label":"+", "x":21.5, "y":3.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}, + {"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":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"matrix": [4,13], "label":"Fn", "x":14, "y":4.25}, + {"matrix": [4,16], "label":"Up Arrow", "x":16.25, "y":4.25}, + {"matrix": [4,18], "label":"1", "x":18.5, "y":4.25}, + {"matrix": [4,19], "label":"2", "x":19.5, "y":4.25}, + {"matrix": [4,20], "label":"3", "x":20.5, "y":4.25}, + {"matrix": [4,21], "label":"Enter", "x":21.5, "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,7], "label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"matrix": [5,10], "label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"matrix": [5,11], "label":"Alt", "x":11.25, "y":5.25, "w":1.25}, + {"matrix": [5,12], "label":"Win", "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,15], "label":"Left Arrow", "x":15.25, "y":5.25}, + {"matrix": [5,16], "label":"Down Arrow", "x":16.25, "y":5.25}, + {"matrix": [5,17], "label":"Right Arrow", "x":17.25, "y":5.25}, + {"matrix": [5,18], "label":"0", "x":18.5, "y":5.25}, + {"matrix": [5,19], "label":"0", "x":19.5, "y":5.25}, + {"matrix": [5,20], "label":".", "x":20.5, "y":5.25}, + {"matrix": [5,21], "label":"Enter", "x":21.5, "y":5.25} + ] + } + } +} diff --git a/keyboards/hineybush/h101/keymaps/default/keymap.c b/keyboards/hineybush/h101/keymaps/default/keymap.c new file mode 100644 index 000000000000..bc0352003644 --- /dev/null +++ b/keyboards/hineybush/h101/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 Josh Hinnebusch (@hineybush) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_f13_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_0, KC_PSCR, KC_SCRL, KC_PAUS, KC_MPLY, KC_MNXT, KC_VOLU, KC_VOLD, + 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [1] = LAYOUT_f13_tsangan( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 ), + +}; diff --git a/keyboards/hineybush/h101/keymaps/via/keymap.c b/keyboards/hineybush/h101/keymaps/via/keymap.c new file mode 100644 index 000000000000..020042b13a66 --- /dev/null +++ b/keyboards/hineybush/h101/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2023 Josh Hinnebusch (@hineybush) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* +┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0B │0C │0D ││0E │ │0F │0G │0H │ │0I │0J │0K │0L │ +└───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘ └───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐ ┌───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │1F │1G │1H │ │1I │1J │1K │1L │ │1E │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī ├───┾───┾───â”Ī ├───┾───┾───┾───â”Ī └───────┘ ┌───┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2F │2G │2H │ │2I │2J │2K │2L │ │ │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī └───â”ī───â”ī───┘ ├───┾───┾───┾───â”Ī │2L │ Numpad "+" +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3I │3J │3K │3L │ │ │ +├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ ├───┾───┾───┾───â”Ī ├───â”Ī +│40 │42 │43 │44 │45 │46 │47 │48 │49 │3A │3B │4C │4D │ │4G │ │4I │4J │4K │4L │ │ │ +├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī ┌───┾───┾───┐ ├───┾───┾───┾───â”Ī ┌───────┐ │4L │ Numpad Enter +│50 │51 │52 │57 │5A │5B │5C │5D │ │5F │5G │5H │ │5I │5J │5K │5L │ Numpad 0 │5J │ │ │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘ └───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───────┘ └───┘ + ┌──────────┐ + 2.75u RShift │4C │ + └──────────┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│50 │51 │52 │57 │5B │5C │5D │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +*/ +#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_0, KC_PSCR, KC_SCRL, KC_PAUS, KC_MPLY, KC_MNXT, KC_VOLU, KC_VOLD, + 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_TRNS, 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_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_P0, KC_PDOT, KC_TRNS), + + [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, 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), + +}; diff --git a/keyboards/hineybush/h101/keymaps/via/rules.mk b/keyboards/hineybush/h101/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/hineybush/h101/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/hineybush/h101/readme.md b/keyboards/hineybush/h101/readme.md new file mode 100644 index 000000000000..d28ce3507477 --- /dev/null +++ b/keyboards/hineybush/h101/readme.md @@ -0,0 +1,27 @@ +# h101 + +![h101](https://i.imgur.com/LqmvjS1h.png) + +F13 full-size PCB with 1.25u function row Spacing. + +* Keyboard Maintainer: [hineybush](https://github.com/hineybush) +* Hardware Supported: h101 using STM32F072 +* Hardware Availability: Fossil by Carolina Mech + +Make example for this keyboard (after setting up your build environment): + + make hineybush/h101:default + +Flashing example for this keyboard: + + make hineybush/h101: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/hineybush/h101/rules.mk b/keyboards/hineybush/h101/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/hineybush/h101/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/hineybush/h60/config.h b/keyboards/hineybush/h60/config.h index a4d338b500d8..994b108d8e8a 100644 --- a/keyboards/hineybush/h60/config.h +++ b/keyboards/hineybush/h60/config.h @@ -17,33 +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 -#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 -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING - /* 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/hineybush/h60/info.json b/keyboards/hineybush/h60/info.json index 3069b4a4b37f..59820b17979d 100644 --- a/keyboards/hineybush/h60/info.json +++ b/keyboards/hineybush/h60/info.json @@ -17,6 +17,24 @@ "pin": "B7", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "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 + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/hineybush/h65/config.h b/keyboards/hineybush/h65/config.h index ae0ecc61cf37..474c1d6701d7 100644 --- a/keyboards/hineybush/h65/config.h +++ b/keyboards/hineybush/h65/config.h @@ -17,22 +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 -#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 - /* 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/hineybush/h65/info.json b/keyboards/hineybush/h65/info.json index dba8541b9916..f6fd12edaa02 100644 --- a/keyboards/hineybush/h65/info.json +++ b/keyboards/hineybush/h65/info.json @@ -20,6 +20,24 @@ "indicators": { "caps_lock": "E6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "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 + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/hineybush/h65_hotswap/config.h b/keyboards/hineybush/h65_hotswap/config.h index ae0ecc61cf37..474c1d6701d7 100644 --- a/keyboards/hineybush/h65_hotswap/config.h +++ b/keyboards/hineybush/h65_hotswap/config.h @@ -17,22 +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 -#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 - /* 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/hineybush/h65_hotswap/info.json b/keyboards/hineybush/h65_hotswap/info.json index a4c09e02da31..63b780361711 100644 --- a/keyboards/hineybush/h65_hotswap/info.json +++ b/keyboards/hineybush/h65_hotswap/info.json @@ -20,6 +20,24 @@ "indicators": { "caps_lock": "E6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "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 + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/hineybush/h660s/config.h b/keyboards/hineybush/h660s/config.h index e4d5a87a008c..373b97179ea8 100644 --- a/keyboards/hineybush/h660s/config.h +++ b/keyboards/hineybush/h660s/config.h @@ -17,21 +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 -//# 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 - /* 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/hineybush/h660s/info.json b/keyboards/hineybush/h660s/info.json index be6e28b26185..6c5d07cc835f 100644 --- a/keyboards/hineybush/h660s/info.json +++ b/keyboards/hineybush/h660s/info.json @@ -17,11 +17,26 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "B0" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["66_ansi", "66_iso"], "layouts": { "LAYOUT_66_ansi": { "layout": [ diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h index 760e5fdd7069..2e3e43042206 100644 --- a/keyboards/hineybush/h75_singa/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -17,22 +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 -#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 - /* 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/hineybush/h75_singa/info.json b/keyboards/hineybush/h75_singa/info.json index f4a94774f4cf..22a04e509da0 100644 --- a/keyboards/hineybush/h75_singa/info.json +++ b/keyboards/hineybush/h75_singa/info.json @@ -17,6 +17,24 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "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 + } + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/hineybush/h87a/config.h b/keyboards/hineybush/h87a/config.h index 26b995ddd0fb..68b99c1a55d7 100644 --- a/keyboards/hineybush/h87a/config.h +++ b/keyboards/hineybush/h87a/config.h @@ -21,19 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 ee067e1f321b..9b2eb97e7c94 100644 --- a/keyboards/hineybush/h87a/info.json +++ b/keyboards/hineybush/h87a/info.json @@ -20,7 +20,23 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 200, + "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 + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c index 76fd4abae93e..6d064455b360 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/h87a/keymaps/peott-fr/keymap.c b/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c deleted file mode 100644 index 0c142e5759bb..000000000000 --- a/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 Pierre-Emmanuel Ott - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -/* This is a very basic TKL keymap. Note that I use Split Backspace AND Split right shift, to use fewer stabilizers and due to muscle-memory from 60% boards. - * That's about it really... there's really nothing fancy here besides media key on base layer through Mod Tap. -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all(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_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, SC_LSPO, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, LT(2,KC_HOME), KC_UP, LCTL_T(KC_MPRV), LGUI_T(KC_MPLY), LALT_T(KC_MNXT), LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_APP, RCTL_T(KC_END), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT_all(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_VOLU, KC_TRNS, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [2] = LAYOUT_all(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_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_VAI, RGB_SPI, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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 diff --git a/keyboards/hineybush/h88/config.h b/keyboards/hineybush/h88/config.h index 0eb28d50c1e9..8099d5a0e416 100644 --- a/keyboards/hineybush/h88/config.h +++ b/keyboards/hineybush/h88/config.h @@ -21,19 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#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 -#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 7c78582c7696..dfd7e8211c89 100644 --- a/keyboards/hineybush/h88/info.json +++ b/keyboards/hineybush/h88/info.json @@ -16,6 +16,24 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "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 + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/hineybush/hbcp/config.h b/keyboards/hineybush/hbcp/config.h index ee8f76aafde4..f76948d482bc 100644 --- a/keyboards/hineybush/hbcp/config.h +++ b/keyboards/hineybush/hbcp/config.h @@ -35,25 +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 -#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 - /* 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/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index d4601cd2e3c2..df17650f27fc 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -45,37 +45,45 @@ 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, (rgb_led_t *)&led[0]); + } else { + sethsv(HSV_BLACK, (rgb_led_t *)&led[0]); + } + if (led_state.num_lock) { + sethsv_raw(HSV_NLCK, (rgb_led_t *)&led[1]); + } else { + sethsv(HSV_BLACK, (rgb_led_t *)&led[1]); + } + if (led_state.scroll_lock) { + sethsv_raw(HSV_SCRL, (rgb_led_t *)&led[2]); + } else { + sethsv(HSV_BLACK, (rgb_led_t *)&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)) void hbcp_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, uint8_t end) { - LED_TYPE tmp_led; + rgb_led_t tmp_led; sethsv_raw(hue, sat, val, &tmp_led); for (uint8_t i = start; i < end; i++) { led[i] = tmp_led; diff --git a/keyboards/hineybush/hbcp/info.json b/keyboards/hineybush/hbcp/info.json index 45d52629ae62..ca92b3f4a526 100644 --- a/keyboards/hineybush/hbcp/info.json +++ b/keyboards/hineybush/hbcp/info.json @@ -16,7 +16,23 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 27, + "max_brightness": 200, + "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 + } }, "processor": "at90usb1286", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c index 5f1d7700f603..2311d4020f78 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)) { - sethsv_raw(HSV_SOFT_RED, (LED_TYPE *)&led[0]); +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { + sethsv_raw(HSV_SOFT_RED, (rgb_led_t *)&led[0]); } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); + sethsv(HSV_BLACK, (rgb_led_t *)&led[0]); } - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { - sethsv_raw(HSV_WARM_WHITE, (LED_TYPE *)&led[1]); + if (led_state.num_lock) { + sethsv_raw(HSV_WARM_WHITE, (rgb_led_t *)&led[1]); } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); + sethsv(HSV_BLACK, (rgb_led_t *)&led[1]); } - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { - sethsv_raw(HSV_SOFT_BLUE, (LED_TYPE *)&led[2]); + if (led_state.scroll_lock) { + sethsv_raw(HSV_SOFT_BLUE, (rgb_led_t *)&led[2]); } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); + sethsv(HSV_BLACK, (rgb_led_t *)&led[2]); } rgblight_set(); + return false; } #endif diff --git a/keyboards/hineybush/physix/config.h b/keyboards/hineybush/physix/config.h index 848c217499a9..2e3e43042206 100644 --- a/keyboards/hineybush/physix/config.h +++ b/keyboards/hineybush/physix/config.h @@ -17,22 +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 -#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 - /* 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/hineybush/physix/info.json b/keyboards/hineybush/physix/info.json index 191621ff47d0..60d86fbebb78 100644 --- a/keyboards/hineybush/physix/info.json +++ b/keyboards/hineybush/physix/info.json @@ -17,6 +17,24 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 26, + "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 + } + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/hineybush/sm68/config.h b/keyboards/hineybush/sm68/config.h index 98b32f8c37a1..2e3e43042206 100644 --- a/keyboards/hineybush/sm68/config.h +++ b/keyboards/hineybush/sm68/config.h @@ -17,21 +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 -// #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 - /* 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/hineybush/sm68/info.json b/keyboards/hineybush/sm68/info.json index 6029c4faf95f..234c595d481b 100644 --- a/keyboards/hineybush/sm68/info.json +++ b/keyboards/hineybush/sm68/info.json @@ -13,6 +13,19 @@ "rows": ["B2", "B1", "B0", "D4", "D1"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/hnahkb/freyr/info.json b/keyboards/hnahkb/freyr/info.json index 0bc3c9a9c642..26d1fc52d8a2 100644 --- a/keyboards/hnahkb/freyr/info.json +++ b/keyboards/hnahkb/freyr/info.json @@ -24,7 +24,7 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["tkl_ansi", "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_all": { "layout": [ @@ -238,7 +238,7 @@ {"matrix": [6, 9], "x": 17.25, "y": 5.25} ] }, - "LAYOUT_tkl_iso": { + "LAYOUT_tkl_ansi_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -274,7 +274,8 @@ {"matrix": [7, 0], "x": 10, "y": 1.25}, {"matrix": [7, 1], "x": 11, "y": 1.25}, {"matrix": [7, 2], "x": 12, "y": 1.25}, - {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, {"matrix": [7, 5], "x": 15.25, "y": 1.25}, {"matrix": [7, 6], "x": 16.25, "y": 1.25}, @@ -293,6 +294,7 @@ {"matrix": [8, 0], "x": 10.5, "y": 2.25}, {"matrix": [8, 1], "x": 11.5, "y": 2.25}, {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, {"matrix": [7, 8], "x": 15.25, "y": 2.25}, {"matrix": [7, 7], "x": 16.25, "y": 2.25}, @@ -310,11 +312,9 @@ {"matrix": [3, 9], "x": 9.75, "y": 3.25}, {"matrix": [9, 0], "x": 10.75, "y": 3.25}, {"matrix": [9, 1], "x": 11.75, "y": 3.25}, - {"matrix": [9, 2], "x": 12.75, "y": 3.25}, - {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [8, 4], "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, 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}, @@ -325,7 +325,8 @@ {"matrix": [4, 9], "x": 9.25, "y": 4.25}, {"matrix": [9, 5], "x": 10.25, "y": 4.25}, {"matrix": [9, 4], "x": 11.25, "y": 4.25}, - {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, {"matrix": [7, 9], "x": 16.25, "y": 4.25}, @@ -338,6 +339,1046 @@ {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "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, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "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, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "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, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "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, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "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, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "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, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl_split_bs_rshift": { + "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, 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": [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.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "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": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "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": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "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": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "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": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, {"matrix": [5, 9], "x": 16.25, "y": 5.25}, {"matrix": [6, 9], "x": 17.25, "y": 5.25} diff --git a/keyboards/hnahkb/freyr/matrix_diagram.md b/keyboards/hnahkb/freyr/matrix_diagram.md new file mode 100644 index 000000000000..643ee77f01c1 --- /dev/null +++ b/keyboards/hnahkb/freyr/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for HnahKB Freyr + +``` +┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ +│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │60 │61 │62 │63 ││64 │65 │66 │ +└───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ +┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │70 │71 │72 │73 │74 ││75 │76 │67 │ │73 │ 2u Backspace +├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī └─┮─────â”Ī ┌─────┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │80 │81 │82 │83 ││78 │77 │68 │ │ │ │83 │ +├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮────â”Ī└───â”ī───â”ī───┘ ┌──â”ī┐84 │ ISO Enter ┌──â”ī─────â”Ī ANSI Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │90 │91 │92 │84 │ │92 │ │ │84 │ +├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────â”Ī ┌───┐ └───â”ī────┘ └────────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │95 │94 │85 │93 │ │79 │ +├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮──â”ī─┮────â”Ī┌───┾───┾───┐ +│50 │51 │52 │53 │54 │55 │56 │57 ││58 │59 │69 │ +└────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │93 │ +└────────┘ └──────────┘ + ┌──────┮───┐ + 1.75u/1u RShift │85 │93 │ + └──────â”ī───┘ +┌─────┮───┮─────┮───────────────────────────┮─────┮───┮─────┐ +│50 │51 │52 │53 │55 │56 │57 │ Tsangan/WKL +└─────â”ī───â”ī─────â”ī───────────────────────────â”ī─────â”ī───â”ī─────┘ +┌────┮──┮────┮────┮───────────────────────┮────┮────┮──┮────┐ +│50 │ │51 │52 │53 │55 │56 │ │57 │ 6u Centered Spacebar +└────┘ └────â”ī────â”ī───────────────────────â”ī────â”ī────┘ └────┘ +``` diff --git a/keyboards/hnahkb/stella/config.h b/keyboards/hnahkb/stella/config.h index 3589952afbda..9f9d81bea919 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 0c002b22c4d0..98f8f721f309 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 61b2d4967b57..0369461b6718 100644 --- a/keyboards/hnahkb/vn66/config.h +++ b/keyboards/hnahkb/vn66/config.h @@ -17,22 +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 -# 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 - /* 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/vn66/info.json b/keyboards/hnahkb/vn66/info.json index aca010481050..cef3127be958 100644 --- a/keyboards/hnahkb/vn66/info.json +++ b/keyboards/hnahkb/vn66/info.json @@ -27,6 +27,24 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "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 + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/holyswitch/lightweight65/info.json b/keyboards/holyswitch/lightweight65/info.json index 438fb5fe8975..16a9f737376c 100644 --- a/keyboards/holyswitch/lightweight65/info.json +++ b/keyboards/holyswitch/lightweight65/info.json @@ -21,10 +21,16 @@ "extrakey": true, "console": false, "command": false, - "nkro": true, + "nkro": true }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": [ + "65_ansi_blocker" + ], "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c b/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c index bac1c8d4bcac..a5e4a91ea81a 100644 --- a/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c +++ b/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c @@ -17,14 +17,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi_blocker( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/holyswitch/lightweight65/keymaps/via/keymap.c b/keyboards/holyswitch/lightweight65/keymaps/via/keymap.c index bac1c8d4bcac..a5e4a91ea81a 100644 --- a/keyboards/holyswitch/lightweight65/keymaps/via/keymap.c +++ b/keyboards/holyswitch/lightweight65/keymaps/via/keymap.c @@ -17,14 +17,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi_blocker( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/info.json b/keyboards/horrortroll/caticorn/rev1/hotswap/info.json index d53b92ee8fbf..ecd3c8a0433d 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/info.json +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/info.json @@ -1,20 +1,27 @@ { "keyboard_name": "Caticorn Hotswap", "manufacturer": "HorrorTroll", - "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", "pid": "0x6002", "device_version": "0.0.1" }, + "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP20", "GP21", "GP16", "GP17", "GP18", "GP19", "GP15", "GP14", "GP13", "GP10", "GP9"], "rows": ["GP7", "GP0", "GP8", "GP25", "GP11", "GP12"] }, - "diode_direction": "COL2ROW", "processor": "RP2040", "bootloader": "rp2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, "community_layouts": ["tkl_f13_ansi"], "layouts": { "LAYOUT_tkl_f13_ansi": { diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c index 81ba8347ecb9..06819cffd118 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This 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,8 +26,6 @@ enum layer_names { _FN, }; -// enum layer_keycodes { }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -86,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ Fn │ │ ││ │ │ │ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_f13_ansi( QK_BOOT, 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_MYCM, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h deleted file mode 100644 index 4a9ae9bdc284..000000000000 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c index d98822de17e0..06819cffd118 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This 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,8 +26,6 @@ enum layer_names { _FN, }; -// enum layer_keycodes { }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md b/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md index b9023e8c716e..167fbe4c4aa8 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md @@ -1,10 +1,12 @@ # Caticorn Hotswap (Rev 1) +![Caticorn](https://i.imgur.com/DPbDtwKh.png) + A TKL keyboard, which controlled by an RP2040 chipset. * Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) * Hardware Supported: RP2040 -* Hardware Availability: Prototype PCB +* Hardware Availability: Private prototype (only 5 PCB available) Make example for this keyboard (after setting up your build environment): @@ -21,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard -* **Physical reset button**: Press and hold the button on the back of the PCB, then plug USB onto PC +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk b/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk index f8fe1f7dbb3c..6e7633bfe015 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk @@ -1,16 +1 @@ -# Build Options -# change yes to no to disable -# -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 = 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 -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash \ No newline at end of file +# This file intentionally left blank diff --git a/keyboards/horrortroll/caticorn/rev1/solder/info.json b/keyboards/horrortroll/caticorn/rev1/solder/info.json index 30fb0f0eee90..d14278f98943 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/info.json +++ b/keyboards/horrortroll/caticorn/rev1/solder/info.json @@ -1,20 +1,27 @@ { "keyboard_name": "Caticorn Solder", "manufacturer": "HorrorTroll", - "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", "pid": "0x6001", "device_version": "0.0.1" }, + "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP20", "GP21", "GP16", "GP17", "GP18", "GP19", "GP15", "GP14", "GP13", "GP10", "GP9"], "rows": ["GP7", "GP0", "GP8", "GP25", "GP11", "GP12"] }, - "diode_direction": "COL2ROW", "processor": "RP2040", "bootloader": "rp2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi", "tkl_f13_ansi_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift", "tkl_f13_iso", "tkl_f13_iso_split_bs_rshift", "tkl_f13_iso_tsangan", "tkl_f13_iso_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_all": { diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c index 5723984bf445..9bb6640f2f8a 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,231 +22,75 @@ // entirely and just use numbers. enum layer_names { - _F12, - _F13, - _F12_7U, - _F13_7U, + _BASE, _FN, }; -enum layer_keycodes { - TOG_F12 = SAFE_RANGE, //Enable default layer for F12 layout - TOG_F13, //Enable default layer for F13 layout - F12_TGN, //Enable default layer for F12 Tsangan layout - F13_TGN, //Enable default layer for F13 Tsangan layout -}; - 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 │ - │ = │ ÂĨ │Bks││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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ - │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ GUI│RCrl││ ← │ ↓ │ → │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ - │ │ │ │ │ │ │ │ ││ │ │ │ - └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ÂĨ │Bks││Ins│Hom│PgU│ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ + │ ` │ 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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RShift │ │ ↑ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ GUI│RCrl││ ← │ ↓ │ → │ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ + │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ││ │ │ │ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RShift │ │ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ │ │ │ │ │ │ │ │ ││ │ │ │ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - │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 │ - │ = │ ÂĨ │Bks││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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12_7U] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ÂĨ │Bks││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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13_7U] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + [_BASE] = LAYOUT_tkl_f13_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ + │Rst││MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal│Sch││ ││ │ │ │ └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┐┌───┮───┮───┐ + │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────â”Ī├───┾───┾───â”Ī │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────────â”Ī ┌───┐ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮────â”Ī┌───┾───┾───┐ │ │ │ │ │ │ Fn │ │ ││ │ │ │ └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_FN] = LAYOUT_all( - QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TOG_F12, TOG_F13, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F12_TGN, F13_TGN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + [_FN] = LAYOUT_tkl_f13_ansi( + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TOG_F12: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12); - } - return false; - case TOG_F13: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13); - } - return false; - case F12_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12_7U); - } - return false; - case F13_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13_7U); - } - return false; - } - return true; -} diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h deleted file mode 100644 index 8fe93c228c4b..000000000000 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c index 5723984bf445..a39ee0f6a8d5 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,16 +24,8 @@ enum layer_names { _F12, _F13, - _F12_7U, - _F13_7U, - _FN, -}; - -enum layer_keycodes { - TOG_F12 = SAFE_RANGE, //Enable default layer for F12 layout - TOG_F13, //Enable default layer for F13 layout - F12_TGN, //Enable default layer for F12 Tsangan layout - F13_TGN, //Enable default layer for F13 Tsangan layout + _FN1, + _FN2, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -68,14 +60,14 @@ 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 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_F12] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_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(_FN1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* @@ -108,99 +100,45 @@ 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 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_F13] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - │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 │ - │ = │ ÂĨ │Bks││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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ - ┌───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐ ┌───┮───┮───┮───┐┌───┮───┮───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘ └───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12_7U] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_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(_FN2), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ - └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ - ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ÂĨ │Bks││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 │ - ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ - ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ + │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ + │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī───â”Ī├───┾───┾───â”Ī - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────â”Ī└───â”ī───â”ī───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├────┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───â”Ī ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────â”ī┮──â”ī┮──â”ī──┮â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───â”ī───┾───â”ī─┮───┮â”ī───â”Ī┌───┾───┾───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────â”ī───â”ī─────â”ī────────────────────────────â”ī─────â”ī───â”ī────┘└───â”ī───â”ī───┘ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┾───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮────┮â”ī───â”Ī┌───┾───┾───┐ + │ │ │ │ │ │ Fn │ │ ││ │ │ │ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────â”ī────â”ī────┘└───â”ī───â”ī───┘ */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13_7U] = 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_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_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(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_FN1] = LAYOUT_all( + QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, TO(_F13), + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* ┌───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┮───┮───┮───┐┌───┐┌───┮───┮───┐ - │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ + │Rst││MeP│VoD│VoU│Mut││Stp│Prv│Ply│Nxt││Mai│Hom│Cal│Sch││ ││ │ │ │ └───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───â”ī───â”ī───â”ī───┘└───┘└───â”ī───â”ī───┘ ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┐┌───┮───┮───┐ │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ @@ -215,38 +153,12 @@ 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 15 16 */ - [_FN] = LAYOUT_all( - QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TOG_F12, TOG_F13, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F12_TGN, F13_TGN, _______, + [_FN2] = LAYOUT_all( + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, TO(_F12), + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TOG_F12: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12); - } - return false; - case TOG_F13: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13); - } - return false; - case F12_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12_7U); - } - return false; - case F13_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13_7U); - } - return false; - } - return true; -} diff --git a/keyboards/horrortroll/caticorn/rev1/solder/readme.md b/keyboards/horrortroll/caticorn/rev1/solder/readme.md index e25e3bd5636b..7fcb4cac5b6c 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/readme.md +++ b/keyboards/horrortroll/caticorn/rev1/solder/readme.md @@ -1,10 +1,12 @@ # Caticorn Solder (Rev 1) +![Caticorn](https://i.imgur.com/g5aCKQUh.png) + A TKL keyboard, which controlled by an RP2040 chipset. * Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) * Hardware Supported: RP2040 -* Hardware Availability: Prototype PCB +* Hardware Availability: Private prototype (only 5 PCB available) Make example for this keyboard (after setting up your build environment): @@ -21,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard -* **Physical reset button**: Press and hold the button on the back of the PCB, then plug USB onto PC +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/horrortroll/caticorn/rev1/solder/rules.mk b/keyboards/horrortroll/caticorn/rev1/solder/rules.mk index 4f873e37383d..6e7633bfe015 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/rules.mk +++ b/keyboards/horrortroll/caticorn/rev1/solder/rules.mk @@ -1,16 +1 @@ -# Build Options -# change yes to no to disable -# -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 = 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 -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/config.h deleted file mode 100644 index de5824e22234..000000000000 --- a/keyboards/horrortroll/chinese_pcb/black_e65/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 RGBLIGHT_ENABLE - /* RGB Lighting config */ - #define RGBLED_NUM 24 - - /* RGB Lighting effect */ - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - #define RGBLIGHT_EFFECT_RGB_TEST - #define RGBLIGHT_EFFECT_ALTERNATING - #define RGBLIGHT_EFFECT_TWINKLE -#endif diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/info.json b/keyboards/horrortroll/chinese_pcb/black_e65/info.json index 2ceb38706f2a..7ee7b8b3f882 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/info.json +++ b/keyboards/horrortroll/chinese_pcb/black_e65/info.json @@ -21,6 +21,21 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 24, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h index adba031af54d..04f132f4a447 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h @@ -19,7 +19,6 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 86 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json index 192e9285fc82..7f8a448d0779 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json @@ -10,7 +10,7 @@ "force_nkro": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B1", "B0", "B5", "B6", "C6", "C7", "E2", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h index bec0ac055b0d..f957465cd07f 100644 --- a/keyboards/horrortroll/handwired_k552/config.h +++ b/keyboards/horrortroll/handwired_k552/config.h @@ -30,10 +30,6 @@ #define EXTERNAL_FLASH_BLOCK_SIZE 4096 #define EXTERNAL_FLASH_SIZE (256 * 1024) // 2M-bit flash size -// Wear-leveling driver configuration -#define WEAR_LEVELING_LOGICAL_SIZE 1024 -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) - #ifdef OLED_ENABLE /* Mapping I2C2 for OLED */ #define I2C1_SCL_PIN B10 @@ -47,7 +43,6 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 24 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 - #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS /* RGB Matrix effect */ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/horrortroll/handwired_k552/info.json b/keyboards/horrortroll/handwired_k552/info.json index 6bdd2ee2fce2..b064df38c2d3 100644 --- a/keyboards/horrortroll/handwired_k552/info.json +++ b/keyboards/horrortroll/handwired_k552/info.json @@ -13,13 +13,20 @@ "pin": "C14" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"], "rows": ["C12", "C10", "A10", "A8", "C8", "C9"] }, "diode_direction": "ROW2COL", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 2048 + } + }, "community_layouts": ["tkl_ansi"], "layouts": { "LAYOUT_tkl_ansi": { diff --git a/keyboards/horrortroll/handwired_k552/rules.mk b/keyboards/horrortroll/handwired_k552/rules.mk index 2d1a6e93ca43..6d6ec253db3c 100644 --- a/keyboards/horrortroll/handwired_k552/rules.mk +++ b/keyboards/horrortroll/handwired_k552/rules.mk @@ -26,17 +26,9 @@ 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 # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes - -# Wear-levelling driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/horrortroll/lemon40/config.h b/keyboards/horrortroll/lemon40/config.h deleted file mode 100644 index 90374871735e..000000000000 --- a/keyboards/horrortroll/lemon40/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 light config */ -#ifdef RGBLIGHT_ENABLE - - /* RGB light pin */ - #define RGBLED_NUM 15 - - /* RGB light effect */ - #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_ALTERNATING - #define RGBLIGHT_EFFECT_TWINKLE -#endif diff --git a/keyboards/horrortroll/lemon40/info.json b/keyboards/horrortroll/lemon40/info.json index f4b4c383c9a7..7b0b1c394b3f 100644 --- a/keyboards/horrortroll/lemon40/info.json +++ b/keyboards/horrortroll/lemon40/info.json @@ -9,6 +9,19 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 15, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "alternating": true + } + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/horrortroll/lemon40/rules.mk b/keyboards/horrortroll/lemon40/rules.mk index 933affaa8634..9ac59719d8ee 100644 --- a/keyboards/horrortroll/lemon40/rules.mk +++ b/keyboards/horrortroll/lemon40/rules.mk @@ -15,7 +15,6 @@ AUDIO_ENABLE = no # Audio output # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes # Additional thing to reduce compiled size diff --git a/keyboards/horrortroll/nyx/rev1/config.h b/keyboards/horrortroll/nyx/rev1/config.h new file mode 100644 index 000000000000..9126bfe08559 --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 config */ +#define RGB_MATRIX_LED_COUNT 67 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/horrortroll/nyx/rev1/info.json b/keyboards/horrortroll/nyx/rev1/info.json new file mode 100644 index 000000000000..f3b859de0a9c --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/info.json @@ -0,0 +1,222 @@ +{ + "keyboard_name": "Nyx", + "manufacturer": "HorrorTroll", + "maintainer": "HorrorTroll", + "usb": { + "vid": "0x7516", + "pid": "0x5005", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP3", "GP23", "GP2", "GP1", "GP0", "GP4", "GP17", "GP11", "GP10", "GP19", "GP9", "GP8", "GP13", "GP15", "GP14"], + "rows": ["GP24", "GP25", "GP18", "GP12", "GP16"] + }, + "processor": "RP2040", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "ws2812": { + "driver": "vendor", + "pin": "GP22" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 75, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_val": true, + "band_pinwheel_val": 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, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "typing_heatmap": 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": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "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": 202, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 6], "x": 95, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} + ] + }, + "community_layouts": ["65_ansi_blocker"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "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, "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": [2, 14], "x": 15, "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": [3, 14], "x": 15, "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, 9], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4}, + {"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/horrortroll/nyx/rev1/keymaps/default/keymap.c b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000000..d678f19b46ec --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c @@ -0,0 +1,85 @@ +/* Copyright 2023 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │Del│ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │PgU│ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ ↑ │PgD│ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │LCrl│GUI │LAlt│ Space │ Fn │RCrl│ │ ← │ ↓ │ → │ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │ │ │ │ │ │ │ │ │ │ │ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + +/* + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Tog│ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │Reset│ │MsU│ │ │ │ │ │ │Sad│Sai│Spd│Spi│ │Mod│ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ │MsL│MsD│MsR│ │ │ │ │ │ │ │ │ │ │ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ │ │ │Cal│ │ │NKO│ │VoD│VoU│Mut│ │Vai│ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │ │ │ │ │ │ │ │Hud│Vad│Hui│ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = 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, _______, RGB_TOG, + QK_BOOT, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, _______, RGB_MOD, + _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, NK_TOGG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI + ) +}; diff --git a/keyboards/horrortroll/nyx/rev1/keymaps/via/keymap.c b/keyboards/horrortroll/nyx/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..d678f19b46ec --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/keymaps/via/keymap.c @@ -0,0 +1,85 @@ +/* Copyright 2023 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │Del│ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │PgU│ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ ↑ │PgD│ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │LCrl│GUI │LAlt│ Space │ Fn │RCrl│ │ ← │ ↓ │ → │ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ │ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │ │ │ │ │ │ │ │ │ │ │ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + +/* + ┌───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───┮───────┮───┐ + │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Tog│ + ├───â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─────┾───â”Ī + │Reset│ │MsU│ │ │ │ │ │ │Sad│Sai│Spd│Spi│ │Mod│ + ├─────â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī┮──â”ī─────┾───â”Ī + │ │MsL│MsD│MsR│ │ │ │ │ │ │ │ │ │ │ + ├──────â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī─┮─â”ī────┮───┾───â”Ī + │ │ │ │Cal│ │ │NKO│ │VoD│VoU│Mut│ │Vai│ │ + ├────┮───â”ī┮──â”ī─┮─â”ī───â”ī───â”ī───â”ī───â”ī───â”ī──┮â”ī───┾───â”ī┮─┮───┾───┾───â”Ī + │ │ │ │ │ │ │ │Hud│Vad│Hui│ + └────â”ī────â”ī────â”ī────────────────────────â”ī────â”ī────┘ └───â”ī───â”ī───┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN] = 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, _______, RGB_TOG, + QK_BOOT, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, _______, RGB_MOD, + _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, NK_TOGG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI + ) +}; diff --git a/keyboards/horrortroll/nyx/rev1/keymaps/via/rules.mk b/keyboards/horrortroll/nyx/rev1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h new file mode 100644 index 000000000000..0cd0a54a8b5d --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h @@ -0,0 +1,133 @@ +/* Copyright 2022 Jpe230 + * Copyright 2023 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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 + +#define LED_TRAIL 10 + +static int8_t top = 0; +static int8_t bottom = MATRIX_ROWS - 1; +static int8_t left = 0; +static int8_t right = MATRIX_COLS - 1; +static int8_t dir = 1; + +static int8_t i = 0; +static int8_t j = 0; + +static bool traverse = true; + +static uint8_t v_values[RGB_MATRIX_LED_COUNT] = {0}; + +static void traverse_matrix(void) { + if (dir == 1) { + // moving left->right + i++; + // Since we have traversed the whole first + // row, move down to the next row. + if (i > right) { + ++top; + dir = 2; + j = top; + i -= 1; + } + } else if (dir == 2) { + // moving top->bottom + j++; + // Since we have traversed the whole last + // column, move left to the previous column. + if (j > bottom) { + --right; + dir = 3; + i = right; + j -= 1; + } + } else if (dir == 3) { + // moving right->left + i--; + // Since we have traversed the whole last + // row, move up to the previous row. + if (i < left) { + --bottom; + dir = 4; + j = bottom; + i += 1; + } + } else if (dir == 4) { + // moving bottom->up + j--; + // Since we have traversed the whole first + // col, move right to the next column. + if (j < top) { + ++left; + dir = 1; + i = left; + j += 1; + } + } +} + +static void swirl_set_color(HSV hsv) { + uint8_t index = g_led_config.matrix_co[j][i]; + + if(index != NO_LED){ + v_values[index] = 75; + } + + for(uint8_t v = 0; v < RGB_MATRIX_LED_COUNT; v++) + { + if(index != v) { + if(v_values[v] >= 20) + v_values[v] -= 20; + else + v_values[v] = 0; + } + hsv.v = v_values[v]; + RGB rgb = hsv_to_rgb(hsv); + rgb_matrix_set_color(v, rgb.r, rgb.g, rgb.b); + } + + traverse_matrix(); + + if (!(top <= bottom && left <= right)) { + eeprom_read_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config)); + rgb_matrix_mode_noeeprom(rgb_matrix_config.mode); + return; + } +} + +static bool STARTUP_SWIRL_ANIM(effect_params_t* params) { + HSV hsv = rgb_matrix_config.hsv; + uint8_t time = scale16by8(g_rgb_timer, qadd8(24, 1)); + hsv.h = time; + RGB rgb = hsv_to_rgb(hsv); + + if (traverse) { + swirl_set_color(hsv); + } + traverse = !traverse; + return false; + + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + for (int i = led_min; i < led_max; i++) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); // Clear matrix just in case + } + + return rgb_matrix_check_finished_leds(led_max); +} diff --git a/keyboards/horrortroll/nyx/rev1/nyx.c b/keyboards/horrortroll/nyx/rev1/nyx.c new file mode 100644 index 000000000000..fb4ce3183b06 --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/nyx.c @@ -0,0 +1,89 @@ +/* Copyright 2023 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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 +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + 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); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + case RGB_MOD: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_MULTISPLASH: + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + return false; + default: + rgb_matrix_step(); + return false; + } + } + return false; + case RGB_RMOD: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_COLOR: + rgb_matrix_mode(RGB_MATRIX_SOLID_MULTISPLASH); + return false; + default: + rgb_matrix_step_reverse(); + return false; + } + } + return false; + } + + return process_record_user(keycode, record); +} + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(30, 0, 75, 75); + } else if (!(rgb_matrix_get_flags() & LED_FLAG_INDICATOR)) { + rgb_matrix_set_color(30, RGB_OFF); + } + return true; +} + +void keyboard_post_init_kb(void) { + if (!(rgb_matrix_get_flags() & LED_FLAG_ALL)) { + rgb_matrix_set_color_all(0, 0, 0); + } else { + rgb_matrix_mode_noeeprom(RGB_MATRIX_CUSTOM_STARTUP_SWIRL_ANIM); + } + + keyboard_post_init_user(); +} +#endif diff --git a/keyboards/horrortroll/nyx/rev1/readme.md b/keyboards/horrortroll/nyx/rev1/readme.md new file mode 100644 index 000000000000..7fdbd0ed8f3b --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/readme.md @@ -0,0 +1,27 @@ +# Nyx + +![Nyx](https://i.imgur.com/I202xevh.png) + +A 65% keyboard, which controlled by an RP2040 chipset. The keyboard feature RGB Matrix. + +* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) +* Hardware Supported: RP2040 +* Hardware Availability: Private prototype (only 5 PCB available) + +Make example for this keyboard (after setting up your build environment): + + make horrortroll/nyx/rev1:default + +Flashing example for this keyboard: + + make horrortroll/nyx/rev1: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 (Esc key) and plug in the keyboard +* **Physical reset button**: 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/horrortroll/nyx/rev1/rgb_matrix_kb.inc b/keyboards/horrortroll/nyx/rev1/rgb_matrix_kb.inc new file mode 100644 index 000000000000..0912e3d956ae --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/rgb_matrix_kb.inc @@ -0,0 +1,7 @@ +RGB_MATRIX_EFFECT(STARTUP_SWIRL_ANIM) + +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +#include "lib/startup_swirl_anim.h" + +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/horrortroll/nyx/rev1/rules.mk b/keyboards/horrortroll/nyx/rev1/rules.mk new file mode 100644 index 000000000000..942ef4c5dbde --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/rules.mk @@ -0,0 +1 @@ +RGB_MATRIX_CUSTOM_KB = yes diff --git a/keyboards/horrortroll/readme.md b/keyboards/horrortroll/readme.md index 67347a3c1623..64bcdf0c654e 100644 --- a/keyboards/horrortroll/readme.md +++ b/keyboards/horrortroll/readme.md @@ -1,17 +1,18 @@ # Welcome to my Keyboard Firmwares ## Keyboards Released by me: - | Keyboard name | MCU | Layout | Vendor ID | Product ID | Features | - | ---------------- | ------------- | ------------ | --------- | ---------- | -------------------------------------------- | - | Handwired K552 | STM32F103RCT6 | TKL | 0x7516 | 0x5000 | Hotswap, RGB Underglow, OLED 128x32 | - | Paws 60 | ATMEGA32U4 | 60% | 0x7516 | 0x5001 | Hotswap | + | Keyboard name | MCU | Layout | Vendor ID | Product ID | Features | + | -------------- | ------------- | ------ | --------- | ---------- | ----------------------------------- | + | Handwired K552 | STM32F103RCT6 | TKL | 0x7516 | 0x5000 | Hotswap, RGB Underglow, OLED 128x32 | + | Paws 60 | ATMEGA32U4 | 60% | 0x7516 | 0x5001 | Hotswap | + | Nyx | RP2040 | 65% | 0x7516 | 0x5005 | Hotswap, RGB Matrix | ## Keyboards Completed has Collaboration with me: - | Keyboard name | MCU | Layout | Vendor ID | Product ID | Features | - | ------------------ | ------------- | ------------ | --------- | ---------- | ---------------------------------- | - | Lemon40 | ATMEGA32U4 | 40% Alice | 0x7516 | 0x6000 | Solder, RGB Underglow, OLED 128x32 | - | Caticorn (Solder) | RP2040 | TKL | 0x7516 | 0x6001 | Solder | - | Caticorn (Hotswap) | RP2040 | TKL | 0x7516 | 0x6002 | Hotswap | + | Keyboard name | MCU | Layout | Vendor ID | Product ID | Features | + | ------------------ | ---------- | --------- | --------- | ---------- | ---------------------------------- | + | Lemon40 | ATMEGA32U4 | 40% Alice | 0x7516 | 0x6000 | Solder, RGB Underglow, OLED 128x32 | + | Caticorn (Solder) | RP2040 | TKL | 0x7516 | 0x6001 | Solder | + | Caticorn (Hotswap) | RP2040 | TKL | 0x7516 | 0x6002 | Hotswap | ## Keyboard Rewrited by me: | Keyboard name | MCU | Layout | Vendor ID | Product ID | Features | diff --git a/keyboards/hotdox/config.h b/keyboards/hotdox/config.h index 4e801399da21..60d9fe62174f 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 51c0465899a4..8184588e5d70 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/hotdox/keymaps/imchipwood/keymap.c b/keyboards/hotdox/keymaps/imchipwood/keymap.c deleted file mode 100644 index 497a038ad333..000000000000 --- a/keyboards/hotdox/keymaps/imchipwood/keymap.c +++ /dev/null @@ -1,151 +0,0 @@ -/* Copyright 2021 imchipwood - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "imchipwood.h" - -// Layer names -enum custom_layers { - _QWERTY, - _NUM, - _MED -}; - -// Layer definitions -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_ergodox_pretty( -/* Keymap 0: Basic layer - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | ESC | |BkTick| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | MEH | | | Y | U | I | O | P | [ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSlsh | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------|MO(2) | |MO(2) |------+------+------+------+------+--------| - * | LSHIFT | Z | X | C | V | B | | | | N | M | , | . | / |SHFT/CAP| - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |RCTRL | LALT | GUI |L/HOME|R/END | | Up | Down | LEFT |RIGHT |PRSCR | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | DEL | INS | | Ctrl | Alt | - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * |Enter |MO(1) |------| |------| Bksp |Space | - * | | | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// Left hand Right hand -// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_GRV, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MEH, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, -// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| - KC_BSLS, 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, MO(_MED), MO(_MED), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_RSFT_CAPS), -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_LCTL, KC_LALT, KC_LGUI, TD(TD_LOME), TD(TD_REND), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT, KC_PSCR, -// `---------------------------------------------------------------' `----------------------------------------------------------------' -// ,-------------------------. ,-------------------------. - KC_DEL, KC_INS, KC_TRNS, KC_TRNS, -// ,------------+------------+------------| |------------+------------+------------. - KC_TRNS, KC_TRNS, -// | | +------------| |------------+ | | - KC_ENT, MO(_NUM), KC_TRNS, KC_TRNS, KC_BSPC, KC_SPC -// `--------------------------------------' `--------------------------------------' - ), - [_NUM] = LAYOUT_ergodox_pretty( -/* Keymap 1: Numpad, function keys, and some convenience keys - * ,---------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | F12 | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | | up | | | | | | | 7 | 8 | 9 | * | / | ] | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | left | down |right | | |------| |------| 4 | 5 | 6 | + | - | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | 1 | 2 | 3 | = | up | enter | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | PgUp | PgDn | | 0 | . | left | down |right | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| Del | Esc | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// Left hand Right hand -// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, TD(CTL_F5), KC_TRNS, KC_F12, KC_F6, TD(ALT_F7), KC_F8, KC_F9, KC_F10, KC_F11, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_PAST, KC_PSLS, KC_RBRC, -// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_PPLS, KC_PMNS, 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_PEQL, KC_UP, KC_PENT, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, -// `---------------------------------------------------------------' `----------------------------------------------------------------' -// ,-------------------------. ,-------------------------. - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, -// ,------------+------------+------------| |------------+------------+------------. - KC_TRNS, KC_TRNS, -// | | +------------| |------------+ | | - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_ESC -// `--------------------------------------' `--------------------------------------' - ), - [_MED] = LAYOUT_ergodox_pretty( -/* Keymap 2: Media and mouse keys - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | Mute | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | MsUp | | | | | | | MP7 | MP8 | MP9 | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | |MsLeft|MsDown|MsRght| | |------| |------| MP4 | MP5 | MP6 | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | MP1 | MP2 | MP3 | |VolUp | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | | | | Prev |VolDn | Next | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * |QK_BOOT | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * |MPENT | |------| |------| |Play | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// Left hand Right hand -// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_P7), MEH(KC_P8), MEH(KC_P9), KC_TRNS, KC_TRNS, KC_TRNS, -// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, MEH(KC_P4), MEH(KC_P5), MEH(KC_P6), KC_TRNS, KC_TRNS, KC_TRNS, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_P1), MEH(KC_P2), MEH(KC_P3), KC_TRNS, KC_VOLU, KC_TRNS, -// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, -// `---------------------------------------------------------------' `----------------------------------------------------------------' -// ,-------------------------. ,-------------------------. - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, -// ,------------+------------+------------| |------------+------------+------------. - KC_TRNS, KC_TRNS, -// | | +------------| |------------+ | | - MEH(KC_PENT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY -// `--------------------------------------' `--------------------------------------' - ) -}; diff --git a/keyboards/hotdox/keymaps/kloki/keymap.c b/keyboards/hotdox/keymaps/kloki/keymap.c deleted file mode 100644 index 2550b68978b7..000000000000 --- a/keyboards/hotdox/keymaps/kloki/keymap.c +++ /dev/null @@ -1,210 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" - -#define BASE 0 // default layer -#define QW 1 // qwerty -#define SYMB 2 // symbols -#define NUM 3 // media keys - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - VRSN, - RGB_SLD -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | SHIFT| | SYM | 6 | 7 | 8 | 9 | 0 | Bck | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | D | R | W | B | `~ | | "' | J | F | U | P | : | \ | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Ctr/Es | A | S | H | T | G |------| |------| Y | N | E | O | I | Enter | - * |--------+------+------+------+------+------| = + | | -_ |------+------+------+------+------+--------| - * | LShift | Z | X | M | C | V | | | | K | L | , | . | / | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |MEH | Gui |AltShf| Left | Right| | DOWN | UP | [ | ] | ~SYM | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | ESC |Home | | PgUp | QW | - * ,------|------|------| |------+--------+------. - * | | ENT | End | | PgDn | | | - * | Space| WIN |------| |------| Tab |Back | - * | SYM | | SCTR | | SALT | SYM | | - * `--------------------' `----------------------' - */ - -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LSFT, - KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_GRV, - CTL_T(KC_ESC), KC_A, KC_S, KC_H, KC_T, KC_G, - KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_EQL, - KC_MEH, KC_LGUI, KC_LALT, KC_LEFT,KC_RGHT, - KC_ESC, KC_HOME, - KC_END, - LT(SYMB, KC_SPC), LGUI_T(KC_ENT), S(KC_LGUI), - // right hand - TG(NUM), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_QUOT, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS, - KC_Y, KC_N, KC_E, KC_O, KC_I , KC_ENT, - KC_MINS, KC_K, KC_L, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, - KC_DOWN,KC_UP, KC_LBRC,KC_RBRC, MO(SYMB), - KC_PGUP, TG(QW), - KC_PGDN, - S(KC_LALT),LT(SYMB, KC_TAB), KC_BSPC - ), - -[QW] = LAYOUT_ergodox( - _______, _______, _______, _______, _______, _______, _______, - _______, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, - _______, KC_A, KC_S, KC_D, KC_F, KC_G, - _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, KC_Y, KC_U, KC_I , KC_O, KC_P, _______, - KC_H, KC_J, KC_K , KC_L, KC_SCLN, _______, - _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______ -), -/* Keymap 1: Symbol Layer - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | DEL | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | * | | | | < | H | U | PU | * | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| > | L | D | R | + | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | E | D | PD | \ | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = LAYOUT_ergodox( - // left hand - _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_ASTR,_______, - _______,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - _______,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,_______, - // right hand - _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, - _______, KC_LABK, KC_HOME, KC_UP, KC_PGUP, KC_ASTR, _______, - KC_RABK, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PLUS, _______, - _______, KC_AMPR, KC_END, KC_DOWN, KC_PGDN, KC_BSLS, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______ -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | L | MsUp | R | | | | | | 4 | 5 | 6 | | TAB | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | 1 | 2 | 3 | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | 0 | 0 | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[NUM] = LAYOUT_ergodox( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_4, KC_5 , KC_6, _______, KC_TAB, - _______, KC_1, KC_2 , KC_3, _______, _______, - _______, _______, _______, KC_0, KC_0, _______, _______, - _______, _______, _______, _______, _______, - _______, _______, - _______, - _______, _______, _______ -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - -// 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); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - case 1: - ergodox_board_led_on(); - break; - case 3: - ergodox_board_led_on(); - break; - default: - // none - break; - } - -}; diff --git a/keyboards/hotdox/keymaps/ninjonas/README.md b/keyboards/hotdox/keymaps/ninjonas/README.md deleted file mode 100644 index be733fde2dfd..000000000000 --- a/keyboards/hotdox/keymaps/ninjonas/README.md +++ /dev/null @@ -1,106 +0,0 @@ -# ninjonas Keymap for [ErgoDox (HotDox)](https://www.alpacakeyboards.com/) - -## Setup -- Ensure you've cloned the [qmk](https://github.com/qmk/qmk_firmware) repo -- Create directory `ninjonas` on `/keyboards/hotdox/keymaps/` -- Run `copy_keymap.sh`. This copies the contents of this repo into `%qmk_firmware%/ninjonas/` directory -- To push your keymap to your keyboard run this command `make clean hotdox:ninjonas:dfu` - - this compiles your keymap and creates a `hotdox_ninjonas.hex` file and will atempt to flash your board - - if you get the following message: - ``` - dfu-programmer: no device present. - Error: Bootloader not found. Trying again in 5s. - ``` - - Press the reset button underneath your ErgoDox keyboard - - The following messages should show up and your board has successfuly been flashed - ``` - Bootloader Version: 0x00 (0) - Erasing flash... Success - Checking memory from 0x0 to 0x6FFF... Empty. - Checking memory from 0x0 to 0x5D7F... Empty. - 0% 100% Programming 0x5D80 bytes... - [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success - 0% 100% Reading 0x7000 bytes... - [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success - Validating... Success - 0x5D80 bytes written into 0x7000 bytes memory (83.48%). - ``` - - The alterenative is follow the steps on [Hotdox flashing guide](https://www.alpacakeyboards.com/flash/hot-dox-ergodox-76-flashing-instructions) - -## Keymap -This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](https://github.com/ninjonas/qmk-yonas/tree/master/users/ninjonas). - -### QWERTY -```c -/* QWERTY - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Up | Down | | Left | Right| - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Del |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `--------------------' - */ -``` - -### LOWER -```c -/* LOWER - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | | |KC_BRU| Play | Mute | | | | | PgUp | Home | Up | End | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | |KC_BRD| Next |VolUp | |------| |-------| PgDn | Left | Down |Right |K_LOCK | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | Prev |VolDn | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | |M_CODE | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -``` - -### RAISE -```c -/* RAISE - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -``` \ No newline at end of file diff --git a/keyboards/hotdox/keymaps/ninjonas/keymap.c b/keyboards/hotdox/keymaps/ninjonas/keymap.c deleted file mode 100644 index 2f9609c5c50a..000000000000 --- a/keyboards/hotdox/keymaps/ninjonas/keymap.c +++ /dev/null @@ -1,348 +0,0 @@ -/* Copyright 2019 @ninjonas - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "ninjonas.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Up | Down | | Left | Right| - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Del |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `--------------------' - */ - [_QWERTY] = LAYOUT_ergodox_wrapper( - // LEFT HAND - _____________________NUM_LEFT_______________________, KC_MPLY, - _____________________QWERTY_L1______________________, XXXXXXX, - _____________________QWERTY_L2______________________, - _____________________QWERTY_L3______________________, T_LBRC, - XXXXXXX, XXXXXXX, ________MOD_LEFT_________, - // LEFT THUMB - KC_UP, KC_DOWN, - KC_HOME, - LT_RAI, KC_BSPC, - KC_END, - - //RIGHT HAND - K_LOCK, _____________________NUM_RIGHT______________________, - XXXXXXX,_____________________QWERTY_R1______________________, - _____________________QWERTY_R2______________________, - T_RBRC, _____________________QWERTY_R3______________________, - ________MOD_RIGHT________, XXXXXXX, XXXXXXX, - // RIGHT THUMB - KC_LEFT, KC_RGHT, - KC_PGUP, - KC_PGDN, - MT_DEL, LT_LOW - ), - -/* DVORAK - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| - * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | O | E | U | I |------| |-------| D | H | T | N | S | / | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | = | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Up | Down | | Left | Right| - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Del |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `--------------------' - */ - [_DVORAK] = LAYOUT_ergodox_wrapper( - // LEFT HAND - _____________________NUM_LEFT_______________________, KC_MPLY, - _____________________DVORAK_L1______________________, XXXXXXX, - _____________________DVORAK_L2______________________, - _____________________DVORAK_L3______________________, T_LBRC, - XXXXXXX, XXXXXXX, ________MOD_LEFT_________, - // LEFT THUMB - KC_UP, KC_DOWN, - KC_HOME, - LT_RAI, KC_BSPC, - KC_END, - - //RIGHT HAND - K_LOCK, _____________________NUM_RIGHT______________________, - XXXXXXX,_____________________DVORAK_R1______________________, - _____________________DVORAK_R2______________________, - T_RBRC, _____________________DVORAK_R3______________________, - ________MOD_RIGHT________, XXXXXXX, XXXXXXX, - // RIGHT THUMB - KC_LEFT, KC_RGHT, - KC_PGUP, - KC_PGDN, - MT_DEL, LT_LOW - ), - -/* COLEMAK - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| - * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | R | S | T | D |------| |-------| H | N | E | I | O | ' | - * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | = | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' - * | | | Alt | Cmd | Ctl | | BkSP | Del |LOWER | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Up | Down | | Left | Right| - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Del |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `--------------------' - */ - [_COLEMAK] = LAYOUT_ergodox_wrapper( - // LEFT HAND - _____________________NUM_LEFT_______________________, KC_MPLY, - _____________________COLEMAK_L1_____________________, XXXXXXX, - _____________________COLEMAK_L2_____________________, - _____________________COLEMAK_L3_____________________, T_LBRC, - XXXXXXX, XXXXXXX, ________MOD_LEFT_________, - // LEFT THUMB - KC_UP, KC_DOWN, - KC_HOME, - LT_RAI, KC_BSPC, - KC_END, - - //RIGHT HAND - K_LOCK, _____________________NUM_RIGHT______________________, - XXXXXXX,_____________________COLEMAK_R1_____________________, - _____________________COLEMAK_R2_____________________, - T_RBRC, _____________________COLEMAK_R3_____________________, - ________MOD_RIGHT________, XXXXXXX, XXXXXXX, - // RIGHT THUMB - KC_LEFT, KC_RGHT, - KC_PGUP, - KC_PGDN, - MT_DEL, LT_LOW - ), - -/* LOWER - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | | |KC_BRU| Play | Mute | | | | | PgUp | Home | Up | End | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | |KC_BRD| Next |VolUp | |------| |-------| PgDn | Left | Down |Right |K_LOCK | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | Prev |VolDn | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | |M_CODE | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [_LOWER] = LAYOUT_ergodox_wrapper( - //LEFT HAND - _____________________FUNC_LEFT______________________, _______, - _____________________LOWER_L1_______________________, _______, - _____________________LOWER_L2_______________________, - _____________________LOWER_L3_______________________, _______, - _______, _______, _______, _______, _______, - // LEFT THUMB - _______, _______, - _______, - _______, _______, - _______, - - //RIGHT HAND - _______, _____________________FUNC_RIGHT_____________________, - _______, _____________________LOWER_R1_______________________, - _____________________LOWER_R2_______________________, - _______, _____________________LOWER_R3_______________________, - _______, _______, _______, M_CODE, _______, - // RIGHT THUMB - _______, _______, - _______, - _______, - _______, _______ - ), - -/* RAISE - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [_RAISE] = LAYOUT_ergodox_wrapper( - //LEFT HAND - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, - XXXXXXX, XXXXXXX, _____________MOUSE_2______________, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // LEFT THUMB - _______, _______, - _______, - _______, _______, - _______, - - //RIGHT HAND - 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, - // RIGHT THUMB - _______, _______, - _______, - _______, - _______, _______ - ), - -/* ADJUST - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | M_MAKE |QK_BOOT | | | | | | | | | | |COLMAK|DVORAK |QWERTY | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | M_VRSN |M_MALL| | | | |------| |-------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | M_FLSH | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - [_ADJUST] = LAYOUT_ergodox_wrapper( - //LEFT HAND - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _____________________ADJUST_L1______________________, XXXXXXX, - _____________________ADJUST_L1______________________, - _____________________ADJUST_L1______________________, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // LEFT THUMB - _______, _______, - _______, - _______, _______, - _______, - - //RIGHT HAND - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, _____________________ADJUST_R1______________________, - _____________________ADJUST_R1______________________, - XXXXXXX, _____________________ADJUST_R1______________________, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // RIGHT THUMB - _______, _______, - _______, - _______, - _______, _______ - ), -/* Keymap XX: TEMPLATE - * - * ,--------------------------------------------------. ,----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | | | |------| |-------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' -[_XXLAYER] = LAYOUT_ergodox_wrapper( - //LEFT HAND - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - // LEFT THUMB - _______, _______, - _______, - _______, _______, - _______, - - //RIGHT HAND - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - // RIGHT THUMB - _______, _______, - _______, - _______, - _______, _______ - ), - - */ -}; \ No newline at end of file diff --git a/keyboards/hotdox/rules.mk b/keyboards/hotdox/rules.mk index 1088cbc14bab..8e11eeabe084 100644 --- a/keyboards/hotdox/rules.mk +++ b/keyboards/hotdox/rules.mk @@ -15,5 +15,5 @@ RGBLIGHT_ENABLE = no # project specific files SRC = matrix.c \ - i2c_master.c \ left.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/hotdox76v2/config.h b/keyboards/hotdox76v2/config.h index f469aa475f88..3d80775073f8 100644 --- a/keyboards/hotdox76v2/config.h +++ b/keyboards/hotdox76v2/config.h @@ -30,11 +30,6 @@ #define RGB_MATRIX_CENTER \ { 112, 32 } -#define SPLIT_TRANSPORT_MIRROR -#define SPLIT_MODS_ENABLE -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_LED_STATE_ENABLE -#define SPLIT_OLED_ENABLE #define SPLIT_TRANSACTION_IDS_KB KEYBOARD_CURRENT_ALPA_SYNC #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/hotdox76v2/info.json b/keyboards/hotdox76v2/info.json index 007e7f23542f..a42bdb3a7993 100644 --- a/keyboards/hotdox76v2/info.json +++ b/keyboards/hotdox76v2/info.json @@ -19,7 +19,7 @@ "lto": true }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"], @@ -27,7 +27,16 @@ }, "split": { "enabled": true, - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "transport": { + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true, + "modifiers": true, + "oled": true + } + } }, "ws2812": { "pin": "D3" diff --git a/keyboards/hotdox76v2/keymaps/ifohancroft/README.md b/keyboards/hotdox76v2/keymaps/ifohancroft/README.md deleted file mode 100644 index d51eda066f9a..000000000000 --- a/keyboards/hotdox76v2/keymaps/ifohancroft/README.md +++ /dev/null @@ -1,20 +0,0 @@ -![IFo Hancroft HotDox76v2 Layout Image](https://i.imgur.com/AqUHXYXh.png) - -# IFo Hancroft's HotDox76v2 Layout - -- Layer 0: A QWERTY Layer. -- Layer 1: A Function Layer. -- Layer 2: Empty Layer. -- Layer 3: Empty Layer. - -This keymap also does the following: - -- Forces NKRO on -- Enables: - - The Command Feature - - VIA - - The Swap Hands feature -- Disables: - - Mouse Key - - Extra Key - - RGB Matrix diff --git a/keyboards/hotdox76v2/keymaps/ifohancroft/config.h b/keyboards/hotdox76v2/keymaps/ifohancroft/config.h deleted file mode 100644 index 1cd6c6fc2d12..000000000000 --- a/keyboards/hotdox76v2/keymaps/ifohancroft/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -// place overrides here -#define FORCE_NKRO -#ifdef TAPPING_TOGGLE -# undef TAPPING_TOGGLE -#endif -#define TAPPING_TOGGLE 3 diff --git a/keyboards/hotdox76v2/keymaps/ifohancroft/keymap.c b/keyboards/hotdox76v2/keymaps/ifohancroft/keymap.c deleted file mode 100644 index ed37ea1a4a28..000000000000 --- a/keyboards/hotdox76v2/keymaps/ifohancroft/keymap.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Copyright 2022 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 - * *---------------------------------------------------------------------* *---------------------------------------------------------------------* - * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Del | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | Esc | A | S | D | F | G | | | | H | J | K | L | ; | ' | - * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| - * | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift | - * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| - * | Ctrl | Super | Alt | | OSL(1) | | TT(1) | | Alt | Super | Ctrl | - * *-------------------------------------------------* *-------------------------------------------------* - * - * *-------------------* *-------------------* - * | | | | | | - * *---------+---------+---------| |---------+---------+---------* - * | | | | | | | | - * | Bckspc | Enter |---------| |---------| Enter | Space | - * | | | SH_OS | | | | | - * *---------+---------+---------* *---------+---------+---------* - */ - - LAYOUT_ergodox_pretty( - 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_DEL, - 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_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_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_NO, OSL(1), TT(1), KC_NO, KC_RALT, KC_RGUI, KC_RCTL, - - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_BSPC, KC_ENT, SH_OS, KC_NO, KC_ENT, KC_SPC - ), - - /* Function Keys Layer - * *---------------------------------------------------------------------* *---------------------------------------------------------------------* - * | NumLock | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | | + | 7 | 8 | 9 | * | | | | | | | | | | - * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| - * | | - | 4 | 5 | 6 | / | | | | Left | Down | Up | Right | | | - * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| - * | | 0 | 1 | 2 | 3 | . | | NK_TOGG | | | | | | - * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| - * | | | | | | | | Left | Down | Up | Right | - * *-------------------------------------------------* *-------------------------------------------------* - * - * *-------------------* *-------------------* - * | | | | | | - * *---------+---------+---------| |---------+---------+---------* - * | | | | | | | | - * | | Enter |---------| |---------| | | - * | PgUp | | | | | | PgDn | - * *---------+---------+---------* *---------+---------+---------* - */ - - LAYOUT_ergodox_pretty( - KC_NUM, 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_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - - _______, _______, _______, _______, - _______, _______, - KC_PGUP, KC_PENT, _______, _______, _______, KC_PGDN - ), - - /* Empty Layer */ - LAYOUT_ergodox_pretty( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - /* Empty Layer */ - LAYOUT_ergodox_pretty( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, - _______, _______, - _______, _______, _______, _______, _______, _______ - ) -}; - - /* Swap Hands - * *---------------------------------------------------------------------* - * | Delete | 0 | 9 | 8 | 7 | 6 | = | - * |---------+---------+---------+---------+---------+---------+---------| - * | \ | P | O | I | U | Y | ] | - * |---------+---------+---------+---------+---------+---------+---------| - * | ' | ; | L | K | J | H | | - * |---------+---------+---------+---------+---------+---------+---------* - * | R Shift | / | . | , | M | N | - * |---------+---------+---------+---------+---------+---------* - * | R Ctrl | R Super | R Alt | | TT(1) | - * *-------------------------------------------------* - * - * *-------------------* - * | | | - * *---------+---------+---------| - * | | | | - * | Space | |---------| - * | | | | - * *---------+---------+---------* - */ - -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{0, 6}, {5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {6, 6}}, - {{0, 7}, {5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {6, 7}}, - {{0, 8}, {5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {6, 8}}, - {{0, 9}, {5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {6, 9}}, - {{0, 10}, {5, 10}, {4, 10}, {3, 10}, {2, 10}, {1, 10}, {6, 10}}, - {{0, 11}, {5, 11}, {4, 11}, {3, 11}, {2, 11}, {1, 11}, {6, 11}} -}; diff --git a/keyboards/hotdox76v2/keymaps/ifohancroft/rules.mk b/keyboards/hotdox76v2/keymaps/ifohancroft/rules.mk deleted file mode 100644 index fb3efc2f48e9..000000000000 --- a/keyboards/hotdox76v2/keymaps/ifohancroft/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -COMMAND_ENABLE = yes -EXTRAKEY_ENABLE = no -MOUSEKEY_ENABLE = no -RGB_MATRIX_ENABLE = no -SWAP_HANDS_ENABLE = yes -VIA_ENABLE = yes diff --git a/keyboards/hp69/config.h b/keyboards/hp69/config.h index cb64849d0686..02238ba61271 100644 --- a/keyboards/hp69/config.h +++ b/keyboards/hp69/config.h @@ -17,19 +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 -#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 -#define RGBLIGHT_SLEEP - #define AUDIO_PIN A5 #define AUDIO_PIN_ALT A4 #define AUDIO_PIN_ALT_AS_NEGATIVE diff --git a/keyboards/hp69/info.json b/keyboards/hp69/info.json index 8484902252e0..e852321e8970 100644 --- a/keyboards/hp69/info.json +++ b/keyboards/hp69/info.json @@ -17,6 +17,22 @@ "caps_lock": "A6", "scroll_lock": "A7" }, + "rgblight": { + "led_count": 20, + "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 + } + }, "ws2812": { "pin": "A3" }, diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h index 62c800b9bc9a..c86446439025 100644 --- a/keyboards/hs60/v1/config.h +++ b/keyboards/hs60/v1/config.h @@ -41,10 +41,9 @@ along with this program. If not, see . // #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215 -#define DRIVER_ADDR_1 0b1110100 -#define DRIVER_ADDR_2 0b1110101 +#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND +#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL -#define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 #ifdef HS60_ANSI diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json index 798d889bd78b..c87ca19e3b8d 100644 --- a/keyboards/hs60/v1/info.json +++ b/keyboards/hs60/v1/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["F1", "F4", "F5", "E6", "F0", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c index 6c5f03f428fb..50f6215a02dc 100644 --- a/keyboards/hs60/v1/v1.c +++ b/keyboards/hs60/v1/v1.c @@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length ) #ifdef HS60_ANSI -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -199,7 +199,7 @@ led_config_t g_led_config = { { #else -const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/hs60/v2/ansi/config.h b/keyboards/hs60/v2/ansi/config.h index 614b44d4d4c0..e96c36313cbc 100644 --- a/keyboards/hs60/v2/ansi/config.h +++ b/keyboards/hs60/v2/ansi/config.h @@ -53,8 +53,8 @@ along with this program. If not, see . #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } -#define DRIVER_COUNT 2 -#define RGB_MATRIX_LED_COUNT 64 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hs60/v2/ansi/keymaps/stanrc85/config.h b/keyboards/hs60/v2/ansi/keymaps/stanrc85/config.h deleted file mode 100644 index bf39aae3a240..000000000000 --- a/keyboards/hs60/v2/ansi/keymaps/stanrc85/config.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -// disable backlight after timeout in minutes, 0 = no timeout -#undef RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT -#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 20 - -#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 -#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 -#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 -#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 -#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 - -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0010000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001 //Setting \ key to "MOD" instead of "ALPHA" for lighting -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0010000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011110000000111 - -#undef RGB_BACKLIGHT_CAPS_LOCK_INDICATOR -#undef RGB_BACKLIGHT_LAYER_1_INDICATOR -#undef RGB_BACKLIGHT_LAYER_2_INDICATOR -#undef RGB_BACKLIGHT_LAYER_3_INDICATOR - -#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 200, .s = 255 }, .index = 3-1 } //purple -#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 100, .s = 255 }, .index = 60-1 } //green -#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 150, .s = 255 }, .index = 60-1 } //blue -#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 60-1 } //white - -#undef RGB_BACKLIGHT_BRIGHTNESS -#define RGB_BACKLIGHT_BRIGHTNESS 175 - -#undef RGB_BACKLIGHT_COLOR_1 -#undef RGB_BACKLIGHT_COLOR_2 - -#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } -#define RGB_BACKLIGHT_COLOR_2 { .h = 150, .s = 255 } - -#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c b/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c deleted file mode 100644 index 13fb7f005b3d..000000000000 --- a/keyboards/hs60/v2/ansi/keymaps/stanrc85/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2018 Stanrc85 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 "stanrc85.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_60_ansi( - TD_TESC, KC_1, KC_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_CTLE, KC_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, LT_SPCF, KC_RALT, TD_TWIN, MO(_FN2_60), TD_TCTL), - - [_DEFAULT] = LAYOUT_60_ansi( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1_60), MO(_FN2_60), KC_RCTL), - - [_FN1_60] = LAYOUT_60_ansi( - KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, _______, CA_QUOT, KC_VOLU, CA_SCLN, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSCR, _______, _______, KC_INS, - KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, - _______, KC_RDP, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______), - - [_FN2_60] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, - _______, EF_INC, ES_INC, S1_INC, H1_INC, S2_INC, H2_INC, BR_INC, _______, _______, _______, _______, _______, QK_BOOT, - _______, EF_DEC, ES_DEC, S1_DEC, H1_DEC, S2_DEC, H2_DEC, BR_DEC, _______, _______, _______, _______, KC_MAKE, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT)) -}; - -// Backlight specific keys: -// EF_INC, EF_DEC, // next/previous backlight effect -// H1_INC, H1_DEC, // Color 1 hue increase/decrease -// S1_INC, S1_DEC, // Color 1 saturation increase/decrease -// H2_INC, H2_DEC, // Color 2 hue increase/decrease -// S2_INC, S2_DEC, // Color 2 saturation increase/decrease -// BR_INC, BR_DEC, // backlight brightness increase/decrease - -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/hs60/v2/ansi/keymaps/stanrc85/readme.md b/keyboards/hs60/v2/ansi/keymaps/stanrc85/readme.md deleted file mode 100644 index 430d363f3762..000000000000 --- a/keyboards/hs60/v2/ansi/keymaps/stanrc85/readme.md +++ /dev/null @@ -1,48 +0,0 @@ - - -# Stanrc85's Standard ANSI 60% Layout - -## Keymap Notes -- Layer 0 is default QWERTY layout with additional custom features: - - SpaceFN to function layer 2 on `Space` - - `CTRL` when held and `ESC` when tapped on `CAPS LOCK` - - Tap Dance on `Fn1` for `CTRL+ALT+DEL` and `WIN+L` - - Tap Dance on `ESC` for `ESC` and ` ` ` - -![Base QWERTY Layer](https://imgur.com/lGcyLJx.png) - -- Layer 1 is default QWERTY with no custom features used mostly for gaming - - Enabled by `Fn2+CAPS` from base layer - -![Default ANSI Layer](https://imgur.com/M7T9PNT.png) - -- Layer 2 is Function layer: - - F keys - - Arrows - - Volume and Media controls - - AutoHotkey shortcuts based on [Speaker Control](https://github.com/stanrc85/Speaker-Control) script - - AHK Mic is used to mute/unmute microphone - - AHK Speaker switches audio output between headphones and speakers - -![Function Layer](https://imgur.com/YPl0JrU.png) - -- Layer 3 is Backlight control and RESET - - `Fn2+CAPS` used to toggle Default QWERTY layer on and off - -![RGB and RESET Layer](https://imgur.com/mMHoJPa.png) - -### Build -To build the firmware file associated with this keymap, simply run `make your_keyboard:stanrc85`. diff --git a/keyboards/hs60/v2/ansi/rules.mk b/keyboards/hs60/v2/ansi/rules.mk index a231765dffa8..bc8cb00131d2 100644 --- a/keyboards/hs60/v2/ansi/rules.mk +++ b/keyboards/hs60/v2/ansi/rules.mk @@ -22,5 +22,5 @@ CIE1931_CURVE = yes SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ drivers/led/issi/is31fl3733.c \ - quantum/color.c \ - i2c_master.c + quantum/color.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/hs60/v2/hhkb/config.h b/keyboards/hs60/v2/hhkb/config.h index e8346160683f..6a6fa375bcaa 100644 --- a/keyboards/hs60/v2/hhkb/config.h +++ b/keyboards/hs60/v2/hhkb/config.h @@ -53,8 +53,8 @@ along with this program. If not, see . #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } -#define DRIVER_COUNT 2 -#define RGB_MATRIX_LED_COUNT 64 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hs60/v2/hhkb/rules.mk b/keyboards/hs60/v2/hhkb/rules.mk index a231765dffa8..bc8cb00131d2 100644 --- a/keyboards/hs60/v2/hhkb/rules.mk +++ b/keyboards/hs60/v2/hhkb/rules.mk @@ -22,5 +22,5 @@ CIE1931_CURVE = yes SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ drivers/led/issi/is31fl3733.c \ - quantum/color.c \ - i2c_master.c + quantum/color.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/hs60/v2/iso/config.h b/keyboards/hs60/v2/iso/config.h index 7421f1bf125a..5f1a55b1d112 100644 --- a/keyboards/hs60/v2/iso/config.h +++ b/keyboards/hs60/v2/iso/config.h @@ -50,8 +50,8 @@ along with this program. If not, see . #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } -#define DRIVER_COUNT 2 -#define RGB_MATRIX_LED_COUNT 64 +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND +#define IS31FL3733_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hs60/v2/iso/rules.mk b/keyboards/hs60/v2/iso/rules.mk index a231765dffa8..bc8cb00131d2 100644 --- a/keyboards/hs60/v2/iso/rules.mk +++ b/keyboards/hs60/v2/iso/rules.mk @@ -22,5 +22,5 @@ CIE1931_CURVE = yes SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ drivers/led/issi/is31fl3733.c \ - quantum/color.c \ - i2c_master.c + quantum/color.c +I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/hs60/v2/v2.c b/keyboards/hs60/v2/v2.c index f817ef19e799..45b1f54d5f55 100644 --- a/keyboards/hs60/v2/v2.c +++ b/keyboards/hs60/v2/v2.c @@ -15,5 +15,82 @@ */ #ifndef RGB_BACKLIGHT_HS60 -#error RGB_BACKLIGHT_HS60 not defined, recheck config.h +# error RGB_BACKLIGHT_HS60 not defined, recheck config.h +#else +# include "drivers/led/issi/is31fl3733.h" +#endif + +#if defined(RGB_MATRIX_ENABLE) || defined(RGB_BACKLIGHT_HS60) +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, B_1, A_1, C_1}, //LA1 + {0, E_1, D_1, F_1}, //LA2 + {0, H_1, G_1, I_1}, //LA3 + {0, K_1, J_1, L_1}, //LA4 + {0, B_2, A_2, C_2}, //LA5 + {0, E_2, D_2, F_2}, //LA6 + {0, H_2, G_2, I_2}, //LA7 + {0, K_2, J_2, L_2}, //LA8 + {0, B_3, A_3, C_3}, //LA9 + {0, E_3, D_3, F_3}, //LA10 + {0, H_3, G_3, I_3}, //LA11 + {0, K_3, J_3, L_3}, //LA12 + {0, B_4, A_4, C_4}, //LA13 + {0, E_4, D_4, F_4}, //LA14 + {0, H_4, G_4, I_4}, //LA15 + {0, K_4, J_4, L_4}, //LA16 + {0, B_5, A_5, C_5}, //LA17 + {0, E_5, D_5, F_5}, //LA18 + {0, H_5, G_5, I_5}, //LA19 + {0, K_5, J_5, L_5}, //LA20 + {0, B_6, A_6, C_6}, //LA21 + {0, E_6, D_6, F_6}, //LA22 + {0, H_6, G_6, I_6}, //LA23 + {0, K_6, J_6, L_6}, //LA24 + {0, B_7, A_7, C_7}, //LA25 + {0, E_7, D_7, F_7}, //LA26 + {0, H_7, G_7, I_7}, //LA27 + {0, K_7, J_7, L_7}, //LA28 + {0, B_8, A_8, C_8}, //LA29 + {0, E_8, D_8, F_8}, //LA30 + {0, H_8, G_8, I_8}, //LA31 + {0, K_8, J_8, L_8}, //LA32 + {0, B_9, A_9, C_9}, //LA33 + {0, E_9, D_9, F_9}, //LA34 + {0, H_9, G_9, I_9}, //LA35 + {0, K_9, J_9, L_9}, //LA36 + {0, B_10, A_10, C_10}, //LA37 + {0, E_10, D_10, F_10}, //LA38 + {0, H_10, G_10, I_10}, //LA39 + {0, K_10, J_10, L_10}, //LA40 + {0, B_11, A_11, C_11}, //LA41 + {0, E_11, D_11, F_11}, //LA42 + {0, H_11, G_11, I_11}, //LA43 + {0, K_11, J_11, L_11}, //LA44 + {0, B_12, A_12, C_12}, //LA45 + {0, E_12, D_12, F_12}, //LA46 + {0, H_12, G_12, I_12}, //LA47 + {0, K_12, J_12, L_12}, //LA48 + {0, B_13, A_13, C_13}, //LA49 + {0, E_13, D_13, F_13}, //LA50 + {0, H_13, G_13, I_13}, //LA51 + {0, K_13, J_13, L_13}, //LA52 + {0, B_14, A_14, C_14}, //LA53 + {0, E_14, D_14, F_14}, //LA54 + {0, H_14, G_14, I_14}, //LA55 + {0, K_14, J_14, L_14}, //LA56 + {0, B_15, A_15, C_15}, //LA57 + {0, E_15, D_15, F_15}, //LA58 + {0, H_15, G_15, I_15}, //LA59 + {0, K_15, J_15, L_15}, //LA60 + {0, B_16, A_16, C_16}, //LA61 + {0, E_16, D_16, F_16}, //LA62 + {0, H_16, G_16, I_16}, //LA63 + {0, K_16, J_16, L_16}, //LA64 +}; #endif diff --git a/keyboards/hub16/config.h b/keyboards/hub16/config.h index a628c11ddc1f..68576635a8fc 100755 --- a/keyboards/hub16/config.h +++ b/keyboards/hub16/config.h @@ -26,25 +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 -#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 - -/* 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 4d8161d28d8e..920b42feec83 100644 --- a/keyboards/hub16/info.json +++ b/keyboards/hub16/info.json @@ -14,6 +14,24 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "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 + } + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/hub16/keymaps/ahk_companion/ahk_companion.ahk b/keyboards/hub16/keymaps/ahk_companion/ahk_companion.ahk deleted file mode 100644 index becab49e5cc5..000000000000 --- a/keyboards/hub16/keymaps/ahk_companion/ahk_companion.ahk +++ /dev/null @@ -1,104 +0,0 @@ -#Persistent -#SingleInstance force - -;================================================================= -; Macro Pad Shortcuts ; -;================================================================= - -;================================================================= -; Layer 0 -;;================================================================= -;Row 1 - -F13::Send a -F14::Send b -F15::Send c -F16::Send d - -;Row 2 - -F17::Send e -F18::Send f -F19::Send g -F20::Send h - -;Row 3 - -F21::Send i -F22::Send j -F23::Send k -F24::Send l - - -;================================================================= -; Layer 1 -;;================================================================= -;Row 1 - -!F13::Send m -!F14::Send n -!F15::Send o -!F16::Send p - -;Row 2 - -!F17::Send q -!F18::Send r -!F19::Send s -!F20::Send t - -;Row 3 - -!F21::Send u -!F22::Send v -!F23::Send w -!F24::Send x - - -;================================================================= -; Layer 2 -;;================================================================= -;Row 1 - -+F13::Send y -+F14::Send z -+F15::Send A -+F16::Send B - -;Row 2 - -+F17::Send C -+F18::Send D -+F19::Send E -+F20::Send F - -;Row 3 - -+F21::Send G -+F22::Send H -+F23::Send I -+F24::Send J - -;================================================================= -; Layer 3 -;;================================================================= -;Row 1 - -^F13::Send K -^F14::Send L -^F15::Send M -^F16::Send N - -;Row 2 - -^F17::Send O -^F18::Send P -^F19::Send Q -^F20::Send R - -;Row 3 - -^F21::Send S -^F22::Send T -^F23::Send U -^F24::Send V diff --git a/keyboards/hub16/keymaps/ahk_companion/config.h b/keyboards/hub16/keymaps/ahk_companion/config.h deleted file mode 100644 index 62b0df937bbe..000000000000 --- a/keyboards/hub16/keymaps/ahk_companion/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -Copyright 2019 Josh Johnson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -// #endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 20 - -// Time out one shot layers after 3 seconds -#define ONESHOT_TIMEOUT 3000 - -// Undef and redefine default brightness to half of 255 -#undef RGBLIGHT_LIMIT_VAL -#define RGBLIGHT_LIMIT_VAL 255 - -//Define a preview timeout for RGB reviews -#define PREVIEW_TIMEOUT 5000 - -// Enable Light Layers implementation -#define RGBLIGHT_LAYERS -// Allow Light Layers to override RGB off configuration -#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/hub16/keymaps/ahk_companion/keymap.c b/keyboards/hub16/keymaps/ahk_companion/keymap.c deleted file mode 100644 index a5148f97e1c0..000000000000 --- a/keyboards/hub16/keymaps/ahk_companion/keymap.c +++ /dev/null @@ -1,169 +0,0 @@ -/* -Copyright 2019 Josh Johnson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) -static uint32_t rgb_preview_timer = 0; -#endif - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4) - [0] = LAYOUT( - KC_MPLY, KC_MUTE, - KC_F13, KC_F14, KC_F15, KC_F16, - KC_F17, KC_F18, KC_F19, KC_F20, - KC_F21, KC_F22, KC_F23, KC_F24, - OSL(1), OSL(2), OSL(3), TG(4) //Transparent to let you go between layers - ), - - [1] = LAYOUT( - KC_MPLY, KC_MUTE, - LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16), - LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20), - LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 2 - Shift + Function Key Layer - [2] = LAYOUT( - KC_MPLY, KC_MUTE, - LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16), - LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20), - LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 3 - Control + Function Key - [3] = LAYOUT( - KC_MPLY, KC_MUTE, - LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16), - LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20), - LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 4 - Multimedia - [4] = LAYOUT( - KC_MPLY, KC_MUTE, - KC_MPRV, KC_MPLY, KC_U, KC_K, - KC_NO, KC_NO, KC_ENT, KC_X, - KC_NO, QK_BOOT, LSFT(KC_HASH), KC_J, - TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), - - //Layer 5 - Keyboard Lights, Programming and Special Functions - [5] = LAYOUT( - KC_MPLY, KC_MUTE, - RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, - RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, - RGB_TOG, EE_CLR, QK_BOOT, KC_LSFT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers - ), -}; - -const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_ORANGE} - ); -const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_GREEN} - ); -const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_RED} - ); -const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_BLUE} - ); -const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_WHITE} - ); -const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0,16,HSV_TEAL} - ); -const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_layer0_layer, - my_layer1_layer, - my_layer2_layer, - my_layer3_layer, - my_layer4_layer, - my_layer5_layer - ); - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left Encoder */ - if (clockwise) { - tap_code(KC_MPRV); - } else { - tap_code(KC_MNXT); - } - } else if (index == 1) { /* Right Encoder */ - if (clockwise) { - tap_code(KC_VOLD); - } else { - tap_code(KC_VOLU); - } - } - return true; -} -void post_process_record_user(uint16_t keycode, keyrecord_t *record) { - // Allow for a preview of changes when modifying RGB -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) - switch (keycode) { - case RGB_TOG ... QK_VELOCIKEY_TOGGLE: - for (uint8_t i = 0; i < RGBLIGHT_MAX_LAYERS; i++) { - rgblight_set_layer_state(i, false); - } - rgb_preview_timer = timer_read32(); - break; - } -# endif - return; -} - -//Set the appropriate layer color -layer_state_t layer_state_set_user(layer_state_t state) { - rgblight_set_layer_state(1, layer_state_cmp(state, 1)); - rgblight_set_layer_state(2, layer_state_cmp(state, 2)); - rgblight_set_layer_state(3, layer_state_cmp(state, 3)); - rgblight_set_layer_state(4, layer_state_cmp(state, 4)); - rgblight_set_layer_state(5, layer_state_cmp(state, 5)); - return state; -} - -void keyboard_post_init_user(void) { - //Enable the LED layers - rgblight_layers = my_rgb_layers; - layer_state_set_user(layer_state); -} - -void matrix_scan_user(void) { -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) - // Allow preview for - if (rgb_preview_timer && TIMER_DIFF_32(timer_read32(), rgb_preview_timer) > PREVIEW_TIMEOUT) { - rgb_preview_timer = 0; - default_layer_state_set_user(default_layer_state); - layer_state_set_user(layer_state); - led_update_user((led_t) host_keyboard_leds()); - } -# endif -} - -//EEPROM Reset Function -void eeconfig_init_user(void) { - rgblight_enable(); // Enable RGB by default - rgblight_sethsv(HSV_ORANGE); // Set it to orange by default -} diff --git a/keyboards/hub16/keymaps/ahk_companion/readme.md b/keyboards/hub16/keymaps/ahk_companion/readme.md deleted file mode 100644 index a6163a3d5639..000000000000 --- a/keyboards/hub16/keymaps/ahk_companion/readme.md +++ /dev/null @@ -1,71 +0,0 @@ -# AutoHotKey Companion - -## Overview -AutoHotKey Companion Keymap for Hub16 macropad is designed be a quick and easy way to get started with AutoHotKey and to provide a foundation for customizing your own macropad. I upgraded to the Hub16 from a Super16 because it kept the RGB underglow lights for an easy way (RGB) to identify what layer I was on with a quick glance or peripheral vision and added 2 rotary encoders and a USB 2.0 hub with USB-C ports. The F13 to F24 keys were selected as they are rarely used so you won't run into conflicts with existing application shortcuts and AutoHotKey recognizes them without any issues. *Note:* MacOS does not support/recognize F21 to F24 so these would need to be remapped for Mac users. - -Same functionality can be accomplished with other similar applications on the host system like Keyboard Maestro, AutoIt, etc. - -* AutoHotKey(Windows) -* AutoIT (Windows) -* Keyboard Maestro(Mac) -* AutoKey(Linux) - -This keymap allows for a total of 48 Function/Macro keys that are accessible within 2 sequential key presses (or more when extended with your own code and additional layers) - -## Encoders -Encoder functionality was made based on my needs but it can be remapped as desired by changing the keycodes. - -Left Encoder: - * Counter clockwise: Previous Multimedia - * Clockwise: Next Multimedia - * Click: Play/Pause - - Right Encoder: - * Counter clockwise: Volume Down - * Clockwise: Volume Up - * Click: Mute/Unmute - -## Alternate Implementations -I chose to use QMK OSL (One Shot Layer) functionality to avoid having to hold a key while selecting the next key and to have my layers always go back to the default layer as the starting point. This also helps me avoid having to cognitively remember what layer I am on. - -If persistent behavior is prefered, OSL can be swapped for TG which will toggle the layer on/off with a key press instead of clearing the layer once the Function key is pressed. This is useful if a layer contains several keys that need to be used in sequence. I also added a OSL timeout of 3 seconds, so that if the key is not pressed within 3 seconds the layer will go back to default. This can be adjusted in the config.h file by increasing 3000 to a desired value: `#define ONESHOT_TIMEOUT 3000` - - - - -## Layers - -While the first 5 layers are accessible with only 1 key press at most, the 5th (less frequently used) layer is accessed by first going to the 4th layer, which makes the TG(5) button available on the bottom left. Space for additional 2 more layer toggles is available on the 2 middle buttons on the bottom row. Please refer to the layer diagrams. - - -* Layer 0 (Base Layer) - the default layer and functions like sending the F13 to F24 keys along with the bottom row to activate another 4 layers. - - ![Image of Base Layer ](https://i.imgur.com/0LhityX.png) - -* Layer 1 (Alt Layer) - Equivalent to Alt+Fxx key being pressed - - ![Image of Layer 1 ](https://i.imgur.com/ZblqLZt.png) - -* Layer 2 (Shift Layer) - Equivalent to Shift+Fxx key being pressed - - ![Image of Layer 2 ](https://i.imgur.com/ZQHwLC0.png) - -* Layer 3 (Control Layer) - Equivalent to Ctrl+Fxx key being pressed - - ![Image of Layer 3 ](https://i.imgur.com/JkM8bqV.png) - -* Layer 4 (Config Layer) - Layer for multimedia. You can replace the KC_TRNS on this layer in keymap.c to TG(x) to enable additional layers. - - ![Image of Layer 4 ](https://i.imgur.com/srDp5Lv.png) - -* Layer 5 (RGB Control/QMK) - RGB control layer and Quantum functions (Reset, EEPROM Reset, ) - - ![Image of Layer 5 ](https://i.imgur.com/Os3n8dx.png) - -## Host Configuration - -Once the keymap has been flashed to the Hub16, you can download the accompanying AutoHotKey file or create your own and have it start automatically either via a Windows Task or another way. Using AutoHotKey allows adjustment of functionality of the buttons without the need to change your map and reflash the macropad every time. -Starting the AHK file can be done either by: -* Creating a Windows Task -* Adding the AHK to the startup folder -* Launch manually diff --git a/keyboards/hub16/keymaps/macro/keymap.c b/keyboards/hub16/keymaps/macro/keymap.c deleted file mode 100755 index 5200cf35dd6c..000000000000 --- a/keyboards/hub16/keymaps/macro/keymap.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Copyright 2019 Josh Johnson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Function key we are 'wrapping' usual key presses in -#define KC_WRAP KC_F24 - -// Keyboard Layers -enum keyboard_layers{ - _BASE = 0, - _CTRL -}; - -// Tap Dance Declarations -void td_ctrl (tap_dance_state_t *state, void *user_data); - -enum tap_dance { CTRL = 0, BASE = 1 }; - -tap_dance_action_t tap_dance_actions[] = { - // Tap once for standard key on base layer, twice to toggle to control layer - [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl), - [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE)}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( /* Base */ - KC_S, KC_V, - KC_A, KC_B, KC_C, KC_D, - KC_E, KC_F, KC_G, KC_H, - KC_I, KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O, TD(CTRL) - ), - - [_CTRL] = LAYOUT( /* Control */ - KC_NO, KC_NO, - _______, RGB_MOD, RGB_RMOD, RGB_TOG, - RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, - RGB_SAD, RGB_SAI, _______, _______, - _______, _______, QK_BOOT, TD(BASE) - ), -}; - -// Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, -// allowing for easy differentiation from a real keyboard. -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_R); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_Q); - unregister_code(KC_WRAP); - } - } else if (index == 1) { /* Right Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_U); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_T); - unregister_code(KC_WRAP); - } - } - return true; -} - -// Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) -// Shoutout to drashna on the QMK discord for basically writing this for me.... :P -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint8_t f24_tracker; - switch (keycode) { - case KC_A ... KC_F23: - case KC_EXECUTE ... KC_EXSEL: - if (record->event.pressed) { - register_code(KC_WRAP); - f24_tracker++; - register_code(keycode); - } else { - unregister_code(keycode); - f24_tracker--; - if (!f24_tracker) { - unregister_code(KC_WRAP); - } - } - return false; - break; - } - return true; -} - -// Below works around TD() not running key press through process_record_user. -// Fixes bug of CTRL layer move key not being wrapped in by modifier on single tap -void td_ctrl (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code(KC_WRAP); - tap_code(KC_P); - unregister_code(KC_WRAP); - } else if (state->count == 2) { - layer_move(_CTRL); - } -} diff --git a/keyboards/hub16/keymaps/macro/rules.mk b/keyboards/hub16/keymaps/macro/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/hub16/keymaps/macro/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h index 5fc99ecbf501..a72b1389ad61 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 994b9405d9be..92aa3605a96a 100644 --- a/keyboards/hub20/info.json +++ b/keyboards/hub20/info.json @@ -9,7 +9,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["A6", "A7", "B7", "B6"], @@ -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/keymaps/macro/keymap.c b/keyboards/hub20/keymaps/macro/keymap.c deleted file mode 100644 index c9e735d3896e..000000000000 --- a/keyboards/hub20/keymaps/macro/keymap.c +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright 2020 joshajohnson - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -// Function key we are 'wrapping' usual key presses in -#define KC_WRAP KC_F23 - -// Keyboard Layers -enum keyboard_layers{ - _BASE = 0, - _CTRL -}; - -// Tap Dance stuff -void td_ctrl (tap_dance_state_t *state, void *user_data); - -enum tap_dance { - CTRL = 0, - BASE = 1 -}; - -tap_dance_action_t tap_dance_actions[] = { - // Tap once for standard key, twice to toggle layers - [CTRL] = ACTION_TAP_DANCE_FN(td_ctrl), - [BASE] = ACTION_TAP_DANCE_LAYER_MOVE(_______, _BASE) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_all( - KC_W, KC_Z, - KC_A, KC_B, KC_C, TD(CTRL), - KC_E, KC_F, KC_G, KC_H, - KC_I, KC_J, KC_K, KC_L, - KC_M, KC_N, KC_O, KC_P, - KC_Q, KC_R, KC_S, KC_T -), - [_CTRL] = LAYOUT_all( - QK_BOOT, _______, - RGB_TOG, RGB_RMOD, RGB_MOD, TD(BASE), - _______, RGB_VAD, RGB_VAI, _______, - _______, RGB_HUD, RGB_HUI, _______, - _______, RGB_SAD, RGB_SAI, _______, - _______, _______, _______, _______ -) -}; - -// Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, -// allowing for easy differentiation from a real keyboard. -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* Left Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_U); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_V); - unregister_code(KC_WRAP); - } - } else if (index == 1) { /* Right Encoder */ - if (clockwise) { - register_code(KC_WRAP); - tap_code(KC_X); - unregister_code(KC_WRAP); - } else { - register_code(KC_WRAP); - tap_code(KC_Y); - unregister_code(KC_WRAP); - } - } - return true; -} - -// Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) -// Shoutout to drashna on the QMK discord for basically writing this for me.... :P -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - static uint8_t f23_tracker; - switch (keycode) { - // Wrap sent keys in KC_WRAP - case KC_A ... KC_F22: - case KC_EXECUTE ... KC_EXSEL: - if (record->event.pressed) { - register_code(KC_WRAP); - f23_tracker++; - register_code(keycode); - } else { - unregister_code(keycode); - f23_tracker--; - if (!f23_tracker) { - unregister_code(KC_WRAP); - } - } - return false; - break; - } - return true; -} - -// Below works around TD() not running key press through process_record_user -void td_ctrl (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code(KC_WRAP); - tap_code(KC_D); - unregister_code(KC_WRAP); - } else if (state->count == 2) { - layer_move(_CTRL); - } -} diff --git a/keyboards/hub20/keymaps/macro/rules.mk b/keyboards/hub20/keymaps/macro/rules.mk deleted file mode 100644 index e5ddcae8d927..000000000000 --- a/keyboards/hub20/keymaps/macro/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/hub20/rules.mk b/keyboards/hub20/rules.mk index 081ea9225a0f..f559246b9e39 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 deleted file mode 100644 index ad5e772c749e..000000000000 --- a/keyboards/hubble/config.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Anton Chernenko (@ch3rny) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - - -/* rgb */ -#define RGBLED_NUM 7 -#define RGBLIGHT_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 -#define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/hubble/info.json b/keyboards/hubble/info.json index b89647e5249f..735cf4237df9 100644 --- a/keyboards/hubble/info.json +++ b/keyboards/hubble/info.json @@ -14,6 +14,22 @@ "rgblight": true, "velocikey": true }, + "rgblight": { + "led_count": 7, + "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 + } + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/ibm/model_m/modelh/config.h b/keyboards/ibm/model_m/modelh/config.h new file mode 100644 index 000000000000..ac95ccfe662f --- /dev/null +++ b/keyboards/ibm/model_m/modelh/config.h @@ -0,0 +1,45 @@ +/* +Copyright 2020 John Hawthorn + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 + + +/* Model H customizations */ + +#define MODELH_STATUS_LED C13 + +/* 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 + + +/* + * 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/ibm/model_m/modelh/info.json b/keyboards/ibm/model_m/modelh/info.json new file mode 100644 index 000000000000..6d55d5c6bdda --- /dev/null +++ b/keyboards/ibm/model_m/modelh/info.json @@ -0,0 +1,282 @@ +{ + "manufacturer": "IBM", + "keyboard_name": "Model M", + "maintainer": "jhawthorn", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": false, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": false + }, + "indicators": { + "caps_lock": "B8", + "num_lock": "B7", + "scroll_lock": "B9", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"], + "rows": ["B6", "B5", "B4", "A15", "B3", "A0", "A2", "A1"] + }, + "processor": "STM32F103", + "url": "modelh.club", + "usb": { + "device_version": "1.0.0", + "max_power": 100, + "pid": "0xB155", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_fullsize_ansi_wkl": { + "layout": [ + {"matrix": [0, 2], "x": 0, "y": 0}, + + {"matrix": [2, 3], "x": 2, "y": 0}, + {"matrix": [2, 4], "x": 3, "y": 0}, + {"matrix": [1, 4], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 8], "x": 7.5, "y": 0}, + {"matrix": [1, 9], "x": 8.5, "y": 0}, + {"matrix": [2, 9], "x": 9.5, "y": 0}, + + {"matrix": [2, 6], "x": 11, "y": 0}, + {"matrix": [3, 6], "x": 12, "y": 0}, + {"matrix": [3, 11], "x": 13, "y": 0}, + {"matrix": [3, 12], "x": 14, "y": 0}, + + {"matrix": [3, 15], "x": 15.25, "y": 0}, + {"matrix": [4, 15], "x": 16.25, "y": 0}, + {"matrix": [6, 14], "x": 17.25, "y": 0}, + + {"matrix": [2, 2], "x": 0, "y": 1.5}, + {"matrix": [3, 2], "x": 1, "y": 1.5}, + {"matrix": [3, 3], "x": 2, "y": 1.5}, + {"matrix": [3, 4], "x": 3, "y": 1.5}, + {"matrix": [3, 5], "x": 4, "y": 1.5}, + {"matrix": [2, 5], "x": 5, "y": 1.5}, + {"matrix": [2, 7], "x": 6, "y": 1.5}, + {"matrix": [3, 7], "x": 7, "y": 1.5}, + {"matrix": [3, 8], "x": 8, "y": 1.5}, + {"matrix": [3, 9], "x": 9, "y": 1.5}, + {"matrix": [3, 10], "x": 10, "y": 1.5}, + {"matrix": [2, 10], "x": 11, "y": 1.5}, + {"matrix": [2, 8], "x": 12, "y": 1.5}, + {"matrix": [1, 6], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [2, 12], "x": 15.25, "y": 1.5}, + {"matrix": [2, 14], "x": 16.25, "y": 1.5}, + {"matrix": [2, 13], "x": 17.25, "y": 1.5}, + + {"matrix": [6, 11], "x": 18.5, "y": 1.5}, + {"matrix": [6, 12], "x": 19.5, "y": 1.5}, + {"matrix": [6, 13], "x": 20.5, "y": 1.5}, + {"matrix": [7, 13], "x": 21.5, "y": 1.5}, + + {"matrix": [1, 2], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 2.5}, + {"matrix": [4, 3], "x": 2.5, "y": 2.5}, + {"matrix": [4, 4], "x": 3.5, "y": 2.5}, + {"matrix": [4, 5], "x": 4.5, "y": 2.5}, + {"matrix": [1, 5], "x": 5.5, "y": 2.5}, + {"matrix": [1, 7], "x": 6.5, "y": 2.5}, + {"matrix": [4, 7], "x": 7.5, "y": 2.5}, + {"matrix": [4, 8], "x": 8.5, "y": 2.5}, + {"matrix": [4, 9], "x": 9.5, "y": 2.5}, + {"matrix": [4, 10], "x": 10.5, "y": 2.5}, + {"matrix": [1, 10], "x": 11.5, "y": 2.5}, + {"matrix": [1, 8], "x": 12.5, "y": 2.5}, + {"matrix": [5, 6], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 11], "x": 15.25, "y": 2.5}, + {"matrix": [3, 14], "x": 16.25, "y": 2.5}, + {"matrix": [3, 13], "x": 17.25, "y": 2.5}, + + {"matrix": [4, 11], "x": 18.5, "y": 2.5}, + {"matrix": [4, 12], "x": 19.5, "y": 2.5}, + {"matrix": [4, 13], "x": 20.5, "y": 2.5}, + {"matrix": [4, 14], "x": 21.5, "y": 2.5, "h": 2}, + + {"matrix": [1, 3], "x": 0, "y": 3.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.75, "y": 3.5}, + {"matrix": [5, 3], "x": 2.75, "y": 3.5}, + {"matrix": [5, 4], "x": 3.75, "y": 3.5}, + {"matrix": [5, 5], "x": 4.75, "y": 3.5}, + {"matrix": [0, 5], "x": 5.75, "y": 3.5}, + {"matrix": [0, 7], "x": 6.75, "y": 3.5}, + {"matrix": [5, 7], "x": 7.75, "y": 3.5}, + {"matrix": [5, 8], "x": 8.75, "y": 3.5}, + {"matrix": [5, 9], "x": 9.75, "y": 3.5}, + {"matrix": [5, 10], "x": 10.75, "y": 3.5}, + {"matrix": [0, 10], "x": 11.75, "y": 3.5}, + {"matrix": [6, 6], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [1, 11], "x": 18.5, "y": 3.5}, + {"matrix": [1, 12], "x": 19.5, "y": 3.5}, + {"matrix": [1, 13], "x": 20.5, "y": 3.5}, + + {"matrix": [1, 1], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [6, 2], "x": 2.25, "y": 4.5}, + {"matrix": [6, 3], "x": 3.25, "y": 4.5}, + {"matrix": [6, 4], "x": 4.25, "y": 4.5}, + {"matrix": [6, 5], "x": 5.25, "y": 4.5}, + {"matrix": [7, 5], "x": 6.25, "y": 4.5}, + {"matrix": [7, 7], "x": 7.25, "y": 4.5}, + {"matrix": [6, 7], "x": 8.25, "y": 4.5}, + {"matrix": [6, 8], "x": 9.25, "y": 4.5}, + {"matrix": [6, 9], "x": 10.25, "y": 4.5}, + {"matrix": [7, 10], "x": 11.25, "y": 4.5}, + {"matrix": [6, 1], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [0, 14], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 11], "x": 18.5, "y": 4.5}, + {"matrix": [5, 12], "x": 19.5, "y": 4.5}, + {"matrix": [5, 13], "x": 20.5, "y": 4.5}, + {"matrix": [5, 14], "x": 21.5, "y": 4.5, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [0, 15], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [7, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [7, 15], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [6, 0], "x": 13.5, "y": 5.5, "w": 1.5}, + + {"matrix": [7, 14], "x": 15.25, "y": 5.5}, + {"matrix": [7, 11], "x": 16.25, "y": 5.5}, + {"matrix": [7, 12], "x": 17.25, "y": 5.5}, + + {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2}, + {"matrix": [0, 13], "x": 20.5, "y": 5.5} + ] + }, + "LAYOUT_fullsize_iso_wkl": { + "layout": [ + {"matrix": [0, 2], "x": 0, "y": 0}, + + {"matrix": [2, 3], "x": 2, "y": 0}, + {"matrix": [2, 4], "x": 3, "y": 0}, + {"matrix": [1, 4], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 8], "x": 7.5, "y": 0}, + {"matrix": [1, 9], "x": 8.5, "y": 0}, + {"matrix": [2, 9], "x": 9.5, "y": 0}, + + {"matrix": [2, 6], "x": 11, "y": 0}, + {"matrix": [3, 6], "x": 12, "y": 0}, + {"matrix": [3, 11], "x": 13, "y": 0}, + {"matrix": [3, 12], "x": 14, "y": 0}, + + {"matrix": [3, 15], "x": 15.25, "y": 0}, + {"matrix": [4, 15], "x": 16.25, "y": 0}, + {"matrix": [6, 14], "x": 17.25, "y": 0}, + + {"matrix": [2, 2], "x": 0, "y": 1.5}, + {"matrix": [3, 2], "x": 1, "y": 1.5}, + {"matrix": [3, 3], "x": 2, "y": 1.5}, + {"matrix": [3, 4], "x": 3, "y": 1.5}, + {"matrix": [3, 5], "x": 4, "y": 1.5}, + {"matrix": [2, 5], "x": 5, "y": 1.5}, + {"matrix": [2, 7], "x": 6, "y": 1.5}, + {"matrix": [3, 7], "x": 7, "y": 1.5}, + {"matrix": [3, 8], "x": 8, "y": 1.5}, + {"matrix": [3, 9], "x": 9, "y": 1.5}, + {"matrix": [3, 10], "x": 10, "y": 1.5}, + {"matrix": [2, 10], "x": 11, "y": 1.5}, + {"matrix": [2, 8], "x": 12, "y": 1.5}, + {"matrix": [1, 6], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [2, 12], "x": 15.25, "y": 1.5}, + {"matrix": [2, 14], "x": 16.25, "y": 1.5}, + {"matrix": [2, 13], "x": 17.25, "y": 1.5}, + + {"matrix": [6, 11], "x": 18.5, "y": 1.5}, + {"matrix": [6, 12], "x": 19.5, "y": 1.5}, + {"matrix": [6, 13], "x": 20.5, "y": 1.5}, + {"matrix": [7, 13], "x": 21.5, "y": 1.5}, + + {"matrix": [1, 2], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 2.5}, + {"matrix": [4, 3], "x": 2.5, "y": 2.5}, + {"matrix": [4, 4], "x": 3.5, "y": 2.5}, + {"matrix": [4, 5], "x": 4.5, "y": 2.5}, + {"matrix": [1, 5], "x": 5.5, "y": 2.5}, + {"matrix": [1, 7], "x": 6.5, "y": 2.5}, + {"matrix": [4, 7], "x": 7.5, "y": 2.5}, + {"matrix": [4, 8], "x": 8.5, "y": 2.5}, + {"matrix": [4, 9], "x": 9.5, "y": 2.5}, + {"matrix": [4, 10], "x": 10.5, "y": 2.5}, + {"matrix": [1, 10], "x": 11.5, "y": 2.5}, + {"matrix": [1, 8], "x": 12.5, "y": 2.5}, + + {"matrix": [2, 11], "x": 15.25, "y": 2.5}, + {"matrix": [3, 14], "x": 16.25, "y": 2.5}, + {"matrix": [3, 13], "x": 17.25, "y": 2.5}, + + {"matrix": [4, 11], "x": 18.5, "y": 2.5}, + {"matrix": [4, 12], "x": 19.5, "y": 2.5}, + {"matrix": [4, 13], "x": 20.5, "y": 2.5}, + {"matrix": [4, 14], "x": 21.5, "y": 2.5, "h": 2}, + + {"matrix": [1, 3], "x": 0, "y": 3.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.75, "y": 3.5}, + {"matrix": [5, 3], "x": 2.75, "y": 3.5}, + {"matrix": [5, 4], "x": 3.75, "y": 3.5}, + {"matrix": [5, 5], "x": 4.75, "y": 3.5}, + {"matrix": [0, 5], "x": 5.75, "y": 3.5}, + {"matrix": [0, 7], "x": 6.75, "y": 3.5}, + {"matrix": [5, 7], "x": 7.75, "y": 3.5}, + {"matrix": [5, 8], "x": 8.75, "y": 3.5}, + {"matrix": [5, 9], "x": 9.75, "y": 3.5}, + {"matrix": [5, 10], "x": 10.75, "y": 3.5}, + {"matrix": [0, 10], "x": 11.75, "y": 3.5}, + {"matrix": [6, 10], "x": 12.75, "y": 3.5}, + {"matrix": [6, 6], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [1, 11], "x": 18.5, "y": 3.5}, + {"matrix": [1, 12], "x": 19.5, "y": 3.5}, + {"matrix": [1, 13], "x": 20.5, "y": 3.5}, + + {"matrix": [1, 1], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [0, 3], "x": 1.25, "y": 4.5}, + {"matrix": [6, 2], "x": 2.25, "y": 4.5}, + {"matrix": [6, 3], "x": 3.25, "y": 4.5}, + {"matrix": [6, 4], "x": 4.25, "y": 4.5}, + {"matrix": [6, 5], "x": 5.25, "y": 4.5}, + {"matrix": [7, 5], "x": 6.25, "y": 4.5}, + {"matrix": [7, 7], "x": 7.25, "y": 4.5}, + {"matrix": [6, 7], "x": 8.25, "y": 4.5}, + {"matrix": [6, 8], "x": 9.25, "y": 4.5}, + {"matrix": [6, 9], "x": 10.25, "y": 4.5}, + {"matrix": [7, 10], "x": 11.25, "y": 4.5}, + {"matrix": [6, 1], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [0, 14], "x": 16.25, "y": 4.5}, + + {"matrix": [5, 11], "x": 18.5, "y": 4.5}, + {"matrix": [5, 12], "x": 19.5, "y": 4.5}, + {"matrix": [5, 13], "x": 20.5, "y": 4.5}, + {"matrix": [5, 14], "x": 21.5, "y": 4.5, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [0, 15], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [7, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [7, 15], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [6, 0], "x": 13.5, "y": 5.5, "w": 1.5}, + + {"matrix": [7, 14], "x": 15.25, "y": 5.5}, + {"matrix": [7, 11], "x": 16.25, "y": 5.5}, + {"matrix": [7, 12], "x": 17.25, "y": 5.5}, + + {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2}, + {"matrix": [0, 13], "x": 20.5, "y": 5.5} + ] + } + } +} diff --git a/keyboards/ibm/model_m/modelh/keymaps/default/keymap.c b/keyboards/ibm/model_m/modelh/keymaps/default/keymap.c new file mode 100644 index 000000000000..9098b869b302 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2020 John Hawthorn + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_fullsize_ansi_wkl( /* Base layer */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_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_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), +}; diff --git a/keyboards/ibm/model_m/modelh/modelh.c b/keyboards/ibm/model_m/modelh/modelh.c new file mode 100644 index 000000000000..5384b3733854 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/modelh.c @@ -0,0 +1,25 @@ +/* Copyright 2020 John Hawthorn + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + + +void keyboard_pre_init_kb(void) { + setPinOutput(MODELH_STATUS_LED); + writePin(MODELH_STATUS_LED, 0); + + keyboard_pre_init_user(); +} diff --git a/keyboards/ibm/model_m/modelh/readme.md b/keyboards/ibm/model_m/modelh/readme.md new file mode 100644 index 000000000000..bed79619cea6 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/readme.md @@ -0,0 +1,20 @@ +# Model H - A USB capable PCB for the IBM Model M keyboard + +![modelh](https://i.imgur.com/4ymGdkM.jpg) + +This conversion kit allows you to replace your IBM Model M's original internal controller board with a modern USB board. This aims to match the footprint of the original controller and plugs into the original keyboard matrix, but exposes a USB port through the original SDL connector. + +* Keyboard Maintainer: [John Hawthorn](https://github.com/jhawthorn) +* Hardware Supported: IBM Model M +* Hardware Availability: [www.modelh.club](www.modelh.club) +* How to [build your own controller](https://github.com/jberclaz/modelh) + +Make example for this keyboard (after setting up your build environment): + + make ibm/model_m/modelh:default + +Flashing example for this keyboard: + + make ibm/model_m/modelh: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/ibm/model_m/modelh/rules.mk b/keyboards/ibm/model_m/modelh/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/ibm/model_m/mschwingen/config.h b/keyboards/ibm/model_m/mschwingen/config.h index b1dc81b8c780..b34d29649ad4 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 1ba525de6c8f..ce740e4a5481 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/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c index b764660e2174..8e3810cd234f 100644 --- a/keyboards/ibm/model_m/mschwingen/mschwingen.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -39,26 +39,26 @@ static uint8_t isRecording = 0; # if RGBLED_NUM < 3 # error we need at least 3 RGB LEDs! # endif -static cRGB led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; +static rgb_led_t led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; # define BRIGHT 32 # define DIM 6 -static const cRGB black = {.r = 0, .g = 0, .b = 0}; +static const rgb_led_t black = {.r = 0, .g = 0, .b = 0}; -static const __attribute__((unused)) cRGB green = {.r = 0, .g = BRIGHT, .b = 0}; -static const __attribute__((unused)) cRGB lgreen = {.r = 0, .g = DIM, .b = 0}; +static const __attribute__((unused)) rgb_led_t green = {.r = 0, .g = BRIGHT, .b = 0}; +static const __attribute__((unused)) rgb_led_t lgreen = {.r = 0, .g = DIM, .b = 0}; -static const __attribute__((unused)) cRGB red = {.r = BRIGHT, .g = 0, .b = 0}; -static const __attribute__((unused)) cRGB lred = {.r = DIM, .g = 0, .b = 0}; +static const __attribute__((unused)) rgb_led_t red = {.r = BRIGHT, .g = 0, .b = 0}; +static const __attribute__((unused)) rgb_led_t lred = {.r = DIM, .g = 0, .b = 0}; -static const __attribute__((unused)) cRGB blue = {.r = 0, .g = 0, .b = BRIGHT}; -static const __attribute__((unused)) cRGB lblue = {.r = 0, .g = 0, .b = DIM}; +static const __attribute__((unused)) rgb_led_t blue = {.r = 0, .g = 0, .b = BRIGHT}; +static const __attribute__((unused)) rgb_led_t lblue = {.r = 0, .g = 0, .b = DIM}; -static const __attribute__((unused)) cRGB turq = {.r = 0, .g = BRIGHT, .b = BRIGHT}; -static const __attribute__((unused)) cRGB lturq = {.r = 0, .g = DIM, .b = DIM}; +static const __attribute__((unused)) rgb_led_t turq = {.r = 0, .g = BRIGHT, .b = BRIGHT}; +static const __attribute__((unused)) rgb_led_t lturq = {.r = 0, .g = DIM, .b = DIM}; -static const __attribute__((unused)) cRGB white = {.r = BRIGHT, .g = BRIGHT, .b = BRIGHT}; +static const __attribute__((unused)) rgb_led_t white = {.r = BRIGHT, .g = BRIGHT, .b = BRIGHT}; static led_t led_state; static uint8_t layer; diff --git a/keyboards/ibm/model_m/mschwingen/rules.mk b/keyboards/ibm/model_m/mschwingen/rules.mk index 5ccab87d9b62..7d81ffe326b5 100644 --- a/keyboards/ibm/model_m/mschwingen/rules.mk +++ b/keyboards/ibm/model_m/mschwingen/rules.mk @@ -19,8 +19,8 @@ DYNAMIC_MACRO_ENABLE = yes UART_DEBUG = no SRC += matrix.c -QUANTUM_LIB_SRC += uart.c \ - spi_master.c +UART_DRIVER_REQUIRED = yes +SPI_DRIVER_REQUIRED = yes OPT_DEFS += -DSLEEP_LED_ENABLE # we need our own sleep callbacks to turn of WS2812 LEDs diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c index f4a1acb0cefd..4ec0a0cbc080 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/yugo_m/config.h b/keyboards/ibm/model_m/yugo_m/config.h index 2b7fc4d15756..0e6881ded3a2 100644 --- a/keyboards/ibm/model_m/yugo_m/config.h +++ b/keyboards/ibm/model_m/yugo_m/config.h @@ -36,7 +36,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -/* redefine available (emulated) EEPROM as 4 kB rather than the default 2 kB to let VIA use more of the on-chip Flash of the STM32F303 to store 4 layers (since 4 layers * 8 rows * 16 columns * 2 = 1024 bytes but the default max available is 1023 bytes due to ATMEGA32U4 etc. only having 1 kB of EEPROM) */ -#define WEAR_LEVELING_BACKING_SIZE 4096 -#define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/ibm/model_m/yugo_m/info.json b/keyboards/ibm/model_m/yugo_m/info.json index 6e3a0b39c61a..f4d9cc1d944c 100644 --- a/keyboards/ibm/model_m/yugo_m/info.json +++ b/keyboards/ibm/model_m/yugo_m/info.json @@ -13,6 +13,11 @@ "rows": ["B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"] }, "diode_direction": "ROW2COL", + "eeprom": { + "wear_leveling": { + "backing_size": 4096 + } + }, "processor": "STM32F303", "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", diff --git a/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/keymap.c rename to keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c diff --git a/keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/an_achronism_106/readme.md rename to keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md diff --git a/keyboards/yugo_m/model_m_101/keymaps/via/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/via/keymap.c rename to keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk b/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/yugo_m/model_m_101/matrix_diagram.md b/keyboards/ibm/model_m/yugo_m/matrix_diagram.md similarity index 100% rename from keyboards/yugo_m/model_m_101/matrix_diagram.md rename to keyboards/ibm/model_m/yugo_m/matrix_diagram.md diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h deleted file mode 100644 index bf338e196dbd..000000000000 --- a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 REPLACE_WITH_YOUR_NAME - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once -// place overrides here - diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c deleted file mode 100644 index 8b992676500a..000000000000 --- a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c +++ /dev/null @@ -1,558 +0,0 @@ -/* Copyright 2018 REPLACE_WITH_YOUR_NAME - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, - - DVP_ESC, // Grave escape basically i think - DVP_AMPR, - DVP_LBRACKET, - DVP_LCBR, - DVP_RCBR, - DVP_LPRN, - DVP_AT, - DVP_EQUAL, - DVP_ASTERISK, - DVP_RPRN, - DVP_PLUS, - DVP_RBRACKET, - DVP_EXLM, - DVP_HASH, - SHFT_DOT, - SHFT_COMMA -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Programmer's Dvorak - [0] = LAYOUT( - 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_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, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_NO, TO(2), KC_TAB, KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_NO, KC_NO, MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, MO(4), - LCTL(KC_F), KC_LALT, KC_LSFT, KC_ESC, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - LCTL(KC_C), LCTL(KC_V), KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT - ), - - // Qwerty layer + function - [1] = LAYOUT( - 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_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, TO(0), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_NO, KC_NO, MO(3), 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_UP, KC_P4, KC_P5, KC_P6, KC_BSPC, - KC_NO, KC_NO, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_NO, KC_LALT,KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT - ), - - // Orirginal Layer - [2] = LAYOUT( - 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_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, TO(1), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_NO, TO(0), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_NO, 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_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC, - KC_NO, KC_NO, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_NO, KC_LALT,KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT - ), - - // Function Layer - [3] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, - MU_TOGG,KC_NO, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - MU_NEXT,KC_NO, KC_TAB, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, KC_PGUP, KC_DEL, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS, - KC_NO, KC_NO, KC_TRNS, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_SCLN, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC, - KC_NO, KC_LALT, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT, - KC_NO, KC_NO, KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_CAPS, KC_DOWN, LSFT(KC_A), KC_PDOT - ), - - // Literally just the numpad is different - [4] = LAYOUT( - 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_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, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, TO(2), KC_TAB, KC_SCLN, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO, - KC_NO, KC_NO, TO(0), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_MS_L, KC_NO, KC_MS_R, KC_TRNS, - LCTL(KC_F), KC_LALT, KC_LSFT, KC_NO, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_GT, KC_MS_D, KC_GT, KC_PENT, - LCTL(KC_C), LCTL(KC_V), KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_BTN1, KC_PDOT - - ), - - /* - [4] = LAYOUT( - 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - MU_TOGG,TO(0), KC_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - MU_NEXT,KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS, - KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC, - KC_NO, KC_LALT, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT, - KC_NO, KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, LSFT(KC_A), KC_PDOT - - ),*/ - /*[0] = LAYOUT( - KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO,TO(1),KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, - KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, TO(2),KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, - KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, - KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_BSPC,KC_4,KC_4,KC_4, KC_4, - KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, - KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, - KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, - KC_8, KC_SPC,KC_8,KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, TO(1) - - ), - [1] = LAYOUT( - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, TO(0),KC_NO,KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, TO(2),KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_BSPC,KC_Q,KC_R,KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T, - KC_A, KC_SPC,KC_C,KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, TO(0) - ), - [2] = LAYOUT( - KC_LCTL, KC_LALT, KC_C, KC_RALT, KC_E, KC_F, KC_G, KC_G, KC_H, KC_J, TO(0), TO(1), KC_M, KC_N, KC_QUOT, KC_DOWN, KC_UP, KC_R, KC_S, KC_ENTER, - KC_PPLS, KC_B, KC_C, KC_D, KC_A, KC_S, KC_D, KC_F, KC_J, KC_J, KC_K, KC_NO, KC_K, KC_L, KC_SCLN, KC_P4, KC_DEL, KC_P5, KC_P6, KC_RIGHT, - KC_PMNS, KC_1, KC_C, KC_D, KC_1, KC_2, KC_3, KC_4, KC_7, KC_J, KC_K, KC_L, KC_8, KC_9, KC_0, KC_NUM, KC_PGUP,KC_PSLS, KC_PAST, KC_T, - KC_A, KC_ESC, TO(0),KC_D, KC_GRV, KC_F, KC_G, KC_5, KC_6, KC_J, KC_K, KC_L, KC_EQL, KC_N, KC_MINUS, KC_BSPC, KC_INS, KC_HOME, KC_S, KC_T, - KC_PPLS, KC_NO, KC_TAB, KC_D, KC_Q, KC_W, KC_E, KC_R, KC_U, KC_J, KC_K, KC_L, KC_I, KC_O, KC_P, KC_P7, KC_PGDN,KC_P8, KC_P9, KC_T, - KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_T, KC_Y, KC_J, KC_K, KC_L, KC_RBRC, KC_N, KC_LBRC, KC_P, KC_END, KC_R, KC_S, KC_T, - KC_LEFT, KC_P1, KC_CAPS, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_J, KC_K, KC_L, KC_COMMA, KC_DOT, KC_BSLS, KC_PENT, KC_Q, KC_P2, KC_P3, KC_T, - KC_LGUI, KC_SPACE, KC_RCTL, KC_LSFT, KC_E, KC_F, KC_G, KC_B, KC_N, KC_J, KC_K, KC_L, KC_M, KC_N, KC_SLSH, KC_P, KC_Q, KC_P0, KC_PDOT, KC_KP_ENTER - ),*/ -}; - -bool left_shift_down = false; -bool right_shift_down = false; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_LEFT_SHIFT: - if (record->event.pressed) - { - left_shift_down = true; - return true; - } - else - { - left_shift_down = false; - return true; - } - break; - case KC_RIGHT_SHIFT: - - if (record->event.pressed) - { - right_shift_down = true; - return true; - } - else - { - right_shift_down = false; - return true; - } - break; - - - case DVP_ESC: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - SEND_STRING("~"); - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("$"); - return false; - } - break; - - case DVP_AMPR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - SEND_STRING("%"); - - } - } - else - { - if(record->event.pressed) - SEND_STRING("&"); - return false; - } - break; - - case DVP_LBRACKET: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_7); - unregister_code(KC_7); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("["); - return false; - } - break; - - case DVP_LCBR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_5); - unregister_code(KC_5); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("{"); - return false; - } - break; - - case DVP_RCBR: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_3); - unregister_code(KC_3); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("}"); - return false; - } - break; - - - case DVP_LPRN: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_1); - unregister_code(KC_1); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("("); - return false; - } - break; -// - case DVP_AT: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_LEFT_SHIFT); - register_code(KC_6); - unregister_code(KC_6); - unregister_code(KC_LEFT_SHIFT); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("@"); - return false; - } - break; - - - case DVP_EQUAL: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_9); - unregister_code(KC_9); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("="); - return false; - } - break; - - case DVP_ASTERISK: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_0); - unregister_code(KC_0); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING("*"); - return false; - } - break; - - case DVP_RPRN: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_2); - unregister_code(KC_2); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - return false; - } - else - { - if(record->event.pressed) - SEND_STRING(")"); - return false; - } - break; - - case DVP_PLUS: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_4); - unregister_code(KC_4); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("+"); - } - return false; - break; - - case DVP_RBRACKET: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_6); - unregister_code(KC_6); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("]"); - } - return false; - break; - - case DVP_EXLM: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_8); - unregister_code(KC_8); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("!"); - } - return false; - break; - - case DVP_HASH: - if (left_shift_down || right_shift_down) - { - if(record->event.pressed) - { - if(left_shift_down) - unregister_code(KC_LEFT_SHIFT); - if(right_shift_down) - unregister_code(KC_RIGHT_SHIFT); - - register_code(KC_GRAVE); - unregister_code(KC_GRAVE); - - if(left_shift_down) - register_code(KC_LEFT_SHIFT); - if(right_shift_down) - register_code(KC_RIGHT_SHIFT); - } - } - else - { - if(record->event.pressed) - SEND_STRING("#"); - } - return false; - break; - case SHFT_DOT: - if(record->event.pressed) - SEND_STRING(">"); - break; - - case SHFT_COMMA: - if(record->event.pressed) - SEND_STRING("<"); - break; - - } - - - - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/readme.md b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/readme.md deleted file mode 100644 index 5d3f6abe15f2..000000000000 --- a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# Lukaus' for ibm122m2 -Programmer's Dvorak as the default layer with a Qwerty layer that can access a function layer. Also includes the default layout, slightly modified diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk index 225317b36747..9131708828a4 100644 --- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk +++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk @@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra HAPTIC_ENABLE = yes -HAPTIC_DRIVER = SOLENOID +HAPTIC_DRIVER = solenoid diff --git a/keyboards/ibnuda/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h index dc525a111d5d..ae358106eb04 100644 --- a/keyboards/ibnuda/gurindam/config.h +++ b/keyboards/ibnuda/gurindam/config.h @@ -17,17 +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 -#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 - /* 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/ibnuda/gurindam/info.json b/keyboards/ibnuda/gurindam/info.json index 2b18d0417ecd..b4a4de5a7437 100644 --- a/keyboards/ibnuda/gurindam/info.json +++ b/keyboards/ibnuda/gurindam/info.json @@ -8,6 +8,20 @@ "pid": "0x6974", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + } + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/idank/spankbd/config.h b/keyboards/idank/spankbd/config.h new file mode 100644 index 000000000000..e926de7f5f8a --- /dev/null +++ b/keyboards/idank/spankbd/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define MASTER_RIGHT diff --git a/keyboards/idank/spankbd/info.json b/keyboards/idank/spankbd/info.json new file mode 100644 index 000000000000..fc9dce46313e --- /dev/null +++ b/keyboards/idank/spankbd/info.json @@ -0,0 +1,76 @@ +{ + "url": "https://github.com/idank/spankbd", + "maintainer": "idank", + "keyboard_name": "Span", + "manufacturer": "holykeebs", + "development_board": "promicro", + "usb": { + "vid": "0xC3AC", + "pid": "0x3140", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D2" + }, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.125}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.125}, + {"matrix": [0, 4], "x": 4, "y": 0.375}, + + {"matrix": [4, 4], "x": 8, "y": 0.375}, + {"matrix": [4, 3], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 1], "x": 11, "y": 0.125}, + {"matrix": [4, 0], "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}, + {"matrix": [1, 3], "x": 3, "y": 1.125}, + {"matrix": [1, 4], "x": 4, "y": 1.375}, + + {"matrix": [5, 4], "x": 8, "y": 1.375}, + {"matrix": [5, 3], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 1], "x": 11, "y": 1.125}, + {"matrix": [5, 0], "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.375}, + + {"matrix": [6, 4], "x": 8, "y": 2.375}, + {"matrix": [6, 3], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 1], "x": 11, "y": 2.125}, + {"matrix": [6, 0], "x": 12, "y": 2.25}, + + {"matrix": [3, 2], "x": 2, "y": 3.5}, + {"matrix": [3, 3], "x": 3.25, "y": 3.625, "w": 1.5}, + {"matrix": [3, 4], "x": 5, "y": 3.125, "h": 2}, + + {"matrix": [7, 4], "x": 7, "y": 3.125, "h": 2}, + {"matrix": [7, 3], "x": 8.25, "y": 3.625, "w": 1.5}, + {"matrix": [7, 2], "x": 10, "y": 3.5} + ] + } + } +} diff --git a/keyboards/idank/spankbd/keymaps/default/keymap.json b/keyboards/idank/spankbd/keymaps/default/keymap.json new file mode 100644 index 000000000000..10bb42e1089f --- /dev/null +++ b/keyboards/idank/spankbd/keymaps/default/keymap.json @@ -0,0 +1,125 @@ +{ + "version": 1, + "notes": "Span default keymap", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "idank/spankbd", + "keymap": "default", + "layout": "LAYOUT_split_3x5_3", + "layers": [ + [ + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "LCTL_T(KC_A)", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "LCTL_T(KC_SCLN)", + "RSFT_T(KC_Z)", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "RSFT_T(KC_SLSH)", + "LGUI_T(KC_ESC)", + "LALT_T(KC_ENT)", + "LT(1,KC_SPC)", + "LT(2,KC_SPC)", + "KC_LSFT", + "RSFT_T(KC_TAB)" + ], + [ + "KC_EXLM", + "KC_AT", + "KC_LCBR", + "KC_RCBR", + "KC_PIPE", + "KC_GRV", + "KC_TILD", + "KC_TRNS", + "KC_TRNS", + "KC_BSLS", + "KC_HASH", + "KC_DLR", + "KC_LPRN", + "KC_RPRN", + "KC_BTN2", + "KC_PPLS", + "KC_MINS", + "KC_SLSH", + "KC_ASTR", + "KC_QUOT", + "KC_PERC", + "KC_CIRC", + "KC_LBRC", + "KC_RBRC", + "KC_BTN1", + "KC_AMPR", + "KC_EQL", + "KC_COMM", + "KC_DOT", + "KC_MINS", + "KC_BSPC", + "KC_SCLN", + "KC_TRNS", + "KC_TRNS", + "KC_SCLN", + "KC_DEL" + ], + [ + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_LEFT", + "KC_DOWN", + "KC_UP", + "KC_RGHT", + "KC_VOLU", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_MS_L", + "KC_MS_D", + "KC_MS_U", + "KC_MS_R", + "KC_VOLD", + "KC_F11", + "KC_F12", + "KC_TRNS", + "KC_TRNS", + "KC_MPLY", + "KC_MNXT" + ] + ], + "author": "idank" +} diff --git a/keyboards/idank/spankbd/keymaps/via/keymap.c b/keyboards/idank/spankbd/keymaps/via/keymap.c new file mode 100644 index 000000000000..763631f59de8 --- /dev/null +++ b/keyboards/idank/spankbd/keymaps/via/keymap.c @@ -0,0 +1,81 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum { + _ALPHA, // default + _SPECIAL, // special characters + _NUMBERS // numbers/function/motion +}; + +#define KC_CTL_A MT(MOD_LCTL, KC_A) // Tap for A, hold for Control +#define KC_CTL_CL MT(MOD_LCTL, KC_SCLN) // Tap for colon, hold for Control +#define KC_SFT_Z MT(MOD_RSFT, KC_Z) // Tap for Z, hold for Shift +#define KC_SFT_SL MT(MOD_RSFT, KC_SLSH) // Tap for slash, hold for Shift + +#define KC_GUI_ESC MT(MOD_LGUI, KC_ESC) // Tap for Esc, hold for GUI (Meta, Command, Win) +#define KC_ALT_ENT MT(MOD_LALT, KC_ENT) // Tap for Enter, hold for Alt (Option) +#define KC_SPE_SPC LT(_SPECIAL, KC_SPC) // Tap for Space, hold for Special layer +#define KC_NUM_SPC LT(_NUMBERS, KC_SPC) // Tap for Space, hold for Numbers layer +#define KC_SFT_TAB MT(MOD_RSFT, KC_TAB) // Tap for Tab, hold for Right Shift + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Alpha layer + * + * ,-------------------------------. ,-------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | CTRL A| S | D | F | G | | H | J | K | L |CTRL ; | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | SHFT Z| X | C | V | B | | N | M | < | > |SHFT / | + * `-------------------------------' `-------------------------------' + * .------------------------------. .----------------------. + * | ESC META | ENT ALT | SPC SPE | | SPC NUM | SHFT | TAB | + * '------------------------------' '----------------------' + */ + [_ALPHA] = 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_CTL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTL_CL, + KC_SFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SFT_SL, + KC_GUI_ESC, KC_ALT_ENT, KC_SPE_SPC, KC_NUM_SPC, KC_LSFT, KC_SFT_TAB), + + /* Keymap 1: Special characters layer + * + * ,-------------------------------. ,-------------------------------. + * | ! | @ | { | } | | | | ` | ~ | | | \ | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | # | $ | ( | ) | RMB | | + | - | / | * | ' | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | % | ^ | [ | ] | LMB | | & | = | , | . | - | + * `-------------------------------' `-------------------------------' + * .------------------. .-----------------. + * | BSPC | ; | = | | = | ; | DEL | + * '------------------' '-----------------' + */ + [_SPECIAL] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_TILD, KC_TRNS, KC_TRNS, KC_BSLS, + KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, + KC_BSPC, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL), + + /* Keymap 2: Numbers/Function/Motion layer + * + * ,-------------------------------. ,-------------------------------. + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | F1 | F2 | F3 | F4 | F5 | | LFT | DWN | UP | RGT | VOLUP | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | F6 | F7 | F8 | F9 | F10 | | MLFT| MDWN| MUP | MRGT| VOLDN | + * `-------------------------------' `-------------------------------' + * .-----------------. .-----------------. + * | F11 | F12 | | | | PLY | SKP | + * '-----------------' '-----------------' + */ + [_NUMBERS] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, + KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_VOLD, + KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT) +}; + diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/via/rules.mk b/keyboards/idank/spankbd/keymaps/via/rules.mk similarity index 100% rename from keyboards/kprepublic/bm40hsrgb/keymaps/via/rules.mk rename to keyboards/idank/spankbd/keymaps/via/rules.mk diff --git a/keyboards/idank/spankbd/readme.md b/keyboards/idank/spankbd/readme.md new file mode 100644 index 000000000000..3d09ccbe42d5 --- /dev/null +++ b/keyboards/idank/spankbd/readme.md @@ -0,0 +1,28 @@ +# Span + +*Span is a 3x5+3 split keyboard, with 2u, 1.5u, 1u thumb clusters.* + +The keyboard layout Span uses is derived from GergoPlex, a keyboard that was originally available on gboards.ca +(now defunct). + +* Keyboard Maintainer: [@idank](https://github.com/idank) +* Hardware Supported: [spankbd](https://github.com/idank/spankbd) +* Hardware Availability: *[holykeebs](https://holykeebs.com)* + +Make example for this keyboard (after setting up your build environment): + + make idank/spankbd:default + +Flashing example for this keyboard: + + make idank/spankbd: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 front of the PCB. Double tap for pro micro, 1 second press for Sea Picro / RP2040s. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/idank/spankbd/rules.mk b/keyboards/idank/spankbd/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/idank/spankbd/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/idank/spankbd/spankbd.c b/keyboards/idank/spankbd/spankbd.c new file mode 100644 index 000000000000..7bfd41d2d83d --- /dev/null +++ b/keyboards/idank/spankbd/spankbd.c @@ -0,0 +1,29 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef OLED_ENABLE + +__attribute__((weak)) void oled_render_logo(void) { + // [span) logo + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,192,192,192,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 1, 1, 1, 64,240,248,248,248,184, 56,120,120, 0, 0, 0,248,248,248,248, 56, 56,120,248,240,240,192, 0, 0, 24,120, 56, 56, 56,120,248,248,240,224, 0, 0,248,248,248,248, 56, 56,120,248,248,240,192, 0, 1, 7,127,255,255,252,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 96,121,123,115,119,119,127,127, 63, 30, 0, 0,255,255,255,255,112,112,120,127,127, 63, 15, 0, 28, 62,127,127,127,115,115,127,127,127,127, 0, 0,127,127,127,127, 0, 0, 0,127,127,127,127, 0, 0,192,252,255,255,127, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + oled_render_logo(); + + return false; +} + +#endif diff --git a/keyboards/idank/sweeq/config.h b/keyboards/idank/sweeq/config.h new file mode 100644 index 000000000000..e926de7f5f8a --- /dev/null +++ b/keyboards/idank/sweeq/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define MASTER_RIGHT diff --git a/keyboards/idank/sweeq/info.json b/keyboards/idank/sweeq/info.json new file mode 100644 index 000000000000..0de9cd3aafac --- /dev/null +++ b/keyboards/idank/sweeq/info.json @@ -0,0 +1,80 @@ +{ + "url": "https://github.com/idank/keyboards/tree/main/sweeq", + "maintainer": "idank", + "keyboard_name": "Sweeq", + "manufacturer": "idank", + "development_board": "promicro", + "usb": { + "vid": "0xC3AB", + "pid": "0x3139", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D2" + }, + "community_layouts": ["split_3x5_2"], + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_2" + }, + "layouts": { + "LAYOUT_split_3x5_2": { + "layout": [ + {"x": 0, "y": 0.93, "matrix": [0, 0]}, + {"x": 1, "y": 0.31, "matrix": [0, 1]}, + {"x": 2, "y": 0, "matrix": [0, 2]}, + {"x": 3, "y": 0.28, "matrix": [0, 3]}, + {"x": 4, "y": 0.42, "matrix": [0, 4]}, + + {"x": 7, "y": 0.42, "matrix": [4, 4]}, + {"x": 8, "y": 0.28, "matrix": [4, 3]}, + {"x": 9, "y": 0, "matrix": [4, 2]}, + {"x": 10, "y": 0.31, "matrix": [4, 1]}, + {"x": 11, "y": 0.93, "matrix": [4, 0]}, + + {"x": 0, "y": 1.93, "matrix": [1, 0]}, + {"x": 1, "y": 1.31, "matrix": [1, 1]}, + {"x": 2, "y": 1, "matrix": [1, 2]}, + {"x": 3, "y": 1.28, "matrix": [1, 3]}, + {"x": 4, "y": 1.42, "matrix": [1, 4]}, + + {"x": 7, "y": 1.42, "matrix": [5, 4]}, + {"x": 8, "y": 1.28, "matrix": [5, 3]}, + {"x": 9, "y": 1, "matrix": [5, 2]}, + {"x": 10, "y": 1.31, "matrix": [5, 1]}, + {"x": 11, "y": 1.93, "matrix": [5, 0]}, + + {"x": 0, "y": 2.93, "matrix": [2, 0]}, + {"x": 1, "y": 2.31, "matrix": [2, 1]}, + {"x": 2, "y": 2, "matrix": [2, 2]}, + {"x": 3, "y": 2.28, "matrix": [2, 3]}, + {"x": 4, "y": 2.42, "matrix": [2, 4]}, + + {"x": 7, "y": 2.42, "matrix": [6, 4]}, + {"x": 8, "y": 2.28, "matrix": [6, 3]}, + {"x": 9, "y": 2, "matrix": [6, 2]}, + {"x": 10, "y": 2.31, "matrix": [6, 1]}, + {"x": 11, "y": 2.93, "matrix": [6, 0]}, + + {"x": 3.5, "y": 3.75, "matrix": [3, 3]}, + {"x": 4.5, "y": 4, "matrix": [3, 4]}, + + {"x": 6.5, "y": 4, "matrix": [7, 4]}, + {"x": 7.5, "y": 3.75, "matrix": [7, 3]} + ] + } + } +} diff --git a/keyboards/idank/sweeq/keymaps/default/config.h b/keyboards/idank/sweeq/keymaps/default/config.h new file mode 100644 index 000000000000..e70efa40fa5f --- /dev/null +++ b/keyboards/idank/sweeq/keymaps/default/config.h @@ -0,0 +1,21 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +// Set the mouse settings to a comfortable speed/accuracy trade-off, +// assuming a screen refresh rate of 60 Htz or higher +// The default is 50. This makes the mouse ~3 times faster and more accurate +#define MOUSEKEY_INTERVAL 16 +// The default is 20. Since we made the mouse about 3 times faster with the previous setting, +// give it more time to accelerate to max speed to retain precise control over short distances. +#define MOUSEKEY_TIME_TO_MAX 40 +// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive +#define MOUSEKEY_DELAY 100 +// It makes sense to use the same delay for the mouseweel +#define MOUSEKEY_WHEEL_DELAY 100 +// The default is 100 +#define MOUSEKEY_WHEEL_INTERVAL 50 +// The default is 40 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 + +#define QUICK_TAP_TERM 0 diff --git a/keyboards/idank/sweeq/keymaps/default/keymap.json b/keyboards/idank/sweeq/keymaps/default/keymap.json new file mode 100644 index 000000000000..a7845f6e2389 --- /dev/null +++ b/keyboards/idank/sweeq/keymaps/default/keymap.json @@ -0,0 +1,107 @@ +{ + "version": 1, + "notes": "sweeq default keymap", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "idank/sweeq", + "keymap": "default", + "layout": "LAYOUT_split_3x5_2", + "layers": [ + ["KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P", + + "LSFT_T(KC_A)", "LT(5,KC_S)" , "LT(1,KC_D)" , "LT(3,KC_F)" , "KC_G", + "KC_H" , "LT(4,KC_J)" , "LT(2,KC_K)" , "LT(6,KC_L)" , "LSFT_T(KC_SCLN)", + + "KC_Z" , "LCTL_T(KC_X)", "LALT_T(KC_C)" , "KC_V" , "KC_B", + "KC_N" , "KC_M" , "LALT_T(KC_COMM)", "LCTL_T(KC_DOT)", "KC_SLSH", + + "KC_P0" , "KC_BSPC", + "LT(7,KC_SPC)", "KC_P1" + ], + ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_BTN1" , "KC_WH_U" , "KC_BTN2" , "KC_TRNS", + + "KC_TRNS" , "KC_BTN2" , "KC_NO" , "KC_BTN1" , "KC_TRNS", + "KC_TRNS" , "KC_MS_L" , "KC_MS_D" , "KC_MS_U" , "KC_MS_R", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "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_LEFT" , "KC_UP" , "KC_DOWN" , "KC_RGHT" , "KC_TRNS", + "KC_TRNS" , "KC_LGUI" , "KC_NO" , "LCTL(KC_LALT)" , "LCA(KC_LSFT)", + + "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" + ], + ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS", + + "KC_CIRC" , "KC_ASTR" , "KC_AMPR" , "KC_NO" , "KC_TRNS", + "KC_HASH" , "KC_TILD" , "KC_SLSH" , "KC_DQUO" , "KC_DLR", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS", + + "RGB_RMOD" , "KC_TRNS", + "KC_TRNS" , "RGB_MOD" + ], + ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_LCBR" , "KC_RCBR" , "KC_LPRN" , "KC_RPRN" , "KC_AT", + "KC_TRNS" , "KC_NO" , "KC_EQL" , "KC_PLUS" , "KC_PERC", + + "KC_TRNS" , "KC_EXLM" , "KC_LBRC" , "KC_RBRC" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_VOLD" , "KC_TRNS", + "KC_TRNS" , "KC_VOLU" + ], + ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10", + + "KC_TRNS" , "KC_NO" , "LCTL(KC_LALT)" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F11", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F12", + + "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" + ], + ["KC_PSLS" , "KC_7" , "KC_8" , "KC_9" , "KC_PPLS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_PMNS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_NO" , "KC_TRNS", + + "KC_PAST" , "KC_4" , "KC_5" , "KC_6" , "KC_PEQL", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" + ], + ["KC_TRNS" , "KC_TRNS" , "KC_COLN" , "KC_ESC" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_DEL", + + "KC_TRNS" , "KC_PERC" , "KC_SLSH" , "KC_ENT" , "KC_TRNS", + "DF(1)" , "KC_LGUI" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_EXLM" , "KC_TRNS", + "DF(0)" , "KC_TRNS" , "RALT_T(KC_COMM)", "RCTL_T(KC_DOT)", "QK_BOOT", + + "KC_TRNS" , "KC_TAB", + "KC_NO" , "KC_TRNS" + ] + ], + "author": "idank" +} diff --git a/keyboards/idank/sweeq/keymaps/default/readme.md b/keyboards/idank/sweeq/keymaps/default/readme.md new file mode 100644 index 000000000000..4d08a5502aa2 --- /dev/null +++ b/keyboards/idank/sweeq/keymaps/default/readme.md @@ -0,0 +1 @@ +See the readme of the Ferris [default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default). diff --git a/keyboards/idank/sweeq/keymaps/via/config.h b/keyboards/idank/sweeq/keymaps/via/config.h new file mode 100644 index 000000000000..12a4fc233fb3 --- /dev/null +++ b/keyboards/idank/sweeq/keymaps/via/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Good defaults for home row modifiers +#define TAPPING_TERM 230 diff --git a/keyboards/idank/sweeq/keymaps/via/keymap.c b/keyboards/idank/sweeq/keymaps/via/keymap.c new file mode 100644 index 000000000000..18ef09f7bb93 --- /dev/null +++ b/keyboards/idank/sweeq/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define KC_CTSC RCTL_T(KC_SCLN) +#define KC_CTLA LCTL_T(KC_A) +#define KC_LSHZ LSFT_T(KC_Z) +#define KC_RLSH RSFT_T(KC_SLSH) +#define KC_SPM2 LT(2, KC_SPC) +#define KC_BSM1 LT(1, KC_BSPC) +#define KC_GUTA GUI_T(KC_TAB) +#define KC_CLGV CTL_T(KC_GRV) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_LSHZ, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RLSH, + KC_CLGV, KC_BSM1, KC_SPM2, KC_GUTA + ), + + [1] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + QK_GESC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ENT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/ymdk/melody96/keymaps/via/rules.mk b/keyboards/idank/sweeq/keymaps/via/rules.mk similarity index 100% rename from keyboards/ymdk/melody96/keymaps/via/rules.mk rename to keyboards/idank/sweeq/keymaps/via/rules.mk diff --git a/keyboards/idank/sweeq/readme.md b/keyboards/idank/sweeq/readme.md new file mode 100644 index 000000000000..caaf5c705fac --- /dev/null +++ b/keyboards/idank/sweeq/readme.md @@ -0,0 +1,31 @@ +# Sweeq + +![sweeq](https://i.imgur.com/TGSyHHxh.png) + +*Sweeq is a Ferris Sweep clone that uses diodes, instead of the latter's direct pin matrix.* + +The primary goal is to free up the SDA/SCL pins so they can be used by auxiliary devices such as a trackball, trackpoint or an OLED screen. + +Other than the diode changes and the ability to use hotswap sockets, this keyboard is identical to the original Sweep. + +* Keyboard Maintainer: [@idank](https://github.com/idank) +* Hardware Supported: [sweeq](https://github.com/idank/keyboards/tree/main/sweeq) +* Hardware Availability: *[holykeebs](https://holykeebs.com)* + +Make example for this keyboard (after setting up your build environment): + + make idank/sweeq:default + +Flashing example for this keyboard: + + make idank/sweeq: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/idank/sweeq/rules.mk b/keyboards/idank/sweeq/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/idank/sweeq/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h index 501fd1f996d1..bac9dbf1bd6f 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 cc896ff236c9..b874f51806eb 100644 --- a/keyboards/idobao/id42/info.json +++ b/keyboards/idobao/id42/info.json @@ -18,7 +18,7 @@ "pin": "B3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"], @@ -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/id61/info.json b/keyboards/idobao/id61/info.json index 57f9e520a388..cf7892ec9f06 100644 --- a/keyboards/idobao/id61/info.json +++ b/keyboards/idobao/id61/info.json @@ -18,7 +18,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7"], diff --git a/keyboards/idobao/id63/info.json b/keyboards/idobao/id63/info.json index 048e1870184a..32651f918feb 100644 --- a/keyboards/idobao/id63/info.json +++ b/keyboards/idobao/id63/info.json @@ -18,7 +18,7 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"], diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json index 55f19ba9ccda..eff8333a8035 100644 --- a/keyboards/idobao/id67/info.json +++ b/keyboards/idobao/id67/info.json @@ -18,7 +18,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"], diff --git a/keyboards/idobao/id75/keymaps/egstad/config.h b/keyboards/idobao/id75/keymaps/egstad/config.h deleted file mode 100644 index 7e1868813f04..000000000000 --- a/keyboards/idobao/id75/keymaps/egstad/config.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright 2020 Jordan Egstad - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 -#define RGBLIGHT_SLEEP - - - -/* Leader Key - ========================================================================== */ - -// Activates the leader key -// #define LEADER_PER_KEY_TIMING -// resets the timeout after each key is tapped -// #define LEADER_TIMEOUT 240 - - - - - - -/* Autoshifting - ========================================================================== */ - -// This controls how long you have to hold a key before you get the shifted state. -#define AUTO_SHIFT_TIMEOUT 150 - -// Do not Auto Shift special keys -_, =+, [{, ]}, ;:, '", ,<, .>, and /? -// #define NO_AUTO_SHIFT_SPECIAL - -// Do not Auto Shift numeric keys, zero through nine. -#define NO_AUTO_SHIFT_NUMERIC - -// Do not Auto Shift alpha characters, which include A through Z. -// #define NO_AUTO_SHIFT_ALPHA - -// Lower the Auto Shift timeout variable (down) -// AS_DOWN - -// Raise the Auto Shift timeout variable (up) -// AS_UP - -// Report your current Auto Shift timeout value -// AS_RPT - -// Turns on the Auto Shift Function -// AS_ON - -// Turns off the Auto Shift Function -// AS_OFF - -// Toggles the state of the Auto Shift feature -// AS_TOGG diff --git a/keyboards/idobao/id75/keymaps/egstad/keymap.c b/keyboards/idobao/id75/keymaps/egstad/keymap.c deleted file mode 100644 index 1bfeb7404229..000000000000 --- a/keyboards/idobao/id75/keymaps/egstad/keymap.c +++ /dev/null @@ -1,267 +0,0 @@ -/* Copyright 2020 Jordan Egstad - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - - - - - - -/* ========================================================================== - LAYERS - ========================================================================== */ - -// qwerty -#define _QW 0 -// functions -#define _FN 1 - - - - - - -/* ========================================================================== - CUSTOM KEYS - ========================================================================== */ - -// Tap dances -#define TD_ESCP TD(TD_GV_ESC) // Tap for grave, twice for escape -#define TD_MINS TD(TD_MIN) // Tap for minus, twice for equal -#define TD_BRAC TD(TD_BRC) // Tap for open brace, twice for close - -// Layers -#define FN_SPC LT(_FN, KC_SPC) // Tap for space, hold for _FN - -// Modifiers -#define LG_ZMIN LGUI(KC_EQUAL) // Command + plus (zoom in) -#define LG_ZMOT LGUI(KC_MINUS) // Command + minus (zoom out) -#define MT_SHFT MT(MOD_RSFT, KC_ENT) // Tap for enter, hold for shift - -// Tap Dances -enum { - TD_BRC = 0, - TD_MIN, - TD_GV_ESC, - TD_BS -}; - -// Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - // Tap once for Left Brace, twice for Right Brace - [TD_BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), - //Tap once for Minus, twice for Equal - [TD_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_MINUS, KC_EQUAL), - // Tap once for Grave, tap twice for Escape - [TD_GV_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRAVE, KC_ESCAPE) -}; - - - - - - -/* ========================================================================== - KEYMAPS - ========================================================================== */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY (_QW) - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | \| | 6 | 7 | 8 | 9 | 0 | - + | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | [ ] | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | CAP LK | A | S | D | F | G | | | | H | J | K | L | ; | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | | | | N | M | , | . | / | RSHIFT | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| - * | ZOOM- | ZOOM+ | LALT | FN | CMD | BSPC | | | FN | SPACE | ENTER | LEFT | UP | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ - TD_ESCP, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_PIPE, KC_6, KC_7, KC_8, KC_9, KC_0, TD_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BRAC, - _______, 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, MT_SHFT, - LG_ZMOT, LG_ZMIN, KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, _______, QK_BOOT, _______, FN_SPC, KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT - ), - - -/* FUNCTION (_FN) - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | | P | | F7 | F8 | F9 | F10 | F11 | F12 | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | RGB HD | RGB HI | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | A-SFT | | | | | | RGB SD | RGB SI | | | LEFT | UP | DOWN | RIGHT | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RGB | | | | | | RGB VD | RGB VI | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | QK_BOOT | | | | | | RGB RMD| RGB MD | | | PLAY | PREV | VOL UP | VOL DN | NEXT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ - 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_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, - AS_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, - RGB_TOG, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, KC_MPLY, KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD - ), -}; - - - - - - -/* ========================================================================== - LEDs - ========================================================================== */ - -// RGB MODES -// 1 = Static -// 2-5 = Breathing -// 6-8 = Rainbow -// 9-14 = Swirl -// 15-20 = Snake -// 21-24 = Nightrider -// 25 = Christmas -// 26-30 = Static Gradient - -// Default LED colors -uint8_t h = 170; -uint8_t s = 255; -uint8_t v; - -// default animation -uint8_t rgbMode = RGBLIGHT_MODE_STATIC_LIGHT; -// boot animation -uint8_t rgbBootMode = RGBLIGHT_MODE_SNAKE; -// boot timeout vars -uint8_t bootComplete = 0; -int bootTimeoutDuration = 2000; -int bootTimeout; - - -void init_hsv(void) { - // fetch what the brightness was last sesion - v = rgblight_get_val(); - rgblight_sethsv(h,s,v); -} - -// fetch current HSV vals -void get_hsv(void) { - h = rgblight_get_hue(); - s = rgblight_get_sat(); - v = rgblight_get_val(); -} - -// reset HSV vals -void reset_hsv(void) { - int currentV = rgblight_get_val(); - rgblight_sethsv(h,s,currentV); -} - -// deterimes when to stop bootup animation -void bootupAnimation(void) { - bootComplete = (timer_elapsed(bootTimeout) > bootTimeoutDuration) ? 1 : 0; - - if (bootComplete) { - rgblight_mode(rgbMode); - } -} - - - - - - -/* ========================================================================== - INITIALIZATION FUNCTION - ========================================================================== */ - -void keyboard_post_init_user(void) { - // start a timeout - bootTimeout = timer_read(); - // set rgb color - init_hsv(); - // init rgb - rgblight_enable(); - // animate in snake ledGreende - rgblight_mode(rgbBootMode); -}; - - - - - - -/* ========================================================================== - ALWAYS RUNNING - ========================================================================== */ -void matrix_scan_user(void) { - // keep an eye on these layers - uint8_t layer = get_highest_layer(layer_state); - // handle boot-up sequence - bootupAnimation(); - // watch the brightness for changes - v = rgblight_get_val(); - - switch (layer) { - case _FN: - // set leds to white - rgblight_sethsv_noeeprom(h,0,v); - break; - default: - break; - } -}; - - - - - - -/* ========================================================================== - KEYPRESS CALLBACKS - ========================================================================== */ - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // keep an eye on these layers - uint8_t layer = get_highest_layer(layer_state); - - switch (keycode) { - case FN_SPC: - // stash and pop color on key down and key up - (record->event.pressed) ? get_hsv() : reset_hsv(); - return true; - default: - switch (layer) { - case _QW: - // tick the hue up with each keypress - rgblight_increase_hue(); - break; - default: - break; - } - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/idobao/id75/keymaps/egstad/readme.md b/keyboards/idobao/id75/keymaps/egstad/readme.md deleted file mode 100644 index 2de44ad9cc5d..000000000000 --- a/keyboards/idobao/id75/keymaps/egstad/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Egstad's Idobo - -## LEDs -By default, LEDs are enabled. There is a short bootup animation (`bootupAnimation()`) to indicate that the keyboard has powered up correctly. - -On each keypress, the LEDs hue increases. This increase is determined the the `RGBLIGHT_HUE_STEP` value, which is assigned in `../config.h` (parent idobo directory). My local copy has this value set to `1`, so the incremental color shift is rather slow. - - -## Keeping up to date -To update your fork’s master, run the following, hitting the Enter key after each line: - -```bash -git checkout master -git fetch upstream -git pull upstream master -git push origin master -``` diff --git a/keyboards/idobao/id75/keymaps/egstad/rules.mk b/keyboards/idobao/id75/keymaps/egstad/rules.mk deleted file mode 100644 index ca3becc38359..000000000000 --- a/keyboards/idobao/id75/keymaps/egstad/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -TAP_DANCE_ENABLE = yes -AUTO_SHIFT_ENABLE = yes -RGBLIGHT_ENABLE = yes diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c deleted file mode 100644 index a79b03b80fc4..000000000000 --- a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c +++ /dev/null @@ -1,140 +0,0 @@ -#include QMK_KEYBOARD_H - -enum custom_keycodes { - LOWER = SAFE_RANGE, - RAISE, -}; - -enum layer_names { - _QWERTY, - _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 | ] | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | RAISE | A | S | D | F | G | | UP | PrtScr | H | J | K | L | ; | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | LEFT | DOWN | RIGHT | N | M | , | . | / | RSHIFT | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| - * | ` | \ | LALT | LCTRL | LOWER | SPACE | LGUI | DEL | ENTER | SPACE | RAISE | LEFT | DOWN | UP | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = LAYOUT_ortho_5x15( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, XXXXXXX, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, - RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_UP, KC_PSCR, 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_LEFT, KC_DOWN, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_GRAVE, KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC, KC_LGUI, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), - - -/* LOWER - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | UP | | | | | | | | | | PR SCR | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RAISE | LEFT | DOWN | RIGHT | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | LOWER | | APP | | | | RAISE | | | | | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ -[_LOWER] = LAYOUT_ortho_5x15( - XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, - XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RAISE, KC_LEFT, KC_DOWN, KC_RGHT, 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, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -), - - /* RAISE - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | pgup | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RAISE | home | pgdn | end | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | | | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | LOWER | | | | | | RAISE | | | | | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ -[_RAISE] = LAYOUT_ortho_5x15( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RAISE, KC_HOME, KC_PGDN, KC_END, 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -), - - - /* ADJUST - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | QK_BOOT | | | | | | | | |rgbplain|rgbtest | rgbmode| | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | |rgb tog | bl_tog | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | RAISE | | rgb hi | rgb sai|rgb vai | bl inc | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | EEP Rst| | rgb hd | rgb sad|rgb vad | bl dec | | | | | | | | | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | | LOWER | | | | | | RAISE | | | | | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ -[_ADJUST] = LAYOUT_ortho_5x15( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_M_T, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - EE_CLR, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DOWN,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -), - - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - } - 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/ifohancroft/config.h b/keyboards/idobao/id75/keymaps/ifohancroft/config.h deleted file mode 100644 index 09467b436210..000000000000 --- a/keyboards/idobao/id75/keymaps/ifohancroft/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// place overrides here -#define USB_POLLING_INTERVAL_MS 1 -#undef RGBLIGHT_HUE_STEP -#define RGBLIGHT_HUE_STEP 1 -#undef RGBLIGHT_SAT_STEP -#define RGBLIGHT_SAT_STEP 1 -#undef RGBLIGHT_VAL_STEP -#define RGBLIGHT_VAL_STEP 1 -#define FORCE_NKRO diff --git a/keyboards/idobao/id75/keymaps/ifohancroft/keymap.c b/keyboards/idobao/id75/keymaps/ifohancroft/keymap.c deleted file mode 100644 index d71dcee6a98b..000000000000 --- a/keyboards/idobao/id75/keymaps/ifohancroft/keymap.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright 2021 IFo Hancroft - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 - * --------------------------------------------------------------------------------------------------------------------------------------- - * | ` || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 0 || - || = || Bkspc || Del | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | Tab || Q || W || E || R || T || Y || U || I || O || P || [ || ] || \ || Home | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | ESC || A || S || D || F || G || H || J || K || L || ; || " || Enter || Enter || PgUp | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | Shift || Z || X || C || V || B || N || M || , || . || / || Shift || Shift || Up || PgDn | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | Ctrl || Super || Alt || MO(1) || Bkspc || Space || Space || Bkspc || MO(1) || Alt || Super || Ctrl || Left || Down || Right | - * --------------------------------------------------------------------------------------------------------------------------------------- - */ - LAYOUT_ortho_5x15( - 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_ESC, KC_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_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_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_BSPC, KC_SPC, KC_SPC, KC_BSPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Function Layer - * --------------------------------------------------------------------------------------------------------------------------------------- - * | || F1 || F2 || F3 || F4 || F5 || F6 || F7 || F8 || F9 || F10 || F11 || F12 || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || ||RGB MOD|| || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * |RGB TOG||RGB HUI||RGB SAI||RGB VAI|| || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * --------------------------------------------------------------------------------------------------------------------------------------- - */ - LAYOUT_ortho_5x15( - _______, KC_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_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Empty Layer - * --------------------------------------------------------------------------------------------------------------------------------------- - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * --------------------------------------------------------------------------------------------------------------------------------------- - */ - LAYOUT_ortho_5x15( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Empty Layer - * --------------------------------------------------------------------------------------------------------------------------------------- - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * |-------------------------------------------------------------------------------------------------------------------------------------| - * | || || || || || || || || || || || || || || | - * --------------------------------------------------------------------------------------------------------------------------------------- - */ - LAYOUT_ortho_5x15( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/idobao/id75/keymaps/ifohancroft/readme.md b/keyboards/idobao/id75/keymaps/ifohancroft/readme.md deleted file mode 100644 index 6a6c2cd34bd4..000000000000 --- a/keyboards/idobao/id75/keymaps/ifohancroft/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -![IFo Hancroft Idobo Layout Image](https://i.imgur.com/ml1olw4.png) - -# IFo Hancroft's Idobo Layout - - - Layer 1: A standard ANSI QWERTY layer. - - Layer 2: A fuction layer. It contains the F1-F12 keys, RGB control keys and the Insert and End keys. - - Layer 3: An empty layer in-case I need something on-the-fly so I can remap with VIA. - - Layer 4: An empty layer in-case I need something on-the-fly so I can remap with VIA. - -This keymap also sets the polling rate of the keyboard to 1ms, the HUE, VALUE and SATURATION of the RGB to steps of 1, disables the MOUSEKEY, EXTRAKEY and CONSOLE features, and enables the following features: - - - COMMAND - - NKRO (forced on) - - VIA diff --git a/keyboards/idobao/id75/keymaps/ifohancroft/rules.mk b/keyboards/idobao/id75/keymaps/ifohancroft/rules.mk deleted file mode 100644 index 6609b4097b0b..000000000000 --- a/keyboards/idobao/id75/keymaps/ifohancroft/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = no -CONSOLE_ENABLE = no -COMMAND_ENABLE = yes -NKRO_ENABLE = yes -VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/idobao/id75/keymaps/revok75/config.h b/keyboards/idobao/id75/keymaps/revok75/config.h deleted file mode 100644 index f5c4659880ab..000000000000 --- a/keyboards/idobao/id75/keymaps/revok75/config.h +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright 2017 Benjamin Kesselring - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ diff --git a/keyboards/idobao/id75/keymaps/revok75/keymap.c b/keyboards/idobao/id75/keymaps/revok75/keymap.c deleted file mode 100644 index f251e5d5cc7f..000000000000 --- a/keyboards/idobao/id75/keymaps/revok75/keymap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright 2017 Wunder - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 -#define _QW_M 0 -#define _QW_W 1 -#define _FN 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* QWERTY-Mac - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | % | 6 | 7 | 8 | 9 | 0 | - | = | Cut | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | Copy | Paste | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | CAP LK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | ENTER | REF | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | \ | RSHIFT| UP | SAVE | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| - * | LALT | LGUI | LALT | FIND | CMD T | SPACE | SPACE | ALFRED | FN-MO | RALT | RGUI | RCTRL | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_QW_M] = LAYOUT_ortho_5x15( /* QWERTY MAC*/ - 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, LGUI(KC_X), 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_LCBR, KC_RCBR, LGUI(KC_C), LGUI(KC_V), - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LGUI(KC_R), KC_NO, 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_BSLS, KC_RSFT, KC_UP, LGUI(KC_S), - KC_LCTL, KC_LALT, KC_LGUI, LGUI(KC_F), LGUI(KC_T), KC_SPC, KC_NO, LALT(KC_SPACE), MO(_FN), KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* QWERTY-Win - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | % | 6 | 7 | 8 | 9 | 0 | - | = | Cut | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | Copy | Paste | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | CAP LK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | ENTER | REF | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | \ | RSHIFT | UP | SAVE | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| - * | LALT | LGUI | LALT | FIND | CMD T | SPACE | SPACE | START | FN-MO | RALT | RGUI | RCTRL | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_QW_W] = LAYOUT_ortho_5x15( /* QWERTY WIN*/ - 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, LCTL(KC_X), 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_LCBR, KC_RCBR, LCTL(KC_C), LCTL(KC_V), - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, LCTL(KC_R), KC_NO, 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_BSLS, KC_RSFT, KC_UP, LCTL(KC_S), - KC_LCTL, KC_LALT, KC_LGUI, LCTL(KC_F), LCTL(KC_T), KC_SPC, KC_NO, LCTL(QK_GESC), MO(_FN), KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* FUNCTION - * .--------------------------------------------------------------------------------------------------------------------------------------. - * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | VOLDN | VOLUP | MUTE | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | - | WIN | - | - | RGB_TOG| - | - | OPTION | QK_BOOT | - | [ | ] | - | - | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| - * | CAP LK | MAC | RAINBOW| PLAIN | - | - | - | - | - | - | ; | ' | ENTER | ENTER | REF | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| - * | LSHIFT | INC | DEC | HUE I | HUE D | SAT I | SAT D | - | - | . | / | \ | RSHIFT| HOME | SAVE | - * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| - * | LALT | LGUI | LALT | FIND | CMD T | SPACE | SPACE | ALFRED | FN-MO | RALT | RGUI | RCTRL | PGUP | END | PGDN | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_FN] = LAYOUT_ortho_5x15( /* OSLAYOUT + NUMPAD + MEDIA + LIGHTING */ - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_VOLD, KC_VOLU, KC_MUTE, KC_DEL, - KC_TRNS, KC_NO, DF(_QW_W), KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_RALT, QK_BOOT, KC_NO, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, - KC_TRNS, DF(_QW_M), RGB_MODE_RAINBOW, RGB_MODE_PLAIN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_NO, KC_NO, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_END, KC_PGDN - ), -}; diff --git a/keyboards/idobao/id75/keymaps/revok75/readme.md b/keyboards/idobao/id75/keymaps/revok75/readme.md deleted file mode 100644 index 780c5401c451..000000000000 --- a/keyboards/idobao/id75/keymaps/revok75/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for Revok 75 --idobo version diff --git a/keyboards/idobao/id75/keymaps/revok75/rules.mk b/keyboards/idobao/id75/keymaps/revok75/rules.mk deleted file mode 100644 index 7efceba50a84..000000000000 --- a/keyboards/idobao/id75/keymaps/revok75/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 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 . diff --git a/keyboards/idobao/id75/v1/config.h b/keyboards/idobao/id75/v1/config.h index 2174e39bd226..d876570c808e 100644 --- a/keyboards/idobao/id75/v1/config.h +++ b/keyboards/idobao/id75/v1/config.h @@ -17,22 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLIGHT_EFFECT_ALTERNATING - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_RGB_TEST - #define RGBLIGHT_EFFECT_SNAKE - #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 1407d02c802c..545709475d30 100644 --- a/keyboards/idobao/id75/v1/info.json +++ b/keyboards/idobao/id75/v1/info.json @@ -12,6 +12,23 @@ "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, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, "ws2812": { "pin": "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/v1/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c new file mode 100644 index 000000000000..84830e47c650 --- /dev/null +++ b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c @@ -0,0 +1,128 @@ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, +}; + +enum layer_names { + _QWERTY, + _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 | ] | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | RAISE | A | S | D | F | G | | UP | PrtScr | H | J | K | L | ; | ' | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | LSHIFT | Z | X | C | V | B | LEFT | DOWN | RIGHT | N | M | , | . | / | RSHIFT | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------| + * | ` | \ | LALT | LCTRL | LOWER | SPACE | LGUI | DEL | ENTER | SPACE | RAISE | LEFT | DOWN | UP | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_ortho_5x15( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, XXXXXXX, KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, + RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_UP, KC_PSCR, 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_LEFT, KC_DOWN, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_GRAVE, KC_BSLS, KC_LALT, KC_LCTL, LOWER, KC_SPC, KC_LGUI, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + + +/* LOWER + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | UP | | | | | | | | | | PR SCR | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | RAISE | LEFT | DOWN | RIGHT | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | LOWER | | APP | | | | RAISE | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_ortho_5x15( + XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, + XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RAISE, KC_LEFT, KC_DOWN, KC_RGHT, 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, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +), + + /* RAISE + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | pgup | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | RAISE | home | pgdn | end | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | LOWER | | | | | | RAISE | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_ortho_5x15( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RAISE, KC_HOME, KC_PGDN, KC_END, 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +), + + + /* ADJUST + * .--------------------------------------------------------------------------------------------------------------------------------------. + * | QK_BOOT | | | | | | | | |rgbplain|rgbtest | rgbmode| | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | |rgb tog | bl_tog | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | RAISE | | rgb hi | rgb sai|rgb vai | bl inc | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | EEP Rst| | rgb hd | rgb sad|rgb vad | bl dec | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | LOWER | | | | | | RAISE | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_ortho_5x15( + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, RGB_M_T, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RAISE, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + EE_CLR, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, BL_DOWN,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +), + + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + } + return true; +} 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/id75/v2/info.json b/keyboards/idobao/id75/v2/info.json index 5275c54dbbfe..4cb46c2564d3 100644 --- a/keyboards/idobao/id75/v2/info.json +++ b/keyboards/idobao/id75/v2/info.json @@ -12,7 +12,7 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "ws2812" }, "matrix_pins": { "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"], diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c deleted file mode 100644 index 595e76cbb3bd..000000000000 --- a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/keymap.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2021 Robert Verst @rverst - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rverst.h" - -//#define CLOSED_CASE // no underglow RGB visible - -// clang-format off -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 , MO(4) , 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_ESC , KC_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 , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_ansi( - RV_SNAP, 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_TRNS, KC_MUTE, - RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, - KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, RV_SINC, KC_PENT, - KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT - ), - [2] = 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_TRNS, MO(4) , 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_VOLU, - KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, - KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT, - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [3] = LAYOUT_ansi( - RV_SNAP, 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_TRNS, KC_MUTE, - RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, - KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, RV_SINC, KC_PENT, - KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT - ), - [4] = LAYOUT_ansi( - DB_TOGG, RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) , - RV_SAYM, RV_SM3 , RV_SM4 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_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, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG, - KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD - ), - [5] = LAYOUT_ansi( - QK_BOOT, RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, - KC_NO , RV_SM3S, RV_SM4S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , - KC_NO , KC_NO , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO - ) -}; -// clang-format on - -void keyboard_post_init_keymap(void) { -#ifdef CLOSED_CASE - if (rgblight_is_enabled()) { - rgblight_disable(); - } -#endif -} diff --git a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md b/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md deleted file mode 100644 index 66dd2b528732..000000000000 --- a/keyboards/idobao/id80/v2/ansi/keymaps/rverst/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# IDOBAO ID80 - -This is my layout for the IDOBAO ID80. It depends of my [user files](../../../../users/rverst) -and the main goal is to give an convenient and unified access to some special keys -(umlauts, ß, ₮) for different operating systems (Mac, Windows and Linux). - -## Overview - -- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar. -- Layer 1 has the special keys and some media-functions like mute, volume up/down etc. -- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout -- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc. - - -## Keyboard modes - -- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source) -- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software) -- *F3:* Linux Unicode mode (not tested yet but should work out of the box) -- *1:* Mac legacy mode (uses option-sequences, e.g. `